PL0语言的PL0程序示例

PL0语言的PL0程序示例,第1张

// 计算m和n的最大公约卖缺帆扮正数

var m, n, r, q

procedure gcd

begin

while r#0 do

begin

q := m / n

r := m - q * n

m := n

n := r

end

end

begin

read(m)

read(n)

// 为了方便,规定m >= n

if m <中雹 n then

begin

r := m

m := n

n := r

end

begin

r:=1

call gcd

write(m)

end

end.

1、分析原来的IF语句的BNF

条件语句>::=IF <条件>THEN <语句>

和扩展后手弊神的IF语句的BNF

<条件语卜含句>::=IF <条件>THEN <语句>[ELSE <语句>]

在原有的程序上把if----then 扩展为if then else(不是改程序里的if then,而是实现能分析if then else,原有的只能分析if then)

2、pl0的一维数组扩充

分析BNF

<数组变量声明>::=<标识符> ( <下界>: <上界>)

<数组变量引用>::= <标识毕亏符> ( <表达式> )

在实现上的要求

找到应该修改的地方,进行修改和扩充


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12320136.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存