Bison 3.3 released
Bison 3.3 released
Posted Jan 29, 2019 16:59 UTC (Tue) by Wol (subscriber, #4433)In reply to: Bison 3.3 released by quotemstr
Parent article: Bison 3.3 released
I always like to give as my example of trying to parse valid syntax
REM: REM = REM(6,2) ;* This calculates a remainder and puts it in the variable called REM
That is, if you haven't noticed, the token REM used in four different ways in the same statement - as a label, a variable, a function, and a statement. And all those uses are valid in differing dialects of the same computer language.
The option of designing the language/grammar is not always there for the poor sods trying to write the lexer/parser.
Cheers,
Wol
Posted Jan 29, 2019 17:10 UTC (Tue)
by quotemstr (subscriber, #45331)
[Link] (1 responses)
Posted Feb 6, 2019 13:46 UTC (Wed)
by branden (guest, #7029)
[Link]
"So you're the reason (Plan 9) awk has 83 reduce-reduce conflicts (and
"As I remember, the original EQN grammar had >300 S/R conflicts and 50 or so RR conflicts. But it mostly did what you wanted. I think Al Aho got faint when he looked it it, though... (It got better when precedence was added...)" -- Steve Johnson
Bison 3.3 released
Bison 3.3 released
42 shift-reduce)." -- Rob Pike