⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 analyze.cs

📁 这是一个用java语言编写的小型C语言的语法分析器。
💻 CS
字号:
using System;
using parserLib;
using analyzeLib;


namespace analyze
{
	/// <summary>
	/// 语义分析,语义分析主要包括两个部分:符号表生成+类型检查
	/// </summary>
	class Analyze
	{
		/// <summary>
		/// 语义分析入口
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
			string tmpfile = args[0];
			if(tmpfile==null)
			{
				System.Console.Out.WriteLine("error in the in_para");
				System.Console.In.Read();
				System.Environment.Exit(0);
			}

			ParserReader pr = new ParserReader(tmpfile);	//这里需要构建parserlib库,引入该库,方能正常运行
			pr.ReadXML();
			TreeNode root = pr.GetRoot();	//得到语法分析树
			SymTable symtable = new SymTable(tmpfile);
			if(root!=null)
				symtable.buildSymtable(root);	//构造符号表
			else
			{
				System.Console.Out.WriteLine("syntax tree error!");
				System.Console.In.Read();
				System.Environment.Exit(0);
			}	

			typeCheck tc = new typeCheck(tmpfile,symtable);
			tc.typeCheckHelp(root);
			return;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -