bison

    0熱度

    1回答

    我目前正在實施Decaf(編程語言)語法的一部分。這裏是野牛代碼中的相關片段: type: INT | ID | type LS RS ; local_var_decl: type ID SEMICOLON ; name: THIS | ID | name DOT ID | name LS

    0熱度

    1回答

    "lexicale.l", line 13: unrecognized rule "lexicale.l", line 13: unrecognized rule 的線13 {idf} {printf("indetificateur\n");} 的代碼是: %{ #include "stdio.h" #include "stdlib.h" %} int [0-9]

    0熱度

    1回答

    下面的語法匹配一個結構和野牛中的字段聲明。有人能指出減少衝突的地方在哪裏? 結構例: 結構MYSTRUCT {VAR INT;} %start start %% start : program { $$ = parser::root->adopt($1); } ; program : program structdef { $$ = $1->

    -1熱度

    1回答

    一個文本編輯器,我創建了目前只能在命令行界面運行的編程語言。我希望它能夠在Eclipse IDE上運行。我做了一些研究,但無法真正找到準確的答案。 編程語言使用flex和野牛創建的,因此,用c創建。我沒有爲我的編程語言創建GUI,而是決定使用Eclipse IDE。 後如何教Eclipse能夠識別我的編程語言的一些廣泛的研究,我發現了一些結果這表明,我可以使用CDT在Eclipse來解決這個問題。

    0熱度

    1回答

    我使用flex和bison爲虛構的編程語言創建解析器。將會有有效和無效的變量名稱。 XXXX XY-1 // valid XXXXX Z // valid XXX Y // valid XXX 5Aet // invalid XXXX XXAB-Y // invalid x的開頭只是指定變量的大小。變量5Aet是無效,因爲它以數字開頭。我已成功地匹配這個 [\_\-0-9][a-zA-

    -1熱度

    1回答

    我在flex和野牛 計算器一個問題,這個代碼 0[xX][0-9a-fA-F]+ {yylval=strtol(yytext,0 ,16);return HEX;} 它實際上承認十六進制值,並做數學運算,但當我想打印結果時,以十進制打印。 ,所以我認爲它是一個室內用的問題這一部分: /*main(int argc, char **argv) { int tok; while(tok =

    1熱度

    1回答

    我正在學習Flex/Bison現在,我想我可以做一個編譯器,但是我查詢得越多,我就越覺得它們只是Syntactic Analyzers,並且不允許生成可執行文件的新文件。來自我們的編程語言。我解釋,當執行Bison生成的文件時,它只能解釋我們在C語言中的代碼語言。 是否可以創建一個編譯器,用於從任何沒有編譯器的窗口生成可執行文件?

    2熱度

    1回答

    隨着macOS從10.12更新到10.13,/ usr/local/bin/bison停止工作。 問題: $ /usr/local/bin/bison --version Illegal instruction: 4 重建野牛的嘗試也失敗並LLDB報告EXC_BAD_INSTRUCTION。 $ lldb src/bison (lldb) target create "src/bison"

    0熱度

    1回答

    我想使用flex和yacc來識別整數令牌。這是我用於整數的flex文件語法。 %{ #include "main.h" #include "y.tab.h" #include <stdlib.h> #include <string.h> #define YYSTYPE char * void yyerror(char *); %} code "code" special

    0熱度

    1回答

    您好我是野牛和flex的新手,我試圖創建一個簡單的計算器,但我似乎在編譯時出現錯誤。 以下是我的Flex .L文件(名爲人): %{ #include "a.tab.h" %} number [0-9]+ %% "+" {return ADD;} "-" {return SUB;} "*" {return MUL;} "/" {return DIV;} "|" {r