alex

    7熱度

    1回答

    我正在研究一個小的Haskell項目,該項目需要能夠將嚴格形成的英語中非常小的子集用於語義解析的標記。對於具有許多不同末端執行器的系統而言,它是一種非常天真的自然語言界面,可以發出命令。我目前正在使用Alex,但Alex依靠其詞典進行靜態編譯。系統的性質使得世界末端效應器的數量和類型可以在編譯後增加和減少,因此我需要能夠在運行時從詞典添加或移除可行的令牌。 我試着尋找周圍的動態詞法的解決方案,我可

    -1熱度

    1回答

    我在Haskell中構建編譯器。使用波浪形重音符號解析字符時遇到問題。我使用的是alex 2.3.3。 我找不到解決方案。請幫忙。

    12熱度

    2回答

    我正在爲我正在編寫的類編寫一個編譯器。該類不是特別的Haskell,但我使用Haskell編寫我的編譯器和解釋器。我有一個cabal包安裝程序,希望可以讓我的教授輕鬆運行/編譯。我有兩個可執行文件在build-tools字段中都很開心,但是Cabal忽略了這一點,然後抱怨說找不到Happy和Alex應該生成的模塊。如果我手動運行: alex LimpScanner.x happy LimpPar

    11熱度

    2回答

    在一個階段中混合詞法分析器和解析階段有時會使Parsec解析器不易讀取,但也會降低它們的速度。一種解決方案是使用Alex作爲標記器,然後使用Parsec作爲標記流的解析器。 這很好,但如果我可以擺脫Alex是因爲它在編譯管道中增加了一個預處理階段,並沒有很好地與haskell「IDEs」等集成在一起,這會更好。我想知道是否有用於描述標記器的haskell EDSL,非常像Alex的風格,但是作爲一

    3熱度

    1回答

    我終於回到充實,我要添加到YI一個GitCommit消息模式匹配單個字符,但我似乎失去了一些東西基本。我似乎無法匹配語法中的單個字符,所有我的規則只在匹配整行時才起作用。我知道這一定是可能的,因爲YI中的其他語法顯然是這樣做的,但做同樣的事情似乎並不奏效。 我想有一個提交模式,並最終看起來非常相似,一個在vim。在vim模式下有用的一個方面是關鍵字高亮內容。 Git在其所做的大部分事情(commi

    2熱度

    2回答

    換行,我借的例子這裏介紹 http://www.haskell.org/alex/doc/html/introduction.html 我試圖做出數值表達式的解釋。 (只有文字,沒有變量)而我希望換行符分隔兩個不同的表達式。 Unfortunaltely,當我爲此 $ ignoredWhite = [\噸\˚F符\ v \ R] - 忽略空白 $換行符= 「\ n」 個--new線 亞歷克斯(V

    6熱度

    1回答

    我想了解Alex和詞法分析器一般,但我無法運行我的詞法分析器。 我寫了「基本」和「posn處」包裝詞法分析器,但我不能在「單子」的包裝。我想我必須使用monad包裝,因爲我需要在輸入中收集字符串和標記位置。我也需要多個國家。現在我試圖運行這個簡單〔實施例: { module Main (main) where } %wrapper "monad" $whitespace = [\ \b

    8熱度

    1回答

    當創建任一個Lexer.x或Parser.y解析器使用亞歷詞法分析器發生器或快樂的解析器生成器,編譯那些成Haskell的文件,和編譯的那些成目標文件,默認情況下,這將產生下面的「警告」: $ ghc Lexer line-map.c: file "<command-line>" left but not entered line-map.c: file "<command-line>" le

    -1熱度

    1回答

    我不知道如何做到這一點,並且我沒有發現有關如何執行此操作的良好資源[。]我正在嘗試使用帶註釋的EBNF生成規則這是兩個正則表達式之間的差異,並將其轉換爲(na | f?)lex語法規範規則[。]問題是,我沒有辦法通常這樣做[。] {3}有沒有辦法做到這種使用克萊尼代數,喜歡的方式,你可以在上下文無關文法使用空匹配交替[?]

    0熱度

    2回答

    假設我有一個數據類型在Haskell這樣的: data Token = THEN AlexPosn | ELSE AlexPosn 亞歷克斯,我得到的是: data AlexPosn = AlexPn !Int !Int !Int deriving (Eq,Show) 我能夠做的模式匹配一​​樣這樣的: eat_token :: Token -> [Token] -