Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(938)

Unified Diff: bison/src/bison/2.4.1/bison-2.4.1/patches/bison-2.4.1-src.diff

Issue 10807020: Add native Windows binary for bison. (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: bison/src/bison/2.4.1/bison-2.4.1/patches/bison-2.4.1-src.diff
===================================================================
--- bison/src/bison/2.4.1/bison-2.4.1/patches/bison-2.4.1-src.diff (revision 0)
+++ bison/src/bison/2.4.1/bison-2.4.1/patches/bison-2.4.1-src.diff (revision 0)
@@ -0,0 +1,3186 @@
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/doc/bison.1 bison-2.4.1-src/doc/bison.1
+--- bison-2.4.1-orig/doc/bison.1 2008-12-11 23:07:25.000000000 +0100
++++ bison-2.4.1-src/doc/bison.1 2008-12-14 13:03:25.203125000 +0100
+@@ -3,7 +3,7 @@
+ .SH NAME
+ bison \- GNU Project parser generator (yacc replacement)
+ .SH SYNOPSIS
+-.B bison
++.B j:\Devel\bison\2.4.1\bison-2.4.1\src\bison.exe
+ [\fIOPTION\fR]... \fIFILE\fR
+ .SH DESCRIPTION
+ .I Bison
+@@ -60,9 +60,12 @@ connect the option name and the argument
+ .PP
+ Generate LALR(1) and GLR parsers.
+ .PP
++
+ Mandatory arguments to long options are mandatory for short options too.
+ The same is true for optional arguments.
+-.SS "Operation modes:"
++.PP
++
++Operation modes:
+ .TP
+ \fB\-h\fR, \fB\-\-help\fR
+ display this help and exit
+@@ -81,7 +84,9 @@ emulate POSIX Yacc
+ .TP
+ \fB\-W\fR, \fB\-\-warnings\fR=\fI[CATEGORY]\fR
+ report the warnings falling in CATEGORY
+-.SS "Parser:"
++.PP
++
++Parser:
+ .TP
+ \fB\-L\fR, \fB\-\-language\fR=\fILANGUAGE\fR
+ specify the output programming language
+@@ -104,7 +109,9 @@ don't generate `#line' directives
+ .TP
+ \fB\-k\fR, \fB\-\-token\-table\fR
+ include a table of token names
+-.SS "Output:"
++.PP
++
++Output:
+ .TP
+ \fB\-\-defines\fR[=\fIFILE\fR]
+ also produce a header file
+@@ -133,7 +140,9 @@ also output a graph of the automaton
+ \fB\-x\fR, \fB\-\-xml\fR[=\fIFILE\fR]
+ also output an XML report of the automaton
+ (the XML schema is experimental)
+-.SS "Warning categories include:"
++.PP
++
++Warning categories include:
+ .TP
+ `midrule\-values'
+ unset or unused midrule values
+@@ -152,7 +161,9 @@ turn off all the warnings
+ .TP
+ `error'
+ treat warnings as errors
+-.SS "THINGS is a list of comma separated words that can include:"
++.PP
++
++THINGS is a list of comma separated words that can include:
+ .TP
+ `state'
+ describe the states
+@@ -171,15 +182,17 @@ include all the above information
+ .TP
+ `none'
+ disable the report
++.PP
++
+ .SH AUTHOR
+ Written by Robert Corbett and Richard Stallman.
+-.SH "REPORTING BUGS"
+-Report bugs to <bug\-bison@gnu.org>.
+-.SH COPYRIGHT
+-Copyright \(co 2008 Free Software Foundation, Inc.
+-.br
++.PP
++
++Copyright (C) 2008 Free Software Foundation, Inc.
+ This is free software; see the source for copying conditions. There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++.SH "REPORTING BUGS"
++Report bugs to <bug\-bison@gnu.org>.
+ .SH "SEE ALSO"
+ .BR lex (1),
+ .BR flex (1),
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/doc/bison.info bison-2.4.1-src/doc/bison.info
+--- bison-2.4.1-orig/doc/bison.info 2008-12-11 23:07:25.000000000 +0100
++++ bison-2.4.1-src/doc/bison.info 2008-12-14 13:03:22.312500000 +0100
+@@ -1,5 +1,5 @@
+-This is bison.info, produced by makeinfo version 4.11 from
+-bison.texinfo.
++This is ../../bison-2.4.1-src/doc/bison.info, produced by makeinfo
++version 4.8 from ../../bison-2.4.1-src/doc/bison.texinfo.
+
+ This manual (19 November 2008) is for GNU Bison (version 2.4.1), the
+ GNU parser generator.
+@@ -3501,8 +3501,8 @@ underscores and periods. Periods make s
+ By convention, a literal string token is used only to represent a
+ token that consists of that particular string. Thus, you should
+ use the token type `"<="' to represent the string `<=' as a token.
+- Bison does not enforce this convention, but if you depart from it,
+- people who read your program will be confused.
++ Bison does not enforce this convention, but if you depart from
++ it, people who read your program will be confused.
+
+ All the escape sequences used in string literals in C can be used
+ in Bison as well, except that you must not use a null character
+@@ -10178,60 +10178,65 @@ Index
+ * Menu:
+
+ * $ <1>: Table of Symbols. (line 19)
+-* $ <2>: Java Action Features.
++* $ <2>: Action Features. (line 14)
++* $: Java Action Features.
+ (line 13)
+-* $: Action Features. (line 14)
+-* $$ <1>: Table of Symbols. (line 15)
++* $$ <1>: Action Features. (line 10)
+ * $$ <2>: Java Action Features.
+ (line 21)
+-* $$ <3>: Action Features. (line 10)
+-* $$: Actions. (line 6)
++* $$ <3>: Actions. (line 6)
++* $$: Table of Symbols. (line 15)
+ * $< <1>: Java Action Features.
+ (line 17)
++* $< <2>: Action Features. (line 23)
++* $< <3>: Java Action Features.
++ (line 29)
+ * $<: Action Features. (line 18)
+ * $accept: Table of Symbols. (line 65)
+ * $end: Table of Symbols. (line 104)
+ * $N: Actions. (line 6)
+ * $undefined: Table of Symbols. (line 212)
+-* % <1>: Table of Symbols. (line 28)
+-* %: Java Declarations Summary.
++* % <1>: Java Declarations Summary.
+ (line 53)
++* %: Table of Symbols. (line 28)
+ * %% <1>: Table of Symbols. (line 23)
+ * %%: Java Declarations Summary.
+ (line 49)
+-* %code <1>: Table of Symbols. (line 70)
+-* %code <2>: Java Declarations Summary.
+- (line 37)
+-* %code <3>: Calc++ Parser. (line 64)
+-* %code <4>: Decl Summary. (line 46)
+-* %code: Prologue Alternatives.
++* %code <1>: Table of Symbols. (line 71)
++* %code <2>: Prologue Alternatives.
+ (line 6)
++* %code <3>: Java Declarations Summary.
++ (line 37)
++* %code <4>: Calc++ Parser. (line 64)
++* %code: Decl Summary. (line 63)
+ * %code imports <1>: Java Declarations Summary.
+ (line 41)
+ * %code imports: Decl Summary. (line 115)
+ * %code lexer: Java Declarations Summary.
+ (line 45)
+-* %code provides <1>: Decl Summary. (line 86)
+-* %code provides: Prologue Alternatives.
++* %code provides <1>: Prologue Alternatives.
+ (line 6)
+-* %code requires <1>: Calc++ Parser. (line 17)
+-* %code requires <2>: Decl Summary. (line 72)
++* %code provides: Decl Summary. (line 303)
++* %code requires <1>: Decl Summary. (line 72)
++* %code requires <2>: Calc++ Parser. (line 17)
+ * %code requires: Prologue Alternatives.
+ (line 6)
+ * %code top <1>: Decl Summary. (line 98)
+ * %code top: Prologue Alternatives.
+ (line 6)
+-* %debug <1>: Table of Symbols. (line 75)
++* %debug <1>: Table of Symbols. (line 78)
+ * %debug <2>: Tracing. (line 23)
+-* %debug: Decl Summary. (line 134)
++* %debug <3>: Decl Summary. (line 134)
++* %debug: Table of Symbols. (line 75)
+ * %define <1>: Table of Symbols. (line 81)
+-* %define: Decl Summary. (line 139)
++* %define <2>: Decl Summary. (line 140)
++* %define: Table of Symbols. (line 82)
+ * %define abstract: Java Declarations Summary.
+ (line 57)
+ * %define api.pure <1>: Decl Summary. (line 166)
+ * %define api.pure: Pure Decl. (line 6)
+-* %define api.push_pull <1>: Decl Summary. (line 177)
+-* %define api.push_pull: Push Decl. (line 6)
++* %define api.push_pull <1>: Push Decl. (line 6)
++* %define api.push_pull: Decl Summary. (line 177)
+ * %define extends: Java Declarations Summary.
+ (line 61)
+ * %define final: Java Declarations Summary.
+@@ -10243,8 +10248,8 @@ Index
+ * %define location_type: Java Declarations Summary.
+ (line 78)
+ * %define lr.keep_unreachable_states: Decl Summary. (line 190)
+-* %define namespace <1>: C++ Bison Interface. (line 10)
+-* %define namespace: Decl Summary. (line 232)
++* %define namespace <1>: Decl Summary. (line 232)
++* %define namespace: C++ Bison Interface. (line 10)
+ * %define package: Java Declarations Summary.
+ (line 84)
+ * %define parser_class_name: Java Declarations Summary.
+@@ -10259,12 +10264,15 @@ Index
+ (line 101)
+ * %define throws: Java Declarations Summary.
+ (line 109)
+-* %defines <1>: Table of Symbols. (line 86)
+-* %defines: Decl Summary. (line 274)
+-* %destructor <1>: Table of Symbols. (line 94)
++* %defines <1>: Table of Symbols. (line 90)
++* %defines <2>: Decl Summary. (line 307)
++* %defines: Table of Symbols. (line 86)
++* %destructor <1>: Destructor Decl. (line 22)
+ * %destructor <2>: Decl Summary. (line 310)
+ * %destructor <3>: Destructor Decl. (line 6)
+-* %destructor: Mid-Rule Actions. (line 59)
++* %destructor <4>: Mid-Rule Actions. (line 59)
++* %destructor <5>: Table of Symbols. (line 94)
++* %destructor: Destructor Decl. (line 22)
+ * %dprec <1>: Table of Symbols. (line 99)
+ * %dprec: Merging GLR Parses. (line 6)
+ * %error-verbose <1>: Table of Symbols. (line 118)
+@@ -10273,41 +10281,42 @@ Index
+ * %expect: Expect Decl. (line 6)
+ * %expect-rr <1>: Expect Decl. (line 6)
+ * %expect-rr: Simple GLR Parsers. (line 6)
+-* %file-prefix <1>: Table of Symbols. (line 122)
+-* %file-prefix: Decl Summary. (line 315)
+-* %glr-parser <1>: Table of Symbols. (line 126)
+-* %glr-parser <2>: Simple GLR Parsers. (line 6)
++* %file-prefix <1>: Decl Summary. (line 315)
++* %file-prefix: Table of Symbols. (line 122)
++* %glr-parser <1>: Simple GLR Parsers. (line 6)
++* %glr-parser <2>: Table of Symbols. (line 126)
+ * %glr-parser: GLR Parsers. (line 6)
+ * %initial-action <1>: Table of Symbols. (line 130)
+-* %initial-action: Initial Action Decl. (line 6)
+-* %language <1>: Table of Symbols. (line 134)
+-* %language: Decl Summary. (line 319)
++* %initial-action: Initial Action Decl. (line 11)
++* %language <1>: Decl Summary. (line 319)
++* %language: Table of Symbols. (line 134)
+ * %language "Java": Java Declarations Summary.
+ (line 10)
+-* %left <1>: Table of Symbols. (line 138)
+-* %left <2>: Using Precedence. (line 6)
+-* %left: Decl Summary. (line 21)
++* %left <1>: Using Precedence. (line 6)
++* %left <2>: Decl Summary. (line 21)
++* %left: Table of Symbols. (line 138)
+ * %lex-param <1>: Table of Symbols. (line 142)
+-* %lex-param <2>: Java Declarations Summary.
++* %lex-param <2>: Pure Calling. (line 31)
++* %lex-param: Java Declarations Summary.
+ (line 13)
+-* %lex-param: Pure Calling. (line 31)
+ * %locations: Decl Summary. (line 327)
+-* %merge <1>: Table of Symbols. (line 147)
+-* %merge: Merging GLR Parses. (line 6)
+-* %name-prefix <1>: Table of Symbols. (line 154)
+-* %name-prefix <2>: Java Declarations Summary.
++* %merge <1>: Merging GLR Parses. (line 6)
++* %merge: Table of Symbols. (line 147)
++* %name-prefix <1>: Java Declarations Summary.
+ (line 19)
+-* %name-prefix: Decl Summary. (line 334)
+-* %no-lines <1>: Table of Symbols. (line 158)
+-* %no-lines: Decl Summary. (line 346)
++* %name-prefix <2>: Decl Summary. (line 334)
++* %name-prefix: Table of Symbols. (line 154)
++* %no-lines <1>: Decl Summary. (line 346)
++* %no-lines: Table of Symbols. (line 158)
+ * %nonassoc <1>: Table of Symbols. (line 162)
+ * %nonassoc <2>: Using Precedence. (line 6)
+ * %nonassoc: Decl Summary. (line 25)
+-* %output <1>: Table of Symbols. (line 166)
+-* %output: Decl Summary. (line 354)
+-* %parse-param <1>: Table of Symbols. (line 170)
+-* %parse-param <2>: Java Declarations Summary.
++* %output <1>: Decl Summary. (line 354)
++* %output: Table of Symbols. (line 166)
++* %parse-param <1>: Java Declarations Summary.
+ (line 24)
++* %parse-param <2>: Parser Function. (line 36)
++* %parse-param <3>: Table of Symbols. (line 170)
+ * %parse-param: Parser Function. (line 36)
+ * %prec <1>: Table of Symbols. (line 175)
+ * %prec: Contextual Precedence.
+@@ -10315,31 +10324,31 @@ Index
+ * %pure-parser <1>: Table of Symbols. (line 179)
+ * %pure-parser: Decl Summary. (line 357)
+ * %require <1>: Table of Symbols. (line 184)
+-* %require <2>: Decl Summary. (line 362)
+-* %require: Require Decl. (line 6)
+-* %right <1>: Table of Symbols. (line 188)
+-* %right <2>: Using Precedence. (line 6)
+-* %right: Decl Summary. (line 17)
+-* %skeleton <1>: Table of Symbols. (line 192)
+-* %skeleton: Decl Summary. (line 366)
++* %require <2>: Require Decl. (line 6)
++* %require: Decl Summary. (line 362)
++* %right <1>: Using Precedence. (line 6)
++* %right <2>: Decl Summary. (line 17)
++* %right: Table of Symbols. (line 188)
++* %skeleton <1>: Decl Summary. (line 366)
++* %skeleton: Table of Symbols. (line 192)
+ * %start <1>: Table of Symbols. (line 196)
+ * %start <2>: Decl Summary. (line 34)
+ * %start: Start Decl. (line 6)
+-* %token <1>: Table of Symbols. (line 200)
+-* %token <2>: Java Declarations Summary.
++* %token <1>: Decl Summary. (line 13)
++* %token <2>: Token Decl. (line 6)
++* %token <3>: Java Declarations Summary.
+ (line 29)
+-* %token <3>: Decl Summary. (line 13)
+-* %token: Token Decl. (line 6)
+-* %token-table <1>: Table of Symbols. (line 204)
+-* %token-table: Decl Summary. (line 374)
+-* %type <1>: Table of Symbols. (line 208)
+-* %type <2>: Java Declarations Summary.
++* %token: Table of Symbols. (line 200)
++* %token-table <1>: Decl Summary. (line 374)
++* %token-table: Table of Symbols. (line 204)
++* %type <1>: Java Declarations Summary.
+ (line 33)
+-* %type <3>: Decl Summary. (line 30)
+-* %type: Type Decl. (line 6)
+-* %union <1>: Table of Symbols. (line 217)
+-* %union <2>: Decl Summary. (line 9)
+-* %union: Union Decl. (line 6)
++* %type <2>: Type Decl. (line 6)
++* %type <3>: Table of Symbols. (line 208)
++* %type: Decl Summary. (line 30)
++* %union <1>: Decl Summary. (line 9)
++* %union <2>: Union Decl. (line 6)
++* %union: Table of Symbols. (line 217)
+ * %verbose: Decl Summary. (line 407)
+ * %yacc: Decl Summary. (line 413)
+ * *yypstate_new: Parser Create Function.
+@@ -10347,29 +10356,30 @@ Index
+ * /*: Table of Symbols. (line 33)
+ * :: Table of Symbols. (line 36)
+ * ;: Table of Symbols. (line 40)
+-* <*> <1>: Table of Symbols. (line 47)
+-* <*>: Destructor Decl. (line 6)
+-* <> <1>: Table of Symbols. (line 56)
+-* <>: Destructor Decl. (line 6)
+-* @$ <1>: Table of Symbols. (line 7)
++* <*> <1>: Destructor Decl. (line 6)
++* <*>: Table of Symbols. (line 47)
++* <> <1>: Destructor Decl. (line 6)
++* <>: Table of Symbols. (line 56)
++* @$ <1>: Action Features. (line 98)
+ * @$ <2>: Java Action Features.
+ (line 39)
+-* @$ <3>: Action Features. (line 98)
++* @$ <3>: Table of Symbols. (line 7)
+ * @$: Actions and Locations.
+ (line 6)
+-* @N <1>: Table of Symbols. (line 11)
+-* @N <2>: Java Action Features.
+- (line 35)
+-* @N <3>: Action Features. (line 104)
+-* @N: Actions and Locations.
++* @N <1>: Action Features. (line 104)
++* @N <2>: Actions and Locations.
+ (line 6)
++* @N <3>: Table of Symbols. (line 11)
++* @N <4>: Action Features. (line 104)
++* @N: Java Action Features.
++ (line 35)
+ * abstract syntax tree: Implementing Gotos/Loops.
+ (line 17)
+ * action: Actions. (line 6)
+ * action data types: Action Types. (line 6)
+ * action features summary: Action Features. (line 6)
+-* actions in mid-rule <1>: Destructor Decl. (line 88)
+-* actions in mid-rule: Mid-Rule Actions. (line 6)
++* actions in mid-rule <1>: Mid-Rule Actions. (line 6)
++* actions in mid-rule: Destructor Decl. (line 88)
+ * actions, location: Actions and Locations.
+ (line 6)
+ * actions, semantic: Semantic Actions. (line 6)
+@@ -10422,8 +10432,8 @@ Index
+ * compiling the parser: Rpcalc Compile. (line 6)
+ * conflicts <1>: Shift/Reduce. (line 6)
+ * conflicts <2>: Merging GLR Parses. (line 6)
+-* conflicts <3>: Simple GLR Parsers. (line 6)
+-* conflicts: GLR Parsers. (line 6)
++* conflicts <3>: GLR Parsers. (line 6)
++* conflicts: Simple GLR Parsers. (line 6)
+ * conflicts, reduce/reduce: Reduce/Reduce. (line 6)
+ * conflicts, suppressing warnings of: Expect Decl. (line 6)
+ * context-dependent precedence: Contextual Precedence.
+@@ -10467,8 +10477,8 @@ Index
+ (line 22)
+ * end on location: C++ Location Values. (line 45)
+ * epilogue: Epilogue. (line 6)
+-* error <1>: Table of Symbols. (line 108)
+-* error: Error Recovery. (line 20)
++* error <1>: Error Recovery. (line 20)
++* error: Table of Symbols. (line 108)
+ * error on parser: C++ Parser Interface.
+ (line 37)
+ * error recovery: Error Recovery. (line 6)
+@@ -10488,9 +10498,9 @@ Index
+ * frequently asked questions: FAQ. (line 6)
+ * generalized LR (GLR) parsing <1>: Generalized LR Parsing.
+ (line 6)
+-* generalized LR (GLR) parsing <2>: GLR Parsers. (line 6)
+-* generalized LR (GLR) parsing: Language and Grammar.
++* generalized LR (GLR) parsing <2>: Language and Grammar.
+ (line 33)
++* generalized LR (GLR) parsing: GLR Parsers. (line 6)
+ * generalized LR (GLR) parsing, ambiguous grammars: Merging GLR Parses.
+ (line 6)
+ * generalized LR (GLR) parsing, unambiguous grammars: Simple GLR Parsers.
+@@ -10522,11 +10532,11 @@ Index
+ (line 6)
+ * GLR parsers and yylval: GLR Semantic Actions.
+ (line 10)
+-* GLR parsing <1>: Generalized LR Parsing.
+- (line 6)
+-* GLR parsing <2>: GLR Parsers. (line 6)
+-* GLR parsing: Language and Grammar.
++* GLR parsing <1>: Language and Grammar.
+ (line 33)
++* GLR parsing <2>: Generalized LR Parsing.
++ (line 6)
++* GLR parsing: GLR Parsers. (line 6)
+ * GLR parsing, ambiguous grammars: Merging GLR Parses. (line 6)
+ * GLR parsing, unambiguous grammars: Simple GLR Parsers. (line 6)
+ * grammar file: Grammar Layout. (line 6)
+@@ -10566,8 +10576,8 @@ Index
+ * lines on position: C++ Location Values. (line 22)
+ * literal string token: Symbols. (line 53)
+ * literal token: Symbols. (line 31)
+-* location <1>: Locations. (line 6)
+-* location: Locations Overview. (line 6)
++* location <1>: Locations Overview. (line 6)
++* location: Locations. (line 6)
+ * location actions: Actions and Locations.
+ (line 6)
+ * Location on Location: Java Location Values.
+@@ -10632,8 +10642,9 @@ Index
+ * precedence, unary operator: Contextual Precedence.
+ (line 6)
+ * preventing warnings about conflicts: Expect Decl. (line 6)
+-* Prologue <1>: Decl Summary. (line 50)
+-* Prologue: Prologue. (line 6)
++* Prologue <1>: Decl Summary. (line 129)
++* Prologue <2>: Prologue. (line 6)
++* Prologue: Decl Summary. (line 50)
+ * Prologue Alternatives: Prologue Alternatives.
+ (line 6)
+ * pure parser: Pure Decl. (line 6)
+@@ -10646,9 +10657,9 @@ Index
+ * recovery from errors: Error Recovery. (line 6)
+ * recursive rule: Recursion. (line 6)
+ * reduce/reduce conflict: Reduce/Reduce. (line 6)
+-* reduce/reduce conflicts <1>: Merging GLR Parses. (line 6)
++* reduce/reduce conflicts <1>: GLR Parsers. (line 6)
+ * reduce/reduce conflicts <2>: Simple GLR Parsers. (line 6)
+-* reduce/reduce conflicts: GLR Parsers. (line 6)
++* reduce/reduce conflicts: Merging GLR Parses. (line 6)
+ * reduction: Algorithm. (line 6)
+ * reentrant parser: Pure Decl. (line 6)
+ * requiring a version of Bison: Require Decl. (line 6)
+@@ -10681,8 +10692,8 @@ Index
+ (line 68)
+ * setDebugStream on YYParser: Java Parser Interface.
+ (line 63)
+-* shift/reduce conflicts <1>: Shift/Reduce. (line 6)
+-* shift/reduce conflicts <2>: Simple GLR Parsers. (line 6)
++* shift/reduce conflicts <1>: Simple GLR Parsers. (line 6)
++* shift/reduce conflicts <2>: Shift/Reduce. (line 6)
+ * shift/reduce conflicts: GLR Parsers. (line 6)
+ * shifting: Algorithm. (line 6)
+ * simple examples: Examples. (line 6)
+@@ -10709,8 +10720,8 @@ Index
+ * syntax error: Error Reporting. (line 6)
+ * syntax of grammar rules: Rules. (line 6)
+ * terminal symbol: Symbols. (line 6)
+-* textual location <1>: Locations. (line 6)
+-* textual location: Locations Overview. (line 6)
++* textual location <1>: Locations Overview. (line 6)
++* textual location: Locations. (line 6)
+ * token: Language and Grammar.
+ (line 47)
+ * token type: Symbols. (line 6)
+@@ -10740,20 +10751,20 @@ Index
+ * YYACCEPT;: Action Features. (line 32)
+ * YYBACKUP <1>: Table of Symbols. (line 238)
+ * YYBACKUP: Action Features. (line 36)
+-* yychar <1>: Table of Symbols. (line 242)
++* yychar <1>: Action Features. (line 69)
+ * yychar <2>: Lookahead. (line 47)
+-* yychar <3>: Action Features. (line 69)
++* yychar <3>: Table of Symbols. (line 242)
+ * yychar: GLR Semantic Actions.
+ (line 10)
+-* yyclearin <1>: Table of Symbols. (line 248)
+-* yyclearin <2>: Error Recovery. (line 97)
+-* yyclearin: GLR Semantic Actions.
++* yyclearin <1>: GLR Semantic Actions.
+ (line 18)
++* yyclearin <2>: Table of Symbols. (line 248)
++* yyclearin: Error Recovery. (line 97)
+ * yyclearin;: Action Features. (line 76)
++* yydebug <1>: Tracing. (line 6)
+ * yydebug: Table of Symbols. (line 256)
+ * YYDEBUG <1>: Table of Symbols. (line 252)
+ * YYDEBUG: Tracing. (line 12)
+-* yydebug: Tracing. (line 6)
+ * YYEMPTY: Action Features. (line 49)
+ * YYENABLE_NLS: Internationalization.
+ (line 27)
+@@ -10761,11 +10772,11 @@ Index
+ * yyerrok <1>: Table of Symbols. (line 261)
+ * yyerrok: Error Recovery. (line 92)
+ * yyerrok;: Action Features. (line 81)
+-* yyerror: Table of Symbols. (line 274)
+-* YYERROR: Table of Symbols. (line 265)
++* YYERROR: Action Features. (line 56)
+ * yyerror: Java Action Features.
+ (line 64)
+-* YYERROR: Action Features. (line 56)
++* YYERROR: Table of Symbols. (line 265)
++* yyerror <1>: Table of Symbols. (line 274)
+ * yyerror: Error Reporting. (line 6)
+ * YYERROR: GLR Semantic Actions.
+ (line 28)
+@@ -10782,29 +10793,29 @@ Index
+ * yylex on parser: C++ Scanner Interface.
+ (line 12)
+ * YYLEX_PARAM: Table of Symbols. (line 294)
+-* yylloc <1>: Table of Symbols. (line 300)
+-* yylloc <2>: Lookahead. (line 47)
+-* yylloc <3>: Action Features. (line 86)
+-* yylloc <4>: Token Locations. (line 6)
+-* yylloc <5>: Actions and Locations.
+- (line 60)
+-* yylloc: GLR Semantic Actions.
++* yylloc <1>: Token Locations. (line 6)
++* yylloc <2>: Table of Symbols. (line 300)
++* yylloc <3>: GLR Semantic Actions.
+ (line 10)
++* yylloc <4>: Action Features. (line 86)
++* yylloc <5>: Lookahead. (line 47)
++* yylloc: Actions and Locations.
++ (line 60)
+ * YYLLOC_DEFAULT: Location Default Action.
+ (line 6)
+ * YYLTYPE <1>: Table of Symbols. (line 310)
+ * YYLTYPE: Token Locations. (line 19)
+-* yylval <1>: Table of Symbols. (line 314)
+-* yylval <2>: Lookahead. (line 47)
+-* yylval <3>: Action Features. (line 92)
+-* yylval <4>: Token Values. (line 6)
+-* yylval <5>: Actions. (line 74)
+-* yylval: GLR Semantic Actions.
++* yylval <1>: Actions. (line 74)
++* yylval <2>: Action Features. (line 92)
++* yylval <3>: Table of Symbols. (line 314)
++* yylval <4>: GLR Semantic Actions.
+ (line 10)
++* yylval <5>: Lookahead. (line 47)
++* yylval: Token Values. (line 6)
+ * YYMAXDEPTH <1>: Table of Symbols. (line 322)
+ * YYMAXDEPTH: Memory Management. (line 14)
+-* yynerrs <1>: Table of Symbols. (line 326)
+-* yynerrs: Error Reporting. (line 92)
++* yynerrs <1>: Error Reporting. (line 92)
++* yynerrs: Table of Symbols. (line 326)
+ * yyparse <1>: Table of Symbols. (line 332)
+ * yyparse: Parser Function. (line 6)
+ * YYPARSE_PARAM: Table of Symbols. (line 365)
+@@ -10814,18 +10825,21 @@ Index
+ * yypstate_delete <1>: Table of Symbols. (line 336)
+ * yypstate_delete: Parser Delete Function.
+ (line 6)
+-* yypstate_new <1>: Table of Symbols. (line 344)
+-* yypstate_new: Parser Create Function.
++* yypstate_new <1>: Parser Create Function.
+ (line 6)
+-* yypull_parse <1>: Table of Symbols. (line 351)
+-* yypull_parse: Pull Parser Function.
+- (line 6)
+-* yypush_parse <1>: Table of Symbols. (line 358)
+-* yypush_parse: Push Parser Function.
++* yypstate_new: Table of Symbols. (line 344)
++* yypull_parse <1>: Pull Parser Function.
+ (line 6)
+-* YYRECOVERING <1>: Table of Symbols. (line 371)
++* yypull_parse <2>: Table of Symbols. (line 351)
++* yypull_parse: Pull Parser Function.
++ (line 14)
++* yypush_parse <1>: Push Parser Function.
++ (line 15)
++* yypush_parse: Table of Symbols. (line 358)
++* YYRECOVERING <1>: Action Features. (line 64)
+ * YYRECOVERING <2>: Error Recovery. (line 109)
+-* YYRECOVERING: Action Features. (line 64)
++* YYRECOVERING <3>: Action Features. (line 64)
++* YYRECOVERING: Table of Symbols. (line 371)
+ * YYSTACK_USE_ALLOCA: Table of Symbols. (line 376)
+ * YYSTYPE: Table of Symbols. (line 392)
+ * | <1>: Table of Symbols. (line 43)
+@@ -10834,162 +10848,162 @@ Index
+
+ 
+ Tag Table:
+-Node: Top1120
+-Node: Introduction13685
+-Node: Conditions14948
+-Node: Copying16839
+-Node: Concepts54377
+-Node: Language and Grammar55558
+-Node: Grammar in Bison61447
+-Node: Semantic Values63376
+-Node: Semantic Actions65482
+-Node: GLR Parsers66669
+-Node: Simple GLR Parsers69416
+-Node: Merging GLR Parses76068
+-Node: GLR Semantic Actions80637
+-Node: Compiler Requirements82527
+-Node: Locations Overview83263
+-Node: Bison Parser84716
+-Node: Stages87656
+-Node: Grammar Layout88944
+-Node: Examples90276
+-Node: RPN Calc91479
+-Node: Rpcalc Declarations92479
+-Node: Rpcalc Rules94407
+-Node: Rpcalc Input96223
+-Node: Rpcalc Line97698
+-Node: Rpcalc Expr98826
+-Node: Rpcalc Lexer100793
+-Node: Rpcalc Main103387
+-Node: Rpcalc Error103794
+-Node: Rpcalc Generate104827
+-Node: Rpcalc Compile105962
+-Node: Infix Calc106841
+-Node: Simple Error Recovery109604
+-Node: Location Tracking Calc111499
+-Node: Ltcalc Declarations112195
+-Node: Ltcalc Rules113284
+-Node: Ltcalc Lexer115300
+-Node: Multi-function Calc117623
+-Node: Mfcalc Declarations119199
+-Node: Mfcalc Rules121246
+-Node: Mfcalc Symbol Table122641
+-Node: Exercises128817
+-Node: Grammar File129331
+-Node: Grammar Outline130180
+-Node: Prologue131030
+-Node: Prologue Alternatives132819
+-Node: Bison Declarations142504
+-Node: Grammar Rules142932
+-Node: Epilogue143403
+-Node: Symbols144419
+-Node: Rules151122
+-Node: Recursion153601
+-Node: Semantics155319
+-Node: Value Type156418
+-Node: Multiple Types157253
+-Node: Actions158420
+-Node: Action Types161835
+-Node: Mid-Rule Actions163147
+-Node: Locations169612
+-Node: Location Type170263
+-Node: Actions and Locations171049
+-Node: Location Default Action173510
+-Node: Declarations177230
+-Node: Require Decl178757
+-Node: Token Decl179076
+-Node: Precedence Decl181502
+-Node: Union Decl183512
+-Node: Type Decl185286
+-Node: Initial Action Decl186212
+-Node: Destructor Decl186983
+-Node: Expect Decl192447
+-Node: Start Decl194440
+-Node: Pure Decl194828
+-Node: Push Decl196578
+-Node: Decl Summary201077
+-Ref: Decl Summary-Footnote-1217963
+-Node: Multiple Parsers218167
+-Node: Interface219806
+-Node: Parser Function221124
+-Node: Push Parser Function223140
+-Node: Pull Parser Function223950
+-Node: Parser Create Function224601
+-Node: Parser Delete Function225424
+-Node: Lexical226195
+-Node: Calling Convention227627
+-Node: Token Values230587
+-Node: Token Locations231751
+-Node: Pure Calling232645
+-Node: Error Reporting234526
+-Node: Action Features238656
+-Node: Internationalization242958
+-Node: Algorithm245499
+-Node: Lookahead247865
+-Node: Shift/Reduce250074
+-Node: Precedence252969
+-Node: Why Precedence253625
+-Node: Using Precedence255498
+-Node: Precedence Examples256475
+-Node: How Precedence257185
+-Node: Contextual Precedence258342
+-Node: Parser States260138
+-Node: Reduce/Reduce261382
+-Node: Mystery Conflicts264923
+-Node: Generalized LR Parsing268630
+-Node: Memory Management273249
+-Node: Error Recovery275462
+-Node: Context Dependency280765
+-Node: Semantic Tokens281614
+-Node: Lexical Tie-ins284684
+-Node: Tie-in Recovery286261
+-Node: Debugging288438
+-Node: Understanding289104
+-Node: Tracing300263
+-Node: Invocation304365
+-Node: Bison Options305764
+-Node: Option Cross Key312768
+-Node: Yacc Library313820
+-Node: Other Languages314645
+-Node: C++ Parsers314972
+-Node: C++ Bison Interface315469
+-Node: C++ Semantic Values316737
+-Ref: C++ Semantic Values-Footnote-1317679
+-Node: C++ Location Values317832
+-Node: C++ Parser Interface320205
+-Node: C++ Scanner Interface321922
+-Node: A Complete C++ Example322624
+-Node: Calc++ --- C++ Calculator323566
+-Node: Calc++ Parsing Driver324080
+-Node: Calc++ Parser327861
+-Node: Calc++ Scanner331651
+-Node: Calc++ Top Level335077
+-Node: Java Parsers335726
+-Node: Java Bison Interface336403
+-Node: Java Semantic Values338366
+-Node: Java Location Values339980
+-Node: Java Parser Interface341536
+-Node: Java Scanner Interface344774
+-Node: Java Action Features346959
+-Node: Java Differences349686
+-Ref: Java Differences-Footnote-1352261
+-Node: Java Declarations Summary352411
+-Node: FAQ356659
+-Node: Memory Exhausted357606
+-Node: How Can I Reset the Parser357916
+-Node: Strings are Destroyed360185
+-Node: Implementing Gotos/Loops361774
+-Node: Multiple start-symbols363057
+-Node: Secure? Conform?364602
+-Node: I can't build Bison365050
+-Node: Where can I find help?365768
+-Node: Bug Reports366561
+-Node: More Languages368022
+-Node: Beta Testing368380
+-Node: Mailing Lists369254
+-Node: Table of Symbols369465
+-Node: Glossary384847
+-Node: Copying This Manual391744
+-Node: Index414137
++Node: Top1174
++Node: Introduction13739
++Node: Conditions15002
++Node: Copying16893
++Node: Concepts54431
++Node: Language and Grammar55612
++Node: Grammar in Bison61501
++Node: Semantic Values63430
++Node: Semantic Actions65536
++Node: GLR Parsers66723
++Node: Simple GLR Parsers69470
++Node: Merging GLR Parses76122
++Node: GLR Semantic Actions80691
++Node: Compiler Requirements82581
++Node: Locations Overview83317
++Node: Bison Parser84770
++Node: Stages87710
++Node: Grammar Layout88998
++Node: Examples90330
++Node: RPN Calc91533
++Node: Rpcalc Declarations92533
++Node: Rpcalc Rules94461
++Node: Rpcalc Input96277
++Node: Rpcalc Line97752
++Node: Rpcalc Expr98880
++Node: Rpcalc Lexer100847
++Node: Rpcalc Main103441
++Node: Rpcalc Error103848
++Node: Rpcalc Generate104881
++Node: Rpcalc Compile106016
++Node: Infix Calc106895
++Node: Simple Error Recovery109658
++Node: Location Tracking Calc111553
++Node: Ltcalc Declarations112249
++Node: Ltcalc Rules113338
++Node: Ltcalc Lexer115354
++Node: Multi-function Calc117677
++Node: Mfcalc Declarations119253
++Node: Mfcalc Rules121300
++Node: Mfcalc Symbol Table122695
++Node: Exercises128871
++Node: Grammar File129385
++Node: Grammar Outline130234
++Node: Prologue131084
++Node: Prologue Alternatives132873
++Node: Bison Declarations142558
++Node: Grammar Rules142986
++Node: Epilogue143457
++Node: Symbols144473
++Node: Rules151176
++Node: Recursion153655
++Node: Semantics155373
++Node: Value Type156472
++Node: Multiple Types157307
++Node: Actions158474
++Node: Action Types161889
++Node: Mid-Rule Actions163201
++Node: Locations169666
++Node: Location Type170317
++Node: Actions and Locations171103
++Node: Location Default Action173564
++Node: Declarations177284
++Node: Require Decl178811
++Node: Token Decl179130
++Node: Precedence Decl181556
++Node: Union Decl183566
++Node: Type Decl185340
++Node: Initial Action Decl186266
++Node: Destructor Decl187037
++Node: Expect Decl192501
++Node: Start Decl194494
++Node: Pure Decl194882
++Node: Push Decl196632
++Node: Decl Summary201131
++Ref: Decl Summary-Footnote-1218017
++Node: Multiple Parsers218221
++Node: Interface219860
++Node: Parser Function221178
++Node: Push Parser Function223194
++Node: Pull Parser Function224004
++Node: Parser Create Function224655
++Node: Parser Delete Function225478
++Node: Lexical226249
++Node: Calling Convention227681
++Node: Token Values230641
++Node: Token Locations231805
++Node: Pure Calling232699
++Node: Error Reporting234580
++Node: Action Features238710
++Node: Internationalization243012
++Node: Algorithm245553
++Node: Lookahead247919
++Node: Shift/Reduce250128
++Node: Precedence253023
++Node: Why Precedence253679
++Node: Using Precedence255552
++Node: Precedence Examples256529
++Node: How Precedence257239
++Node: Contextual Precedence258396
++Node: Parser States260192
++Node: Reduce/Reduce261436
++Node: Mystery Conflicts264977
++Node: Generalized LR Parsing268684
++Node: Memory Management273303
++Node: Error Recovery275516
++Node: Context Dependency280819
++Node: Semantic Tokens281668
++Node: Lexical Tie-ins284738
++Node: Tie-in Recovery286315
++Node: Debugging288492
++Node: Understanding289158
++Node: Tracing300317
++Node: Invocation304419
++Node: Bison Options305818
++Node: Option Cross Key312822
++Node: Yacc Library313874
++Node: Other Languages314699
++Node: C++ Parsers315026
++Node: C++ Bison Interface315523
++Node: C++ Semantic Values316791
++Ref: C++ Semantic Values-Footnote-1317733
++Node: C++ Location Values317886
++Node: C++ Parser Interface320259
++Node: C++ Scanner Interface321976
++Node: A Complete C++ Example322678
++Node: Calc++ --- C++ Calculator323620
++Node: Calc++ Parsing Driver324134
++Node: Calc++ Parser327915
++Node: Calc++ Scanner331705
++Node: Calc++ Top Level335131
++Node: Java Parsers335780
++Node: Java Bison Interface336457
++Node: Java Semantic Values338420
++Node: Java Location Values340034
++Node: Java Parser Interface341590
++Node: Java Scanner Interface344828
++Node: Java Action Features347013
++Node: Java Differences349740
++Ref: Java Differences-Footnote-1352315
++Node: Java Declarations Summary352465
++Node: FAQ356713
++Node: Memory Exhausted357660
++Node: How Can I Reset the Parser357970
++Node: Strings are Destroyed360239
++Node: Implementing Gotos/Loops361828
++Node: Multiple start-symbols363111
++Node: Secure? Conform?364656
++Node: I can't build Bison365104
++Node: Where can I find help?365822
++Node: Bug Reports366615
++Node: More Languages368076
++Node: Beta Testing368434
++Node: Mailing Lists369308
++Node: Table of Symbols369519
++Node: Glossary384901
++Node: Copying This Manual391798
++Node: Index414191
+ 
+ End Tag Table
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/lib/Makefile.in bison-2.4.1-src/lib/Makefile.in
+--- bison-2.4.1-orig/lib/Makefile.in 2008-12-11 23:05:55.000000000 +0100
++++ bison-2.4.1-src/lib/Makefile.in 2008-12-14 12:51:16.812500000 +0100
+@@ -132,7 +132,8 @@ am_libbison_a_OBJECTS = c-ctype.$(OBJEXT
+ mbswidth.$(OBJEXT) uniwidth/width.$(OBJEXT) \
+ xalloc-die.$(OBJEXT) xstrndup.$(OBJEXT) get-errno.$(OBJEXT) \
+ subpipe.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
+- $(am__objects_3)
++ $(am__objects_3) \
++ progname.$(OBJEXT) progreloc.$(OBJEXT) relocatable.$(OBJEXT)
+ libbison_a_OBJECTS = $(am_libbison_a_OBJECTS)
+ liby_a_AR = $(AR) $(ARFLAGS)
+ liby_a_LIBADD =
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/lib/config.hin bison-2.4.1-src/lib/config.hin
+--- bison-2.4.1-orig/lib/config.hin 2008-12-11 23:05:52.000000000 +0100
++++ bison-2.4.1-src/lib/config.hin 2008-12-14 13:00:12.984375000 +0100
+@@ -551,3 +551,5 @@
+
+ /* Define as `fork' if `vfork' does not work. */
+ #undef vfork
++
++#include "confsys.h"
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/lib/pipe-safer.c bison-2.4.1-src/lib/pipe-safer.c
+--- bison-2.4.1-orig/lib/pipe-safer.c 2008-11-03 20:07:17.000000000 +0100
++++ bison-2.4.1-src/lib/pipe-safer.c 2008-12-14 14:25:38.687500000 +0100
+@@ -19,6 +19,7 @@
+ #include <config.h>
+
+ #include "unistd-safer.h"
++#include "subpipe.h"
+
+ #include <unistd.h>
+ #include <errno.h>
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/lib/subpipe.c bison-2.4.1-src/lib/subpipe.c
+--- bison-2.4.1-orig/lib/subpipe.c 2008-11-03 19:54:12.000000000 +0100
++++ bison-2.4.1-src/lib/subpipe.c 2008-12-13 18:14:40.906250000 +0100
+@@ -78,7 +78,6 @@
+ # define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+ #endif
+
+-
+ /* Initialize this module. */
+
+ void
+@@ -114,6 +113,45 @@ create_subpipe (char const * const *argv
+ fd[1] = pipe_fd[0];
+ child_fd[1] = pipe_fd[1];
+
++/* WIN32 patch taken from the Mingw port:
++ http://prdownloads.sourceforge.net/mingw/bison-1.875-2003.02.10-1-src.tar.bz2?download
++*/
++#ifdef _WIN32
++ /* In windows we must control what the child inherits with the parent process
++ * and then use a spawn function instead of a fork/exec pair.
++ *
++ * So, in assigning the pipe pair we must dup stdio to save the originals,
++ * dup2 the pipe handles to the stdio handles, spawn and then dup2 the saved
++ * handles back to stdio and close the dupped ones.
++ */
++ int osi, oso;
++
++ if ((osi = dup (STDIN_FILENO)) < 0)
++ error (EXIT_FAILURE, errno, "pipe");
++ setmode(osi, O_NOINHERIT);
++ if ((oso = dup (STDOUT_FILENO)) < 0)
++ error (EXIT_FAILURE, errno, "pipe");
++ setmode(oso, O_NOINHERIT);
++
++ if (dup2(child_fd[0], STDIN_FILENO) < 0)
++ error (EXIT_FAILURE, errno, "pipe");
++ if (dup2(child_fd[1], STDOUT_FILENO) < 0)
++ error (EXIT_FAILURE, errno, "pipe");
++
++#include <conio.h>
++ pid = spawnvp(P_NOWAIT, argv[0], argv);
++ if (pid < 0) {
++ printf ("spawnvp: %s\n", argv[0]);
++ error (EXIT_FAILURE, errno, argv[0]);
++ }
++ if (dup2 (osi, STDIN_FILENO))
++ error (EXIT_FAILURE, errno, "dup2");
++ close (osi);
++ if (dup2 (oso, STDOUT_FILENO))
++ error (EXIT_FAILURE, errno, "dup2");
++ close (oso);
++
++#else
+ pid = vfork ();
+ if (pid < 0)
+ error (EXIT_FAILURE, errno, "fork");
+@@ -135,7 +173,7 @@ create_subpipe (char const * const *argv
+
+ _exit (errno == ENOENT ? 127 : 126);
+ }
+-
++#endif /* _WIN32 */
+ /* Parent. */
+ close (child_fd[0]);
+ close (child_fd[1]);
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/lib/subpipe.h bison-2.4.1-src/lib/subpipe.h
+--- bison-2.4.1-orig/lib/subpipe.h 2008-11-03 19:54:12.000000000 +0100
++++ bison-2.4.1-src/lib/subpipe.h 2008-12-13 18:14:41.000000000 +0100
+@@ -25,3 +25,8 @@ void init_subpipe (void);
+ pid_t create_subpipe (char const * const *, int[2]);
+ void end_of_output_subpipe (pid_t, int[2]);
+ void reap_subpipe (pid_t, char const *);
++#ifdef _WIN32
++# include <io.h>
++# include <fcntl.h>
++# define pipe(a) _pipe((a), 0, O_NOINHERIT)
++#endif
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/src/Makefile.in bison-2.4.1-src/src/Makefile.in
+--- bison-2.4.1-orig/src/Makefile.in 2008-12-11 23:05:55.000000000 +0100
++++ bison-2.4.1-src/src/Makefile.in 2008-12-13 18:22:23.468750000 +0100
+@@ -110,7 +110,7 @@ am_bison_OBJECTS = LR0.$(OBJEXT) assoc.$
+ relation.$(OBJEXT) scan-code-c.$(OBJEXT) scan-gram-c.$(OBJEXT) \
+ scan-skel-c.$(OBJEXT) state.$(OBJEXT) symlist.$(OBJEXT) \
+ symtab.$(OBJEXT) tables.$(OBJEXT) uniqstr.$(OBJEXT) \
+- graphviz.$(OBJEXT)
++ graphviz.$(OBJEXT) bison-res.$(OBJEXT)
+ bison_OBJECTS = $(am_bison_OBJECTS)
+ bison_LDADD = $(LDADD)
+ am__DEPENDENCIES_1 =
+@@ -367,7 +367,7 @@ LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALC
+ LTLIBICONV = @LTLIBICONV@
+ LTLIBINTL = @LTLIBINTL@
+ LTLIBOBJS = @LTLIBOBJS@
+-M4 = @M4@
++M4 = m4.exe
+ MAKEINFO = @MAKEINFO@
+ MKDIR_P = @MKDIR_P@
+ MSGFMT = @MSGFMT@
+@@ -430,6 +430,9 @@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAV
+ USE_NLS = @USE_NLS@
+ VALGRIND = @VALGRIND@
+ VERSION = @VERSION@
++MAJOR=$(shell echo $(VERSION) | sed -e "s/\..*$$//")
++MINOR=$(shell echo $(VERSION) | sed -e "s/^[^\.]*\.0*\([0-9]\+\).*$$/\1/")
++LDFLAGS += -Wl,--major-image-version=$(MAJOR) -Wl,--minor-image-version=$(MINOR)
+ VOID_UNSETENV = @VOID_UNSETENV@
+ WARN_CFLAGS = @WARN_CFLAGS@
+ WARN_CXXFLAGS = @WARN_CXXFLAGS@
+@@ -508,7 +511,7 @@ top_srcdir = @top_srcdir@
+ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+ AM_CPPFLAGS = -I$(top_srcdir)/lib
+ AM_YFLAGS = "-dv"
+-LDADD = ../lib/libbison.a $(LIBINTL)
++LDADD = ../lib/libbison.a $(LIBINTL) $(VERSADD)
+ bin_SCRIPTS = $(YACC_SCRIPT)
+ EXTRA_SCRIPTS = yacc
+ bison_SOURCES = \
+@@ -558,7 +561,7 @@ all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+ .SUFFIXES:
+-.SUFFIXES: .c .l .o .obj .y
++.SUFFIXES: .c .l .o .obj .y .rc
+ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+@@ -706,6 +709,12 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tables.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uniqstr.Po@am__quote@
+
++# Rule to make compiled resource (Windows)
++resdir = @top_builddir@/resource
++vpath %-res.rc $(resdir)
++%-res.o: %-res.rc
++ windres --include-dir $(resdir) -i $< -o $@
++
+ .c.o:
+ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/src/getargs.c bison-2.4.1-src/src/getargs.c
+--- bison-2.4.1-orig/src/getargs.c 2008-11-19 17:57:30.000000000 +0100
++++ bison-2.4.1-src/src/getargs.c 2008-12-14 13:02:51.015625000 +0100
+@@ -76,8 +76,6 @@ int language_prio = default_prio;
+ struct bison_language const *language = &valid_languages[0];
+ const char *include = NULL;
+
+-char *program_name;
+-
+
+ /** Decode an option's set of keys.
+ *
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/src/getargs.h bison-2.4.1-src/src/getargs.h
+--- bison-2.4.1-orig/src/getargs.h 2008-11-19 17:57:30.000000000 +0100
++++ bison-2.4.1-src/src/getargs.h 2008-12-14 13:02:13.437500000 +0100
+@@ -23,7 +23,7 @@
+
+ #include "location.h"
+
+-extern char *program_name;
++#include "progname.h"
+ enum { command_line_prio, grammar_prio, default_prio };
+
+ /* flags set by % directives */
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/src/main.c bison-2.4.1-src/src/main.c
+--- bison-2.4.1-orig/src/main.c 2008-11-19 17:57:30.000000000 +0100
++++ bison-2.4.1-src/src/main.c 2008-12-14 13:03:00.234375000 +0100
+@@ -55,7 +55,7 @@
+ int
+ main (int argc, char *argv[])
+ {
+- program_name = argv[0];
++ set_program_name (argv[0]);
+ setlocale (LC_ALL, "");
+ (void) bindtextdomain (PACKAGE, LOCALEDIR);
+ (void) bindtextdomain ("bison-runtime", LOCALEDIR);
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/src/output.c bison-2.4.1-src/src/output.c
+--- bison-2.4.1-orig/src/output.c 2008-11-19 17:57:30.000000000 +0100
++++ bison-2.4.1-src/src/output.c 2008-12-14 12:49:25.203125000 +0100
+@@ -39,6 +39,7 @@
+ #include "scan-skel.h"
+ #include "symtab.h"
+ #include "tables.h"
++#include <relocatable.h>
+
+
+ static struct obstack format_obstack;
+@@ -672,5 +673,5 @@ char const *
+ compute_pkgdatadir (void)
+ {
+ char const *pkgdatadir = getenv ("BISON_PKGDATADIR");
+- return pkgdatadir ? pkgdatadir : PKGDATADIR;
++ return pkgdatadir ? pkgdatadir : relocate (PKGDATADIR);
+ }
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/tests/Makefile.in bison-2.4.1-src/tests/Makefile.in
+--- bison-2.4.1-orig/tests/Makefile.in 2008-12-11 23:05:55.000000000 +0100
++++ bison-2.4.1-src/tests/Makefile.in 2008-12-14 22:46:56.578125000 +0100
+@@ -514,7 +514,7 @@ $(top_srcdir)/configure: $(am__configur
+ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ atlocal: $(top_builddir)/config.status $(srcdir)/atlocal.in
+- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ && sed -i.orig -e 's/\\\"\$$(/$$/g;s/)\\\"//g' $(subdir)/$@
+ bison: $(top_builddir)/config.status $(srcdir)/bison.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+ tags: TAGS
+@@ -661,7 +661,7 @@ $(srcdir)/package.m4: $(top_srcdir)/conf
+ } >$(srcdir)/package.m4
+ $(TESTSUITE): package.m4 $(TESTSUITE_AT)
+ $(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
+- mv $@.tmp $@
++ sed -e "s/diff -u/diff -u --strip-trailing-cr/g" $@.tmp > $@
+
+ atconfig: $(top_builddir)/config.status
+ cd $(top_builddir) && ./config.status tests/$@
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/tests/atlocal.in bison-2.4.1-src/tests/atlocal.in
+--- bison-2.4.1-orig/tests/atlocal.in 2008-12-11 22:01:35.000000000 +0100
++++ bison-2.4.1-src/tests/atlocal.in 2008-12-14 21:29:01.171875000 +0100
+@@ -4,6 +4,13 @@
+ # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free
+ # Software Foundation, Inc.
+
++EXEEXT='@EXEEXT@'
++exec_prefix='@exec_prefix@'
++bindir='@bindir@'
++prefix='@prefix@'
++buildlibdir=$(cygpath -m $abs_top_builddir/lib)
++srclibdir=$(cygpath -m $abs_top_srcdir/lib)
++
+ # We need a C compiler.
+ CC='@CC@'
+
+@@ -11,7 +18,7 @@ CC='@CC@'
+ CFLAGS='@O0CFLAGS@ @WARN_CFLAGS@ @WERROR_CFLAGS@'
+
+ # We need `config.h'.
+-CPPFLAGS="-I$abs_top_builddir/lib @CPPFLAGS@"
++CPPFLAGS="-I$buildlibdir -I$srclibdir @CPPFLAGS@"
+
+ # Is the compiler GCC?
+ GCC='@GCC@'
+@@ -29,7 +36,7 @@ CXXFLAGS='@O0CXXFLAGS@ @WARN_CXXFLAGS@ @
+ LDFLAGS='@LDFLAGS@'
+
+ # Are special libraries needed?
+-LIBS='@LIBS@ @INTLLIBS@'
++LIBS="@LIBS@ @INTLLIBS@ $buildlibdir/libbison.a"
+
+ # Empty if no javac was found
+ CONF_JAVAC='@CONF_JAVAC@'
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/tests/bison.in bison-2.4.1-src/tests/bison.in
+--- bison-2.4.1-orig/tests/bison.in 2008-07-14 11:56:12.000000000 +0200
++++ bison-2.4.1-src/tests/bison.in 2008-12-13 18:14:41.109375000 +0100
+@@ -3,6 +3,6 @@
+ # Wrapper around a non installed bison to make it work as an installed one.
+
+ # Use the shipped files, not those installed.
+-BISON_PKGDATADIR='@abs_top_srcdir@/data'
++BISON_PKGDATADIR=$(cygpath -m '@abs_top_srcdir@/data')
+ export BISON_PKGDATADIR
+-exec $PREBISON '@abs_top_builddir@/src/bison' ${1+"$@"}
++exec $PREBISON $(cygpath -m '@abs_top_builddir@/src/bison') ${1+"$@"}
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/tests/calc.at bison-2.4.1-src/tests/calc.at
+--- bison-2.4.1-orig/tests/calc.at 2008-11-19 17:57:30.000000000 +0100
++++ bison-2.4.1-src/tests/calc.at 2008-12-14 23:06:11.296875000 +0100
+@@ -186,7 +186,7 @@ extern FILE *input;]AT_SKEL_CC_IF([[
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -500,7 +500,7 @@ _AT_CHECK_CALC_ERROR([$1], [1],
+ [20],
+ [2.1: syntax error, unexpected '+'])
+ # Exercise error messages with EOF: work on an empty file.
+-_AT_CHECK_CALC_ERROR([$1], [1], [/dev/null], [4],
++_AT_CHECK_CALC_ERROR([$1], [1], [NUL], [4],
+ [1.1: syntax error, unexpected end of input])
+
+ # Exercise the error token: without it, we die at the first error,
+diff -ipuwr --binary --strip-trailing-cr -x '*.bak' -x '*.orig' -x '*.rej' -x '*.new' -x '*~' -x debian -x '*.po' -x '*.pot' bison-2.4.1-orig/tests/testsuite bison-2.4.1-src/tests/testsuite
+--- bison-2.4.1-orig/tests/testsuite 2008-12-11 23:07:46.000000000 +0100
++++ bison-2.4.1-src/tests/testsuite 2009-05-04 21:39:11.562500000 +0200
+@@ -1,5 +1,5 @@
+ #! /bin/sh
+-# Generated from local.at by GNU Autoconf 2.62.
++# Generated from ../../bison-2.4.1-src/tests/local.at by GNU Autoconf 2.63.
+ #
+ # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ # Free Software Foundation, Inc.
+@@ -470,7 +470,8 @@ test \$exitcode = 0") || {
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { { $as_echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
++$as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+@@ -868,17 +869,27 @@ at_help_all="1;input.at:27;Invalid \$n a
+ 240;push.at:155;Push Parsing: Unsupported Skeletons;;
+ "
+
+-# at_func_validate_ranges [N...]
+-# ------------------------------
+-# validate test group ranges
++# at_func_validate_ranges [NAME...]
++# ---------------------------------
++# Validate and normalize the test group number contained in each
++# variable NAME. Leading zeroes are treated as decimal.
+ at_func_validate_ranges ()
+ {
+ for at_grp
+ do
+- if test $at_grp -lt 1 || test $at_grp -gt 240; then
+- $as_echo "invalid test group: $at_grp" >&2
++ eval at_value=\$$at_grp
++ if test $at_value -lt 1 || test $at_value -gt 240; then
++ $as_echo "invalid test group: $at_value" >&2
+ exit 1
+ fi
++ case $at_value in
++ 0*) # We want to treat leading 0 as decimal, like expr and test, but
++ # at_func_arith treats it as octal if it uses $(( )).
++ # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the
++ # expr fork, but it is not worth the effort to determine if the
++ # shell supports XSI when the user can just avoid leading 0.
++ eval $at_grp='`expr $at_value + 0`' ;;
++ esac
+ done
+ }
+
+@@ -933,14 +944,14 @@ do
+ ;;
+
+ [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
+- at_func_validate_ranges $at_option
++ at_func_validate_ranges at_option
+ at_groups="$at_groups$at_option "
+ ;;
+
+ # Ranges
+ [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
+ at_range_start=`echo $at_option |tr -d X-`
+- at_func_validate_ranges $at_range_start
++ at_func_validate_ranges at_range_start
+ at_range=`$as_echo " $at_groups_all " | \
+ sed -e 's/^.* \('$at_range_start' \)/\1/'`
+ at_groups="$at_groups$at_range "
+@@ -948,7 +959,7 @@ do
+
+ -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
+ at_range_end=`echo $at_option |tr -d X-`
+- at_func_validate_ranges $at_range_end
++ at_func_validate_ranges at_range_end
+ at_range=`$as_echo " $at_groups_all " | \
+ sed -e 's/\( '$at_range_end'\) .*$/\1/'`
+ at_groups="$at_groups$at_range "
+@@ -967,7 +978,7 @@ do
+ at_range_end=$at_range_start
+ at_range_start=$at_tmp
+ fi
+- at_func_validate_ranges $at_range_start $at_range_end
++ at_func_validate_ranges at_range_start at_range_end
+ at_range=`$as_echo " $at_groups_all " | \
+ sed -e 's/^.*\( '$at_range_start' \)/\1/' \
+ -e 's/\( '$at_range_end'\) .*$/\1/'`
+@@ -1019,7 +1030,8 @@ do
+ # Reject names that are not valid shell variable names.
+ case $at_envvar in
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+- { $as_echo "$as_me: error: invalid variable name: $at_envvar" >&2
++ { { $as_echo "$as_me:$LINENO: error: invalid variable name: $at_envvar" >&5
++$as_echo "$as_me: error: invalid variable name: $at_envvar" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+ at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
+@@ -1037,7 +1049,8 @@ done
+
+ # Verify our last option didn't require an argument
+ if test -n "$at_prev"; then
+- { $as_echo "$as_me: error: \`$at_prev' requires an argument." >&2
++ { { $as_echo "$as_me:$LINENO: error: \`$at_prev' requires an argument." >&5
++$as_echo "$as_me: error: \`$at_prev' requires an argument." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+@@ -1223,7 +1236,8 @@ if $at_change_dir ; then
+ at_dir=./-
+ fi
+ test x != "x$at_dir" && cd "$at_dir" \
+- || { $as_echo "$as_me: error: unable to change directory" >&2
++ || { { $as_echo "$as_me:$LINENO: error: unable to change directory" >&5
++$as_echo "$as_me: error: unable to change directory" >&2;}
+ { (exit 1); exit 1; }; }
+ at_dir=`pwd`
+ fi
+@@ -1232,7 +1246,8 @@ fi
+ for at_file in atconfig atlocal
+ do
+ test -r $at_file || continue
+- . ./$at_file || { $as_echo "$as_me: error: invalid content: $at_file" >&2
++ . ./$at_file || { { $as_echo "$as_me:$LINENO: error: invalid content: $at_file" >&5
++$as_echo "$as_me: error: invalid content: $at_file" >&2;}
+ { (exit 1); exit 1; }; }
+ done
+
+@@ -1258,23 +1273,45 @@ if test -n "$at_top_srcdir"; then
+ done
+ fi
+
++## ------------------- ##
++## Directory structure ##
++## ------------------- ##
++
++# This is the set of directories and files used by this script
++# (non-literals are capitalized):
++#
++# TESTSUITE - the testsuite
++# TESTSUITE.log - summarizes the complete testsuite run
++# TESTSUITE.dir/ - created during a run, remains after -d or failed test
++# + at-groups/ - during a run: status of all groups in run
++# | + NNN/ - during a run: meta-data about test group NNN
++# | | + check-line - location (source file and line) of current AT_CHECK
++# | | + status - exit status of current AT_CHECK
++# | | + stdout - stdout of current AT_CHECK
++# | | + stder1 - stderr, including trace
++# | | + stderr - stderr, with trace filtered out
++# | | + test-source - portion of testsuite that defines group
++# | | + times - timestamps for computing duration
++# | | + pass - created if group passed
++# | | + xpass - created if group xpassed
++# | | + fail - created if group failed
++# | | + xfail - created if group xfailed
++# | | + skip - created if group skipped
++# + at-stop - during a run: end the run if this file exists
++# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction
++# + 0..NNN/ - created for each group NNN, remains after -d or failed test
++# | + TESTSUITE.log - summarizes the group results
++# | + ... - files created during the group
++
+ # The directory the whole suite works in.
+ # Should be absolute to let the user `cd' at will.
+ at_suite_dir=$at_dir/$as_me.dir
+ # The file containing the suite.
+ at_suite_log=$at_dir/$as_me.log
+-# The file containing the location of the last AT_CHECK.
+-at_check_line_file=$at_suite_dir/at-check-line
+-# The file containing the exit status of the last command.
+-at_status_file=$at_suite_dir/at-status
+-# The files containing the output of the tested commands.
+-at_stdout=$at_suite_dir/at-stdout
+-at_stder1=$at_suite_dir/at-stder1
+-at_stderr=$at_suite_dir/at-stderr
+-# The file containing the function to run a test group.
+-at_test_source=$at_suite_dir/at-test-source
+-# The file containing dates.
+-at_times_file=$at_suite_dir/at-times
++# The directory containing helper files per test group.
++at_helper_dir=$at_suite_dir/at-groups
++# Stop file: if it exists, do not start new jobs.
++at_stop_file=$at_suite_dir/at-stop
+
+ if $at_clean; then
+ test -d "$at_suite_dir" &&
+@@ -1346,7 +1383,6 @@ export PATH
+
+ # Setting up the FDs.
+ # 5 is the log file. Not to be overwritten if `-d'.
+-
+ if $at_debug_p; then
+ at_suite_log=/dev/null
+ else
+@@ -1559,7 +1595,8 @@ at_func_create_debugging_script ()
+
+ # at_func_arith
+ # -------------
+-# Arithmetic evaluation, avoids expr if the shell is sane.
++# Arithmetic evaluation, avoids expr if the shell is sane. The
++# interpretation of leading zeroes is unspecified.
+ #
+ # subshell and eval are needed to keep Solaris sh from bailing out:
+ if ( eval 'test $(( 1 + 1 )) = 2' ) 2>/dev/null; then
+@@ -1624,12 +1661,6 @@ _ASBOX
+ at_start_date=`date`
+ at_start_time=`date +%s 2>/dev/null`
+ $as_echo "$as_me: starting at: $at_start_date" >&5
+-at_xpass_list=
+-at_xfail_list=
+-at_pass_list=
+-at_fail_list=
+-at_skip_list=
+-at_group_count=0
+
+ # Create the master directory if it doesn't already exist.
+ test -d "$at_suite_dir" ||
+@@ -1646,10 +1677,10 @@ else
+ >"$at_devnull"
+ fi
+
+-# Use `diff -u' when possible.
+-if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
++# Use `diff -u --strip-trailing-cr' when possible.
++if at_diff=`diff -u --strip-trailing-cr "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
+ then
+- at_diff='diff -u'
++ at_diff='diff -u --strip-trailing-cr'
+ else
+ at_diff=diff
+ fi
+@@ -1668,23 +1699,51 @@ BEGIN { FS="" }
+ test = substr ($ 0, 10)
+ print "at_sed" test "=\"1," start "d;" (NR-1) "q\""
+ if (test == "'"$at_group"'") exit
+-}' "$at_myself" > "$at_test_source" &&
+-. "$at_test_source" ||
++}' "$at_myself" > "$at_suite_dir/at-source-lines" &&
++. "$at_suite_dir/at-source-lines" ||
+ { { $as_echo "$as_me:$LINENO: error: cannot create test line number cache" >&5
+ $as_echo "$as_me: error: cannot create test line number cache" >&2;}
+ { (exit 1); exit 1; }; }
++rm -f "$at_suite_dir/at-source-lines"
+
++# Set up helper dirs.
++rm -rf "$at_helper_dir" &&
++mkdir "$at_helper_dir" &&
++cd "$at_helper_dir" &&
++{ test -z "$at_groups" || mkdir $at_groups; } ||
++{ { $as_echo "$as_me:$LINENO: error: testsuite directory setup failed" >&5
++$as_echo "$as_me: error: testsuite directory setup failed" >&2;}
++ { (exit 1); exit 1; }; }
++
++# Functions for running a test group. We leave the actual
++# test group execution outside of a shell function in order
++# to avoid hitting zsh 4.x exit status bugs.
++
++# at_func_group_prepare
++# ---------------------
++# Prepare running a test group
++at_func_group_prepare ()
++{
++ # The directory for additional per-group helper files.
++ at_job_dir=$at_helper_dir/$at_group
++ # The file containing the location of the last AT_CHECK.
++ at_check_line_file=$at_job_dir/check-line
++ # The file containing the exit status of the last command.
++ at_status_file=$at_job_dir/status
++ # The files containing the output of the tested commands.
++ at_stdout=$at_job_dir/stdout
++ at_stder1=$at_job_dir/stder1
++ at_stderr=$at_job_dir/stderr
++ # The file containing the code for a test group.
++ at_test_source=$at_job_dir/test-source
++ # The file containing dates.
++ at_times_file=$at_job_dir/times
+
+-## ------------ ##
+-## Driver loop. ##
+-## ------------ ##
+-for at_group in $at_groups
+-do
+ # Be sure to come back to the top test directory.
+ cd "$at_suite_dir"
+
+ # Clearly separate the test groups when verbose.
+- test $at_group_count != 0 && $at_verbose echo
++ $at_first || $at_verbose echo
+
+ at_group_normalized=$at_group
+
+@@ -1702,8 +1761,8 @@ do
+ if test -d "$at_group_dir"; then
+ find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
+ rm -fr "$at_group_dir" ||
+- { $as_echo "$as_me:$LINENO: WARNING: test directory could not be cleaned." >&5
+-$as_echo "$as_me: WARNING: test directory could not be cleaned." >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: test directory for $at_group_normalized could not be cleaned." >&5
++$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned." >&2;}
+ fi
+ # Be tolerant if the above `rm' was not able to remove the directory.
+ { as_dir="$at_group_dir"
+@@ -1747,23 +1806,22 @@ $as_echo X"$as_dir" |
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+- cd "$at_group_dir"
+
+ echo 0 > "$at_status_file"
+
+ # In verbose mode, append to the log file *and* show on
+- # the standard output; in quiet mode only write to the log
++ # the standard output; in quiet mode only write to the log.
+ if test -z "$at_verbose"; then
+ at_tee_pipe='tee -a "$at_group_log"'
+ else
+ at_tee_pipe='cat >> "$at_group_log"'
+ fi
++}
+
+- if at_func_test $at_group && . "$at_test_source"; then :; else
+- $as_echo "$as_me: unable to parse test group: $at_group" >&2
+- at_failed=:
+- fi
+-
++# at_func_group_postprocess
++# -------------------------
++at_func_group_postprocess ()
++{
+ # Be sure to come back to the suite directory, in particular
+ # since below we might `rm' the group directory we are in currently.
+ cd "$at_suite_dir"
+@@ -1776,37 +1834,36 @@ $as_echo "$as_me: error: cannot create d
+ _ATEOF
+ $as_echo "$at_setup_line" >"$at_check_line_file"
+ fi
+- at_func_arith 1 + $at_group_count
+- at_group_count=$at_func_arith_result
+ $at_verbose $as_echo_n "$at_group. $at_setup_line: "
+ $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log"
+ case $at_xfail:$at_status in
+ yes:0)
+ at_msg="UNEXPECTED PASS"
+- at_xpass_list="$at_xpass_list $at_group"
++ at_res=xpass
+ at_errexit=$at_errexit_p
+ ;;
+ no:0)
+ at_msg="ok"
+- at_pass_list="$at_pass_list $at_group"
++ at_res=pass
+ at_errexit=false
+ ;;
+ *:77)
+ at_msg='skipped ('`cat "$at_check_line_file"`')'
+- at_skip_list="$at_skip_list $at_group"
++ at_res=skip
+ at_errexit=false
+ ;;
+ yes:*)
+ at_msg='expected failure ('`cat "$at_check_line_file"`')'
+- at_xfail_list="$at_xfail_list $at_group"
++ at_res=xfail
+ at_errexit=false
+ ;;
+ no:*)
+ at_msg='FAILED ('`cat "$at_check_line_file"`')'
+- at_fail_list="$at_fail_list $at_group"
++ at_res=fail
+ at_errexit=$at_errexit_p
+ ;;
+ esac
++ echo "$at_res" > "$at_job_dir/$at_res"
+ # Make sure there is a separator even with long titles.
+ $as_echo " $at_msg"
+ at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
+@@ -1840,16 +1897,67 @@ _ATEOF
+ # is later included in the global log.
+ $as_echo "$at_log_msg" >> "$at_group_log"
+
+- # Upon failure, keep the group directory for autopsy, and
+- # create the debugging script.
++ # Upon failure, keep the group directory for autopsy, and create
++ # the debugging script. With -e, do not start any further tests.
+ at_func_create_debugging_script
+- $at_errexit && break
++ if $at_errexit; then
++ echo stop > "$at_stop_file"
++ fi
+ ;;
+ esac
++}
++
++
++## ------------ ##
++## Driver loop. ##
++## ------------ ##
++
++rm -f "$at_stop_file"
++at_first=:
++
++for at_group in $at_groups; do
++ at_func_group_prepare
++ if cd "$at_group_dir" &&
++ at_func_test $at_group &&
++ . "$at_test_source"; then :; else
++ { $as_echo "$as_me:$LINENO: WARNING: unable to parse test group: $at_group" >&5
++$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
++ at_failed=:
++ fi
++ at_func_group_postprocess
++ test -f "$at_stop_file" && break
++ at_first=false
+ done
+
++# Wrap up the test suite with summary statistics.
++cd "$at_helper_dir"
++
++# Use ?..???? when the list must remain sorted, the faster * otherwise.
++at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'`
++at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'`
++at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'`
++at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do
++ echo $f; done | sed '/?/d; s,/xpass,,'`
++at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do
++ echo $f; done | sed '/?/d; s,/fail,,'`
++
++set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list
++shift; at_group_count=$#
++set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$*
++set X $at_xfail_list; shift; at_xfail_count=$#
++set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$*
++set X $at_skip_list; shift; at_skip_count=$#
++
++at_func_arith $at_group_count - $at_skip_count
++at_run_count=$at_func_arith_result
++at_func_arith $at_xpass_count + $at_fail_count
++at_unexpected_count=$at_func_arith_result
++at_func_arith $at_xfail_count + $at_fail_count
++at_total_fail_count=$at_func_arith_result
++
+ # Back to the top directory.
+ cd "$at_dir"
++rm -rf "$at_helper_dir"
+
+ # Compute the duration of the suite.
+ at_stop_date=`date`
+@@ -1872,19 +1980,6 @@ case $at_start_time,$at_stop_time in
+ ;;
+ esac
+
+-# Wrap up the test suite with summary statistics.
+-set X $at_skip_list; shift; at_skip_count=$#
+-set X $at_fail_list; shift; at_fail_count=$#
+-set X $at_xpass_list; shift; at_xpass_count=$#
+-set X $at_xfail_list; shift; at_xfail_count=$#
+-
+-at_func_arith $at_group_count - $at_skip_count
+-at_run_count=$at_func_arith_result
+-at_func_arith $at_xpass_count + $at_fail_count
+-at_unexpected_count=$at_func_arith_result
+-at_func_arith $at_xfail_count + $at_fail_count
+-at_total_fail_count=$at_func_arith_result
+-
+ echo
+ cat <<\_ASBOX
+ ## ------------- ##
+@@ -30931,7 +31026,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -31718,16 +31813,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:569: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:569: \$PREPARSER ./calc input"
+ echo calc.at:569 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -32239,7 +32338,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -33037,16 +33136,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:571: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:571: \$PREPARSER ./calc input"
+ echo calc.at:571 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -33558,7 +33661,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -34371,16 +34474,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:572: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:572: \$PREPARSER ./calc input"
+ echo calc.at:572 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -34887,7 +34994,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -35674,16 +35781,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:573: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:573: \$PREPARSER ./calc input"
+ echo calc.at:573 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -36195,7 +36306,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -36982,16 +37093,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:574: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:574: \$PREPARSER ./calc input"
+ echo calc.at:574 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -37503,7 +37618,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -38290,16 +38405,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:575: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:575: \$PREPARSER ./calc input"
+ echo calc.at:575 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -38811,7 +38930,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -39593,16 +39712,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:576: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:576: \$PREPARSER ./calc input"
+ echo calc.at:576 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -40109,7 +40232,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -40918,16 +41041,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:578: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:578: \$PREPARSER ./calc input"
+ echo calc.at:578 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -41439,7 +41566,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -42248,16 +42375,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:579: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:579: \$PREPARSER ./calc input"
+ echo calc.at:579 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -42769,7 +42900,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -43577,16 +43708,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:580: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:580: \$PREPARSER ./calc input"
+ echo calc.at:580 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -44088,7 +44223,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -44907,16 +45042,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:582: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:582: \$PREPARSER ./calc input"
+ echo calc.at:582 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -45418,7 +45557,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -46205,16 +46344,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:584: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:584: \$PREPARSER ./calc input"
+ echo calc.at:584 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -46726,7 +46869,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -47545,16 +47688,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:585: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:585: \$PREPARSER ./calc input"
+ echo calc.at:585 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -48056,7 +48203,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -48871,16 +49018,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:587: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:587: \$PREPARSER ./calc input"
+ echo calc.at:587 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -49387,7 +49538,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -50202,16 +50353,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:588: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:588: \$PREPARSER ./calc input"
+ echo calc.at:588 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -50718,7 +50873,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -51537,16 +51692,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:590: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:590: \$PREPARSER ./calc input"
+ echo calc.at:590 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -52048,7 +52207,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -52835,16 +52994,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:607: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:607: \$PREPARSER ./calc input"
+ echo calc.at:607 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -53356,7 +53519,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -54154,16 +54317,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:609: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:609: \$PREPARSER ./calc input"
+ echo calc.at:609 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -54675,7 +54842,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -55488,16 +55655,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:610: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:610: \$PREPARSER ./calc input"
+ echo calc.at:610 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -56004,7 +56175,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -56791,16 +56962,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:611: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:611: \$PREPARSER ./calc input"
+ echo calc.at:611 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -57312,7 +57487,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -58099,16 +58274,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:612: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:612: \$PREPARSER ./calc input"
+ echo calc.at:612 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -58620,7 +58799,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -59407,16 +59586,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:613: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:613: \$PREPARSER ./calc input"
+ echo calc.at:613 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -59928,7 +60111,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -60710,16 +60893,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:614: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:614: \$PREPARSER ./calc input"
+ echo calc.at:614 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -61226,7 +61413,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -62039,16 +62226,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:616: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:616: \$PREPARSER ./calc input"
+ echo calc.at:616 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -62555,7 +62746,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -63363,16 +63554,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:617: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:617: \$PREPARSER ./calc input"
+ echo calc.at:617 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -63874,7 +64069,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -64693,16 +64888,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:619: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:619: \$PREPARSER ./calc input"
+ echo calc.at:619 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -65204,7 +65403,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -65991,16 +66190,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:621: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:621: \$PREPARSER ./calc input"
+ echo calc.at:621 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -66512,7 +66715,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -67331,16 +67534,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:622: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:622: \$PREPARSER ./calc input"
+ echo calc.at:622 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -67842,7 +68049,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -68661,16 +68868,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:624: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:624: \$PREPARSER ./calc input"
+ echo calc.at:624 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -69172,7 +69383,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -69991,16 +70202,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:626: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:626: \$PREPARSER ./calc input"
+ echo calc.at:626 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -70509,7 +70724,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -71356,16 +71571,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:636: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:636: \$PREPARSER ./calc input"
+ echo calc.at:636 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -71879,7 +72098,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -72726,16 +72945,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:645: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:645: \$PREPARSER ./calc input"
+ echo calc.at:645 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -73249,7 +73472,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -74091,16 +74314,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:646: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:646: \$PREPARSER ./calc input"
+ echo calc.at:646 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -74609,7 +74836,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -75451,16 +75678,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:648: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:648: \$PREPARSER ./calc input"
+ echo calc.at:648 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -75969,7 +76200,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -76811,16 +77042,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:650: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:650: \$PREPARSER ./calc input"
+ echo calc.at:650 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -77329,7 +77564,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -78171,16 +78406,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:652: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:652: \$PREPARSER ./calc input"
+ echo calc.at:652 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -78689,7 +78928,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -79536,16 +79775,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:663: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:663: \$PREPARSER ./calc input"
+ echo calc.at:663 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -80059,7 +80302,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -80906,16 +81149,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:672: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:672: \$PREPARSER ./calc input"
+ echo calc.at:672 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -81429,7 +81676,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -82271,16 +82518,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:673: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:673: \$PREPARSER ./calc input"
+ echo calc.at:673 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -82789,7 +83040,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -83636,16 +83887,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:675: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:675: \$PREPARSER ./calc input"
+ echo calc.at:675 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -84159,7 +84414,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -85001,16 +85256,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:676: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:676: \$PREPARSER ./calc input"
+ echo calc.at:676 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -85519,7 +85778,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -86361,16 +86620,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:678: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:678: \$PREPARSER ./calc input"
+ echo calc.at:678 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false
+@@ -86879,7 +87142,7 @@ extern FILE *input;
+ %code {
+ #include <stdlib.h>
+ #include <string.h>
+-#if HAVE_UNISTD_H
++#if HAVE_UNISTD_H && !_WIN32
+ # include <unistd.h>
+ #else
+ # undef alarm
+@@ -87721,16 +87984,20 @@ $at_traceon; }
+
+
+ # Exercise error messages with EOF: work on an empty file.
++cat >input <<'_ATEOF'
++NUL
++_ATEOF
++
+ { $at_traceoff
+-$as_echo "$at_srcdir/calc.at:680: \$PREPARSER ./calc /dev/null"
++$as_echo "$at_srcdir/calc.at:680: \$PREPARSER ./calc input"
+ echo calc.at:680 >"$at_check_line_file"
+
+ if test -n "$at_traceon" \
+- && at_func_check_newline " $PREPARSER ./calc /dev/null"; then
+- ( $at_traceon; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stder1"
++ && at_func_check_newline " $PREPARSER ./calc input"; then
++ ( $at_traceon; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stder1"
+ at_func_filter_trace $?
+ else
+- ( :; $PREPARSER ./calc /dev/null ) >"$at_stdout" 2>"$at_stderr"
++ ( :; $PREPARSER ./calc input ) >"$at_stdout" 2>"$at_stderr"
+ fi
+ at_status=$?
+ at_failed=false

Powered by Google App Engine
This is Rietveld 408576698