Pl0语言的扩充之for-to语句

本文介绍了如何在Pl0语言中扩展for-to语句的实现过程,包括语句结构、判断与赋值、循环控制等关键步骤,并提供了测试示例及结果。
摘要由CSDN通过智能技术生成

Pl0语言的扩充之for-to语句

扩充内容:
语言成分:for 变量=初值 to 终值 BEGIN 语句系列
扩充步骤:
判断for符号
赋值符号(这一部分可以仿照statement的赋值语句处理)
cx1=cx
与终值比较
cx2=cx
gendo(JPC,0,0)
statementdo翻译语句
变量+=1
gendo(JMP,0,cx1)
code[cx2].a=cx
头文件修改以及关键字部分不在赘述
下面是直接代码修改:

if(sym == forsym)
							{
   
								getsymdo;
								nxtlev[tosym] = true;
								if (sym == ident)   /* 准备按照赋值语句处理 */
	                            {
   
		                           i = position(id, *ptx);
		                           if (i == 0)
	                            	{
   
		                            	error(11);  /* 变量未找到 */
	                               	}
	                            	else
		                            {
   
			                           if(table[i].kind != variable)
			                           {
   
			                               	error(12);  /* 赋值语句格式错误 */
			                               	i =<
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值