我正在學習F#,因爲我想編寫一個詞法分析器和解析器。我對這種處理有一點點經驗,但真的需要像F#一樣正確地學習它。lex/yacc和fslex/fsyacc有什麼區別?
當學習F#的Lexin/Parsing功能時,正在學習lex和yacc是否足夠?
還是有一些差異,這意味着lex/yacc的代碼將不能與fslex和fsyacc一起使用嗎?
我正在學習F#,因爲我想編寫一個詞法分析器和解析器。我對這種處理有一點點經驗,但真的需要像F#一樣正確地學習它。lex/yacc和fslex/fsyacc有什麼區別?
當學習F#的Lexin/Parsing功能時,正在學習lex和yacc是否足夠?
還是有一些差異,這意味着lex/yacc的代碼將不能與fslex和fsyacc一起使用嗎?
好吧,用lex和yacc,你把C/C++代碼放在'actions'中,而用fslex和fsyacc你把F#代碼放在那裏,但我想你知道這個嗎?
我認爲他們正在以其他方式基於相同的(建立/古)標記化和解析技術,所以一般的結構/語法的行爲應該是相似的,如果這就是你以後......
我仍然在學習F#和lex/yacc。函數式編程的本質似乎使調試變得更加困難,所以我不想陷入奇怪的行爲,因爲我使用了錯誤的語法! :-) – 2010-02-14 07:17:41
請注意,'as'在'fslex'中不起作用,這是一個令人生氣的限制。 – 2010-12-05 12:18:05