]> git.saurik.com Git - bison.git/blobdiff - examples/extexi
Document last checkin a bit better.
[bison.git] / examples / extexi
index cc140f5c82cdf851832cbff670d07c5c2f6d1dc6..a004b1af265b725ca6d3ee138e277575a7ff9b8b 100644 (file)
@@ -1,7 +1,7 @@
 # Extract all examples from the manual source.            -*- AWK -*-
 
 # This file is part of GNU Bison
-# Copyright 1992, 2000, 2001, 2005 Free Software Foundation, Inc.
+# Copyright 1992, 2000, 2001, 2005, 2006 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -64,6 +64,8 @@ BEGIN {
       # #line report the line number of the *next* line.
       # => + 2.
       # Note that recent Bison support it, but not Flex.
+      if (file ~ /\.[chy]*$/)
+       input = "#line " (FNR + 1) " \"" FILENAME "\"\n";
       next;
     }
 
@@ -75,9 +77,11 @@ BEGIN {
       input = normalize(input);
       # No spurious end of line: use printf.
       if (files_output[file])
-       printf ("%s", input) >> output_dir "/" file;
+       # The parens around the output file seem to be required
+        # by awk on Mac OS X Tiger (darwin 8.4.6).
+        printf ("%s", input) >> (output_dir "/" file);
       else
-       printf ("%s", input) > output_dir "/" file;
+       printf ("%s", input) > (output_dir "/" file);
       close (output_dir "/" file);
       files_output[file] = 1;
 
@@ -107,6 +111,7 @@ function normalize(contents,    i, lines, n, line, res) {
        else
          line = "";
 
+      gsub (/^%require "[^"]*"$/, "%require \"" VERSION "\"", line);
       gsub (/^@result\{\}/, "", line);
       gsub (/^@error\{\}/,  "", line);
       gsub ("@[{]", "{", line);