我正在尋找爲現有語言創建JavaScript解析器,該解析器目前具有笨拙的「手工製造」C#和Java解析器。我想使用Jison,並一直在努力學習Bison的基礎知識。 一個問題我不知道如何回答Bison/Jison的輸出究竟是什麼?我是否自動獲取任何東西(如AST)?或者是所有事情都是使用編寫野牛文件的人的規則行爲完成的。例如,如果我有一個規則指定一個符合規則的新變量分配: 變量陳述 :VAR V
我寫類似的JavaScript其分號插入前語言解析器: var x = 1 + 2;
x;
和 var x = 1 + 2
x
甚至 var x = 1 +
2
x
是相同。 現在,我的詞法分析器僅在與分號不同的令牌出現後才匹配換行符(\ n)。這對1和2這樣的基本情況起到很好的作用,但我如何處理第三種情況?即在表達中間發生的新行。我無法每次都匹配新行,因爲它會污染我的解析器