cost 205 ms
如何區分在 Lexer 中具有相似模式但在解析器中出現在不同上下文中的標記

[英]how to distinguish tokens which have similar patterns in Lexer, but they occur in different contexts in the parser

我在 Lexer.x 中有兩個非常相似的模式,首先是數字,其次是字節。 他們來了。 我有 Parser.y 當我寫的時候,我明白了。 但是當我將字節模式放在 Lexer 中的數字之前 我有 我認為這是因為 Lexer 從字符串生成標記,然后將它們提供給解析器。 當解析器等待字節令牌時,它得到了數字令 ...

||的token是怎么做的在亞歷克斯

[英]how made token of || in alex

我是 Haskell 和 Alex 的新手。 我正在嘗試在 Lexer.x 中制作運算符的標記這是我的代碼示例 但是當我寫 我在這一行遇到解析錯誤我應該如何為 || 制作令牌? ...

Cabal 在使用 alex 構建時嘗試構建未知的 package,在 nix-shell 中很開心

[英]Cabal tries to build unknown package when building with alex, happy in nix-shell

我目前正在嘗試使用 nix-shell 和 cabal 構建一個 Haskell 項目,並使用 alex 和 happy 作為構建工具。 在nix-shell內部構建(有和沒有--pure ),我收到以下奇怪的錯誤消息: 它似乎試圖滿足一些無意義的依賴aoc:happy:exe.happy ,盡管在 ...

如果輸入的數字不是一個快樂的數字,我怎么能得到一個假值?

[英]How can i get a false value if the inputted number isn't a happy one?

*嗨,這是我對這個挑戰的回答: 編寫一個算法來確定數字 n 是否“快樂”。 快樂數是由以下過程定義的數字:從任何正整數開始,用其數字的平方和替換該數字,並重復該過程直到該數字等於 1(它將停留的位置),否則循環在一個不包括 1 的循環中無限循環。這個過程以 1 結束的那些數字是快樂的數字。 ...

快樂數字程序

[英]Program for happy numbers

所以快樂數是一個數字,從任何正整數開始,用數字的平方和代替這個數字,這個過程會一直重復,直到它變成1,否則,它會在一個循環中無限循環。 那些數字,當找到 1 時,它們將是一個快樂的數字。 假設數字是 19,則 output 將為真,因為該數字是一個快樂的數字。 從 19 可以看出,我們將得到 12 ...

在解析過程中添加運算符

[英]Add operators during parsing

我在 Haskell 中嘗試了一些解析器生成器,在這里使用 Happy。 我以前使用過解析器組合器,例如 Parsec,而我現在無法實現的一件事是動態添加(在執行期間)新的外部定義的運算符。 例如,Haskell 有一些基本操作符,但我們可以添加更多操作符,賦予它們優先級和固定性。 所以我想知道如何 ...

LBNF / BNFC語法中的可選前綴,無移位/減少沖突

[英]Optional prefix in LBNF/BNFC grammar without shift/reduce conflicts

我正在嘗試為類似C的語言編寫LBNF / BNFC語法。 在C語言中,您可能會或可能不會在聲明前編寫許多修飾符(例如inline , const , volatile等)。 我正在嘗試編寫語法來重用代碼,並使生成的Haskell AST易於使用。 類型的語法如下所示: 對於函數 ...

用空格分隔的表達式列表+ if / then / else解決野牛語法中的沖突

[英]Resolve conflict in bison grammar with space separated expression lists + if/then/else

我有以下yacc /野牛/快樂語法: bison -v告訴我在以下情況下有兩個沖突: 我試圖通過使用%prec給出明確的優先級聲明來解決沖突,但無濟於事。 鑒於野牛可以根據需要解決沖突(例如,轉移而不是減少),這還不錯,但是我想知道如何在不更改公認語言的情況下擺脫沖突。 ...

解決Happy / Bison中的這種Shift / Reduce沖突

[英]Solving this Shift/Reduce Conflict in Happy/Bison

我用Happy(相當於Haskell的Bison)制作了一個簡單的解析器,但偶然發現這些規則中的移位/減少沖突: 信息文件說明了移位/減少沖突: 規則61是這樣的: 我不太確定如何解決這個問題。 我嘗試使用優先級規則使警告靜音,但是它沒有達到我的預期。 ...

快樂解析錯誤

[英]Happy Parse Error

我目前正在使用alex和高興的lexer / parser生成器來實現以太坊智能合約語言的穩定性的解析器。 目前,我正在使用簡化的語法以簡化初始開發。 我在解析我的測試合同文件的“合同”部分時遇到錯誤。 以下是語法代碼: 以下文件是我的測試“合同”: 結果是將測試合 ...

GHC不能推斷未提升的那種

[英]GHC can't infer unlifted kind

我正在遇到看起來像Happy生成的無效代碼。 問題歸結為GHC沒有推斷函數的多金屬類型簽名。 這是一個例子: 由於GHC推斷f :: a -> () ,其中a :: * ,因此失敗 是否有任何語言編譯指示我可以打開以獲取此代碼進行編譯? 我知道理論上我只能添加類型簽名 ...

如何將函數作為參數傳遞給生成的Happy解析器?

[英]How to pass a function as argument to a generated Happy parser?

Happy生成一個具有簽名::: [Token] -> a的解析器 我想生成一個參數化的解析器,即需要一個函數作為參數來傳遞解析器的函數。 所以我想簽名: (x->y) -> [Token] -> a 。 但是,我也可以使用簽名:: :: [Token] -&g ...

構建GHC:盡管成功安裝了cabal,但配置失敗仍然很快樂

[英]Building GHC: configure fails on happy despite successful cabal install

我試圖在此頁面之后從源代碼構建GHC。 安裝依賴項時,我必須安裝happy和alex : 但是在運行configure我收到一條錯誤消息: 我在Debian運行stretch : 任何人都可以建議一個明顯的步驟我可以嘗試解決這個問題 ...

Haskell,FreeBSD,Stack,高興:如果構建工具(在我的情況下為“ happy-1.19.5”)安裝失敗,該怎么辦?

[英]Haskell, FreeBSD, Stack, happy: What can one do if a build-tool (in my case `happy-1.19.5`) is failing installation?

這些是我得到的鏈接器錯誤: 雜項 GHC-7.10.2 VM中的FreeBSD 10.3-RELEASE-p18 快樂-1.19.5 堆棧版本1.0.1,Git修訂版e1c8e2c(3065次提交)x86_64 我正在考慮的選項: 找出 ...

用括號和不同類型的表達式進行解析

[英]Parsing with parenthesis and different types of expressions

我目前happy解析一種語言,但是我認為該解析器無關,只是說它是一個LALR解析器。 這是語法的一小部分摘錄: 問題是我正在減少沖突。 我認為當我嘗試解析以下內容時就會出現此問題: 解析此表達式的方法只有一種,但問題是我認為即使在第一個括號中,解析器也開始遇到麻煩。 我認為 ...

Happy&Alex - 防止先行者影響解析器 - 詞法分析器通信

[英]Happy & Alex - Preventing the lookahead from affecting parser-lexer communication

我目前正在使用Happy&Alex編寫一個玩具語言編譯器的解析器。 由於需要某種形式的可選布局,我必須在匹配block非終端之前更改Alex的狀態。 不幸的是,在我有機會改變亞歷克斯的狀態之前,似乎已經閱讀了Happy所需的前瞻標記。 這是一個展示問題的小片段: 這個問題有一個 ...

指定要堆疊使用哪個版本的Happy

[英]Specify to Stack which version of Happy to use

我遇到了最新版本的Happy(1.19.5)中的錯誤。 我如何告訴堆棧去尋找僅在git repo中找到的甚至更高版本的Happy(1.19.6)? 現在,我讓堆棧管理所有內容。 我的陰謀檔案中唯一提到Happy的內容。 相關部分是: ...

移位/減少快樂語法中的沖突

[英]Shift/reduce conflict in Happy grammar

我有以下內容(被大量刪除)快樂語法 在模式中的標識符周圍具有移位/減少的沖突。 默認情況下,Happy選擇移動,但是在這種情況下,這不是我想要的:即使所有內容都可能是identifier pattern ,它也會嘗試將所有內容轉換為constant expression 。 我已 ...

快樂的上下文依賴運算符優先級

[英]Happy Context-Dependent Operator Precedence

我在這里有兩個Happy代碼片段,一個使用普通優先級規則,另一個使用依賴於上下文的優先級規則(這兩個都在這里描述)。 正常: 上下文相關的: 鑒於輸入: 正常版本給出: 而依賴於上下文的版本給出: 這些都不應該給出相同的輸出嗎? 我在這做錯了什么讓 ...


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