启天论坛软件硬件技术.net技术 → 一段C#编的语法分析程序


  共有2469人关注过本帖树形打印

主题:一段C#编的语法分析程序

帅哥哟,离线,有人找我吗?
whjczu
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新兵 帖子:11 积分:136 威望:0 精华:0 注册:2006-7-11 10:25:00
一段C#编的语法分析程序  发帖心情 Post By:2006-7-12 10:45:00



class MainClass
 {
  
  [STAThread]
  static void Main(string[] args)
  {
   string a="";
   string b;
   int i;
   int j;
   int count;
 repeat: Console.Write("请输入您要输入的程序行数:");
   try
   {
    count=Int32.Parse(Console.ReadLine());
   }
   catch
   {
    Console.WriteLine("请输入数值!");
    goto repeat;
   }
            string[] c=new string[count];
            int t=1;
   Console.WriteLine("*********************************************************");
   Console.WriteLine ("该文法只定义了:'if',  'then', 'else', 'end', 'repeat', 'until', 'read','");
   Console.WriteLine ("               'write', '+', '-', '*', '/', '=', '<', '(', ')', ':', ':='");
   Console.WriteLine("请输入:");
   for(j=0;j<=count-1;j++)
   { 
    Console.Write(t.ToString() + ":");
                a=Console.ReadLine();
    c[j]=a;
    t=t+1;
    
   }
         Console.WriteLine("确认您要编译吗??Y/N");
   Console.Write("输入:");
   b=Console.ReadLine();
   string s="";
   int l;
   string m;
   int k;
   string[] word=new string [20]{"if","then","else","end","repeat","until","read","write","+","-","*","/","=","<","(",")",":",":=","{","}"};
   if(b=="Y"||b=="y")
   {
    for(j=0;j<=count-1;j++)
    {
      k=c[j].Length ;
      m=c[j];
    
     for(i=0;i<=19;i++)
     {
                   
      l=j+1;
      
      if(c[j]==word[i] && i<=7)
      {
       
       Console.WriteLine("第"+l+"行"+"'"+c[j]+"'"+"为关键字");
       break;
      }
      else if(c[j]==word[i] && i>7)
      {
       
       Console.WriteLine("第"+l+"行"+"'"+c[j]+"'"+"为字符");
       break;
      }
      else if( k>5 && c[j]=="if"+"("+m[3]+word[i]+m[5]+")"+" "+"then" )
      {
       Console.WriteLine("第"+l+"行"+"'"+"if"+"为关键字");
       Console.WriteLine("第"+l+"行"+"'"+"("+"为符号");
       Console.WriteLine("第"+l+"行"+"'"+word[i]+"为符号");
       Console.WriteLine("第"+l+"行"+"'"+")"+"为符号");
                            Console.WriteLine("第"+l+"行"+"'"+"then"+"为关键字");
       break;

      }
      else if(c[j]=="end"+"if")
      {
                           Console.WriteLine("第"+l+"行"+"'"+"end"+"为关键字");
         Console.WriteLine("第"+l+"行"+"'"+"if"+"为关键字");
       break;
      }

      else if(k>8 && c[j]=="else"+"if"+"("+m[6]+word[i]+m[8]+")"+" "+"then") 
      {
       Console.WriteLine("第"+l+"行"+"'"+"else"+"为关键字");
       Console.WriteLine("第"+l+"行"+"'"+"if"+"为关键字");
       Console.WriteLine("第"+l+"行"+"'"+"("+"为符号");
       Console.WriteLine("第"+l+"行"+"'"+word[i]+"为符号");
       Console.WriteLine("第"+l+"行"+"'"+")"+"为符号");
       Console.WriteLine("第"+l+"行"+"'"+"then"+"为关键字");
       break;
      }
      
      else
      {
       if(i==19)
       {
        Console.WriteLine ("#########第"+l+"行语法错误!##################");
        Console.WriteLine("第"+l+"行"+"'"+c[j]+"'"+"部分不是该文法定义的语法!");
        Console.WriteLine ("###############################################");
        break;
         
       }
      }
    
   }
     
          }
    }
    
   
   Console.WriteLine("*********************************************************");
   Console.WriteLine("是否退出?Y/N");
   Console.Write("输入:");
   s=Console.ReadLine();
   if(s=="y"||s=="Y")
   {
    Console.Write("");
   }
   else
   {
    goto repeat;
   }
  }
 }


启天合组-10人 15人 20人 多人合租空间 支持(0中立(0反对(0回到顶部
帅哥,在线噢!
junsan
  2楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 总掌门
等级:管理员 帖子:11764 积分:7955 威望:757 精华:24 注册:2005-7-14 15:13:00
  发帖心情 Post By:2006-7-12 12:43:00

好久都没玩这些东西了。



主页:http://www.rsky.com.cn

培训论坛:http://www.javastar.org

Blog:http://blog.csdn.net/junnef

技术交流QQ:334620162

培训咨询QQ:66883074

合租咨询QQ:631066985

MSN:junsanjin@hotmail.com

Emial:junsanjin@263.net

传真:(010)950507转747393
启天合组-上海双线 上海电信 南京电信空间 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
whjczu
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新兵 帖子:11 积分:136 威望:0 精华:0 注册:2006-7-11 10:25:00
  发帖心情 Post By:2006-7-13 15:51:00

哈哈!c#也很久没玩了,最近在一家软件公司搞PB呢.

启天合组-10人 15人 20人 多人合租空间 支持(0中立(0反对(0回到顶部
帅哥,在线噢!
junsan
  4楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 总掌门
等级:管理员 帖子:11764 积分:7955 威望:757 精华:24 注册:2005-7-14 15:13:00
  发帖心情 Post By:2006-7-14 9:25:00

现在还有软件公司作pb开发?好久都没看到有这方面的公司了,以前倒是有,我还做过半年的pb呢,感觉开发数据库的应用,真的是超级方便。



主页:http://www.rsky.com.cn

培训论坛:http://www.javastar.org

Blog:http://blog.csdn.net/junnef

技术交流QQ:334620162

培训咨询QQ:66883074

合租咨询QQ:631066985

MSN:junsanjin@hotmail.com

Emial:junsanjin@263.net

传真:(010)950507转747393
启天合组-10人 15人 20人 多人合租空间 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
whjczu
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新兵 帖子:11 积分:136 威望:0 精华:0 注册:2006-7-11 10:25:00
  发帖心情 Post By:2006-7-14 10:44:00

是啊,是我老师的公司

启天合组-上海双线 上海电信 南京电信空间 支持(0中立(0反对(0回到顶部
帅哥,在线噢!
junsan
  6楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 总掌门
等级:管理员 帖子:11764 积分:7955 威望:757 精华:24 注册:2005-7-14 15:13:00
  发帖心情 Post By:2006-7-14 12:34:00

现在大学老师开公司成风呀,还是你们老师比较务实,很多公司都是盲目追求新技术。



主页:http://www.rsky.com.cn

培训论坛:http://www.javastar.org

Blog:http://blog.csdn.net/junnef

技术交流QQ:334620162

培训咨询QQ:66883074

合租咨询QQ:631066985

MSN:junsanjin@hotmail.com

Emial:junsanjin@263.net

传真:(010)950507转747393
启天合组-专业合租空间提供商 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
whjczu
  7楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新兵 帖子:11 积分:136 威望:0 精华:0 注册:2006-7-11 10:25:00
  发帖心情 Post By:2006-7-14 12:42:00

老兄介绍一下你自己吧

启天合组-上海双线 上海电信 南京电信空间 支持(0中立(0反对(0回到顶部
帅哥,在线噢!
junsan
  8楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 总掌门
等级:管理员 帖子:11764 积分:7955 威望:757 精华:24 注册:2005-7-14 15:13:00
  发帖心情 Post By:2006-7-14 12:51:00



主页:http://www.rsky.com.cn

培训论坛:http://www.javastar.org

Blog:http://blog.csdn.net/junnef

技术交流QQ:334620162

培训咨询QQ:66883074

合租咨询QQ:631066985

MSN:junsanjin@hotmail.com

Emial:junsanjin@263.net

传真:(010)950507转747393
启天合组-上海双线 上海电信 南京电信空间 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
whjczu
  9楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新兵 帖子:11 积分:136 威望:0 精华:0 注册:2006-7-11 10:25:00
  发帖心情 Post By:2006-7-14 14:02:00

我也说一下我自己吧,我叫吴海军,还有一年毕业,平常在老师公司跟着他做项目,JAVA我也很喜欢,也学了一点,现在没时间去提高,C#我是学了很久,学得还行,VB,VB.net,C++也会,最近你也知道的在搞PB呢,我的QQ:79282673记得加我奥!


启天合组-10人 15人 20人 多人合租空间 支持(0中立(0反对(0回到顶部
帅哥,在线噢!
junsan
  10楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 总掌门
等级:管理员 帖子:11764 积分:7955 威望:757 精华:24 注册:2005-7-14 15:13:00
  发帖心情 Post By:2006-7-30 15:10:00

我现在也在深入学习.net了,这东西不能不学习一下。


主页:http://www.rsky.com.cn

培训论坛:http://www.javastar.org

Blog:http://blog.csdn.net/junnef

技术交流QQ:334620162

培训咨询QQ:66883074

合租咨询QQ:631066985

MSN:junsanjin@hotmail.com

Emial:junsanjin@263.net

传真:(010)950507转747393
启天合组-10人 15人 20人 多人合租空间 支持(0中立(0反对(0回到顶部
总数 12 1 2 下一页