cost 114 ms
如何狡猾地解析多個語句?

[英]How to parse multiple statements in sly?

我正在嘗試使用sly解析一些代碼。 我想用分號分隔語句。 我定義了一個名為SEMI的標記,它代表一個分號:class MyLexer(Lexer): tokens = { ..., SEMI } SEMI = r";" ... 如 ...

我可以建立一個參考變量,然后讓我分配一個新值嗎?

[英]Can I establish a reference variable that will then let me assign a new value?

我正在使用 Sly 在 Python 中編寫腳本解釋器。 在弄清楚如何最好地編寫分配解釋時,我發現自己無法完全理解如何處理左側是不同類型的值。 我正在使用的腳本語言,左側可能是 object 上的變量或字段(可能有幾層深)。 所以腳本語言中的以下分配都是正確的: 目前,我將常規變量存儲在具有類型和 ...

SLY python 無法解析簡單的標記

[英]SLY python can't parse simple tokens

我正在使用 SLY 制作一種簡單的解釋型編程語言來生成一個 AST,我將在不使用 SLY 的情況下對其進行解釋。 目前我已經能夠生成我所有的標記並將它們提供給解析器,但它無法識別任何規則,只能識別空的。 詞法分析器: 實用類: 解析器: 我不知道我的所有規則是否都正確,但我評論了每條規則,只留下未評 ...

如何在解析操作期間指示錯誤?

[英]How can I indicate an error during a parse operation?

在我正在實現的腳本語言中,有效 ID 可以由一系列數字組成,這意味着我有一個模棱兩可的情況,其中“345”可能是 integer,或者可能是 ID,直到運行時才知道。 到目前為止,我一直將每個案例都作為一個 ID 來處理,並計划在運行時檢查一個變量是否已在該名稱下聲明,但是當我改進我對特定代碼位的 ...

2022-09-23 20:22:35   1   6    parsing / sly  
如何遍歷 SLY 中的字典/集?

[英]How do I iterate through a dictionary/set in SLY?

所以,我正在嘗試將我的代碼從我早期的 PLY 實現轉換為 SLY。 以前,我有一些代碼加載了一個二進制文件,其中包含從我正在嘗試實現的腳本語言的文檔中抓取的各種保留字。 但是,當我嘗試遍歷 SLY 詞法分析器中的抓取項目時,在嘗試遍歷結果集時,我在LexerMetaDict的__setitem__ ...

是否可以輕松消除這種減少/減少沖突?

[英]Is it possible to easily eliminate this reduce/reduce conflict?

這是我編寫解析器的腳本語言的 if 語句的代碼,這些語句可能有 else 或 elsif。 實際上,我對我得到它的緊湊程度感到相當自豪: 這會生成以下規則: 規則 64 if_statement -> IF LPAREN expr_comp RPAREN THEN NEWLINE state ...

狡猾地解析多個語句,其中除了最后一個之外的所有語句都必須用換行符終止

[英]Sly parsing of multiple statements where all but the last one must be terminated with a Newline

我有一種正在實現的腳本語言,其中每個語句都由換行符終止,可能是最后一個語句除外。 也可能有只是換行符的行。 這是一個實現(省略了語句代碼,因為它並沒有真正添加任何東西): 這會生成以下規則: 如果您願意,我也可以發布生成的狀態。 我遇到的問題是,即使我消除了所有移位減少沖突,我仍然幾乎總是在以換行符 ...

如何使用 python 的 sly.Parser class 進行多行解析?

[英]how to do multi-line parsing with python's sly.Parser class?

我正在嘗試使用名為sly的庫創建自己的編程語言。 我創建了一個詞法分析器來標記我的程序,但我一直堅持讓解析器成功解析多個指令。 當我沒有考慮到這一點並嘗試編寫一個程序來測試解析樹時,它給了我一個錯誤,說一堆令牌無效。 我想出的臨時解決方案是使用以下解析語句:@_("expr \n expr") d ...

使用 Python SLY 讀取模式簡單 DSL

[英]Read patterns Simple DSL using Python SLY

我嘗試使用 Python SLY創建簡單的 DSL。 但是,我無法得到預期的結果,因為解析器無法正確讀取它。 所以這里的代碼: 詞法分析器 解析器 但是當我運行它時。 正如我所料,結果將是這樣的。 但我只得到這樣的東西。 執行結果: 我想我必須編輯解析器,但我想不出怎么 ...

Sly:如何實現 if 和 while 語句和命令

[英]Sly: How can I implement if and while statements and commands

我是 sly 的新手,我正在嘗試用 sly python 編寫簡單的語言。 我想實現 if-else、while 循環和打印命令。 我嘗試搜索了很多,但是關於sly的教程並不多。 我很困惑我怎么能做到。 我想要這樣的東西: if-else 語句: While循環: 打印命令: 我在https:/ ...

2022-02-15 15:57:44   1   163    python / sly  
如何避免在不使用 python 中說 function 的情況下打印變量?

[英]How to avoid printing a variable without using the say function in python sly?

所以我正在使用 python package sly ,它有一個詞法分析器和解析器 class。 我正在制作自己的編程語言,稱為 NoobPy。 所以目前,代碼將打開 test.noob 並讀取每一行並解析它。 現在,如果我要定義一個變量,比方說x ,只需將x寫在一行中,它就會打印它,而我不希望這 ...

在 Python 中使用 SLY 時如何區分“int”和“float”數據類型

[英]how to differentiate between 'int' and 'float' datatypes while using SLY in Python

我在 Python 中使用Sly package 來制作一個虛擬 Lexer 。 這是文檔,它僅說明數字標記只能被識別為 NUMBER,因為程序員定義了它: 現在我嘗試為 FLOAT 和 INT 類型添加一個單獨的 function ,但是有一些復雜性: 我找不到任何東西來成功讀取輸入並將其識別為“ ...

狡猾的解析器:未調用條件規則

[英]Sly parser: condition rule not recalled

您好,我正在用 python 中的 sly 模塊構建我的第一個編程語言。 我正在關注一些教程,但我對解析器的行為有疑問。 這是代碼: 據我了解,條件規則是非終結的,BNF 表示是: condition : expr EQEQ expr 。 如果我輸入 "a == b" 我得到錯誤sly: Syn ...

sdl2:load-bmp 當前工作目錄的問題,common-lisp

[英]sdl2:load-bmp Problem with current working directory, common-lisp

在嘗試通過cl-sdl2-tutorial工作時,由於當前工作目錄錯誤,我無法加載 bitmap。 我想使用相對路徑名來解決問題。 一個最小的工作示例: 修改了上述教程中示例二的代碼。 在編譯上述代碼並運行(main)之前,我通過以下方式更改了 REPL 中的工作目錄: 上面的代碼在 REPL 中 ...

什么時候可以在定義之前使用名稱?

[英]When can you use a name before it's defined?

在 SLY 中有一個編寫計算器的示例(從calc.py轉載): 看起來它有問題,因為在定義之前使用了NAME和NUMBER 。 但實際上,沒有NameError ,並且這段代碼執行得很好。 這是如何運作的? 什么時候可以在名稱被定義之前引用它? ...

2021-02-02 20:15:16   1   150    python / sly  

排序:
質量:
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM