资源简介

这是用递归下降方法进行语法分析的一个程序,用于课程设计,代码规模很可观了,费了很多时间才弄出来。

资源截图

代码片段和文件信息

#include 
#include “dgxj.h“
#include 
/********** 调用的函数原型 ************/
char temp_char[20];
static TokenType nexttoken;

static TreeNode * program(void); 
 
static TreeNode * programHead(void);

static TreeNode * declarePart(void);

static TreeNode * typeDec(void);

static TreeNode * typeDeclaration(void);

static TreeNode * typeDecList(void);

static TreeNode * typeDecMore(void);

static void  typeId(TreeNode * t);

static void  typeDef(TreeNode * t);

static void  baseType(TreeNode * t);

static void  structureType(TreeNode * t);

static void  arrayType(TreeNode * t);

static void  recType(TreeNode * t);

static TreeNode * fieldDecList(void);
 
static TreeNode * fieldDecMore(void);

static void  idList(TreeNode * t);

static void  idMore(TreeNode * t);
//////////////////////////////////变量声明
static TreeNode * varDec(void);

static TreeNode * varDeclaration(void);

static TreeNode * varDecList(void);

static TreeNode * varDecMore(void);

static void  varIdList(TreeNode * t);

static void  varIdMore(TreeNode * t);

static TreeNode * procDec(void);

static TreeNode * procDeclaration(void);

static void  paramList(TreeNode * t);

static TreeNode * paramDecList(void);

static TreeNode * param(void);

static TreeNode * paramMore(void);

static void  formList(TreeNode * t);

static void  fidMore(TreeNode * t);

static TreeNode * procDecPart(void);

static TreeNode * procBody(void);
////////////////////////////////////////////
static TreeNode * programBody(void);

static TreeNode * stmList(void);

static TreeNode * stmMore(void);

static TreeNode * stm(void);

static TreeNode * assCall(void);

static TreeNode * assignmentRest(void);

static TreeNode * conditionalStm(void);

static TreeNode * loopStm(void);

static TreeNode * inputStm(void);

static TreeNode * outputStm(void);

static TreeNode * returnStm(void);

static TreeNode * callStmRest(void);

static TreeNode * actParamList(void);

static TreeNode * actParamMore(void);

static TreeNode * exp(void); /* 处理表达式函数 */

static TreeNode * simple_exp(void); /* 处理简单表达式函数 */

static TreeNode * term(void); /* 处理项函数 */

static TreeNode * factor(void); /* 处理因子函数 */

static TreeNode * variable(void);

static void variMore(TreeNode * t);

static TreeNode * fieldvar(void);

static void fieldvarMore(TreeNode * t );
///////////打印部分/////////////////////////////////////
static void treePrint(TreeNode *t);

static void headPrint(TreeNode *t);

static void typePrint(TreeNode * tint k);//类型声明输出

static void varPrint(TreeNode *tint k);

static void varDecPrint(TreeNode *tint k);

static void procPrint(TreeNode *tint k);

static void procDecPrint(TreeNode *tint k);

static void BodyPrint(TreeNode *tint k);

static void BodySubPrint(TreeNode *tint k);

static void  printzs(TreeNode  *tree);
//从TOKEN表中得到一个单元,分别为行号,LEXSEM
void treePrint(TreeNode *t){
p

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        311  2009-04-14 19:32  SNL递归下降语法分析\c1.txt

     文件        351  2009-04-12 12:08  SNL递归下降语法分析\c2.txt

     文件        449  2009-04-14 19:15  SNL递归下降语法分析\c4.txt

     文件        616  2002-11-12 00:00  SNL递归下降语法分析\c5.txt

     文件        416  2002-11-12 00:00  SNL递归下降语法分析\c6.txt

     文件        519  2002-11-12 00:00  SNL递归下降语法分析\c7.txt

     文件        557  2002-11-12 00:00  SNL递归下降语法分析\c8.txt

     文件      71723  2009-04-14 20:46  SNL递归下降语法分析\Debug\dgxj.obj

     文件       6981  2009-04-14 20:48  SNL递归下降语法分析\Debug\main.obj

     文件      25833  2009-04-10 22:51  SNL递归下降语法分析\Debug\scanner.obj

     文件      66560  2009-04-14 20:50  SNL递归下降语法分析\Debug\vc60.idb

     文件      53248  2009-04-14 20:48  SNL递归下降语法分析\Debug\vc60.pdb

     文件     217163  2009-04-14 20:48  SNL递归下降语法分析\Debug\编译实验.exe

     文件     228864  2009-04-14 20:48  SNL递归下降语法分析\Debug\编译实验.ilk

     文件      43520  2009-04-12 09:55  SNL递归下降语法分析\Debug\编译实验.opt

     文件     242456  2009-04-14 20:46  SNL递归下降语法分析\Debug\编译实验.pch

     文件     549888  2009-04-14 20:48  SNL递归下降语法分析\Debug\编译实验.pdb

     文件      25998  2009-04-14 20:46  SNL递归下降语法分析\dgxj.cpp

     文件       2305  2009-04-14 20:46  SNL递归下降语法分析\dgxj.h

     文件        251  2002-05-18 00:00  SNL递归下降语法分析\easy.txt

     文件        564  2002-05-18 00:00  SNL递归下降语法分析\exp.txt

     文件       1896  2009-04-14 20:48  SNL递归下降语法分析\main.cpp

     文件        121  2002-08-20 00:00  SNL递归下降语法分析\scan.txt

     文件      22523  2009-04-10 22:46  SNL递归下降语法分析\scanner.cpp

     文件       2092  2009-04-10 22:30  SNL递归下降语法分析\scanner.h

     文件        547  2002-05-09 00:00  SNL递归下降语法分析\sd1.txt

     文件        311  2002-11-12 00:00  SNL递归下降语法分析\SNL语言例子\一般例子\c1.txt

     文件        355  2002-11-12 00:00  SNL递归下降语法分析\SNL语言例子\一般例子\c2.txt

     文件        447  2002-11-12 00:00  SNL递归下降语法分析\SNL语言例子\一般例子\c4.txt

     文件        616  2002-11-12 00:00  SNL递归下降语法分析\SNL语言例子\一般例子\c5.txt

............此处省略31个文件信息

评论

共有 条评论