Talk:Tail recursive parser

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

I can find very little web information on this subject, I hope someone finds it useful. I find it to be an interesting parsing method that is not discussed as much. I used it for a science fair project, and the result turned out quite nice, and pretty simple.

Okay, I changed this page to be a little less overly complex. Thanks to ard on #dhell of dynamichell.org for helping me with the sentences.

Merge into recursive descent parser[edit]

I don't see any reason for this to be it's own article. This is a common optimization that the dragon book doesn't bother to give a distinct name. Even the recursive descent parser article's implementation uses this technique. I don't see anything interesting in the Dr. Dobb's article that isn't already covered in the dragon book. 15.227.137.69 21:50, 16 February 2007 (UTC)[reply]

This is a common technique[edit]

Which is the reason for the repetition in the EBNF notation in the first place.

Stupid and ambiguous grammar[edit]

The grammar is a) stupid and b) ambiguous. Either you do normal left-recursion for such operator-expressions:

 F → F + I | I

or you use the LL(k)-compatible workaround:

 F → I (+ I)*

But the example does not make sense… Could you explain it?

--Chricho (talk) 13:06, 11 September 2010 (UTC)[reply]

Source code[edit]

The source code that's provided on the page besides demonstrating functionality does a few other things, like using system() to invoke gcc on generated code, compiling a binary that only prints the result of parsing. It also contains commented unused code and information/statements in a language other than english. As such, it does not succinctly demonstrate the capabilities of the parser and that is why I reverted the edit in the first place. I think the best solution is to just leave an outline of the code unless someone wants to clean it up. Dithpri (talk) 15:47, 3 June 2019 (UTC)[reply]

Tail recursive example with a language not eliminating tail recursion[edit]

What sense does it make to use a language, which does not eliminate tail recursion, to illustrate a tail recursive algorithm? Ceving (talk) 08:42, 26 March 2021 (UTC)[reply]