happy

    2熱度

    1回答

    當你寫一個快樂的描述,你必須定義所有可能出現的標記類型。但是,你只能比對標記類型,而不是單個令牌值 ... 這是怎麼樣的問題。例如,考慮關鍵字data。根據Haskell報告,這個標記是一個「保留的」。所以我的記號員會識別它並將其標記爲這樣。但是,請考慮關鍵字as。現在事實證明,這是不是一個保留的;這是一個普通的varid。這隻在一種情況下才是特殊的。你可以完全聲明一個名爲as的正常變量,這很好。

    3熱度

    2回答

    我試圖定義方法的語法使用(Java等)Happy LALR解析器生成 1. MD ::= some_prefix { list(VD) list(S) } 2. VD ::= T I 3. S ::= I = E | I [ E ] = E | etc... 4. T ::= I | byte | int | etc... 5. E ::= INT | E

    0熱度

    1回答

    我想從快樂生成一個GLR解析器,但是一旦文件生成就會出錯。 下面是一個例子,ABC.y,所以很顯然我試圖: { module Main where } %name ps1 s1 %tokentype { ABC } %error { parseError } %token a { A } b { B } c { C } %% s1: a a a b

    0熱度

    1回答

    我想用Haskell解析包含多個數據序列(列數相同,內容相同......)的文件。 我的數據序列將由關鍵字前後分隔。 BEGIN 1 882 2 809 3 435 4 197 5 229 6 425 ... END BEGIN 1 235 623 684 2 871 699 557 3 918 686 49 4 53 564 906 5 246 344 501 6

    2熱度

    1回答

    我正在寫一個使用Happy/Alex的解析器,並且因爲我解析的語法不是完全無上下文的,所以我需要獲取持久的lookahead標記。該Happy documentation表明,使用線程詞法分析器時,這可以用以下形式的規則來執行 n : t_1 ... t_n {%^ <expr> } 所以我寫了一個規則 gdecl : type ident paramList block { FDefn

    2熱度

    1回答

    我已經在Alex編寫了一個詞法分析器,我試圖將它連接到一個用Happy編寫的解析器。我會盡我所能在不粘貼大量代碼的情況下總結我的問題。 從我的詞法分析器的我的單元測試,字符串"\x7"被lexed給我知道: [TokenNonPrint '\x7', TokenEOF] 我的令牌類型(詞法分析器吐出),是Token。我定義lexWrap和alexEOF描述here,這給了我下面的頭和令牌聲明:

    2熱度

    1回答

    我正在嘗試寫一個解釋器,但我很難理解這個過程的理論基礎。 我的理解是,第一部分是編寫一個詞法分析器,將字符串拆分成有效令牌列表,然後使用分析器爲這個令牌字符串生成相應的抽象語法樹。但是,解析器是使用語法規則構建的,這是我很難理解的。 語法規則顯然用於創建生成的抽象語法樹的規則,但這個中間步驟到底有多精確。它是否對字符串字符和特定的標記列表進行模式匹配? 。 。? 歡迎任何類型的直覺或解釋。謝謝!

    5熱度

    1回答

    我一直在試圖獲得快樂正確安裝,在過去幾天,雖然我發現它具有挑戰性得到cabal install happy不只是錯誤(通過與apt-get安裝happy-1.19並添加/opt/happy/1.19.3/bin到PATH) ,現在它貫穿源代碼,直到達到ProduceCode(15/18),並且似乎進入無限循環。它累積內存,直到我點擊Ctrl+C或在整個系統無響應時關閉電源。 我想我對GHC-HEA

    3熱度

    2回答

    閱讀Haskell.Happy文件,達成的「讓」操作 Exp : let var '=' Exp in Exp { \p -> $6 (($2,$4 p):p) } 文檔說這是「一個函數,變量值的環境中,並返回的計算值實施表達式:「 無法理解語法的實際含義,這些結構在Haskell中如何調用? 編輯:我的意思是這些 \p -> $6 (($2,$4 p):p)

    0熱度

    1回答

    您好我剛下了命令更新陰謀到最新版本 cabal update 和 cabal install cabal-install 然後返回 Installed cabal-install-1.22.2.0 Updating documentation index /MyPath 我想用Alex和快樂。對不起,我很新的這..當我試圖通過行發行亞歷克斯在ghci中 alex wordcount.