# Extract all examples from the manual source. -*- AWK -*-
-# This file is part of GNU M4
-# Copyright 1992, 2000, 2001 Free Software Foundation, Inc.
+# This file is part of GNU Bison
+
+# Copyright (C) 1992, 2000-2001, 2005-2006, 2009-2012 Free Software
+# Foundation, Inc.
#
-# This program is free software; you can redistribute it and/or modify
+# 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
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-# 02111-1307 USA
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# This script is for use with any New AWK.
-# Well, now it uses ARGV/ARGC, and I don't know if it's New AWK portable.
+# This script is for use with any Awk that conforms to POSIX.
+# It was derived from a similar script tests/generate.awk in GNU m4.
#
# Usage: extexi input-file.texi ... -- [FILES to extract]
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;
else
line = "";
+ gsub (/"@value\{VERSION\}"/, "\"" VERSION "\"", line)
gsub (/^@result\{\}/, "", line);
gsub (/^@error\{\}/, "", line);
gsub ("@[{]", "{", line);
function message(msg) {
- # FNR starts at 0 instead of 1 for line numbers.
- print "extexi: " FILENAME ":" (FNR + 1) ": " msg > "/dev/stderr";
+ if (! message_printed[msg])
+ {
+ print "extexi: " msg > "/dev/stderr";
+ message_printed[msg] = 1;
+ }
}
function fatal(msg) {