antlr

    1熱度

    1回答

    的目的,我有一個說法在ANTLR4語法,如: expression : DEFAULT #primitive_expression ; 我不知道什麼是#這裏的含義。

    1熱度

    2回答

    我正在嘗試使用this ANTLR grammar爲Java代碼實現語法突出顯示。我的策略是將代碼解析爲具有該語法的樹,然後使用訪問者遍歷樹中的每個終端併爲其相應的文本分配一種顏色。這種顏色通常只是與終端令牌關聯的顏色,但取決於上下文,可以覆蓋覆蓋。例如,從VSCode考慮這個截圖: 默認情況下,標識符染成白色。但是,如果他們被稱爲類/方法,那麼它們就會變成綠色。我想在我的訪問者中作出類似的區分,

    0熱度

    1回答

    我正在使用ANTLR v4 Java語法(可用here)解析Java代碼。其中生產的是這樣的: expression : primary | expression '.' Identifier | expression '.' 'this' | expression '.' 'new' nonWildcardTypeArguments? innerCreat

    2熱度

    1回答

    我有以下產品: expression : primary # stubLabel | expression '.' Identifier # stubLabel | expression '.' 'this' # stubLabel | expression '.' 'new' nonWildcardTypeArguments? innerCreator #

    1熱度

    2回答

    我是ANTLR的新手。我才發現,原來這是可能的標記每個替代在生產像這樣: foo : a # aLabel | b # bLabel | // ... ; 不過,我覺得不愉快的是全或無的選擇必須貼有標籤。我最近只需要爲20多家分公司標註2種產品的替代品,而我最終爲其他產品標註了# stubLabel。是否有任何理由說明爲什麼所有標籤都沒有標籤?

    0熱度

    1回答

    考慮下面的方法調用表達式: foo(1, 2, bar()) 功能foo有三個參數,其中,第三個參數是由函數,bar返回的值。現在假設,我需要找出括號內的表達式是否爲方法調用或不。對於上述情況,我應該報告bar()。 對於這種情況, foo(1, foobar(0, 1), A.staticMethod(1)), 其中A是具有靜電功能,staticMethod(int) I類應報告foob

    -1熱度

    1回答

    我想讓我的語法識別下列表達式&COL[0]。我已經建立了以下語法: array: ARRAY_NAME L_RIGHT_PAR (ARRAY_DIGIT|STRING) R_RIGHT_PAR; ARRAY_DIGIT:DIGIT+; ARRAY_NAME: '&''COL'; STRING : QUOT ('\\"' | ~'"')* QUOT ; L_RIGHT_PA

    0熱度

    2回答

    對於ANTLR4語法(只是一個MWE) grammar T; sequence: (a | b)*; a: FORWARD; b: RIGHT; FORWARD: 'f'; RIGHT: 'r'; 的ANTLR4 C++後端生成從antlr4::Parser導出解析器TParser。我感興趣的類TParser::SequenceContext,從antlr4::ParserRu

    0熱度

    1回答

    在以下代碼上運行ANTLR3時,我收到警告消息 - 警告(200):MYGRAMMAR.g:40:36:決策可以使用多個備選方案匹配諸如「QMARK」之類的輸入:3,4 因此,對於該輸入禁用替代項4。 該警告消息指向我postfixExpr。有沒有辦法來解決這個問題? grammar MYGRAMMAR; options {language = C;} tokens { BANG

    0熱度

    1回答

    我有這個ANTLR3語法,它需要一個名爲title的對象,以純文本形式構造一個dom結構。這裏是一個有效的樣本: Here is titlepart 1; (##BOLD##this is bold inside a reference text##/BOLD##) 下面是一個無效的標題,應該失敗(它沒有這就是爲什麼我張貼): Here is titlepart 1;(reference te