antlr3

    0熱度

    1回答

    我需要實現2遍編譯器,使用相同的語法。第一遍只使用少量規則。第二遍使用完整的語法。我正在尋找標記哪些規則將用於每次傳遞,如ifdef ifndef(沒有額外的「噪聲規則」) 有沒有一種簡單的方法來做到這一點? 第二個問題;有沒有辦法「陷阱」EOF並在文件結尾處有「Stand By」狀態,所以下一個文件(下一個pANTLR3_INPUT_STREAM)是前一個文件的光滑延續 實現它的最佳方式是什麼?

    0熱度

    2回答

    我用ANTLR來創建一個語法,但我得到這個錯誤 error(211): [fatal] rule conditions has non-LL(*) decision due to recursive rule invocations reachable from alts 1,2. Resolve by left-factoring or using syntactic predicates or

    1熱度

    1回答

    幾周前我問了一個關於我的ANTLR語法的問題(My simple ANTLR grammar is not working as expected)。自從提出這個問題以來,我已經做了更多的挖掘和調試,並且獲得了大部分的結果。不過,我留下了一個問題。 我生成的解析器代碼沒有在處理的文本的特定部分中拾取無效令牌。詞法分析器正確地將事物分解爲令牌,但在某些情況下解析器不會排除無效令牌。 特別是,當無效令

    0熱度

    1回答

    我有以下的語法規則: pacman : section section map section ; 我想寫這個規則不同的方式處理三種不同section個Java的動作。三種不同實例的句柄是什麼? 這是僞代碼顯示我想要什麼: pacman : section section map section { processFirstSection($s

    5熱度

    1回答

    似乎antlr-3.5.1-complete.jar和antlr-3.5.1-complete-no-st3.jar生成 代碼,該代碼針對C運行時,在DFA中有很多「_empty」標識符, 是沒有任何地方定義 ANTLR-3.4生成使用dfa31_T_empty代碼應該是正確的ID。 我大概可以通過定義_empty爲NULL解決這個問題,但是這是一個黑客。 是否有修復此錯誤的任何ANTLR-3.5

    0熱度

    1回答

    我有兩個解析器語法(讓我們稱它們爲A.g和B.g)。現在,我要導入的語法B插入語法A.以下是二人語法看起來像: 文法: parser grammar A; options { tokenVocab = testLexer; } import B; @header { package com.splendit.pli2uct; } rule : Imp

    0熱度

    1回答

    我正在用ANTLR構建一個類似英語的域特定語言。其關鍵字是上下文相關的。 (我知道這聽起來很骯髒,但對於非程序員目標用戶來說它很有意義)。例如,當通常的邏輯運算符(如or和not)被括在括號中時,將被視爲標識符,[像這樣和這個]。我目前的做法是這樣的: bracketedStatement : '[' bracketedWord+ ']' ; bracketedWord

    0熱度

    1回答

    我嘗試爲SQL的命令行客戶端實現簡單的自動完成。我正在使用antlr在應用程序的其餘部分生成解析器,我想重複使用語法來使用自動完成。我的想法是: - 解析,當用戶要求完成不完整的語句(例如select a from) - 從解析器獲取時,他提出了一個NoViableAltException 我想那麼做,從這個它預計憑證清單令牌的列表: 如果(isreserved_word){提出了完成} 其他{通

    1熱度

    1回答

    它看起來像3.5.1是最新的3.x版本,3.1.3是唯一可用的版本http://www.antlr.org/download/Python/)。然而,當我嘗試使用示例運行解析器,我收到一宗投訴,我運行的版本是不符合我的ANTLR版本不兼容: $ PYTHONPATH=/home/dustin/build/antlr3/antlr_python_runtime-3.1.3 python Simple

    2熱度

    1回答

    是否可以使用ANTLR4從規則中提取第一個和後續集?我在ANTLR3中稍微玩了一下,並沒有找到令人滿意的解決方案,但如果任何人有任何版本的信息,將不勝感激。 我想解析用戶輸入的用戶光標位置,然後提供一個可能的選擇自動完成列表。目前,我對部分進入的自動完成令牌不感興趣。我想在中間解析的某個點顯示所有可能的後續標記。 例如: sentence: subjects verb (adverb)?