91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3.77MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2024-01-23
  • 語言: C/C++
  • 標簽: LEX??YACC??南開??王剛??

資源簡介

這個里面的都是測試數(shù)據(jù),總共得分5分。從控制臺輸入,不能從文件中讀取。實現(xiàn)了基本功能,加分項目都沒有去實現(xiàn),沒有函數(shù)數(shù)組這些的實現(xiàn)。這是用C++語言寫的,新建parser類別要選C++,其他對于VS的配置和C語言一樣。for語句用的是枚舉所有情況,你可以自行修改。 對預備工作中自然語言描述的簡化C編譯器的語言特性的語法,設計上下文無關(guān)文法進行描述 借助Yacc工具實現(xiàn)語法分析器 考慮語法樹的構(gòu)造: 1.語法樹數(shù)據(jù)結(jié)構(gòu)的設計:節(jié)點類型的設定,不同類型節(jié)點應保存哪些信息,多叉樹的實現(xiàn)方式 2.實現(xiàn)輔助函數(shù),完成節(jié)點創(chuàng)建、樹創(chuàng)建等功能 3.利用輔助函數(shù),修改上下文無關(guān)文法,設計翻譯模式 4.修改Yacc程序,實現(xiàn)能構(gòu)造語法樹的分析器 考慮符號表處理的擴充 1.完成語法分析后,符號表項應增加哪些標識符的屬性,保存語法分析的結(jié)果 2.如何擴充符號表數(shù)據(jù)結(jié)構(gòu),Yacc程序如何與Lex程序交互,正確填寫符號表項 以一個簡單的C源程序驗證你的語法分析器,可以文本方式輸出語法樹結(jié)構(gòu),以節(jié)點編號輸出父子關(guān)系,來驗證分析器的正確性,如下例: main() { int a, b; if (a == 0) a = b + 1; } 可能的輸出為: 0 : Type Specifier, integer, Children: 1 : ID Declaration, symbol: a Children: 2 : ID Declaration, symbol: b Children: 3 : Var Declaration, Children: 0 1 2 4 : ID Declaration, symbol: a Children: 5 : Const Declaration, value:0, Children: 6 : Expr, op: ==, Children: 4 5 7 : ID Declaration, symbol: a Children: 8 : ID Declaration, symbol: b Children: 9 : Const Declaration, value:1, Children: 10: Expr, op: +, Children: 8 9 11: Expr, op: =, Children: 7 10 12: if statement, Children: 6 11 13: compound statement, Children: 3 12

資源截圖

代碼片段和文件信息

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-02-17?20:20??語法分析\
?????文件?????3943445??2016-12-06?22:47??語法分析\CPlus.zip
?????文件?????????850??2016-12-18?23:56??語法分析\ex.txt
?????文件????????4556??2016-12-07?20:01??語法分析\mylexer.l
?????文件???????14715??2016-12-06?22:53??語法分析\myparser.y

評論

共有 條評論