基本上,我试图通过Powershell中的Antlr 4运行这个Pascal程序。
PROGRAM AddTwoNumbers;
VAR Num1, Num2, Sum : Integer;
BEGIN
Write('Input number 1:');
Readln(Num1);
Writeln('Input number 2:');
Readln(Num2);
Sum := Num1 + Num2;
Writeln(Sum);
Readln;
END.
然而,我在PowerShell中不断收到以下错误:
line 8:4 mismatched input 'Writeln' expecting {'END', ';'}
以下是我的语法文件的相关部分:
simpleStatement
: assignmentStatement
| procedureStatement
| exitStatement
| gotoStatement
| emptyStatement
| outputStatement
| readKey
;
outputStatement
: ( 'Writeln' | 'Write' ) LPAREN string RPAREN SEMI
input
;
input
: inputStatement
| readKey
;
inputStatement
: 'Readln' ( LPAREN identifier RPAREN )* SEMI
;
readKey
: 'Readkey' SEMI
;
如何修复此错误?谢谢
您的编译和运行在我的机器中非常完美。你试过用另一个编译器编译它吗?