peg

    3熱度

    3回答

    我爲自己寫了一個Mac開源文本編輯器,並最終達到了我想添加語法高亮的地步。過去幾天我一直在回顧各種解決方案,最後我決定向更廣泛的受衆開放這個問題。 下面是我看到的選項: 定義語言基本匹配(類似於TextMate中如何定義它的語言) 定義語言與形式文法像一系列正則表達式模式BNF或PEG 使用正則表達式模式匹配似乎不太理想,因爲它不能正式表示一種語言幾乎和af一樣形式語法;然而,一些不太正式的語言將

    31熱度

    5回答

    你怎麼會寫在以下任何解析器生成的Parsing Expression Grammar(PEG.js,Citrus,Treetop),它可以處理的Python /哈斯克爾/ CoffeScript風格縮進: 一個不yet-的例子現有編程語言: square x = x * x cube x = x * square x fib n = if n <= 1

    1熱度

    2回答

    是否有用於Windows的解析表達式語法(PEG)C++庫?我試圖用MS Visual Studio來編譯pegc/legc,pegc。 :(

    3熱度

    1回答

    的PEG本文介紹兩種語義謂詞的解析表達式: 和謂語&e 沒有謂語!e 是否pyparsing支持和謂語?或者這只是測序解析表達式的同義詞?在這種情況下,它應該等於And類。正確? NotAny代表Not謂詞嗎? 具體做它們符合規範的行爲: 解析表達式FOO &(巴)比賽和消耗文本「富」,但只有當它後跟文本「欄」。解析表達式foo!(bar)與文本「foo」匹配,但前提條件是後面沒有文本「bar」。

    0熱度

    2回答

    Left recursion對於構建在遞歸下降解析基礎上的許多解析器生成器似乎是一個大問題。我正在尋找一種基於PEG的解析器生成器來支持它 - 無論使用何種語言。

    5熱度

    1回答

    空生產規則 nonterminal -> epsilon 在法-yacc的LR自下而上解析器生成器(例如PLY)是有用的。 在什麼情況下應該使用PEG解析器中的空產生例如pyparsing?

    3熱度

    1回答

    上PEG美國維基百科的文章: 上下文無關文法和解析 表達式語法是,PEG的 選擇運營商是有序的根本區別。如果 第一個替代方案成功,則第二個替代方案將被忽略。因此,訂購 的選擇是不可交換的,不像 無序的選擇,因爲在上下文無關 語法和正則表達式。 但是this question已經發現,如果替代方案是彼此的子串,那麼正則表達式不會按照unordered choice行事。維基百科對於大多數人來說都是正

    24熱度

    2回答

    從這個wikipedia頁: 上下文無關文法和解析 表達語法的根本區別是,PEG的 選擇運營商是有序的。如果 第一個替代方案成功,則第二個替代方案將被忽略。因此,訂購 的選擇是不可交換的,不像 無序的選擇,因爲在上下文無關 語法和正則表達式。 有序選擇類似於軟件 削減運算符在一些邏輯 可用編程語言。 爲什麼PEG的選擇運算符將匹配短路?是否因爲最大限度地減少內存使用(由於記憶)? 我不確定在正則表

    1熱度

    1回答

    我已經定義了簡單的語法來解析字符串和數字使用樹梢如下。 grammar Simple rule value number/string end rule string word space string / word end rule word [0-9a-zA-Z]+ end