lex

    1熱度

    1回答

    我最近在學習編譯原則。我注意到教科書中的所有示例都描述了一種語言詞法分析器,使用正則表達式的「lex」或「flex」來展示如何分析輸入源文件。 它表明所有已知的編程語言都可以使用類型3語法來實現詞法分析嗎?或者僅僅是教科書使用簡單的樣本來展示想法?

    1熱度

    1回答

    當我學習lex工具時,我發現它有助於以文本格式解析源文件,比如構建新的編程語言等。我還用它來構建工具來分析一些二進制輸入流,如編解碼器/解碼器。 是否lex/flex/yacc/bison支持這樣的需求,他們是否有特殊的命令行選項和語法來啓用它? 謝謝!

    1熱度

    1回答

    我可以使用像法如下工作: 法my.l & & GCC的lex.yy.c -ll 沒問題,它的工作原理。從gcc鏈接選項,我想有一個名爲libl.so的庫,它指示lex運行時庫。 cd/ find ./ -name "libl.so" 但是我沒有找到任何結果。那麼真的有一個名爲libl.so的庫嗎?海灣合作委員會用lex連接的真正的庫名稱是什麼? 謝謝!

    0熱度

    1回答

    我在網站上有相關線索(My lex pattern doesn't work to match my input file, how to correct it?) 我遇到的問題是關於「greedy」lex如何進行模式匹配,我有我的lex文件: $ cat b.l %{ #include<stdio.h> %} %% "12" {printf("head\n");} "34" {pri

    0熱度

    1回答

    這是我的代碼: Process p1; try { p1 = Runtime.getRuntime().exec("utils/a.out <utils/test_c2.txt> utils/result.txt"); p1.waitFor(); } catch (Exception e) { System.out.println("Some

    0熱度

    1回答

    我在a.flex %% username printf("%s",getlogin()); 一個簡單的詞彙規範運行柔性a.flex給我 a.flex:2: EOF encountered inside an action 任何想法?

    -1熱度

    1回答

    我正在寫一個解析器一個相當簡單的語言。該語言將允許描述具有房間的遊戲。房間包含「人物」和「事物」。角色有「選項」,可以讓你與他們互動;選項可以在開始與角色交互後形成允許多個分支的樹。 我經歷了幾次反覆去了,問了一些問題,並最終得到了我的分析器進行編譯。但是當我在示例輸入上運行它時,我得到了語法錯誤,但沒有指出錯誤發生在哪一行。 我用我的谷歌福,發現應該生成代碼,將讓yylloc充滿了當前的行號旗-

    0熱度

    1回答

    我正在解釋器上工作,但我遇到了一些問題。 在我的lex: <INITIAL>\{ {BEGIN(BLOC);} <BLOC>[^}]*\} {BEGIN(INITIAL);strncpy(yylval.sval, yytext, MAXVARSIZE); temp = strlen(yylval.sval); yylval.sval[te

    -2熱度

    1回答

    我正在使用lex和yacc,我需要創建兩個輸出文件。我需要做什麼(如果有任何功能可以製作多個文件),以及如何命名每個文件? 使用lex和yacc,我需要用css測試一個html文件,並從中生成兩個文件,一個使用html,另一個使用css。基本上從HTML分離的CSS,並把它放在不同的文件。 如果有人可以提供如何生成兩個輸出文件的簡單示例。

    1熱度

    3回答

    我正在嘗試爲AMPL語言的一些子集構建詞法分析器。 我需要現在什麼類型的符號名稱詞法分析器正在處理。 每個符號名稱都是var或param或set。幸運的是,它們都必須在使用之前進行申報。所以我想我可以在詞法分析器使用先行運營商在柔性簡單地改變代碼 SYMBOLIC_NAME [a-zA-Z_][a-zA-Z0-9_]* %% param { return PARAM; } var