Re: how to solve this reduce/reduce conflict?

2022-09-23 Thread lostbits
To interject. The 'modern' notion of spaces is in accord to how we now understand how parser-generators work, most particularly how BNF works. But in times long past this understanding was not understood. In Fortran II, IV, 77 spaces had no meaning. This meant all of: xy and x y were the sa

calc++ example

2023-06-01 Thread lostbits
bison v3.8.2 Win 7/10-x64 Driver.hh has class "driver" defined with scan_begin() and scan_end() defined but Driver.cc doesn't have the body for these functions.  Are these functions defined? Also in driver::parse (const std::string &f). "parse.set_debug_level (trace_parsing);"  is executed a

$oprion

2023-06-02 Thread lostbits
Bison v3.8.2 Win 7/10/11-x64 I have searched the Bison 3.8.1 manual and can't find where this is defined. Can someone point me to the description of %option and its values?

calc++ example driver::scan_*

2023-06-02 Thread lostbits
Bison.doc v3.8.1 I found the body for Driver::scan_begin and Driver::scan_end in scanner.ll. Shouldn't this be colocated with the Driver class source code? I (personally) have never seen the body of a class prototype function defined in any other location than the class source. Isn't this an

Section 10.1.7.2 Complete Symbols question

2023-06-02 Thread lostbits
Bison.pdf v3.8.1 In 10.1.7.2 Complete Symbols pg. 180 it says: "... it generates named constructors..." With the following examples for the generated code: symbol_type make_token (const value_type& value, const location_type& location) symbol_type make_token (const location_type& l

Re: yytname woes

2023-11-13 Thread lostbits
Christian Schoenebeck; To intrude on this discussion just a bit, let me just say that I have twice volunteered to rewrite portions of the Bison manual, twice refused - never by a response - and many times asked questions. I have even sent partial rewrites, with appropriate signatures, and (lis

Re: Bison -v Stack Interpretation

2023-12-21 Thread lostbits
shift/reduce/pop/push are part of LALR(1) parsing (see https://en.wikipedia.org/wiki/LALR_parser as a start). Basically what happens is that the parser forms lookahead sets. The creation and sustenance of the lookahead sets is done with the pushes and pops. When the LALR(1) parser looks at the