cost 64 ms
如何實現表達式的優先級 Bakus-Naur 形式

[英]How to implement the priority of expressions Bakus-Naur Form

文檔中描述了這種語法: 如何正確描述語法,以便在嘗試解析字符串時得到以下結果: 對於字符串'######' ,我們得到結果(['#', '#', '#', '#', '#'], '#')為真(第一個規則有效) 對於字符串'#####%'我們得到結果(['#', '#', '#', '#'], '#' ...

如何實現這種EBNF語法(lookahead)?

[英]How to implement this kind of EBNF grammar (lookahead)?

我正在嘗試使用這種 TatSu (grako) 中的 EBNF 語法來解析字符串“###”: 我收到一個錯誤: 我懷疑首先執行搜索{'#'} (匹配'#' 零次或多次),然后找不到'#' (必需的字符'#')。 是否有可能以某種方式實現它,以便首先我看到所需的字符'#' ,然后才尋找{'#'}附加 ...

如何從grako / TatSu獲取簡潔的語法錯誤消息

[英]How to get concise syntax error messages from grako/TatSu

如果graco / tatsu生成的解析器的輸入存在語法錯誤,例如calc.py示例為3 + / 3 ,那么除了可以使用的相關3 + / 3 ^外,還可以獲得一長串Python調用序列。 try - except構造,但我也丟失了錯誤消息的相關部分。 我想使用grako / tatsu來解 ...

如果我的語法包含一個包含許多或串聯的子表達式的表達式,為什么Grako解析過程會失敗?

[英]Why does the Grako parsing process fail if my grammar contains an expression that consists of many or-concatenated subexpressions?

我正在使用Grako。 在我的EBNF語法中,我有一個包含許多子表達式的表達式,這些子表達式使用OR運算符串聯在一起,如下所示: 如果輸入字符串包含后一個子表達式之一,例如subexpressionZ,則解析過程始終會失敗。 當我這樣重寫語法時 如果輸入字符串包含subexp ...

無法在grako語法中定義規則優先級以處理特殊令牌

[英]Cannot define rule priority in grako grammar for handling special tokens

我正在嘗試通過Grako生成的語法來分析某些文檔,該語法應該解析簡單的句子以進行進一步分析,但是在使用某些特殊標記時會遇到一些困難。 (Grako風格的)EBNF看起來像: 我在以下內容上使用了較高的語法: 這是一個句子。 這是一個句子壯舉。 縮寫。 我現在不壯舉。 ...

Grako左遞歸

[英]Grako left recursion

我正在嘗試使用grako來描述一個簡單的左遞歸語法,但是這樣做很難。 右遞歸確實可以正常工作: 根據我發現的所有示例,應該以這種方式描述左遞歸: 但是,它不適用於以下規則: 我收到此錯誤: 我現在了解到的是規則的第一個字符與symbol匹配,而不與condi ...

用Grako生成上下文相關代碼

[英]Context sensitve code generation with grako

我處於用grako的模型構建器語義構建抽象語法樹(AST)的情況下。 現在,我需要從該AST生成JavaScript代碼。 我已經定義了幾個模板,但是我意識到並非所有情況都可以使用簡單的模板來處理。 我堅持的具體規則是: 該規則匹配簡單的函數調用和構造函數調用,因為無法用詞法確定哪 ...

在Grako中使用ModelBuilderSemantics避免嵌套對象

[英]Avoiding nested objects using ModelBuilderSemantics in Grako

如果查看下面的語法,您會看到一個主要規則,即表達式,該規則被解析為更特定的表達式類型。 下面的test_input的解析按預期工作,但是我更喜歡在表達式規則中的and_expr元素上使用“ @”而不是“ andex”標記。 我的希望是,解析后的輸出將只導致一個CompareExpres ...

2016-10-10 22:15:33   1   37    grako  
解析一個或多個有幫助錯誤的表達式

[英]Parse one or more expressions with helpful errors

我正在使用 grako(一個用於 Python 的 PEG 解析器生成器庫)來解析一種簡單的聲明性語言,其中文檔可以包含一個或多個協議。 最初,我將文檔的根規則寫為: document = {protocol}+ ; 這會適當地返回一個協議列表,但只有在第一個協議中存在語法錯誤時才會給出有用的 ...

忽略遞歸規則中與{}匹配的空元素

[英]Ignoring empty elements matched by {} in recursive rule

我想描述一個可嵌套的條件。 這是我正在使用的: 我可以使用以下行生成AST: 這里的AST: 但是在“ bar”之后有一個空列表,因為我想最后一次匹配條件規則,“ condop condition”值得一個空字符串。 根據文檔https://pypi.python.o ...

2016-10-04 15:44:07   1   27    grako  
如何在EBNF中描述范圍?

[英]How to describe scopes in EBNF?

我正在嘗試使用 Grako 和 Python 為 Cisco IOS 和 ASA 配置編寫解析器。 我試圖找出如何表示“范圍的”關鍵字EBNF -例如,“說明”的關鍵字必須出現內部interface的范圍,但也有多種選擇interface ,他們都是可選的(和順序可以改變在設備之間,我相信): ...

改善Grako生成的解析器輸出的錯誤

[英]Improving errors output by Grako-generated parser

我正在嘗試找出改善向Grako生成的解析器的用戶顯示的錯誤的最佳方法。 似乎Grako生成的解析器在輸入文件中遇到某些解析問題時顯示的默認解析錯誤沒有幫助。 當真正的錯誤與其他地方有所不同時,錯誤通常似乎暗示問題出在輸入文件的一部分中。 我一直在研究Grako Semantics類,以 ...

從grako轉換時,XText中的節點標簽/鍵

[英]node label/key in XText when translating from grako

在grako中,可以使用以下name:e使用名稱作為關鍵字將e的結果添加到AST中。 例如 將此翻譯成Xtext會有什么好處? 我試過了 不會失敗,但是會引發以下警告 我想我正在嘗試模仿name行為,但沒有太大的成功。 ...

2016-04-21 19:58:24   1   50    xtext / grako  
是否可以在沒有 grako 的情況下使用 with grako 生成的解析器?

[英]Is it possible to use a with grako generated parser without grako?

見標題。 對於我正在編寫的一個小工具,我想引入一種簡單的布爾過濾器語言,並決定“正確”地做到這一點並使用解析器生成器。 在玩了 grako 之后,我發現我喜歡它並且很快就完成了過濾器語言(這也很好:)) 現在的問題是,如果我想在其他計算機上使用該工具或將其提供給其他人,我首先必須以某種方式使 gr ...

增強抽象語法樹

[英]Augmented Abstract Syntax Tree

這是一個簡單的語法: 我用Grako解析此輸入流: 然后檢索此抽象語法樹(JSON): 是否有一種簡單的方法來獲取這樣的AST: 或這個: ? 我相信Grako生成的解析器中的語義動作是解決方案,但我無法弄清楚。 有沒有簡單的方法可以做到這一點 ...

Grako“代碼”代

[英]Grako “code” generation

我試圖理解如何重新創建由grako生成的解析器解析的文檔。 在深入了解grako源代碼后,我相信我終於明白了如何從AST返回到生成的文檔。 有人可以檢查我的以下理解是否正確,如果有更直接的方法,請告訴我? 一個人創建了一個希望解析的PEG語法。 Grako基於它創建了一個解析 ...

PEG解析匹配至少一個保留順序

[英]PEG parsing match at least one preserving order

給定PEG規則: 我該如何重寫它,使其與至少一個元素匹配,但在執行順序時可能匹配所有元素? 即我想匹配以下所有行: 但不能為空字符串或表達式排序錯誤,例如def abc 。 當然,有了三個元素,我可以在單獨的規則中闡明組合,但是隨着元素數量的增加,這容易出錯。 ...

Grako-如何進行錯誤處理?

[英]Grako - How to do error handling?

如何使用Grako進行錯誤處理? EBNF(MyGrammar.ebnf): 我正在生成解析器 解析一個空字符串和一個“壞”字符串(語法無法匹配)都將導致一個空AST閉包。 另外:是否有任何錯誤消息,例如“ 123位置的預期foo”? ...

Grako基本示例給出IndexError

[英]Basic Grako example gives IndexError

我想開始使用Grako(3.6.6),作為解析器的初體驗,我想從自定義語法生成HTML表。 以下基本測試 導致錯誤 碰巧是partial_match = (token[0].isalpha() and token.isalnum() and self.is_name_char( ...

2016-01-14 11:05:01   1   300    grako  

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM