grammar

    2熱度

    1回答

    我建立使用Flex和Bison非常瑣碎的編譯器,其是應該認識到在一個源文件中的簡單的字符串和我使用標準錯誤流,以輸出一個消息如果字符串被正確識別。 下面是我的代碼和我意想不到的結果。 這是源文件(testsource.txt)以字符串我試圖識別: \end{document} 這是Flex文件(UnicTextLang.l): %{ #include <stdio.h> #

    1熱度

    1回答

    我想要一個用於CSV輸入的ANTLR語法。 什麼(~["])+和(~['"'])+之間的區別? 爲什麼~是非常重要的? 這裏是我的語法: grammar Exercice4; csv : ligne+ ; ligne : exp (',' exp)* ('\n' | EOF) ; exp : ID | INT | STRING ;

    0熱度

    1回答

    我有一個簡單的語法像這樣 "STRING_LITERAL"(, "STRING_LITERAL")? 在lexer.g4,我定義STRING_LITERAL這樣 STRING_LITERAL: '"'[a-zA-Z0-9!#$&.+-^_{}:\\\" ]+'"'; 然而,似乎它將忽略2個單詞之間的逗號(「,」),就像本輸入測試一樣:「abc」,「」cde \「」 Anltr4會將這兩個S

    1熱度

    1回答

    我有字符串 String myData = "status:\" op en \" AND \"Managed Type\":\"El ectrical\" AND status:verified status:\"resolved\" OR Managed Type:\"Ci vil\""; 我需要不同的所有值和從字符串屬性。 我曾嘗試與模式的一個正則表達式,其滿足要求,因爲有些水平,但需要

    0熱度

    2回答

    我輸入的是一個遞歸結構如下(注意空白二號線): XXX @ {} YYY @ {ZZZ @ {} WWWW}   語法,因爲我看到,會讀它應該是這樣的: start = item+ item = thing/space thing = '@{' item* '}' space = (!'@' .)+ 但我得到的是 第2行第1列:期望的「@ {」,「}」或任何字符,但除了輸入的結尾。 我在

    2熱度

    1回答

    我有一個令牌定義問題。 這是我的語法。 r: PROPNAME ':' PROPVALUE PROPNAME: [a-zA-Z]+ PROPVALUE: [a-zA-Z0-9]+ 如果我使用 名稱:christof123它匹配 如果我使用 名:克里斯托夫不匹配 當PROPVALUE等待,因爲'christof'與兩個PROPVALUE PROPORALPROPNAME表達式匹配,所以爭論'

    0熱度

    1回答

    我一直在尋找其他regex的問題,但一直未能找到答案。我正在ANTLR4的一個語法中工作,並且有一個正常的表達式一直在逃避我。 我試圖匹配任何字符,除了對於\其次是[btnrf"\]以外的任何其他字符。 我試過(~([\\][.]) | [\\][btnrf"\]),但~只能否定單個字符,據我所知。我得到的錯誤: error AC0050: extraneous input '[.]' expec

    3熱度

    2回答

    我很好奇,如果我可以在沒有任何東西的情況下將東西插入匹配樹。沒有相關的問題,我試圖解決。 在這個例子中,我有一個令牌market,它檢查它的匹配是散列中的一個鍵。我試圖以某種方式將該散列的值插入匹配樹中。我想我可以有一個總是匹配的標記,long_market_string,然後以某種方式查看樹,看看market匹配了什麼。 grammar OrderNumber::Grammar { t

    0熱度

    1回答

    對於不LL(1)或LR(1)一個人如何可以嘗試找出是否某些數量n存在使得語法可LL(n)或LR(n)語言? 通過查看LR(0)項目的規範集合來檢查語法是否爲LR(0)。然後,假設它不是LR(0),可以通過引入lookahead符號來檢查它是否爲LR(1)。我的簡單推理告訴我,爲了檢查它是否爲LR(2),您可能必須使前瞻包含接下來的兩個符號而不是一個。對於LR(3),您必須考慮三個符號等。 即使這種

    6熱度

    3回答

    這是兩個語法。一個使用proto token,一個不使用。他們都完成了相同的工作。這些基本上是S05 under "Variable (non-)interpolation"中的示例。在這個簡單的例子中,他們都能夠做同樣的事情。 哪種情況證明所有額外的打字? proto令牌在動作類中有不同的方法,可能在那裏有一點好處。但是,你必須輸入一些額外的東西來獲得這種好處。 proto的某些功能是否使語法的