如何在erlang中创建一个解析器,它将采用一个正确形成的命题公式并将其转换为一些内部表示。
列出在erlang中创建解析器的可用工具,以及使用它们的项目也很有帮助。
答案 0 :(得分:7)
您可以使用leex
,yecc
,spell1
和其他一些人。
leex:基于正则表达式的词法分析器生成器,用于Erlang,类似于lex或flex。词法分析器文件包含Definition
,Rules
以及Erlang代码的部分。
yecc:Erlang的LALR-1解析器生成器,类似于yacc。解析器生成器文件包含Non-terminals
,Terminals
,Rules
和Root-symbols
的部分。
neotoma:用于解析表达式语法(PEG)的Erlang的packrat解析器生成器。
一些使用它们的开源项目:
此Slide包含一些有关如何使用它们的有用示例。