lex / yacc和fslex / fsyacc有什么区别?

时间:2010-02-14 05:07:49

标签: f# yacc lex fsyacc fslex

我正在学习F#,因为我想写一个词法分析器和解析器。我对这种处理有一点经验,但确实需要和F#一起学习它。

在学习F#的lexing / parsing功能时,学习lex和yacc是否足够?

或者是否存在一些差异,这意味着lex / yacc的代码不适用于fslex和fsyacc?

2 个答案:

答案 0 :(得分:9)

我个人发现这些OcamlLexOcamlYacc教程是开始使用的优秀资源 - 易于理解,您几乎可以逐字翻译FsLex / FsYacc教程中的大部分内容。

答案 1 :(得分:5)

好吧,使用lex和yacc,你把C / C ++代码放在'actions'中,而用fslex和fsyacc你把F#代码放在那里,但我猜你知道吗?

我认为它们基于相同的(已建立的/古老的)标记化和解析技术,因此语法的一般结构/行为应该是相似的,如果这就是你所追求的......