lex

    2熱度

    1回答

    我正在嘗試使用oreilly書學習lex和yacc。我從書中嘗試了下面的例子,但它給出了分段錯誤。 %{ /** * A lexer for the basic grammar to use for recognizing English sentences. */ #include <stdio.h> extern FILE *yyin; %}

    0熱度

    1回答

    我是yacc/lex的新手,我正在研究其他人編寫的解析器。我注意到,當找到一個未定義的標記時,解析器返回一個錯誤並停止。有沒有一種簡單的方法可以讓它完全忽略它無法解析的線條,而只是轉向下一個線條呢?

    3熱度

    2回答

    下載並安裝最新版本的FlexSDK。將其解壓縮到C:FlexSDK文件夾中。打開我的命令提示符C:/ FlexSDK/bin。運行該文件夾的目錄,我的mxmlc.exe文件就在那裏。從命令提示符我發出mxmlc c:test.mxml並收到一個「找不到JVM」錯誤。這是令人驚訝的,因爲我之前從我的計算機上的命令提示符處編譯了mxml文件。此外,我從命令提示符開發,編譯並運行java程序。我知道我的

    2熱度

    4回答

    我有一個源代碼,我想添加行號。 我所做的: %{ int lines=0; %} LINE \n %% {LINE} {ECHO;printf("%d", ++lines);} 不過,我不知道如何捕捉到第一線。 你能幫我嗎?

    2熱度

    2回答

    我試圖使用Bison/Yacc解析文件,但我想暫停解析一段時間。我想這樣做的原因是,我想按順序處理一個巨大的文件,並使用hasNext()和next()方法模擬java迭代器。 一個簡單的例子是,使用YACC,所以我可以調用由線分割的文件: while(myYaccObj.hasNext()) { std::string line = myYaccObj.next() } 我找不

    0熱度

    2回答

    我有這樣的句子: " a" "a " " a " 我想捕捉所有這樣的例子(與法),但我沒怎麼說行的開始

    0熱度

    2回答

    我有一種語言,我正在爲其中包含函數調用的解析器。一些函數名稱是保留的,我想在我的語法中以不同的方式處理它們。在EBNF它看起來像 FunctionCall ::= FunctionName '(' ')' SpecialFunctionCall :: SpecialName '(' ')' FunctionName ::= VariableName - SpecialFunctionName

    36熱度

    1回答

    我正在做SENSE項目,爲此我必須安裝Lex和Yacc。如果你能幫助我如何在Ubuntu中安裝。我對這個領域非常陌生。那麼你能幫助我嗎?任何研究Lex和Yacc基礎的網站

    3熱度

    2回答

    我一直在閱讀lex/yacc。書籍和例子不難遵循。事實上,整個概念清晰可見。有一個例外。 Lex/yacc似乎會生成獨立程序。如果我想將它們稱爲解析器函數呢? Yacc似乎產生了一個主要的功能,所以我怎麼會從我自己的電話沒有衝突。 我現在還不清楚他們如何操作文件輸入。我可以從文件中抓取一行並將其發送給解析器,但是如果解析器正在尋找一個多線結構(如用大括號括起來的塊)呢? 我意識到我對這些都很愚蠢,

    -1熱度

    1回答

    我目前正在使用Flex/Bison開發HTML解析器/模板庫。我在if語句中遇到了一些問題。表達式解析得很好(如果你>我),但是當涉及到標籤之間的開始和結束之間的語句時,它只會獲得第一個詞並在它們之間的空間中死去。只是想知道如何確保我獲得標籤之間的所有內容,而不是在遇到的第一個空間中死掉。 我基本上做的是用變量({{var}})的新值和來自語句的結果(如{%if表達式%} blah {%endif