我正在尝试使用Java使用条件表达式为if-else语句创建一个非常简单的解析器
解析语法:
stmnt ::= matched | unmatched
matched ::= if ( expr ) then matched else matched | others
unmatched ::= if ( expr ) then stmnt | if ( expr ) then matched else unmatched
exp ::= factor exp’
exp’ ::= factor | > factor | <> factor | == factor | >= factor | <= factor |
factor ::= id | num | ! id
我一直在网上寻找不同类型的解析算法,它们看起来都很抽象和复杂。
对此有什么好的算法的建议。