Re: Bootstrapping yacc in yacc -> Bootstrapping yacc in lex!

Rock Brentwood <rockbrentwood@gmail.com>
Sun, 4 Apr 2021 13:27:53 -0500

          From comp.compilers

Related articles
Re: Bootstrapping yacc in yacc -&gt; Bootstrapping yacc in lex! rockbrentwood@gmail.com (Rock Brentwood) (2021-04-04)
| List of all articles for this month |
From: Rock Brentwood <rockbrentwood@gmail.com>
Newsgroups: comp.compilers
Date: Sun, 4 Apr 2021 13:27:53 -0500
Organization: Compilers Central
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="61278"; mail-complaints-to="abuse@iecc.com"
Keywords: yacc, question
Posted-Date: 04 Apr 2021 14:43:37 EDT

From Kaz Kylheku:
>You could simply allow rules of this form
> ":" right side ...
>With a semantic restrction that this must be preceded by a rule that
>is not terminated with a semicolon, whose last element is a symbol:


In other words: post-processing. That's not too much different that
the id + colon hack.


I misspoke in my earlier post. The hack was not created by Bison, but
has been around and *is* part of the grammar in the POSIX standard. So
the yacc grammar in the POSIX standard is LALR(1). I also see the hack
done in the Sun version of UNIX hack.
[I believe that hack goes way back. It always seemed to me ironic that
the grammar for yacc, the most popular LALR(1) parser generator, isn't
quite LALR(1). The original Unix yacc used the id+colon hack in C code. -John]



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.