Pascal:致命的语法错误

时间:2017-03-24 19:02:08

标签: pascal

尝试在Pascal中执行加泰罗尼亚语数字,但会出现致命的语法错误。

错误是:

Fatal: Syntax error, ";" expected but "identifier B" found 
Error: /usr/bin/ppcx64 returned an error exitcode

这是参考代码

program main;

var
 i,buf: integer;

function catalan(num: integer): integer;
var
 sample, returnval : integer;

 function bincoeff(n: integer): integer;
  var
    a,b,retval,numr,denom1,denom2: integer;
    bc : integer;

  function fact(x: integer): integer;
  begin
  // fact exec
  if x=0 then
   fact :=1
  else
   fact := x* fact(x-1);
  end;
 begin
 //bincoeff exec
 a := 2*n
 b := n
 if a==b then
  retval :=1
 else if b>a
  retval :=0
 else
 numr := fact(a)
 denom1 := fact(b)
 denom2 := fact(a-b)
 bc := numr /(denom1*denom2)

 retval := bc 
 end;
begin
// catalan exec
sample :=bincoeff(num)
returnval := (sample/(num+1))
end;


begin

  for i :=0 to 9 do
  begin
   buf := catalan(i)
   writeln(buf)
  end;

end.

1 个答案:

答案 0 :(得分:2)

开始
a := 2*n

直到课程结束,你系统地不使用&#39 ;;'。顺便提一下,编译器会清楚地表明这一事实。

在这种情况下,访问the FreePascal wiki on the topic of the semicolon可能会很有趣,它指出了C和Pascal使用分号(分隔符与终结符)之间的重要区别。必须阅读。