lex

    0熱度

    1回答

    我使用flex和bison準備好掃描儀和分析器。 分析器在行動直接建立一棵樹,這樣做,我創建了一個名爲STreeNode和我結構正在使用 #define YYSTYPE_IS_DECLARED typedef STreeNode* YYSTYPE; 的結構是: typedef struct tagSTreeNode { EOperationType type; int

    0熱度

    1回答

    我想用flex來處理圖案。在這種情況下,常量和函數名稱都是以大寫字母開頭的字母字符串。 例如,在 Mother(Liz, Bob)中,如何區分Mother和Liz? 我想(是一個單一的令牌,所以我不能把Mother(作爲一種模式。

    0熱度

    1回答

    +是Lex operators之一,所以如果它被用作文本字符,那麼它應該以轉義運算符\作爲前綴。因此,爲什麼這兩個產生相同的結果? [a+b] { printf("%s", yytext); } // matches a, +, or b [a\+b] { printf("%s", yytext); } // does same as above 爲什麼第一行沒有打破轉義規則?

    0熱度

    1回答

    how to execute code after yylex(); command 我有同樣的問題,因爲上面的問題,不能夠在函數yylex() %{ #include<stdio.h> int vowel=0; int cons=0; %} %% "a"|"e"|"i"|"o"|"u"|"A"|"E"|"I"|"O"|"U" {p

    1熱度

    1回答

    法律字符串,例如:? * "please help me" - 是合法的字符串 * "please"help me" - 是非法字符串,因爲help me"不以「開頭」。 我想在flex中定義一個規則來捕捉合法字符串。 我試圖使用這個規則,但它不工作。編寫規則的 \"^[\"].*\"

    1熱度

    1回答

    我最近開始學習lex並嘗試了幾個例子。 我想要計算以'a'開頭並以數字和1D數組數結束的變量數。 %{ #undef yywrap #define yywrap() 1 #include<stdio.h> int count1; int count2; %} %option noyywrap %% int|char|bool|float" "a[a-z,A-Z,0-9]*[0-

    0熱度

    1回答

    我有這個問題,我的YACC文件似乎無法訪問我的頭文件中定義的類型。 如果我用%code requires{ }替換我的頭文件它確實認出它但那不是我真正想要的。 我st.h頭文件: struct node { int item; int identifier; struct node *left; struct node *middle; struc

    0熱度

    1回答

    當我試圖用做關鍵字它給我的錯誤編譯: premature end of file in lex.l file in line no 17. %option noyywrap %{ #include "grammer.tab.h" %} name ([0-9]) whitespace [ \r\t\v\f] linefeed \n %% {name} { return

    -1熱度

    1回答

    我工作的一個lex和yacc程序,在我的色器件MAC OS .. 當我試圖做到以下幾點: gcc sample.tab.c lex.yy.c -ly -ll 它顯示了我很多在最後的錯誤和.. 致命錯誤:錯誤太多發射,現在停止[-ferror限=] 一些錯誤的APPEA rs: ./sample.tab.h:44:6: error: expected identifier if = 2

    -2熱度

    1回答

    我正在爲8051編譯器設計。我想聲明一個說30位置的內存,每個位置都是8位。我如何在C中聲明?