gppg

Shift reduce conflict

I'm having a problem understanding the shift/reduce confict for a grammar that I know has no ambiguity. The case is one of the if else type but it's not the 'dangling else' problem since I have mandatory END clauses delimiting code blocks. Here is the grammar for gppg (Its a Bison like compiler compiler ... and that was not an echo): %...

Using C# and gppg, how would I construct an abstract syntax tree?

Is there a way to do this almost out-of-the-box? I could go and write a big method that would use the collected tokens to figure out which leaves should be put in which branches and in the end populate a TreeNode object, but since gppg already handled everything by using supplied regular expressions, I was wondering if there's an easier...

How would I create a syntax tree using gppg?

What would be the easiest way of accomplishing this, assuming I'm already able to use gppg for syntax analysis? I don't know how to check which non-terminating symbols a parser had to go through in order to set the token in its rightful place (or, failing that, report an error). Any help would be greatly appreciated! ...

Help with Shift/Reduce conflict - Trying to model (X A)* (X B)*

Im trying to model the EBNF expression ("declare" "namespace" ";")* ("declare" "variable" ";")* I have built up the yacc (Im using MPPG) grammar, which seems to represent this, but it fails to match my test expression. The test case i'm trying to match is declare variable; The Token stream from the lexer is KW_Declare KW_Varia...

Making YACC output an AST (token tree)

Is it possible to make YACC (or I'm my case MPPG) output an Abstract Syntax Tree (AST). All the stuff I'm reading suggests its simple to make YACC do this, but I'm struggling to see how you know when to move up a node in the tree as your building it. ...