cost 411 ms
如果雙引號字符串以轉義的反斜杠結尾,則詞法分析器規則會保持匹配字符,就好像它們是引號字符串的一部分一樣

[英]If a double-quoted string ends with an escaped backslash the lexer rule keeps matching characters as if they are part of the quoted string

如果雙引號字符串以轉義的反斜杠結尾,則詞法分析器規則會變得貪婪並保持匹配字符,就好像它們是引號字符串的一部分一樣。 然后詞法分析器認為實際開始下一個引用字符串的雙引號正在結束第一個字符串並在后面的字符上給出語法錯誤。 我們需要調整詞法分析器規則來解決這個問題。 詞法分析器規則在 a.g4 文件類型中 ...

如何實現 Pine Script 預處理器

[英]How to implement a Pine Script preprocessor

此處記錄了實現 Pine Script 預處理器所需的步驟: https://www.tradingview.com/pine-script-docs/en/v3/appendix/Pine_Script_v2_preprocessor.html 這是一個 8 步過程,引用: @version= ...

Xcode 14 不允許我制作 lex 文件

[英]Xcode 14 does not allow me to make a lex file

當您嘗試添加文件時,它只顯示模板,而不是所有文件。 我嘗試用 lex.l header 制作一個文件並嘗試移動它,但效果不佳。 ...

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

[英]How to parse multiple statements in sly?

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

無需手動行走/檢查即可制作詞法分析器

[英]Making a lexical analyzer WITHOUT manually walking / checking

我正在制作我自己的編程語言,我現在正在使用詞法分析器。 我目前的方法是手動遍歷代碼並檢查有效關鍵字,然后 append 一個Token object 到tokens數組。 但這給我留下了一個巨大的 if/else 語句,它不僅丑陋而且速度也很慢。 我正在努力尋找有關此在線的任何資源,並且我正在嘗試找 ...

flex - 簡單的解析器給出錯誤:致命的 flex 掃描器內部錯誤——緩沖區末尾丟失

[英]flex - Simple parser gives error: fatal flex scanner internal error--end of buffer missed

我正在嘗試實現一個簡單的解析器,它使用小數計算加法、減法、乘法和除法。 這種形式的小數:nominatorfdenominator 像這樣 2f3 4f6 9f4 等。解析器應該在 REPL 模式下運行。 編譯並運行: 彈性代碼: yacc文件: 示例 output,第一行沒問題,但是當我在第二行 ...

推進迭代器的 while 循環 - 這是好習慣嗎?

[英]while loops that advance an iterator - is this good practise?

我正在從頭開始在 rust 中編寫一個自上而下的解析器,這就是我到目前為止所擁有的。 在這里您可以看到我的 eat_while 實現采用 lambda(稱為 cond)並推進迭代器,直到指定值與 cond 不匹配,或者字符迭代器為空。 因為 while 循環推進了迭代器,所以不需要循環體。 然而, ...

如何在 Antlr4 Lexer 中匹配 [BOF]“文件開頭”?

[英]How to match [BOF]"Begin of file" in Antlr4 Lexer?

在一個 Antlr4 語法中,我需要注釋 ( // xxxx ) 始終位於一行的開頭。 以下語法適用於大多數情況。 按照設計,它將匹配\n//comment\n但不匹配//comment\n 。 但我也希望它匹配<BOF>//comment\n 。 我該如何實施? ...

lex如何匹配token

[英]How does lex match tokens

我正在學習 lex。 我制作了一個包含一條規則的簡單 lex 文件: 運行lex file.l后,我想檢查輸出文件file.yy.c 。 我假設詞法分析器以某種方式存儲標記,並將其與輸入匹配(可能使用 switch 語句)。 查看文件,我可以看到 output ( puts(“response\n ...

如何遍歷 SLY 中的字典/集?

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

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

解析器語法規則被忽略

[英]Parser grammar rule is being ignored

目標目標是解釋純文本內容並識別模式,例如算術、注釋、測量單位。 示例輸入這將由用戶輸入。 預期的解析樹我的語法目標是生成一個看起來像這樣的樹(如果有人有更好的方法,我很想聽聽)。 注意: 10 + 10被識別為arithmetic規則。 當前解析樹又名問題下面是來自詞法分析器和解析器的當前 out ...

ANTLR4 詞法分析器產生“字符在集合中多次使用”錯誤

[英]ANTLR4 lexer yielding 'chars used multiple times in set' error

我正在向我的 ANTLR4 詞法分析器添加一條規則,它看起來像[/a-zA-Z0-9_?+-.*[-^{-}]+並且它的詞法很好。 但是,當我向它添加,時,無論我在哪里添加該字符,或者當我向它添加文字,時,我都會得到相同的錯誤: 無論如何,集合中只有一個,所以我不確定是什么導致了錯誤。 ...

測試自定義 Pygments 詞法分析器時未發現有效詞法分析器類錯誤

[英]No valid lexer class found error when testing custom Pygments lexer

我將一個理想情況下應該用於偽代碼的詞法分析器放在一起,但是當我使用python3 -m pygments -x -l./psuedo.py:PseudoLexer test.pseudo測試它時,我不斷收到以下錯誤:“找不到有效的 PseudoLexer 類在./psuedo.py”。 我查看了我的 ...

在 PLY 中處理不明確標記的正確方法

[英]Proper way to handle ambiguous tokens in PLY

我正在實現一種現有的腳本語言,部分是作為一個玩具項目,部分是為了編寫我自己的使用該語言的程序的實現。 我遇到的問題之一是我有一些在規范方面重疊但在使用時更清晰的構造: 這主要是有效的,但是,例如,“456”可以是一個數字或一個變量。 “34.567”可以是數字或標簽引用(腳本語言的文檔說,以數字開 ...

無法索引到“char”類型的值

[英]cannot index into a value of type `char`

我正在用 Rust 編寫一個簡單的愛好編程語言,但我陷入了這個錯誤(我正在嘗試翻譯 c 代碼,我對這個語言有點陌生): 這是代碼:pub struct LexerStruct { src: char, src_size: usize, c: char, i: u32, ...

可以在 antlr4 中格式化令牌 output 嗎?

[英]Possible to format the token output in antlr4?

在 antlr 中,當我運行以下測試命令來獲取令牌時: 有沒有辦法讓它實際命名或格式化令牌,例如最后一個: 正如我在 TextLexer.g4 文件中聲明的那樣: ...

如何使用正則表達式識別不帶引號的字段名稱?

[英]How to recognize a field name without quotation marks with a regex?

我編寫了一個解析器來識別這種類型的字符串: TERM: MATCH_TERM 我最初只允許在單引號或雙引號( 'TERM'或"TERM" )之間寫TERM部分。 我現在想允許在不帶引號的情況下編寫TERM部分。 我用於識別被引號包圍的TERM部分的正則表達式效果很好,如下所示: 對於這些正則表達式 ...


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