Antlr vch: w=10=sh

Antlr v4: 'mismatched input'

基本上,我正在尝试通过 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
    ;

如何修复此错误?谢谢

你在我的机器上编译和运行完美。您是否尝试过使用其他编译器编译它?