基本上,我正试图通过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
;
如何修复此错误?感谢。
答案 0 :(得分:0)
您的编译并在我的机器中完美运行。您是否尝试使用其他编译器进行编译?