• 大小: 97KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-07-18
  • 语言: 其他
  • 标签:

资源简介

以计算器危机春,实现编译原理中的词法、语法、语义分析,编写成的词法、语法、语义分析器,用vs2010编写

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 词法分析
{
    class Program
    {

        struct SeqStackn//建立数字栈结构体
        {
            public double[] elem ;
            public int top;
        };
        struct SeqStacks//建立符号栈结构体
        {
            public char[] elem ;
            public int top;
        };

        static void Main(string[] args)
        {
            Lexical();
        }

        void InitStackn(ref SeqStackn S)//初始化空数字栈
        {
            S.top = -1;
        }
        void InitStacks(ref SeqStacks S)//初始化空符号栈
        {
            S.top = -1;
        }

        bool Pushn(ref SeqStackn S double x)//数字栈入栈
        {
            if (S.top == 99)//栈已满
            {
                return false;
            }
            else
            {
                S.top++;
                S.elem[S.top] = x;
                return true;
            }
        }
        bool Pushs(ref SeqStacks S char x)//符号栈入栈
        {
            if (S.top == 99)
            {
                return false;
            }
            else
            {
                S.top++;
                S.elem[S.top] = x;
                return true;
            }
        }

        double Popn(ref SeqStackn S)//数字出栈
        {
            double x;
            if (S.top == -1)
            {
                return 0;
            }
            else
            {
                x = S.elem[S.top];
                S.top--;
                return x;
            }
        }
        char Pops(ref SeqStacks S )//符号出栈
        {
            char x;
            if (S.top == -1)
            {
                return ‘F‘;
            }
            else
            {
                x = S.elem[S.top];
                S.top--;
                return x;
            }
        }

        void ReadChar()//读入字符串
        {
            SeqStackn seqStackn = new SeqStackn();//数字栈定义

            seqStackn.elem = new double[100];

            
            SeqStacks seqStacks = new SeqStacks();//符号栈定义

            seqStacks.elem = new char[100];
            InitStackn(ref seqStackn);//数字栈初始化
            InitStacks(ref seqStacks);//符号栈初始化

            Console.WriteLine(“说明:词法分析\n请输入计算式(例如:5+(3*2-8)):“);
            string formerstring = Console.ReadLine();

            char[] cf = formerstring.ToCharArray();//字符串拆成单个字符

            string c=““;//转换成数字
            
            for (int i = 0; i < cf.Length; i++)
            {
                if ((cf[i] >= ‘0‘ && cf[i] <= ‘9‘)||(seqStackn.top!=-1&&cf[i]==‘.‘))
                {

                    c += cf[i];
                } 
                else if (cf[i] == ‘.‘)
                {
                    for (int j = 0; j < c.Length; j++)
                    {
                        if (c[j] == ‘.‘)
                        {
                            Console.WriteL

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

    .CA....      6656  2011-12-18 22:23  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\bin\Debug\词法分析.exe

    .CA....     17920  2011-12-18 22:23  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\bin\Debug\词法分析.pdb

    .CA....     11600  2011-12-18 22:08  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\bin\Debug\词法分析.vshost.exe

    .CA....       490  2010-03-17 22:39  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\bin\Debug\词法分析.vshost.exe.manifest

    .CA....      5764  2011-12-18 22:23  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

    .CA....      5941  2011-12-17 00:03  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\ResolveAssemblyReference.cache

    .CA....       767  2011-12-18 22:08  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\词法分析.csproj.FileListAbsolute.txt

    .CA....      6656  2011-12-18 22:23  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\词法分析.exe

    .CA....     17920  2011-12-18 22:23  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\obj\x86\Debug\词法分析.pdb

    .CA....      5489  2011-12-18 22:23  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\Program.cs

    .CA....      1380  2011-12-16 19:25  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\Properties\AssemblyInfo.cs

    .CA....      2445  2011-12-16 19:25  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析\词法分析.csproj

    .CA....       878  2011-12-16 19:25  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析.sln

    .CA..H.     15360  2011-12-18 22:24  (编译原理)词法、语法、语义分析(李盼2009119030)\词法分析\词法分析.suo

    .CA....      7680  2011-12-18 22:16  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\bin\Debug\语义分析.exe

    .CA....     19968  2011-12-18 22:16  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\bin\Debug\语义分析.pdb

    .CA....     11600  2011-12-18 22:08  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\bin\Debug\语义分析.vshost.exe

    .CA....       490  2010-03-17 22:39  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\bin\Debug\语义分析.vshost.exe.manifest

    .CA....      5764  2011-12-18 22:16  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

    .CA....      5919  2011-12-18 22:09  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\ResolveAssemblyReference.cache

    .CA....       722  2011-12-18 22:11  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\语义分析.csproj.FileListAbsolute.txt

    .CA....      7680  2011-12-18 22:16  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\语义分析.exe

    .CA....     19968  2011-12-18 22:16  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\obj\x86\Debug\语义分析.pdb

    .CA....      8303  2011-12-18 22:16  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\Program.cs

    .CA....      1380  2011-12-17 13:03  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\Properties\AssemblyInfo.cs

    .CA....      2445  2011-12-17 13:03  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析\语义分析.csproj

    .CA....       878  2011-12-17 13:03  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析.sln

    .CA..H.     15360  2011-12-18 21:57  (编译原理)词法、语法、语义分析(李盼2009119030)\语义分析\语义分析.suo

    .CA....      7168  2011-12-18 22:22  (编译原理)词法、语法、语义分析(李盼2009119030)\语法分析\语法分析\bin\Debug\语法分析.exe

    .CA....     17920  2011-12-18 22:22  (编译原理)词法、语法、语义分析(李盼2009119030)\语法分析\语法分析\bin\Debug\语法分析.pdb

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

评论

共有 条评论

相关资源