网站开发外包计入什么科目,ps网站首页设计,建设信用卡商城网站,网络优化策划书词法分析实验报告(C).词法分析实验报告一、实验目的1. 掌握词法分析的原理。2. 熟悉保留字表等相关的数据结构与单词的分类方法。3. 掌握词法分析器的设计与调试。二、实验内容根据编译中的分词原理,用C语言编写一个C语言的词法分析程序:.三、实验要求1. 输入:任意一个C语言程序…词法分析实验报告(C).词法分析实验报告一、实验目的1. 掌握词法分析的原理。2. 熟悉保留字表等相关的数据结构与单词的分类方法。3. 掌握词法分析器的设计与调试。二、实验内容根据编译中的分词原理,用C语言编写一个C语言的词法分析程序:.三、实验要求1. 输入:任意一个C语言程序的源代码。2. 处理:对输入进行分析,分离出保留字、标识符、常量、算符和界符。3. 输出:对应的二元式四、实验环境Windows XP Professional SP3Visual Studio 2010五、关键代码// Scanner.cpp#include stdafx.h#include CuteC.h#include Scanner.h#include CuteCView.hint CScanner::m_constListIndex0;int CScanner::g_place0;// CScannerIMPLEMENT_DYNAMIC(CScanner, CWnd)CScanner::CScanner(){}CScanner::CScanner(CString str){//初始化保留字reservedWords[0].strLvoid;reservedWords[0].toktokentype::_VOID;reservedWords[1].strLchar;reservedWords[1].toktokentype::CHAR;reservedWords[2].strLconst;reservedWords[2].toktokentype::_CONST;reservedWords[3].strLdouble;reservedWords[3].toktokentype::DOUBLE;reservedWords[4].strLelse;reservedWords[4].toktokentype::ELSE;reservedWords[5].strLfloat;reservedWords[5].toktokentype::FLOAT;reservedWords[6].strLfor;reservedWords[6].toktokentype::FOR;reservedWords[7].strLif;reservedWords[7].toktokentype::IF;reservedWords[8].strLint;reservedWords[8].toktokentype::INT;reservedWords[9].strLmain;reservedWords[9].toktokentype::MAIN;reservedWords[10].strLscanf;reservedWords[10].toktokentype::SCANF;reservedWords[11].strLprintf;reservedWords[11].toktokentype::PRINTF;reservedWords[12].strLwhile;reservedWords[12].toktokentype::WHILE;m_errorFALSE;m_strTextstr;m_nLengthm_strText.GetLength();m_cCharm_strText.GetBuffer(m_nLength);//数组化字符串m_nCount0;m_row1;m_col0;}CScanner::~CScanner(){}BEGIN_MESSAGE_MAP(CScanner, CWnd)END_MESSAGE_MAP()// 检查标识符是不是保留字是就返回保留字类型CScanner::tokentype CScanner::reservedlookup(CString str){for(int i0;i13;i){if(strreservedWords[i].str)return reservedWords[i].tok;}return tokentype::ID;}// 取下一个字符wchar_t CScanner::getnextchar(void){if(m_nCountm_nLength){m_nCount;return ;}