0
Im Grunde versuche ich dieses Pascal-Programm über Antlr 4 in Powershell auszuführen.Antlr v4: 'nicht übereinstimmende Eingabe'
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.
Aber ich erhalte den folgenden Fehler in Powershell:
line 8:4 mismatched input 'Writeln' expecting {'END', ';'}
Hier sind die relevanten Teile meiner Grammatikdatei:
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
;
Wie behebe ich diesen Fehler? Vielen Dank.
Weitere Informationen benötigt. Wie führst du es, gib Befehle. – majkinetor
Ich bin mir nicht sicher, das sind die einzigen * relevanten Teile der Grammatik *. Was sagt die Grammatik über eine Reihe von "outputStatement" -Termen? Der Parser scheint ein Problem mit der Anzeige eines zweiten im Eingabestream zu haben. – lurker
Stellen Sie auch volle Grammatik zur Verfügung. – cantSleepNow