Re: Request for default rule modifiers in a grammar

2002-09-06 Thread Damian Conway
Ken Fox wrote: Excellent. Will there be an abstract syntax for tree rewriting or is it Perl 6 all the way down? I'd expect it to be Perl all the way down. Though a tree rewriting module might make it seem abstract. ;-) This is really amazing stuff. I was expecting some support for

Re: Request for default rule modifiers in a grammar

2002-09-05 Thread Damian Conway
Ken Fox wrote: I'm messing around with regex code generation by converting first to a grammar. The modifiers seem to need intimate knowledge of regex - grammar conversion. This may be a quirk of my approach. People using tree traversal or generating code directly from the regex might see

Re: Request for default rule modifiers in a grammar

2002-09-05 Thread Ken Fox
Damian Conway wrote: I would imagine that modifiers would be passed some kind of hierarchical representation of the rule they're modifying (i.e. a parse tree of it), and would be expected to manipulate that structure representation. Excellent. Will there be an abstract syntax for tree

Re: Request for default rule modifiers in a grammar

2002-09-02 Thread Damian Conway
Ken Fox wrote: The thing I'd like to do right now is turn on :w for all rules. A Fortran grammar might want to turn on :i for all rules. Maybe add modifiers to the grammar declaration? grammar Fortran :i { ... } Maybe. Or a property: grammar Fortran is modified(:i) { ... }

Re: Request for default rule modifiers in a grammar

2002-09-02 Thread Ken Fox
Damian Conway wrote: One possibility is that a modifier is implemented via a special class: my class Decomment is RULE::Modifier is invoked(:decomment) { method SETUP ($data, $rule) { ... } # etc. }

Request for default rule modifiers in a grammar

2002-09-01 Thread Ken Fox
The thing I'd like to do right now is turn on :w for all rules. A Fortran grammar might want to turn on :i for all rules. Maybe add modifiers to the grammar declaration? grammar Fortran :i { ... } It would also be convenient to allow the :w modifier to have lexically scoped behavior so a