BeginEnd -1 0 0 -1 0 0 0 0 0 begin 0 0 2 -1 -1 0 0 0 -1 1 0 0 0 0 Statement 0 0 0 0 0 0 0 ; 0 0 0 0 0 0 0 0 0 end 0 0 IfThenElse -1 0 0 -1 0 0 0 0 0 if 0 0 1 0 0 0 0 Expression 0 0 0 0 0 0 0 then 0 0 1 0 0 0 0 Statement 0 0 2 -1 0 0 0 0 -1 0 0 0 0 0 else 0 0 1 0 0 0 0 Statement 0 0 0 0 WhileDo -1 0 0 -1 0 0 0 0 0 while 0 0 1 0 0 0 0 Expression 0 0 0 0 0 0 0 do 0 0 1 0 0 0 0 Statement 0 0 RepeatUntil -1 0 0 -1 0 0 0 0 0 repeat 0 0 1 0 0 0 0 Statement 0 0 0 0 0 0 0 until 0 0 1 0 0 0 0 Expression 0 0 ForToDo -1 0 0 -1 0 0 0 0 0 for 0 0 1 0 0 0 0 VariableReference 0 0 0 0 0 0 0 := 0 0 1 0 0 0 0 Expression 0 0 0 0 0 0 0 to 0 0 1 0 0 0 0 Expression 0 0 0 0 0 0 0 do 0 0 1 0 0 0 0 Statement 0 0 WithDo -1 0 0 -1 0 0 0 0 0 with 0 0 1 0 0 0 0 VariableReference 0 0 0 0 0 0 0 do 0 0 1 0 0 0 0 Statement 0 0 CaseOf -1 0 0 -1 0 0 0 0 0 case 0 0 1 0 0 0 0 Expression 0 0 0 0 0 0 0 of 0 0 1 -1 -1 0 0 CaseOfState 0 0 2 -1 0 0 0 0 -1 0 0 0 0 0 else 0 0 1 0 0 0 0 Statement 0 0 0 0 0 0 0 ; 0 0 0 0 0 0 0 0 0 end 0 0 Assignment -1 0 0 -1 1 0 0 0 0 VariableReference 0 0 0 0 0 0 0 := 0 0 1 0 0 0 0 Expression 0 0 Statement -1 0 1 0 1 0 0 0 0 BeginEnd 0 0 1 0 0 0 0 IfThenElse 0 0 1 0 0 0 0 WhileDo 0 0 1 0 0 0 0 RepeatUntil 0 0 1 0 0 0 0 ForToDo 0 0 1 0 0 0 0 ForInDo 0 0 1 0 0 0 0 WithDo 0 0 1 0 0 0 0 CaseOf 0 0 1 0 0 0 0 Assignment 0 0 1 0 0 0 0 FunctionCall 0 0 Expression -1 0 0 0 1 0 0 0 0 Term 0 0 VariableReference 0 0 0 0 1 0 0 0 0 Identifier -1 1 Program -1 0 0 -1 2 -1 0 0 0 0 -1 0 0 0 0 0 program 0 0 1 0 0 0 0 ProgramName 0 0 0 0 0 0 0 ; 0 0 0 0 1 -1 0 0 0 Uses 0 0 1 0 0 0 0 DeclarationBlock 0 0 0 0 0 0 0 . 0 0 Uses 0 0 0 -1 0 0 0 0 0 uses 0 0 1 0 0 0 0 UnitReference 0 0 2 -1 -1 0 0 0 -1 0 0 0 0 0 , 0 0 1 0 0 0 0 UnitReference 0 0 0 0 0 0 0 0 0 ; 0 0 UnitName 0 0 0 0 1 0 0 0 0 Identifier 0 0 Function -1 0 0 -1 0 0 0 0 0 function 0 0 1 0 0 0 0 FunctionName 0 0 1 -1 0 0 0 FunctionParameters 0 0 0 0 0 0 0 : 0 0 1 0 0 0 0 TypeReference 0 0 0 0 0 0 0 ; 0 0 1 0 0 0 0 DeclarationBlock 0 0 0 0 0 0 0 ; 0 0 Identifier 0 1 0 0 1 0 0 0 0 Letter 0 0 2 -1 -1 0 0 1 0 1 0 0 0 0 Letter 0 0 1 0 0 0 0 Digit 0 0 0 0 0 0 0 _ 0 0 0 0 VariableSection 0 0 0 -1 0 0 0 0 0 var 0 0 1 -1 -1 0 0 VariableDefinition 0 0 FunctionParameters 0 0 0 -1 0 0 0 0 0 ( 0 0 1 0 0 0 0 FunctionParameter 0 0 2 -1 -1 0 0 0 -1 0 0 0 0 0 ; 0 0 1 0 0 0 0 FunctionParameter 0 0 0 0 0 0 0 0 0 ) 0 0 FunctionParameter 0 0 0 -1 1 0 0 0 0 ParameterName 0 0 0 0 0 0 0 : 0 0 1 0 0 0 0 TypeReference 0 0 VariableDefinition 0 0 0 -1 1 0 0 0 0 VariableName 0 0 0 0 0 0 0 : 0 0 1 0 0 0 0 TypeReference 0 0 0 0 0 0 0 ; 0 0 TypeReference 0 0 0 0 1 0 0 0 0 Identifier -1 1 VariableName 0 0 0 0 1 0 0 0 0 Identifier -1 0 Unit -1 0 0 -1 0 0 0 0 0 unit 0 0 1 0 0 0 0 UnitName 0 0 0 0 0 0 0 ; 0 0 0 0 0 0 0 interface 0 0 1 -1 0 0 0 Uses 0 0 0 0 0 0 0 implementation 0 0 1 0 0 0 0 UnitInitialization 0 0 1 0 0 0 0 UnitFinalization 0 0 0 0 0 0 0 end. 0 0 UnitReference 0 0 0 0 1 0 0 0 0 Identifier 0 0 ForInDo -1 0 0 -1 0 0 0 0 0 for 0 0 1 0 0 0 0 VariableReference 0 0 0 0 0 0 0 in 0 0 1 0 0 0 0 Expression 0 0 0 0 0 0 0 do 0 0 1 0 0 0 0 Statement 0 0 TypeRecord -1 0 0 -1 0 0 0 0 0 record 0 0 0 0 0 0 0 end 0 0 2 -1 -1 0 0 0 0 1 0 0 0 0 VariableName 0 0 0 0 0 0 0 : 0 0 1 0 0 0 0 TypeReference 0 0 0 0 0 0 0 ; 0 0 0 0 ProgramName 0 0 0 0 1 0 0 0 0 Identifier 0 0 FunctionName 0 0 0 0 1 0 0 0 0 Identifier -1 0 Digit 0 1 1 0 3 0 0 0 0 0 9 0 0 Sign 0 1 1 0 0 0 0 0 0 + 0 0 0 0 0 0 0 - 0 0 UnsignedDigitSequence 0 1 0 0 1 0 0 0 0 Digit 0 0 1 -1 -1 0 0 Digit 0 0 DigitSequence 0 1 0 0 1 -1 0 0 0 Sign 0 0 1 0 0 0 0 UnsignedDigitSequence 0 0 RealNumber 0 1 0 0 1 0 0 0 0 DigitSequence 0 0 0 0 0 0 0 . 0 0 1 0 0 0 0 UnsignedDigitSequence 0 0 IntegerNumber 0 1 0 0 1 0 0 0 0 DigitSequence 0 0 Number 0 0 1 0 1 0 0 0 0 IntegerNumber 0 0 1 0 0 0 0 RealNumber 0 0 Letter 0 1 1 0 3 0 0 0 0 a z 0 0 3 0 0 0 0 A Z 0 0 ConstantSection 0 0 0 -1 0 0 0 0 0 const 0 0 1 -1 -1 0 0 ConstantDefinition 0 0 Declaration 0 0 1 0 1 0 0 0 0 VariableSection 0 0 1 0 0 0 0 ConstantSection 0 0 1 0 0 0 0 TypeSection 0 0 TypeSection 0 0 0 -1 0 0 0 0 0 type 0 0 1 -1 -1 0 0 TypeDefinition 0 0 DeclarationBlock 0 0 0 -1 1 -1 -1 0 0 Declaration 0 0 1 0 0 0 0 BeginEnd 0 0 ConstantName 0 0 0 0 1 0 0 0 0 Identifier -1 0 Term -1 0 0 -1 1 0 0 0 0 Factor 0 0 2 -1 -1 0 0 0 -1 1 0 0 0 0 Operator 0 0 1 0 0 0 0 Factor 0 0 0 0 Factor 0 0 1 0 1 0 0 0 0 VariableReference 0 0 1 0 0 0 0 ConstantReference 0 0 2 0 0 0 0 0 -1 0 0 0 0 0 ( 0 0 1 0 0 0 0 Expression 0 0 0 0 0 0 0 ) 0 0 0 0 1 0 0 0 0 Number 0 0 1 0 0 0 0 String 0 0 Operator 0 1 1 0 0 0 0 0 0 < 0 0 0 0 0 0 0 > 0 0 0 0 0 0 0 <= 0 0 0 0 0 0 0 >= 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 <> 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 / 0 0 0 0 0 0 0 * 0 0 0 0 0 0 0 div 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 and 0 0 0 0 0 0 0 or 0 0 0 0 0 0 0 xor 0 0 0 0 0 0 0 shl 0 0 0 0 0 0 0 shr 0 0 0 0 0 0 0 in 0 0 0 0 0 0 0 as 0 0 ConstantReference 0 0 0 0 1 0 0 0 0 Identifier -1 1 String 0 1 0 0 0 0 0 0 0 ' 0 0 1 -1 -1 0 0 StringCharacter 0 0 0 0 0 0 0 ' 0 0 StringCharacter 0 1 1 0 0 0 0 -1 0 ' 0 0 0 0 0 0 0 '' 0 0 ParameterName 0 0 0 0 1 0 0 0 0 Identifier 0 0 Comment1 0 0 0 0 0 0 0 0 0 { 0 0 0 -1 -1 -1 0 } 0 0 0 0 0 0 0 } 0 0 Comment2 0 0 0 0 0 0 0 0 0 (* 0 0 0 -1 -1 -1 0 *) 0 0 0 0 0 0 0 *) 0 0 CommentLine 0 0 0 0 0 0 0 0 0 // 0 0 0 -1 -1 -1 -1 \r\n 0 0 CompilerDirective 0 0 0 0 0 0 0 0 0 {$ 0 0 1 0 0 0 0 Identifier 0 0 0 0 0 0 0 } 0 0 UnitInitialization 0 0 0 -1 0 0 0 0 0 initialization 0 0 1 -1 -1 0 0 Statement 0 0 UnitFinalization 0 0 0 -1 0 0 0 0 0 finalization 0 0 1 -1 -1 0 0 Statement 0 0 TypeDefinition 0 0 0 -1 1 0 0 0 0 TypeName 0 0 0 0 0 0 0 = 0 0 1 0 0 0 0 Type 0 0 0 0 0 0 0 ; 0 0 ConstantDefinition 0 0 0 -1 1 0 0 0 0 ConstantName 0 0 0 0 0 0 0 : 0 0 1 0 0 0 0 TypeReference 0 0 0 0 0 0 0 = 0 0 1 0 0 0 0 ConstantReference 0 0 0 0 0 0 0 ; 0 0 Procedure -1 0 0 -1 0 0 0 0 0 procedure 0 0 1 0 0 0 0 FunctionName 0 0 1 -1 0 0 0 FunctionParameters 0 0 0 0 0 0 0 ; 0 0 1 0 0 0 0 DeclarationBlock 0 0 0 0 0 0 0 ; 0 0 CaseOfState 0 0 0 -1 1 0 0 0 0 Identifier 0 0 0 0 0 0 0 : 0 0 1 0 0 0 0 Statement 0 0 0 0 0 0 0 ; 0 0 WhiteSpace 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 \r 0 0 0 0 0 0 -1 \n 0 0 0 0 0 0 -1 \t 0 0 WhiteSpaces 0 1 0 0 1 -1 -1 0 0 WhiteSpace 0 0 Range 0 0 0 -1 1 0 0 0 0 Number 0 0 0 0 0 0 0 .. 0 0 1 0 0 0 0 Number 0 0 TypeArray 0 0 0 -1 0 0 0 0 0 array 0 0 2 -1 0 0 0 0 -1 0 0 0 0 0 [ 0 0 1 0 0 0 0 Range 0 0 0 0 0 0 0 ] 0 0 0 0 0 0 0 0 0 of 0 0 1 0 0 0 0 TypeReference 0 0 0 0 0 0 0 ; 0 0 TypeSet 0 0 0 -1 0 0 0 0 0 set 0 0 0 0 0 0 0 of 0 0 1 0 0 0 0 TypeReference 0 0 TypeEnumeration 0 0 0 -1 0 0 0 0 0 ( 0 0 1 0 0 0 0 IdentifierList 0 0 0 0 0 0 0 ) 0 0 IdentifierList 0 0 0 -1 1 0 0 0 0 Identifier 0 0 2 -1 -1 0 0 0 -1 0 0 0 0 0 , 0 0 1 0 0 0 0 Identifier 0 0 0 0 Type 0 0 1 0 1 0 0 0 0 TypeArray 0 0 1 0 0 0 0 TypeEnumeration 0 0 1 0 0 0 0 TypeRecord 0 0 1 0 0 0 0 TypeReference 0 0 1 0 0 0 0 TypeSet 0 0 1 0 0 0 0 TypePointer 0 0 TypePointer 0 0 0 0 0 0 0 0 0 ^ 0 0 1 0 0 0 0 TypeReference 0 0 HexNumber 0 1 0 0 0 0 0 0 0 $ 0 0 1 0 0 0 0 UnsignedDigitSequence 0 0 FunctionCall 0 0 0 -1 1 0 0 0 0 Identifier -1 1 1 -1 0 0 0 FunctionCallParameters 0 0 FunctionCallParameters 0 0 0 -1 0 0 0 0 0 ( 0 0 1 0 0 0 0 Expression 0 0 2 -1 -1 0 0 0 -1 0 0 0 0 0 , 0 0 1 0 0 0 0 Expression 0 0 0 0 0 0 0 0 0 ) 0 0 TypeName 0 0 0 0 1 0 0 0 0 Identifier -1 0 Variable Constant Function Type Program WhiteSpace