flex-lexer

    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回答

    如何在flex中映射引號?如: """ {return ' " ';} 我試過上面的方法,它似乎並沒有接受,作爲一項規則。 我也曾嘗試 "\"" {return ' " ';} 這也沒有奏效。

    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語言中的代碼語言。 是否可以創建一個編譯器,用於從任何沒有編譯器的窗口生成可執行文件?

    0熱度

    1回答

    我的flex描述似乎在我的更具體的情況之前有一個捕捉。我敢肯定,這是我的一個錯字,但我不知道哪條規則導致我的其他規則無法匹敵。我相信可能的嫌疑犯是我創建的字符串描述。但是我仍然不確定,並且正在尋找答案。 branch.l文件: %option noyywrap %{ #include "global.h" %} delim [\t ] ws {delim}+ digit

    -1熱度

    1回答

    我有以下規則: capital_word [A-Z]+ lower_case_word [a-z]+ word [^ \t\n\.] delim [ \t\n\.] 單詞「你好」,它說:「H」是一個大寫的字和「ELLO」小寫字。我怎麼能有「你好」作爲「單詞」?

    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

    1熱度

    1回答

    我用flex編寫的詞法分析器出現問題。當我嘗試編譯它時,沒有創建exe文件,並且出現很多錯誤。以下是Flex文件: %{ #ifdef PRINT #define TOKEN(t) printf("Token: " #t "\n"); #else #define TOKEN(t) return(t); #endif %} delim [ \t\n] ws {delim}+