lex

    0熱度

    1回答

    我想知道是否可以將整個輸入從開始條件保存到lex中的最終狀態。 例如: %x START %% "XXX" BEGIN START; <START>. <START>"YYY" {printf("%s", yytext);} 將打印YYY如果我輸入類似XXX some chars YYY,但我想它打印XXX some chars YYY。有沒有辦法在lex中做到這一點?

    -4熱度

    2回答

    「auto」{count();回報(AUTO); } 「break」{count();返回(BREAK); } 「case」{count();返回(CASE); } 「char」{count();返回(CHAR); } count()在lex中的作​​用是什麼? 另外,語句「column + = 8 - (column%8);」在下面的函數中不清楚 void count() { int

    1熱度

    1回答

    文件:myscanner.h #define TYPE 1 #define NAME 2 #define TABLE_PREFIX 3 #define PORT 4 #define COLON 5 #define IDENTIFIER 6 #define INTEGER 7 輸入文件到掃描器: db_type : mysql \n db_name : textdata db_

    0熱度

    1回答

    下面的部分lex程序有什麼作用?它輸出什麼? NW [^A-Za-z'] %start INW NIW %% <NIW>"bork"/{NW} ECHO; <NIW>"Bork"/{NW} ECHO;

    0熱度

    1回答

    產生我跑在Windows命令提示符下面的命令: yacc -d calci.y 成功執行後會生成2個文件:calci.tab.c和calci.tab.h。但它應該產生了y.tab.c和y.tab.h。 我很新lex和yacc,所以我不知道這個錯誤。 而且,它給了我下面的錯誤,當我嘗試運行命令: cc lex.yy.c calci.tab.c -o out.exe: error: calci.l:3

    0熱度

    1回答

    我是Lex的新手,我很困惑如何聲明下面的宏,關鍵字。我希望關鍵字包含「if」,「then」,「else」或「while」。 我在輸入法這樣的: keyword "if" | "then" | "else" | "while" 但是編譯器是給我一個「無法識別規則的錯誤」。當我反而做 keyword "if" 它編譯好。 這是Lex的限制嗎?我知道在jflex中,你可以做我上面

    0熱度

    1回答

    我想使用yacc和lex將Demorgan's theorem應用於輸入。 輸入可以是任何表達如A + B,(A + B)等:! 表達式a + B應導致∙b 表達式(! a + b)應該導致+ b 我認爲lex部分已經完成了,但是我對使用法則應用於表達式所需的yacc語法存在困難。 我想實現的是以下算法。請看下面的公式輸入:Y = A + B 之後申請德·摩根定律就變成:!Y =(A + B) 最

    0熱度

    1回答

    注意,我是新來「的Makefile」 我有程序叫「ba.lex」我需要創建make文件吧。 沒有makefile文件,我先打電話: flex ba.lex 然後,我創建可執行: gcc -o ba lex.yy.c -lfl 我還需要清潔中間文件:的lex.yy.c 我怎麼可能把這些放在一個makefile。 更新: 我嘗試這樣做: flex ba.lex gcc -o ba lex.y

    2熱度

    2回答

    我寫法對其中操作在前綴符號進行了特定的語言: (+ a b) --> (a + b) 的整數定義如下:整數可以有一個負號( - ),但沒有正面標誌。它可以在符號和數字之間有或沒有空格。如果該值爲0,則只允許一個數字0。否則,它與常用整數定義相同(不包含前導0)。在lex表達 順序如下(第一場比賽規則): 正則表達式的整數:[\-]?[ ]*((0)|([1-9][0-9]*)) 正則表達式減法運算

    0熱度

    1回答

    我有以下的語法(這是一個簡化的一個): S -> EXPR EXPR -> ITEM addop EXPR EXPR -> ITEM ITEM -> num ITEM -> ident 有: num: a floating point number ident: a string representing an identifier addop: + 我使用PLY庫蟒蛇,並