Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The Wikipedia article on recursive <em>ascent</em> parsing references what appears to be the original paper on the topic ("Very Fast LR Parsing"). Skimming that paper cleared a few things up for me. Things I noticed:</p> <ol> <li><p>The paper talks about generating assembly code. I wonder if you can do the same things they do if you're generating C or Java code instead; see sections 4 and 5, "Error recovery" and "Stack overflow checking". (I'm not trying to FUD their technique -- it might work out fine -- just saying that it's something you might want to look into before committing.)</p></li> <li><p>They compare their recursive ascent tool to their own table-driven parser. From the description in their results section, it looks like their table-driven parser is "fully interpreted"; it doesn't require any custom generated code. I wonder if there's a middle ground where the overall structure is still table-driven but you generate custom code for certain actions to speed things up.</p></li> </ol> <p>The paper referenced by the Wikipedia page:</p> <ul> <li>"Very fast LR parsing" (1986)</li> <li><a href="http://portal.acm.org/citation.cfm?id=13310.13326" rel="nofollow noreferrer">http://portal.acm.org/citation.cfm?id=13310.13326</a></li> </ul> <p>Another paper about using code-generation instead of table-interpretation:</p> <ul> <li>"Very fast YACC-compatible parsers (for very little effort)" (1999)</li> <li><a href="http://www3.interscience.wiley.com/journal/1773/abstract" rel="nofollow noreferrer">http://www3.interscience.wiley.com/journal/1773/abstract</a></li> </ul> <p>Also, note that recursive-descent parsing is not the fastest way to parse LL-grammar-based languages:</p> <ul> <li><a href="https://stackoverflow.com/questions/1044600/difference-between-an-ll-and-recursive-descent-parser">Difference between an LL and Recursive Descent parser?</a></li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload