COMP3141-Assignment 2課業解析

概述
在本任務中,您將重構文本匹配正則表達式引擎,以使用更強類型的接口。這些更強的類型不只減小了出現錯誤的可能性,並且提升了代碼庫的可讀性和清晰度。
在強類型版本的基礎上,您將實現許多額外的方便組合器,用於處理正則表達式。這項做業將使你有使用Haskell類型系統擴展(特別是GADTs)的經驗,以及使用單子和應用函子編程的經驗,並向你介紹諸如替代詞之類的概念。
1提供的代碼提供的代碼由多個模塊組成:兔子包含您應該實現的代碼存根。無類型.hs包含正則表達式引擎的非類型化、未擴展版本。哈雷蒙.hs包含用於編寫匹配算法的一元類型。測試.hs包含用於運行測試的主函數。測試/支持.hs包含運行測試的支持代碼。測試/單元測試.hs包含基本正則表達式的屬性。測試/成績單.hs包含一些你的組合子的驗收測試,用於分析新南威爾士州的成績單。測試/示例.hs包含此規範中的全部示例,做爲單元測試。
注意:您只能提交'兔子,所以請確保您提交的文件與全部其餘文件的原始版本一塊兒編譯。正則表達式正則表達式是描述和操做字符串模式的流行方法。
它們一般用於搜索與特定模式匹配的子字符串,而後從該子字符串中提取信息。許多語言將正則表達式做爲內置功能或標準庫包含在其中。若是你作過COMP2041,你將會接觸到幾種這樣的語言。不幸的是,Haskell不是一種語言。爲了解決這個問題,helenthehare開始爲Haskell設計一個正則表達式庫H.A.R.E。她首先將正則表達式的基本構建塊編碼爲Haskell數據類型。 正則表達式

更多討論能夠+V:xiaolajiao0414算法

相關文章
相關標籤/搜索