Using lex/yacc I can do a more or less complex things in .yacc semantic actions, such complex as bytecode compilation or real CPU assembly.

Playing with `pegged`, I can't figure out how to move from `ParseTree` to such like semantic actions. I even can't parse numbers from strings in lexer-like rules because it looks like every rule runs on any token parse, or sumething like this.

Also, I use attribute object trees resemble attribute grammar both for parsing and internal code representation:

```C++
class Object {
string value; // or `int value` and `float value` for numbers
  map<string, Object*> attr;
  vector<Object*>      nested;
}
```

And I also can't figure out how to inherit `ParseTree` with all my script language objects to get AST right from pegged parser. Should I use some superloop with lot of matches to process parsed `pt` tree into something I need myself, to drop all unneeded parsing meta info and get clean semantic AST?

Reply via email to