flex-lexer

    2熱度

    2回答

    有沒有辦法強制野牛和/或flex重新開始掃描後,我用其他東西替換一些令牌? 我特別的例子是替換特定的單詞/字符串。如果我想將一個hello的單詞替換爲echo hello,我怎樣才能讓flex或野牛取代hello,然後再次開始解析(選擇2個單詞而不是一個單詞)。因此,這將是這樣的: 獲得令牌WORD(這是一個字符串類型) 如果hello,用echo hello 重新解析整個輸入替換標記值(也就是現

    10熱度

    2回答

    當我用bison parser.y -d -t編譯我的.y文件,然後在我的flex文件中包含parser.tab.h文件時,gcc說「錯誤:數字常量之前的語法錯誤。」它引用了第32行,這是yytokentype枚舉的第一行。 enum yytokentype { BREAK = 258, ... } 錯誤是關於行「BREAK = 258」。我真的不知道爲什麼會發生這種情況

    2熱度

    1回答

    我想在我的Windows計算機上安裝flex(詞法分析器,而不是Adobe程序)。我安裝了MSYS。我解壓彎曲,在./configure,但是當我儘量做到,我得到這個錯誤: In file included from ccl.c:34: flexdef.h:94:19: error: regex.h: No such file or directory In file included fro

    1熱度

    1回答

    Hy guys,我正在開發一個帶f​​lex和bison的腳本引擎,現在我正在實現這種語言的eval和load函數。 只給你一個例子,語法是這樣的: import std.*; load("some_script.hy"); eval("foo = 123;"); println(foo); 所以,在我的詞法分析器我已經實現的功能: void hyb_parse_string(co

    0熱度

    4回答

    有一個人可以建議如下文字 簽名 文字文本一些文字 文本 ... 文本的正則表達式) 我試圖Signature\n.*\)但這隻能用於 簽名 文本) 基本上,其與給定的文本開始的表達,允許多個新線,和以)結尾。 感謝

    0熱度

    1回答

    我正在嘗試構建一個簡單的詞法分析器,用於(科學)C程序的簡單輸入輸出庫。當使用自動工具,包括automake的,libtool的,和autoconf編譯,我得到以下錯誤: simpleio_lex.l:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘of’ 這通常意味着我已經忘記了在函數原型的末尾分號,但我

    1熱度

    1回答

    我有一個靈活的野牛應用程序。對於我的一些令牌,我使用strdup從flex複製了yytext。除非出現意外令牌的錯誤,否則此功能很好。 簡單的例子 flex.l: ... [a-zA-Z0-9]+ { lval.string = strdup(yytext); return IDENT }; [\{\}] { return yytext[0] }; ... 和 parse.y ..

    5熱度

    2回答

    我試圖學習一些flex/bison,並且我正在閱讀John Levine(O'Reilly)的Flex & Bison。還有的是,我需要運行一個例子,但我不能讓它跑,因爲我得到以下錯誤: /tmp/ccKZcRYB.o: In function `yylex': fb3-1.lex.c:(.text+0x2bd): undefined reference to `yylval' /tmp/cc

    1熱度

    1回答

    我想用bison和flex創建簡單的C++計算器。請注意,我是創建解析器的新手。我已經在bison/flex中找到了一些例子,但它們都是用C編寫的。但它們全都用C編寫。我的目標是創建C++代碼,其中類將包含值,操作,funcs的節點 - 創建AST創建完整的AST後 - 從根開始並繼續)。 例如: my_var = sqrt(9 ** 2 - 32) + 4 - 20/5 my_var * 3

    0熱度

    1回答

    您好,我有我的詞法分析器定義範圍內的柔性規則: operators "[]"|"[]="|"[]<"|".."|"."|".="|"+"|"+="|"-"|"-="|"/"|"/="|"*"|"*="|"%"|"%="|"++"|"--"|"^"|"^="|"~"|"&"|"&="|"|"|"|="|"<<"|"<<="|">>"|"!"|"<"|">"|">="|"<="|"=="|"!="|"