I am not sure I understand your request. Can you elaborate on your notation and examples of where this would be useful? How would the AST nodes naming convention apply?
Why use the "/" symbol? Wouldn't a new keyword be easier to read and understand?
In addition to ? + and *, a useful notation could be "list" of the form something like: E = S / T; which would mean E = T
| E S T;
This would produce two lists of Ss and Ts. This would automatically take care of what I think is one of the most frequent transforms of the parse tree. Processing the list from one end or the other would take care of associativity.
-- Etienne M. Gagnon, Ph.D. http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/