On Thu, Mar 8, 2018 at 7:44 PM David Wahlstedt < david.wahlstedt....@gmail.com> wrote:
> So, if golang has been bootstrapped, compiled with itself, how did they write the parser? > By hand, or by using an LR parser and tweaking the grammar? Go authors initially used a modified grammar (distilled version at https://github.com/cznic/gc/blob/b007e32c610fc39d850653c9b09d7515507f2b6e/testdata/parser/parser.y) in combination with a simple transformation of the input token stream in the lexer (functionally equivalent Go implementation can be seen also at https://github.com/cznic/gc/blob/b007e32c610fc39d850653c9b09d7515507f2b6e/all_test.go#L976 ). Nowadays the gc uses a handwritten parser, so the class of the language no more matters [that much]. (Alternative experimental implementation also at https://github.com/cznic/gc/blob/b007e32c610fc39d850653c9b09d7515507f2b6e/parser.go ) IMHO, GLR would be an overkill for a Go parser. -- -j -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.