实验一词法分析

实验一词法分析

ID:67638996

大小:126.50 KB

页数:15页

时间:2021-09-15

实验一词法分析_第1页
实验一词法分析_第2页
实验一词法分析_第3页
实验一词法分析_第4页
实验一词法分析_第5页
实验一词法分析_第6页
实验一词法分析_第7页
实验一词法分析_第8页
实验一词法分析_第9页
实验一词法分析_第10页
资源描述:

《实验一词法分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、.-实验一词法分析1.实验要求〔1〕从源程序文件中读取有效字符并将其转换成二元组部表示形式输出。〔2〕掌握词法分析的实现方法。〔3〕实验时间4学时。〔4〕实验完成后,要提交实验报告〔包括源程序清单〕。2.实验容2.1主程序设计考虑:主程序的说明局部为各种表格和变量安排空间〔关键字和特殊符号表〕。id和ci数组分别存放标识符和常数;还有一些为造表填表设置的变量。主程序的工作局部建议设计成便于调试的循环构造。每个循环处理一个单词;调用词法分析过程;输出每个单词的部码〔种别编码,属性值〕。建议从文件中读取要分析的符号串。2.2词法分析过程考虑该过程根据输入单词的第一个有效字符〔有时还

2、需读第二个字符〕,判断单词种别,产生种别编码。对于标识符和常数,需分别与标识符表和常数表中已登记的元素相比拟,如表中已有该元素,那么记录其在表中的位置,如未出现过,将标识符按顺序填入数组id中,将常数存入数组中ci中,并记录其在表中的位置。编号12345678910名字intcharfloatvoidconstifelsedowhilescanf编号11121314151617181920名字printfreturnmainread+–*/%=编号21222324252627282930名字==><!=>=<=&&

3、

4、!<>编号31323334353637383940名字(){

5、};,“‘++--三:主流程图如下:.可修编..-四:实验思路(1)我首先把这个单词的种类分成了五类,包括:关键字、标识符、常数、算符、界符。然后利用状态转换图进展单词的识别(2).可修编..-对于关键字、算符、界符。因为这些单词的个数有限。所以我单独给每个单词一个种别编码。能够做到每个单词的种别编码是不一样的。而对于常数和标识符,我先把它们分别单独的作为一类,然后定义一个二维数组,分别存放这个单词的名称和编码。而这个编码就是这个单词在这个二维数组中的位置;当遇到新的标识符或常数,就把这个单词放入到相应的数组中。(1)然后构造一个状态转换图的程序。把每次得到的单词先暂时存放在t

6、emp二维数组中。然后用这个临时的二维数组去确定这个单词是何种类别五:实验代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceWord{publicpartialclassForm1:Form{publicForm1(){

7、InitializeComponent();}char[]receive;//从输入得到的源程序charch;//这是从源程序读取的一个字符stringcache;//暂存的单词intindex;//记录取到哪个位置了key_wordtemp;//用降临时存放得到这个单词structkey_word{publicstringkey_name;publicintnumber;}structnum_word{publicstringnum_name;publicintnumber;}structID_word{.可修编..-publicstringID_name;publicint

8、number;}publicintnum_index;publicintID_index;DataTabledt;privatevoidbutton1_Click(objectsender,EventArgse){dt=newDataTable();dt.Columns.Add("助记符");dt.Columns.Add("外部编码");dt.Columns.Add("部编码");dt.Columns.Add("类型");receive=textBox1.Text.ToCharArray();index=0;num_index=0;ID_index=0;;while(index

9、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。