
// 计算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
<数组变量声明>::=<标识符> ( <下界>: <上界>)
<数组变量引用>::= <标识毕亏符> ( <表达式> )
在实现上的要求
找到应该修改的地方,进行修改和扩充
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)