grammar

    3熱度

    2回答

    在整個Bison語法中,我使用了右遞歸,並且我已經讀過左遞歸更好,因爲它不必先構建整個堆棧。 但是,當我嘗試切換到任何一個左遞歸時,我總是會遇到很多衝突,而且我不明白爲什麼。 任何人都可以告訴我一個通用的例子,使用左遞歸而不是正確的會導致衝突(當右遞歸不會導致衝突時)。然後,切換到左側以糾正這種衝突時需要做些什麼。我認爲一個基本的例子將幫助我不僅僅是修正我自己的語法。 編輯: 但我想我應該有一個具

    1熱度

    1回答

    我有一個簡單的DSL的ANTLR語法,當沒有語法錯誤時,所有東西都可以順利運行。然而,現在我需要支持一種自動完成機制,在這種機制中,我需要從我的樹語法中獲得對屬性,函數等進行基本類型檢查的可能的完成。 問題是,ANTLR不是在本地statement級別報告語法錯誤,但在分析樹的更上方,例如在program或function級別。因此,而不是看起來像 program |

    1熱度

    2回答

    我有一組XML文檔都共享相同的模式。 (它們是具有語義標籤的SAPI語法,如果這很重要。)我可以使用這些文檔來匹配文本字符串,返回一組具有已知值的屬性。 我的問題是,我想採取一組屬性值,並從語法中生成一個字符串(提交給語法時)將生成相同的一組屬性值。另一個複雜的問題是,不同的語法有不同的順序標記(語法是針對不同的自然語言),所以我不能做一個簡單的樹行走。 有沒有人有這個問題的好方法? 編輯:這裏的

    0熱度

    2回答

    我做了一個程序,該程序應該可以識別一個簡單的語法。當我輸入我認爲應該是有效的陳述時,我得到一個錯誤。具體而言,如果我輸入 int a; int b; 它不起作用。在我輸入int a後;該計劃迴應;因爲某些原因。然後當我鍵入int b;我得到語法錯誤。 萊克斯文件: %{ #include <stdlib.h> #include <ctype.h> #include <string.h>

    1熱度

    1回答

    在我的yacc文件我有事情像下面這樣: var_declaration : type_specifier ID ';' | type_specifier ID '[' NUM ']' ';' ; type_specifier : INT | VOID ; ID,NUM,INT和VOID是得到從柔性返回的標記,所以YACC有沒有問題認識他們。問題是,在上面有'['和';'之類

    0熱度

    2回答

    我做了一個應該識別簡單語法的程序。當我輸入我認爲應該是有效的陳述時,我得到一個錯誤。具體來說,如果我從一個標識符開始,我會自動得到一個語法錯誤。但是,我注意到如果使用標識符前面加上'int',則不會生成錯誤。如果a是一個標識符,那麼如果我鍵入'int a;'還行吧。但是如果我輸入'a = 3',我會得到一個錯誤。只要自己輸入就會產生一個錯誤。 萊克斯文件: %{ #include <stdlib

    1熱度

    2回答

    我試着輸入以下到我的yacc分析器: int main(void) { return; } 它看起來根據什麼在YACC文件中定義有效的給我,但我得到後一個「語法錯誤」消息回報。這是爲什麼? 的YACC文件: /* C-Minus BNF Grammar */ %{ #include "parser.h" #include <string.h> %} %union {

    7熱度

    5回答

    我正在編寫一個應用程序,它將採用各種「命令」字符串。我一直在尋找Scala組合庫來標記命令。我發現在很多情況下我想說:「這些標記是無序集,所以它們可以以任何順序出現,有些可能不會出現」。 以我目前的語法知識,我必須定義序列的所有組合爲這樣的(僞語法): command = action~content action = alphanum content = (tokenA~tokenB~tok

    1熱度

    1回答

    最近(大約一個月前),我試圖將新的構造引入到我公司的內部擴展語言中,並努力應對一些reduce-reduce錯誤。雖然我最終解決了這個問題,但是挖掘y.output文件卻不是野餐。 作爲一個實驗,我嘗試使用野牛的--graph = <文件>選項輸出DOT文件(注意,我們的標準打造採用Byacc,不是野牛)。由於我在'Turnkey'Linux框中,我沒有安裝Graphviz,無法從RPM(在Red

    8熱度

    1回答

    我正在尋找一個準確的AS3語法(格式不是問題,但我認爲ANTLR將具有最多功能)以用於我正在製作的練習語法。 什麼是可用於AS3的最準確的語法?