gpt4 book ai didi

java - 从标记创建语法树

转载 作者:行者123 更新时间:2023-12-01 06:16:02 25 4
gpt4 key购买 nike

我正在尝试为 TI-BASIC 创建一个小型解释器语法。

这是我正在尝试解释的 TI-BASIC 片段

A->(2+(3*3))

我已将上面的代码标记为以下标记序列:

Token{type=VARIABLE, content='A'}
Token{type=ASSIGN, content='null'}
Token{type=L_PAREN, content='null'}
Token{type=NUM, content='2'}
Token{type=ADD, content='null'}
Token{type=L_PAREN, content='null'}
Token{type=NUM, content='3'}
Token{type=MULT, content='null'}
Token{type=NUM, content='3'}
Token{type=R_PAREN, content='null'}
Token{type=R_PAREN, content='null'}
Token{type=EOS, content='null'} (end of statement)
Token{type=EOF, content='null'} (end of file)

如果我没记错的话,我认为下一步是将这些标记表示为语句树(抽象语法树?)

 Assignment (->)
/ \
/ \
A Add
/\
/ \
2 Multiply
/\
/ \
3 3

我想知道我应该如何创建这棵树,或者这是否是正确的做法。谢谢!

最佳答案

简单的答案是您需要为 TI-Basic 编写一个解析器。您已经编写了词法分析器(词法分析器),现在需要编写语法分析器。

有很多方法可以做到这一点,但解析器的维基百科页面是一个很好的起点:examples of parsers .

关于java - 从标记创建语法树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24661870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com