我是Crystal-lang
的新手,我想知道是否有可能在仿水晶项目中链接一个野牛生成的解析器,如果有的话,怎么办呢?
答案 0 :(得分:0)
我终于找到了办法。
Bison和yacc的主要功能(yyparse
和yylex
)可以通过提供的sintax轻松绑定并从Crystal调用。
有用的是在bison或yacc中提供一个C函数来设置解析器/词法分析器(例如设置词法分析器源文件)。
AST可以作为void
指针重新执行,并通过水晶也需要的其他C函数进行操作。
也可以在C实现中声明两个函数指针,以便AST分配/释放内存,并且可以将它们设置为从Crystal连接到' connect' GC通过一个程序。