小语言装修工具_第1页
小语言装修工具_第2页
小语言装修工具_第3页
小语言装修工具_第4页
小语言装修工具_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

小语言装修工具篇一:构造一个小语言的文法

::=.

::=|||||||

::=:=

::=IFTHEN

::=WHILEDO

::=CALL::=READ’(‘’)’

::=WRITE’(‘’)’

::=BEGIN{;语句}END

::=|ODD

::=+|-|::=*|/|

::=||’(‘’)’

::={}

::={}

::==|#||>=

::=a|b|c|d|…|x|y|z

::=0|1|2|3|4|5|6|7|8|9

关键字(keyword):BEGIN、END、WHILE、DO、READ、WRITE、IF、THEN、CALL、ODD标识符(identification):除关键字外的用来表示各种名字且由小写字母组成的,如name、count常数(constant):无符号整数

算数运算符(arithmeticsign):+、-、*、/、:=

关系运算符(relationsign):=、>、=、分隔符(breaksign):,;()

第一次修改时间:2022-3-1314:11

复制代码

#include#include

#include

charprog[100],word[10];

charch;

intsign,sum,i,j,p;

char*keyword[10]={"begin","end","while","do","read","write","if","then","call","odd"};

char

*output_menu1[]={"begin","end","while","do","read","write","if","then","call","odd","+","-","*","/",";=","=",">","=","//keywordidentification

for(i=0;iword[i]=NULL;

j=0;

ch=prog[p++];

while(ch==''||ch==10)ch=prog[p++];

if((ch='a'))

{

while((ch='a'))

{

word[j++]=ch;

ch=prog[p++];

}

word[j++]='\0';

ch=prog[--p];

sign=26;

for(i=0;i{

if(strcmp(word,keyword[i])==0)

{

sign=i+1;break;

}

}

}

//constant

else

{

if(ch='0')

{

sum=0;

while(ch='0')

{

sum=sum*10+ch-'0';

ch=prog[p++];

}

ch=prog[--p];

sign=27;

}

//sign

else

{

switch(ch)

{

case':':j=0;

word[j++]=ch;

ch=prog[p++];

if(ch=='=')

{

sign=15;

word[j++]=ch;}

else

{

sign=16;

ch=prog[--p];}

break;

case'>':

word[j++]=ch;

ch=prog[p++];

if(ch=='=')

{

sign=19;

word[j++]=ch;}

else

{

sign=17;

ch=prog[--p];}

break;

case'word[j++]=ch;

ch=prog[p++];

if(ch=='=')

{

sign=20;

word[j++]=ch;}

else

{

sign=18;

ch=prog[--p];

}

break;

case'+':sign=11;word[0]=ch;break;case'-':sign=12;word[0]=ch;break;case'*':sign=13;word[0]=ch;break;case'/':sign=14;word[0]=ch;break;case'#':sign=21;word[0]=ch;break;case',':sign=22;word[0]=ch;break;case';':sign=23;word[0]=ch;break;case'(':sign=24;word[0]=ch;break;case')':sign=25;word[0]=ch;break;case'.':sign=28;word[0]=ch;break;default:sign=-1;

}

}

}

}

intmain()

{

for(intj=0;j{

printf("%5s%5d\n",output_menu1[j],j+1);}

p=0;

printf("inputyourprogram:\n");

do

{

ch=getchar();

prog[p++]=ch;

}while(ch!='.');

p=0;

printf("yourform:\n");

do

{

alpha();

switch(sign)

{

case-1:printf("!!!\n");break;

case27:printf("(%3d,%5d)\n",sign,sum);break;default:printf("(%3d,%5s)\n",sign,word);}

}while(sign!=28);

system("pause");

return0;

}

篇二:小语言

2,能冲刷一切的除了眼泪,就是时间,以时间来推移感情,时间越长,冲突越淡,仿佛不断稀释的茶。

3,怨言是上天得至人类最大的供物,也是人类祷告中最真诚的局部。

4,智慧的代价是矛盾。这是人生对人生观开的玩笑。

5,世上的姑娘总以为自己是骄傲的公主(除了少数极丑和少数极聪明的姑娘例外)

6,假设敌人让你生气,那说明你还没有胜他的把握。

7,假设朋友让你生气,那说明你仍然在意他的友谊。

8,令狐冲说“有些事情本身我们无法控制,只好控制自己。〞

9,我不知道我如今做的哪些是对的,那些是错的,而当我终于老死的时候我才知道这些。所以我如今所能做的就是尽力做好每一件事,然后等待着老死。

10,也许有些人很可恶,有些人很卑劣。而当我设身为他想象的时候,我才知道:他比我还可怜。所以请原谅所有你见过的人,好人或者坏人。

11,鱼对水说你看不到我的眼泪,因为我在水里。水说我能感觉到你的眼泪,因为你在我心里。12,快乐要有悲伤作陪,雨过应该就有天晴。假设雨后还是雨,假设忧伤之后还是忧伤。请让我们沉着面对这离别之后的离别。微笑地去寻找一个不可能出现的你!

13,死亡教会人一切,如同考试之后公布的结果――虽然恍然大悟,但为时晚矣~!

14,你出生的时候,你哭着,周围的人笑着;你逝去的时候,你笑着,而周围的人在哭!一切都是轮回!!!!我们都在轮回中!!!

大家好!!!!

篇三:小语言

1.忙不完的是工作,流不的是时间,放不下的是牵挂,萦绕在心的是关心!不期而至的祝福:

愿朋友开心每一天。

2.问候是滋润友谊的甘露,抚慰是惺惺相惜的源泉,鼓励是关心心灵的美酒,宽容是心连心化成的彩虹。让温馨的问候萦绕你,让最美的祝福陪伴你!

3.送一份美丽让你周末心情好,送一份关心让你很骄傲,送一份青春让你永不老,送一份清风伴你睡午觉,送一份友谊不需你回报,送一份平安陪你直到老!

4.雨不能乱下,风不能乱挂,树不能乱砍,钱不能乱花,话不能乱讲,情不能乱给,

彩信不能乱发,夏天祝福我不给他也不给她,只送给你了呵呵。

5.其实人和其它动物是多么相像,假设没有觉悟的心,提升自己的智慧,人只是动物呀!人在睡觉时,没有觉悟的心,和一条睡觉的狗没有什么两样!人在吃饭时没有觉悟的心,和一只吃饭的老鼠没有什么两样。人在生命中张皇奔波,只顾衣食欲望而没有觉悟之心,和蟑螂蚊子又有什么两样。每当我自我松懈时我都会提醒自己:要随时随地有警觉的心。

6.修生----让美德更传扬;律己-----让人格更高贵;文明----让社会更和谐;短信----让心灵更温暖;礼仪-----让世界认识中国。

7.不管是否繁忙,有牵挂就好;不管是否

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论