實現最優二叉樹的構造;在此基礎上完成哈夫曼編碼器與譯碼器。 假設報文中只會出現如下表所示的字符:
字符 A B C D E F G H I J K L M N
頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 57
字符 O P Q R S T U V W X Y Z , .
頻度 63 15 1 48 51 80 23 8 18 1 16 1 6 2
要求完成的系統應具備如下的功能:
1.初始化。從終端(文件)讀入字符集的數據信息,。建立哈夫曼樹。
2.編碼:利用已建好的哈夫曼樹對明文文件進行編碼,并存入目標文件(哈夫曼碼文件)。
3.譯碼:利用已建好的哈夫曼樹對目標文件(哈夫曼碼文件)進行編碼,并存入指定的明文文件。
4.輸出哈夫曼編碼文件:輸出每一個字符的哈夫曼編碼。
詞法分析器的實現,1) 輸入:字符串(待進行詞法分析的源程序),輸出:由(種別碼,自身值)所組成的二元組序列。
2) 功能:
a. 濾空格
b. 識別保留字
c. 識別標識符
d. 拼數
e. 拼復合單詞: 例如: >=、 <=、 :=
3) 檢查如下錯誤:
a. 程序語言的字符集以外的非法字符
b. 單詞拼錯,如9A88,而對于將begin拼寫成begon的錯誤,只須把begon當成標識符即可