One other thing to mention on why I think SXML is good for generating the parse
trees:
I believe SXML can provide a natural way to use attribute grammar semantics.
So, if an expression comes out of the parser as
(expr (add (ident “x”) (ident “y”)))
then after semantic analysis it may look something like
(expr (@ (type “double”)) (add (@ (type “double”) (lt “int”) (rt
“double”)) (ident (@ (type “int”)) “x”) (ident (@ (type “double”)) “y”)))Matt
