我在JavaCC中構建了一個解析器,例如:let a:int = 5 + 4; 它顯示:使用JavaCC解析樹表示法
Start
Sxl
Statement
VariableDecl
Identifier
Type
Expression
SimpleExpression
Term
Factor
Literal
IntegerLiteral
AdditiveOp
Term
Factor
Literal
IntegerLiteral
Parsed.
工作正常,但是我需要加強這方面的解析器輸出到一個XML文件並輸出以下輸出對上述輸入:
letNode(Identier(X), ExprNode(PlusNode(IntegerLiteral(8), IntegerLiteral(2))))
如何才能做到這一點,做我需要使用普通的Java還是JavaCC中有一些功能?
JavaCC不會爲你做這件事。你必須走過AST並自己吐出XML。你可以在另一個工具看到類似的結果:http://stackoverflow.com/a/7882118/120163 [我注意到你展示的輸出不是XML]。 –