有人能給我一個小例子如何使用Haskell編寫基本的編譯器來強制執行語言的順序?例如,如果我想編寫一種編程語言,其中「桌牀燈」是一個有效的字符串,但「牀燈表」不是,我該如何去做這件事?Haskell,編譯器,執行令牌順序?
如果有人能指出我正確的方向,我認爲我可以推斷和了解更多。
感謝
有人能給我一個小例子如何使用Haskell編寫基本的編譯器來強制執行語言的順序?例如,如果我想編寫一種編程語言,其中「桌牀燈」是一個有效的字符串,但「牀燈表」不是,我該如何去做這件事?Haskell,編譯器,執行令牌順序?
如果有人能指出我正確的方向,我認爲我可以推斷和了解更多。
感謝
你應該檢查有關parsers
ressources。這是一個負責分析文本並從中構建數據的程序的一部分。維基百科條目:
http://en.wikipedia.org/wiki/Parsing
在Haskell,Parsec
擁有的是一個強大的庫編寫解析器的聲譽(我從來沒有使用過。)
您似乎已經在過去幾天提出了許多關於編譯器的非常基本的問題。首先,在嘗試着手之前,編寫一本關於編譯器的教科書並找到一些基礎,是不是更好?如果你試圖用Haskell作爲你編寫編譯器的語言,Appel的書「ML中的現代編譯器構建」將會是一個好的開始。
我知道如何編寫一個編譯器.....我不知道如何編寫一個編譯器在Haskell中.... – user997112
另外,如果有人向我提供了我的基本問題的答案,那麼我可以使用它來推斷。每一個haskel材料,我只包括計算器解析的例子.... – user997112
這個問題太簡單了,沒有一個啓發性的最簡單的答案。這是一個無聊的功能,它完全符合你的要求:'isValid s = s ==「桌牀燈」'。 –