peg

    0熱度

    1回答

    當我使用伊恩Piumarta的PEG /腿軟件來解析我工作的一個玩具語言。不幸的是一些投入解析器是導致飛機墜毀的是鏘的地址消毒劑說是由堆緩衝區溢出引起的。這裏的輸出我得到與代碼相關線路: ==27761== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7f051b06c398 at pc 0x419e18 bp 0x7fff

    0熱度

    2回答

    我正在嘗試使用python庫parsimonious編寫一個小型語言實用程序的語法,但我正在努力編寫一個覆蓋字符串的部分,特別是帶有轉義引號和其他特殊字符的字符串。 我有以下幾點: string = doubleString/singleString doubleString = "\"" escapedString "\"" singleString = "'" escapedStrin

    0熱度

    2回答

    我有一個​​規則試圖解析所有數字或帶引號的字符串第一,如果失敗,然後將該東西作爲一個字符串。 DUD 123abc 哪些失敗Expected " ", "." or [0-9] but "a" found.錯誤解析:除了這是非常具體的字符串一個特定的情況下 一切分析的罰款。 我期望的是:它應該成功解析並返回字符串「123abc」作爲字符串原子。您可以在下面的語法內容中看到我的一些不成功的嘗試。 任

    -1熱度

    3回答

    我只是想將這個文本文件分割成幾行並對這些行進行分類。如果行以「Qty」開頭,那麼下一行是訂單項,直到行以「GST」開始。 如果行以「總金額」開頭那麼這就是總金額行。 Business me . ' l Address "rwqagePnnter Pro DemcRafifilp Address "mfgr Eva|uat|on Only Contact line 1 Transaction

    1熱度

    2回答

    的Wikipedia文章PEG解析器定義了以下組合子:真正需要 2.Given any existing parsing expressions e, e1, and e2, a new parsing expression can be constructed using the following operators: Sequence: e1 e2 Ordered choice: e

    1熱度

    1回答

    爲了製作一個DSL我寫了向後兼容ruby​​ 1.8我需要對源字符串進行一些(相對直接的)分析。我可能會直接使用字符串消除,但爲了未來的可維護性,我想首先調查一下使用合適的解析器生成器需要做些什麼。 但是,這個DSL的作用對我可以使用的寶石提出了一個不尋常的限制。該DSL是一個與的CocoaPods,並的CocoaPods是不是真的有關在構建環境管理紅寶石依賴分佈式的的Xcode項目的一部分。 這

    0熱度

    1回答

    匹配短語我做,要來試圖解析器與PegJS 我試圖解析這樣的事情.. I would like to email [email protected] today or tomorrow. 你會怎麼做解析器匹配某些短語,如email [email protected]並丟棄周圍的字符和空格(如果它們存在)。 我一直存在的問題是,匹配器消耗整條線,短語和所有更詳細的匹配器有機會去。 另外,有人可以打破n

    7熱度

    1回答

    我試圖匹配該 f(some_thing) == 'something else' F(SOME_THING)是一個函數調用,它是一種表達 ==是一個布爾運算符 '別的東西'是一個字符串,它也是一個表達式 所以布爾表達式應該是 expression operator expression 問題是我無法弄清楚如何做到這一點沒有左遞歸 這是我的規則 expression =

    14熱度

    1回答

    是否有將PEG.js語法翻譯爲TextMate語法的工具? 我正在構建自己的語言,並希望在我的首選編輯器TextMate中爲其添加語法高亮。我的語言語法是用PEG.js構建的。根據此用例的TextMate documentation,我必須以與PEG.js不兼容的格式編寫TextMate語法。 我開始編寫一個新的TextMate語法,但我很快注意到,翻譯整個語法或者甚至與可接受的語法高亮相關的子集

    7熱度

    2回答

    基於PEG的解析器生成器通常會針對無效輸入提供有限的錯誤報告。從我所讀的內容來看,rebol的解析方言受到正則表達式擴展的PEG語法的啓發。 例如,輸入在JavaScript的情況如下: d8> function() {} 提供了以下錯誤,因爲沒有標識符在聲明一個全局函數提供: (d8):1: SyntaxError: Unexpected token ( function() {}