peg

    5熱度

    1回答

    我試圖寫一個簡單的語法爲將匹配像這樣PEG.js的PEG.js結束: some text; arbitrary other text that can also have µnicode; different expression; let's escape the \; semicolon, and \not recognized escapes are not a problem; po

    1熱度

    1回答

    我已經寫了一個主要起作用的樹梢語法文件。對於像[b]這樣的標籤,我想將它們傳遞給一個函數,該函數爲該論壇配置了BBCodes的哈希值。如果允許使用粗體,則會返回HTML,否則會忽略BB代碼。 rule tag tag:('[' [a-zA-Z]+ ']') inner_tag:( !('[/' [a-zA-Z]+ ']') (tag <ForumBB::Tag

    1熱度

    2回答

    以下工作對我所要做的事情來說很好,但它顯然是非常重複的。它應與下面的例子: #id.class1.class2 ATTR = 「asdsa」 .class1.class2 ATTR = 「asdsad」 ATTR = 「ASDS」 這是誘人的使用 id:idShortcut? classes:classShortcut* attrs:fullAttribute* 但我不希望它匹配,如果所有三個

    1熱度

    1回答

    我讀過的一切都表明Treetop像正則表達式一樣回溯,但我很難做出這樣的工作。 假設我有以下語法: grammar TestGrammar rule open_close '{' .+ '}' end end 這不串{abc}匹配。我懷疑這是因爲.+正在消耗信件a之後的所有內容。即當我只希望它消耗abc時,它正在消耗abc}。 這似乎不同於類似的正則表達式。正則

    0熱度

    2回答

    另一個什麼是錯的這個語法問題: 我玩pyPEG2由沃爾克·伯克和我堅持一個非常簡單的情況: from pypeg2 import * text = 'f(x)' grammar = name, '(' , word,')' print parse(text, grammar) 我得到看起來異常: Traceback (most recent call last): File "test

    7熱度

    1回答

    我正在嘗試使用pegjs來製作解析器。我需要分析是這樣的: blah blah START Lorem ipsum dolor sit amet, consectetur adipiscing elit END foo bar etc. 我有麻煩寫規則文本趕上從"START"到"END"。

    2熱度

    1回答

    我正在研究PEG(Parsing Expression Grammar)解析器,我正在研究的其中一個主題與其他解析技術是等價的。 我發現了一篇關於在From Regular Expressions to Parsing Expression Grammars將正則表達式轉換成等效PEG的好文章。 我希望能爲LL(*)語法分析器找到類似的處理方法,但是現在還是空手而歸。在我看來,1中描述的很多技術也

    1熱度

    2回答

    我剛剛開始玩PEG.js,並遇到語法問題(大大簡化了調試): start = presingle single /preplural plural presingle = "a" /"b" preplural = "b" /"c" single = "d" /"e" plural = "dd" /"ee" 我使用htt

    1熱度

    1回答

    是否有編程方式使用Treetop匹配複數單詞的方法。語言學的寶石將會複數化一個單詞,但是如何將其插入解析器。 這裏是什麼,我試圖做一個例子: #!/usr/bin/env ruby require 'treetop' require 'linguistics' include Linguistics::EN Treetop.load_from_string DATA.read pars

    4熱度

    3回答

    (注意:我已閱讀其他問題,如this,但我一直無法弄清楚)。 我寫了這個語法: start = call ident = [a-z]+ spaces = [ ]+ call = f:ident spaces g:(call/ident) { return f + "(" + g + ")"; } 有了這個輸入 a b c d 返回 "a(b(c(d)))" 而且我