标签: f# yacc lex fsyacc fslex
我正在学习F#,因为我想写一个词法分析器和解析器。我对这种处理有一点经验,但确实需要和F#一起学习它。
在学习F#的lexing / parsing功能时,学习lex和yacc是否足够?
或者是否存在一些差异,这意味着lex / yacc的代码不适用于fslex和fsyacc?
答案 0 :(得分:9)
我个人发现这些OcamlLex和OcamlYacc教程是开始使用的优秀资源 - 易于理解,您几乎可以逐字翻译FsLex / FsYacc教程中的大部分内容。
答案 1 :(得分:5)
好吧,使用lex和yacc,你把C / C ++代码放在'actions'中,而用fslex和fsyacc你把F#代码放在那里,但我猜你知道吗?
我认为它们基于相同的(已建立的/古老的)标记化和解析技术,因此语法的一般结构/行为应该是相似的,如果这就是你所追求的......