Parse Tree: 0> program 1> function_declaration: add 2> defining_identifier: add 2> parameter_list 3> parameter_specification: x 4> defining_identifier: x 4> type_name: integer 3> parameter_specification: y 4> defining_identifier: y 4> type_name: integer 2> type_name: integer 2> declarations 2> sequence_of_statements 3> statement 4> simple_statement 5> return_statement of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression: + of type integer 9> term of type integer 10> factor of type integer 11> primary: id of type integer 12> name: x of type integer 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: id of type integer 13> name: y of type integer 1> function_declaration: add2 2> defining_identifier: add2 2> parameter_list 3> parameter_specification: x 4> defining_identifier: x 4> type_name: integer 3> parameter_specification: y 4> defining_identifier: y 4> type_name: integer 2> type_name: integer 2> declarations 2> sequence_of_statements 3> statement 4> simple_statement 5> return_statement of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression: + of type integer 9> term of type integer 10> factor of type integer 11> primary: function of type integer 12> function_call: add of type integer 13> expression of type integer 14> relation of type integer 15> simple_expression of type integer 16> term of type integer 17> factor of type integer 18> primary: id of type integer 19> name: x of type integer 13> expression of type integer 14> relation of type integer 15> simple_expression of type integer 16> term of type integer 17> factor of type integer 18> primary: id of type integer 19> name: y of type integer 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: function of type integer 13> function_call: add of type integer 14> expression of type integer 15> relation of type integer 16> simple_expression of type integer 17> term of type integer 18> factor of type integer 19> primary: id of type integer 20> name: x of type integer 14> expression of type integer 15> relation of type integer 16> simple_expression of type integer 17> term of type integer 18> factor of type integer 19> primary: id of type integer 20> name: y of type integer 1> function_declaration: even 2> defining_identifier: even 2> parameter_list 3> parameter_specification: x 4> defining_identifier: x 4> type_name: integer 2> type_name: integer 2> declarations 2> sequence_of_statements 3> statement 4> compound_statement 5> if_statement 6> condition 7> expression of type boolean 8> relation: = of type boolean 9> simple_expression of type integer 10> term: * of type integer 11> factor of type integer 12> primary: expression of type integer 13> expression of type integer 14> relation of type integer 15> simple_expression of type integer 16> term: / of type integer 17> factor of type integer 18> primary: id of type integer 19> name: x of type integer 17> term of type integer 18> factor of type integer 19> primary: integer of type integer 20> numeric_literal: 2 of type integer 11> term of type integer 12> factor of type integer 13> primary: integer of type integer 14> numeric_literal: 2 of type integer 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: id of type integer 13> name: x of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> return_statement of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression of type integer 13> term of type integer 14> factor of type integer 15> primary: integer of type integer 16> numeric_literal: 1 of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> return_statement of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression of type integer 13> term of type integer 14> factor of type integer 15> primary: integer of type integer 16> numeric_literal: 0 of type integer 1> function_declaration: slow_pow 2> defining_identifier: slow_pow 2> parameter_list 3> parameter_specification: base 4> defining_identifier: base 4> type_name: integer 3> parameter_specification: exponent 4> defining_identifier: exponent 4> type_name: integer 2> type_name: integer 2> declarations 3> declaration 4> object_declaration: result 5> defining_identifier: result 5> object_definition 6> type_name: integer 2> sequence_of_statements 3> statement 4> simple_statement 5> assignment_statement of type integer 6> name: result of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression of type integer 9> term of type integer 10> factor of type integer 11> primary: integer of type integer 12> numeric_literal: 1 of type integer 3> statement 4> compound_statement 5> loop_statement: for 6> iteration_scheme: for 7> loop_parameter_specification: j 8> defining_identifier: j of type integer 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: integer of type integer 14> numeric_literal: 1 of type integer 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: id of type integer 14> name: exponent of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> assignment_statement of type integer 10> name: result of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression of type integer 13> term: * of type integer 14> factor of type integer 15> primary: id of type integer 16> name: result of type integer 14> term of type integer 15> factor of type integer 16> primary: id of type integer 17> name: base of type integer 3> statement 4> simple_statement 5> return_statement of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression of type integer 9> term of type integer 10> factor of type integer 11> primary: id of type integer 12> name: result of type integer 1> function_declaration: fib 2> defining_identifier: fib 2> parameter_list 3> parameter_specification: n 4> defining_identifier: n 4> type_name: integer 2> type_name: integer 2> declarations 3> declaration 4> type_declaration: table 5> defining_identifier: table 5> type_name: integer 3> declaration 4> object_declaration: values 5> defining_identifier: values 5> object_definition 6> type_name: table of type integer[] 6> numeric_literal: 10 of type integer 2> sequence_of_statements 3> statement 4> simple_statement 5> assignment_statement of type integer 6> name: values of type integer[] 7> indexed_component 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: integer of type integer 14> numeric_literal: 0 of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression of type integer 9> term of type integer 10> factor of type integer 11> primary: integer of type integer 12> numeric_literal: 1 of type integer 3> statement 4> simple_statement 5> assignment_statement of type integer 6> name: values of type integer[] 7> indexed_component 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: integer of type integer 14> numeric_literal: 1 of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression of type integer 9> term of type integer 10> factor of type integer 11> primary: integer of type integer 12> numeric_literal: 1 of type integer 3> statement 4> compound_statement 5> loop_statement: for 6> iteration_scheme: for 7> loop_parameter_specification: j 8> defining_identifier: j of type integer 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: integer of type integer 14> numeric_literal: 2 of type integer 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: id of type integer 14> name: n of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> assignment_statement of type integer 10> name: values of type integer[] 11> indexed_component 12> expression of type integer 13> relation of type integer 14> simple_expression of type integer 15> term of type integer 16> factor of type integer 17> primary: id of type integer 18> name: j of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression: + of type integer 13> term of type integer 14> factor of type integer 15> primary: id of type integer 16> name: values of type integer[] 17> indexed_component 18> expression of type integer 19> relation of type integer 20> simple_expression: - of type integer 21> term of type integer 22> factor of type integer 23> primary: id of type integer 24> name: j of type integer 21> simple_expression of type integer 22> term of type integer 23> factor of type integer 24> primary: integer of type integer 25> numeric_literal: 1 of type integer 13> simple_expression of type integer 14> term of type integer 15> factor of type integer 16> primary: id of type integer 17> name: values of type integer[] 18> indexed_component 19> expression of type integer 20> relation of type integer 21> simple_expression: - of type integer 22> term of type integer 23> factor of type integer 24> primary: id of type integer 25> name: j of type integer 22> simple_expression of type integer 23> term of type integer 24> factor of type integer 25> primary: integer of type integer 26> numeric_literal: 2 of type integer 3> statement 4> simple_statement 5> return_statement of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression of type integer 9> term of type integer 10> factor of type integer 11> primary: id of type integer 12> name: values of type integer[] 13> indexed_component 14> expression of type integer 15> relation of type integer 16> simple_expression of type integer 17> term of type integer 18> factor of type integer 19> primary: id of type integer 20> name: n of type integer 1> function_declaration: fib2 2> defining_identifier: fib2 2> parameter_list 3> parameter_specification: a 4> defining_identifier: a 4> type_name: integer 3> parameter_specification: n 4> defining_identifier: n 4> type_name: integer 2> type_name: integer 2> declarations 2> sequence_of_statements 3> statement 4> simple_statement 5> assignment_statement of type integer 6> name: a of type integer 7> indexed_component 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: integer of type integer 14> numeric_literal: 0 of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression of type integer 9> term of type integer 10> factor of type integer 11> primary: integer of type integer 12> numeric_literal: 1 of type integer 3> statement 4> simple_statement 5> assignment_statement of type integer 6> name: a of type integer 7> indexed_component 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: integer of type integer 14> numeric_literal: 1 of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression of type integer 9> term of type integer 10> factor of type integer 11> primary: integer of type integer 12> numeric_literal: 1 of type integer 3> statement 4> compound_statement 5> loop_statement: for 6> iteration_scheme: for 7> loop_parameter_specification: j 8> defining_identifier: j of type integer 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: integer of type integer 14> numeric_literal: 2 of type integer 8> expression of type integer 9> relation of type integer 10> simple_expression of type integer 11> term of type integer 12> factor of type integer 13> primary: id of type integer 14> name: n of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> assignment_statement of type integer 10> name: a of type integer 11> indexed_component 12> expression of type integer 13> relation of type integer 14> simple_expression of type integer 15> term of type integer 16> factor of type integer 17> primary: id of type integer 18> name: j of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression: + of type integer 13> term of type integer 14> factor of type integer 15> primary: id of type integer 16> name: a of type integer 17> indexed_component 18> expression of type integer 19> relation of type integer 20> simple_expression: - of type integer 21> term of type integer 22> factor of type integer 23> primary: id of type integer 24> name: j of type integer 21> simple_expression of type integer 22> term of type integer 23> factor of type integer 24> primary: integer of type integer 25> numeric_literal: 1 of type integer 13> simple_expression of type integer 14> term of type integer 15> factor of type integer 16> primary: id of type integer 17> name: a of type integer 18> indexed_component 19> expression of type integer 20> relation of type integer 21> simple_expression: - of type integer 22> term of type integer 23> factor of type integer 24> primary: id of type integer 25> name: j of type integer 22> simple_expression of type integer 23> term of type integer 24> factor of type integer 25> primary: integer of type integer 26> numeric_literal: 2 of type integer 3> statement 4> simple_statement 5> return_statement of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression of type integer 9> term of type integer 10> factor of type integer 11> primary: id of type integer 12> name: a of type integer 13> indexed_component 14> expression of type integer 15> relation of type integer 16> simple_expression of type integer 17> term of type integer 18> factor of type integer 19> primary: id of type integer 20> name: n of type integer 1> function_declaration: recurse 2> defining_identifier: recurse 2> parameter_list 3> parameter_specification: x 4> defining_identifier: x 4> type_name: integer 2> type_name: integer 2> declarations 2> sequence_of_statements 3> statement 4> compound_statement 5> if_statement 6> condition 7> expression of type boolean 8> relation: = of type boolean 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: id of type integer 13> name: x of type integer 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: integer of type integer 13> numeric_literal: 0 of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> return_statement of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression of type integer 13> term of type integer 14> factor of type integer 15> primary: integer of type integer 16> numeric_literal: 0 of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> return_statement of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression: + of type integer 13> term of type integer 14> factor of type integer 15> primary: function of type integer 16> function_call: recurse of type 17> expression of type integer 18> relation of type integer 19> simple_expression: - of type integer 20> term of type integer 21> factor of type integer 22> primary: id of type integer 23> name: x of type integer 20> simple_expression of type integer 21> term of type integer 22> factor of type integer 23> primary: integer of type integer 24> numeric_literal: 1 of type integer 13> simple_expression of type integer 14> term of type integer 15> factor of type integer 16> primary: id of type integer 17> name: x of type integer 1> function_declaration: pow 2> defining_identifier: pow 2> parameter_list 3> parameter_specification: base 4> defining_identifier: base 4> type_name: integer 3> parameter_specification: exponent 4> defining_identifier: exponent 4> type_name: integer 2> type_name: integer 2> declarations 3> declaration 4> object_declaration: temp 5> defining_identifier: temp 5> object_definition 6> type_name: integer 2> sequence_of_statements 3> statement 4> compound_statement 5> if_statement 6> condition 7> expression of type boolean 8> relation: = of type boolean 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: id of type integer 13> name: exponent of type integer 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: integer of type integer 13> numeric_literal: 0 of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> return_statement of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression of type integer 13> term of type integer 14> factor of type integer 15> primary: integer of type integer 16> numeric_literal: 1 of type integer 3> statement 4> compound_statement 5> if_statement 6> condition 7> expression of type boolean 8> relation: = of type boolean 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: id of type integer 13> name: exponent of type integer 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: integer of type integer 13> numeric_literal: 1 of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> return_statement of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression of type integer 13> term of type integer 14> factor of type integer 15> primary: id of type integer 16> name: base of type integer 3> statement 4> compound_statement 5> if_statement 6> condition 7> expression of type integer 8> relation of type integer 9> simple_expression of type integer 10> term of type integer 11> factor of type integer 12> primary: expression of type integer 13> expression of type integer 14> relation of type integer 15> simple_expression of type integer 16> term of type integer 17> factor of type integer 18> primary: function of type integer 19> function_call: even of type integer 20> expression of type integer 21> relation of type integer 22> simple_expression of type integer 23> term of type integer 24> factor of type integer 25> primary: id of type integer 26> name: exponent of type integer 6> sequence_of_statements 7> statement 8> simple_statement 9> assignment_statement of type integer 10> name: temp of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression of type integer 13> term of type integer 14> factor of type integer 15> primary: function of type integer 16> function_call: pow of type 17> expression of type integer 18> relation of type integer 19> simple_expression of type integer 20> term of type integer 21> factor of type integer 22> primary: id of type integer 23> name: base of type integer 17> expression of type integer 18> relation of type integer 19> simple_expression of type integer 20> term: / of type integer 21> factor of type integer 22> primary: id of type integer 23> name: exponent of type integer 21> term of type integer 22> factor of type integer 23> primary: integer of type integer 24> numeric_literal: 2 of type integer 7> statement 8> simple_statement 9> return_statement of type integer 10> expression of type integer 11> relation of type integer 12> simple_expression of type integer 13> term: * of type integer 14> factor of type integer 15> primary: id of type integer 16> name: temp of type integer 14> term of type integer 15> factor of type integer 16> primary: id of type integer 17> name: temp of type integer 3> statement 4> simple_statement 5> return_statement of type integer 6> expression of type integer 7> relation of type integer 8> simple_expression of type integer 9> term: * of type integer 10> factor of type integer 11> primary: id of type integer 12> name: base of type integer 10> term of type integer 11> factor of type integer 12> primary: function of type integer 13> function_call: pow of type 14> expression of type integer 15> relation of type integer 16> simple_expression of type integer 17> term of type integer 18> factor of type integer 19> primary: id of type integer 20> name: base of type integer 14> expression of type integer 15> relation of type integer 16> simple_expression: - of type integer 17> term of type integer 18> factor of type integer 19> primary: id of type integer 20> name: exponent of type integer 17> simple_expression of type integer 18> term of type integer 19> factor of type integer 20> primary: integer of type integer 21> numeric_literal: 1 of type integer