parslet

    2熱度

    2回答

    我開始解析數據並從用戶提供的字符串(主要是拉出數字和城市名稱)獲取一些結構。 我已經跑了一下在Ruby解釋器的代碼,現在我想使用相同的代碼在一個Web應用程序。 我掙扎,以在代碼解析我應該還是它的結構。 我最初的反應是,它屬於在模型中,因爲它是數據的邏輯。例如,條目是否有整數,是否有兩個整數,是否有城市名稱等等。 但是,我的模型需要同時繼承ActiveRecord和Parslet(用於解析),而R

    2熱度

    1回答

    我有一個Flexlm/Flexnet許可證服務,我想分析此服務的輸出。所有輸出都是多行的結構化塊。我的第一步是解析lmutil lmstat -c <[email protected]> -a的輸出以使用許可證和增量。 我嘗試使用Ruby和Parslet。所有行均單獨解析。我有一條規則來解析特定類型行的重複,但我無法解析一個結構化的行塊。 我正在尋找定義將'換行'語句放在多行結構塊中的法律(最好的

    1熱度

    1回答

    我使用Parslet解析一些自定義的數據開始。在這些例子中,所產生的解析數據是一樣的東西: { :custom_string => "data"@6 } 而且我創建的轉換像 rule(:custom_string => simple(:x)) { x.to_s } 但它不匹配,大概是因爲我傳遞「數據「@ 6而不僅僅是」數據「,這不僅僅是一個簡單的字符串。所有examples的變換有哈希值與

    2熱度

    2回答

    以Parslet自己的創建者(可在此link中)的代碼示例爲出發點,我需要對其進行擴展,以便從用C語法語法編寫的文件中檢索所有未註釋的文本。 提供的示例能夠成功解析C風格的註釋,將這些區域視爲普通線條空間。然而,這個簡單的例子僅期望在該文件的非註釋區域「A」的字符,如輸入例如: a // line comment a a a // line comment

    1熱度

    2回答

    有沒有辦法反向引用parslet中的前一個字符串,類似於典型正則表達式中的\1功能? 我想提取,如塊內的字符:其中 Marker SomeName some random text, numbers123 and symbols !#% SomeName 「標記」是一個已知的字符串,但「SomeName」不是先驗已知的,所以我相信我需要這樣的東西: rule(:name) { (matc

    1熱度

    3回答

    我正在使用一種新的編程語言rip,並且我無法進入某些無限循環的底部。有沒有辦法在調用每個規則時打印出每條規則,以便我可以看到正在遞歸的規則?我已經嘗試瞭解我頭腦中的代碼,但我沒有看到它。任何幫助將非常感激。

    9熱度

    2回答

    我試圖在Ruby中使用Parslet庫解析簡單的縮進敏感語法。 以下是我試圖解析語法的例子: level0child0 level0child1 level1child0 level1child1 level2child0 level1child2 結果樹看起來就像這樣: [ { :identifier => "level0chil

    0熱度

    2回答

    我可以單獨解析原子,但是當我使用>>將它們鏈接時,解析器似乎不想離開:integer規則。 我得到這個錯誤: Extra input after last repetition at line 1 char 2. `- Expected one of [VALUE, BOOL_OPERATION] at line 1 char 2. |- Expected at least 1 of

    1熱度

    1回答

    我正在使用Ruby::Parslet。 我解析類似於SV接口文檔,如: interface my_intf; protocol validonly; transmit [Bool] valid; transmit [Bool] pipeid; transmit [5:0] incr; transmit [Bool] sample; endin

    5熱度

    2回答

    我正在尋找匹配多行Parslet的方法。 的代碼看起來是這樣的: rule(:line) { (match('$').absent? >> any).repeat >> match('$') } rule(:lines) { line.repeat } 然而,lines總是在無限循環中這是因爲match('$')會無休止地重複匹配字符串的結尾收場。 是否可以匹配多行可以爲空的行? irb(m