lexer

    4熱度

    1回答

    我有一個ANTLR 4語法: grammar Test; start : NonZeroDigit '.' Digit Digit? EOF ; DOT : '.' ; PLUS : '+' ; MINUS : '-' ; COLON : ':' ; COMMA : ',' ; QUOTE : '\"' ; EQUALS : '=' ;

    0熱度

    1回答

    使用ANTLR解析C結構可能嗎?如果是這樣,是否有任何現有的工具/語法文件? 代碼將是這樣的: typedef struct C { int i; float f; }

    0熱度

    1回答

    我試圖使用JFlex的有以下輸入文件: %class Lexer %line %column %init{ yybegin(YYINITIAL); %init} %{ Copied directly to Java file. %} delim = \r|\n|\r\n not_newline = . whitespace = {delim} | [ \t

    0熱度

    1回答

    我嘗試解析此一段文字 :20: test :254: aapje :21: rest ... :20:和:21:有特殊標籤,因爲他們開始行。 :254:應該是'普通'文本,因爲它不在換行符上開始。 我想的結果是 (20, 'test :254: \naapje') (21, 'rest') 線使用的是\r\n或「\ n」 我開始試圖忽略的空白終止,但後來我匹配「:254 :'標籤。

    1熱度

    1回答

    Lex包含一個函數yymore(),它將下一個識別的輸入表達式連接到當前輸入字符串。 JLex實現了Lex for Java(就我所知,它與Jflex不一樣),但在其documentation中沒有提及yymore()。 yymore()在JLex中工作嗎?

    5熱度

    1回答

    我正在使用Antlr4和java7語法(source)修改輸入Java源文件。更具體地說,我使用TokenStreamRewriter類來修改一些令牌。下面的代碼是一個示例,演示如何令牌修改: public class TestListener extends JavaBaseListener { private TokenStreamRewriter rewriter; r

    0熱度

    1回答

    我想創建的minilang友好的函數名 這是我的示例腳本和預期的聲明 // actual // expected set a = true; // 'set a' -> IDs // 'set' -> Set, 'a' -> IDS Set name ('hello'); // 'Set name' -> IDs // 'Set name' ->

    2熱度

    1回答

    我正在嘗試寫一個解釋器,但我很難理解這個過程的理論基礎。 我的理解是,第一部分是編寫一個詞法分析器,將字符串拆分成有效令牌列表,然後使用分析器爲這個令牌字符串生成相應的抽象語法樹。但是,解析器是使用語法規則構建的,這是我很難理解的。 語法規則顯然用於創建生成的抽象語法樹的規則,但這個中間步驟到底有多精確。它是否對字符串字符和特定的標記列表進行模式匹配? 。 。? 歡迎任何類型的直覺或解釋。謝謝!

    1熱度

    1回答

    我有一個表達式ANTLR3 num_addition : num_multi ((plus^|minus^) num_multi)* ; 我想令牌「加」和「減」更改爲不同的令牌所以我試圖使這個重寫規則。 num_addition : num_multi (plus num_multi)* -> ^(num_multi ^(plus_special num_mult

    3熱度

    1回答

    所有自定義詞法, 我使用QScintilla的語法高亮和自動完成我的領域特定語言(DSL)。 我通過重新實現(QsciLexerCustom),我嘗試使用自動完成寫了一個定製詞法分析器。 我的問題是,自動完成不像我想要的那樣工作。 我想我的自定義詞法像QsciLexerPython工作。也就是說,如果我將'toto.titi.tata'添加到api中,那麼當我鍵入'toto'時。在我的qscint