![](/img/trans.png)
[英]Visual Studio Code: Disabling Error/Warning checks in for specific file type
在工作中,我的團隊使用 Ruby 和 Treetop 解析器創建了我們自己的小型腳本語言。 該語言本身的語法與 Ruby 非常相似。 我正在使用 Ruby 和 Ruby 擴展名來突出顯示我們的文件的這種語言的語法,但是 Ruby 擴展名會引發錯誤,因為該語言實際上不是 Ruby 有沒有辦法禁用特定文 ...
[英]Visual Studio Code: Disabling Error/Warning checks in for specific file type
在工作中,我的團隊使用 Ruby 和 Treetop 解析器創建了我們自己的小型腳本語言。 該語言本身的語法與 Ruby 非常相似。 我正在使用 Ruby 和 Ruby 擴展名來突出顯示我們的文件的這種語言的語法,但是 Ruby 擴展名會引發錯誤,因為該語言實際上不是 Ruby 有沒有辦法禁用特定文 ...
[英]Simple Arithmetic Grammar with Treetop Infinitely Recursing
我正在嘗試用 Treetop 編寫一個簡單的計算語法。 為了簡化這個問題的示例,我只使用變量、數字和+運算符。 我希望能夠寫出這樣的表達式: A 1 A+B A+1 A+1+B 這是我的語法: 當我運行它時,它會無限遞歸。 谷歌搜索了一段時間后,我認為我的問題與左遞歸有關,但我是解析器的新手,我不太 ...
[英]How can you require an undetermined character to be repeated consecutively a certain number of times in Ruby Treetop?
我想創建一個規則,要求非數字,非字母字符連續重復三遍。 該規則如下所示: 是否有任何方法要求將檢測到的第一個字符重復三遍? 以前存在有關檢測縮進數量的類似問題: PEG用於Python樣式的縮進 解決方法是首先初始化縮進堆棧: 然后保存當前行的縮進: 每當新 ...
[英]How do you handle no nonterminal node in a 0 or more statement when using elements.map in Ruby Treetop?
我正在嘗試創建一個自定義語法節點類,以映射其所有非終端節點。 問題在於,在自定義語法節點類中使用elements.map時,並不一定要有一個節點存在,因為語法節點樹會為其創建SyntaxNode:“”,而我有沒有為其創建類。 例如,如果我嘗試解析:“ begin document \\ ...
[英]How to trigger functions in subnodes in Ruby Treetop tree. (was:How to prevent ruby Treetop doing AST squashing)
我使用樹梢已有一段時間了。 我寫了以下規則 http://thingsaaronmade.com/blog/a-quick-intro-to-writing-a-parser-using-treetop.html 我可以解析我的整個輸入字符串,但是除了初始的之外,沒有其他to_ar ...
[英]how to parse multiple lines using ruby treetop?
我是ruby和treetop新手。 我完成了本教程,並提出了以下規則。 我希望解析器提取出下面的blob。 它總是以Port.開頭Port. 並以空白行結尾。 上面提到的規則在單獨傳遞時可以識別文本中的所有行,但是我無法提取出斑點。 我也只想提取匹配的文本,而忽略其余 ...
[英]Custom Methods for Treetop Syntax Nodes
我有一個與某些鍵匹配的Treetop PEG語法。 我想在給解析器的哈希中查找與這些鍵相關聯的值。 如何使語法節點可以訪問解析器中的方法或變量? 例如,下面是一個簡單的語法,該語法找到一個單詞並嘗試查找其值: # var.treetop grammar VarResolver i ...
[英]Treetop parser : how to handle spaces?
大家,早安, 我目前正在嘗試描述一些基本的Ruby語法,但現在仍無法解析空間? 我可以處理x = 1 + 1 但無法解析x = 1 + 1, 如何解析空間? 我嘗試在每個終端之后添加足夠的空間。 但是它無法解析,為零.....我該如何解決? 非常感謝,祝你有美好的一天。 ...
[英]Why is a custom SyntaxNode subclass not working with parentheses?
我有一個如下的樹梢語法: 當我解析表達式時,這是有效的: 。 。 。 有一個語法節點匹配"1234"與ExprNumber類型。 但是,如果我將括號添加到規則中,如下所示: 它與ExprNumber類不匹配。 為什么會這樣? ...
[英]Issues using treetop parser library
我試圖使用樹梢在ruby中創建一個簡單的文本解析器。 盡管我已經按照博客中的說明執行了所有步驟,但是我仍然無法運行該程序。 它失敗並顯示錯誤消息: 我在樹梢上的網絡上找不到很多資源,但很高興獲得一些幫助。 以下是代碼: -myParser.rb- -node_ext ...
[英]How do I process a treetop parse tree?
我已經使用treetop編寫了一個解析器,該解析器成功生成了一個解析樹,其一部分在下面復制。 現在我有了這棵樹,我不知道如何過濾它,因此我只處理與特定規則匹配的特定節點。 我想用一個標識符替換字符串文字,該標識符引用字符串文件中的字符串。 cool_parser.treet ...
[英]How can I associate many alternatives to same class when defining a grammar node with treetop?
我有以下簡單的語法: 當我解析字符串> ,它成功返回: 當我解析string = ,它返回時沒有語法錯誤,但是沒有將匹配的字符串與ComparisonOperator實例關聯,而只關聯到 如果我顛倒語法中字符的順序...... 然后它適用於=但不適用於> ...
[英]Treetop boolean logic operations
我正在實現具有語法的DSL: 每個關鍵字都將轉換為布爾值( true , false ),之后應使用運算符and, or, not 我當前的語法規則只匹配字符串[keyword] or [other keyword]並且在stings [keyword] or [other key ...
[英]Treetop grammar line continuation
我正在嘗試為以下語言創建語法 正確解析先前代碼的正確樹梢語法規則是什么? 我應該能夠為三個變量提取以下值 這是一個字符串,我知道它沒有雙引號 該字符串具有延續性,這意味着我可以像這樣在多行上寫它 該字符串用引號引起來 謝謝 ...
[英]Why an empty string seems emitted instead of a custom node, sometimes, in a Treetop grammar?
關於您使用Treetop時出現的反復出現的問題,我想請您提出建議,我有時無法解決。 我可能錯過了一些東西。 我懷疑你們中的許多人都有解決這個問題的正確習慣或習慣。 我通常使用Treetop如下所示: 我在.tt文件中定義語法 我對其進行了修改,以發出自定義的分析樹 ...
[英]Getting date parts from a simple treetop parser: wrong argument type Class (expected Module)
對於下面的樹梢語法,在解析'3/14/01'時(通過ir中的t = Parser.parse('3/14/01') ),我得到一個“TypeError:錯誤的參數類型Class(expected Module)” 。 首先 ,如果我注釋掉<MonthLiteral>和< ...
[英]Having trouble with simple tree top grammar
我在玩樹頂游戲,只是無法使用簡單的語法來工作並生成我期望的AST。 我的規則是 1:LINE可以由一個或多個以分隔的PIPED COMMAND組成。 2:PIPED COMMAND是一個或多個由|分隔的命令。 3:COMMAND是一個或多個由空格分隔的標識符 我希望有一棵這 ...
[英]Treetop parser error handling mechanism providing useless output
我最近一直在嘗試使用Treetop為我的一位客戶創建CFG DSL語言的簡單解析器。 我成功實現了他所需的所有功能,但是與Treetop一起工作真是一個痛苦的經歷。 問題是我無法從Treetop獲得任何可用的錯誤消息。 我得到的唯一輸出是 它始終指向文件中的第一個字符。 在解 ...
[英]Ruby & Treetop - No such file or directory @ rb_sysopen
我正在嘗試學習使用Treetop PEG語法解析器,但是從一開始我就遇到了奇怪的錯誤。 我有這個文件結構 和文件的內容如下(列出的順序是上面列出的文件) node_extensions.rb parser.rb tranlan.treetop 當我運行 ...