[[:+, [:literal, :integer, 1], [:literal, :integer, 2]]] [[:+,[:literal, :integer, 1],[:+, [:literal, :integer, 2], [:literal, :integer, 3]]]] [[:*, [:literal, :integer, 4], [:literal, :integer, 5]]] [[:/, [:literal, :integer, 4], [:literal, :integer, 2]]] [[:%, [:literal, :integer, 5], [:literal, :integer, 3]]] [[:+,[:literal, :integer, 1],[:*,[:literal, :integer, 2],[:/, [:literal, :integer, 3], [:literal, :integer, 5]]]]] [[:*,[:+,[:literal, :integer, 1],[:literal, :integer, 6]],[:literal, :integer, 5]]] [[:+,[:literal, :integer, 1],[:/,[:*, [:literal, :integer, 2], [:literal, :integer, 3]],[:-, [:literal, :integer, 5], [:literal, :integer, 1]]]]] [[:+, [:literal, :decimal, 1.3],[:*,[:literal, :integer, 5],[:+, [:literal, :integer, 1], [:literal, :decimal, 1.568]]]]] [[:id, :xyz]] [[:>, [:literal, :integer, 1], [:literal, :integer, 2]]] [[:>=, [:id, :x], [:literal, :integer, 1]]] [[:<=, [:literal, :integer, 2], [:id, :b]]] [[:==, [:literal, :integer, 4], [:literal, :integer, 1]]] [[:<, [:literal, :integer, 2], [:id, :x]]] [[:object, :obj, []]] [[:object, :obj, [[:literal, :integer, 1], [:literal, :integer, 2], [:literal, :integer, 3]]]] [[:object,:obj,[[:+, [:literal, :integer, 1], [:literal, :integer, 2]], [:id, :x]]]] [[:object, :obj, [[:literal, :integer, 1], [:literal, :integer, 2]]]] [[:object, :obj, [[:id, :x], [:literal, :integer, 2], [:object, :other, []]]]] [[:object, :obj, [[:literal, :integer, 1]]]] [[:literal, :string, "teste"]] [[:literal, :char, "a"]] [[:if,[:>, [:id, :x], [:literal, :integer, 1]],[:literal, :string, "verdadeiro"],[:literal, :string, "falso"]]] [[:begin,[[:+,[:literal, :integer, 1],[:+, [:literal, :integer, 2], [:literal, :integer, 3]]],[:literal, :string, "oi"],[:<, [:literal, :integer, 2], [:literal, :integer, 3]],[:literal, :char, "a"]]]] [[:-,[:call, [:id, :sin], [[:*, [:literal, :integer, 2], [:id, :pi]]]],[:call, [:id, :cos], [[:*, [:literal, :integer, 2], [:id, :pi]]]]]] [[:call, [:id, :f], []]] [[:let, [:id, :x], [:literal, :integer, 1]]] [[:let,[:id, :x],[:+,[:literal, :integer, 1],[:+,[:literal, :integer, 2],[:+, [:literal, :integer, 3], [:literal, :integer, 4]]]]]] [[:let,[:id, :y],[:+,[:literal, :integer, 1],[:*, [:literal, :integer, 2], [:/, [:id, :x], [:literal, :integer, 2]]]]]] [[:let, [:id, :str], [:literal, :string, "string"]]] [[:let,[:id, :p1],[:call, [:id, :point], [[:literal, :integer, 1], [:literal, :integer, 2]]]]] [[:let,[:object, :obj, [[:id, :x]]],[:object, :obj, [[:literal, :integer, 1]]]]] [[:let, [:object, :obj, [[:id, :x], [:id, :t]]], [:id, :obj]]] [[:lambda, [[:id, :x]], [:id, :x], [],nil]] [[:lambda, [[:id, :x],[:id, :y]], [:+, [:id, :x], [:id, :y]], [],nil]] [[:lambda,[[:literal, :integer, 1],[:literal, :integer, 2],[:id, :x],[:object, :obj, [[:id, :x], [:id, :y]]]],[:literal, :integer, 1],[],nil]] [[:lambda,[[:id, :x]],[:id, :y],[[:let,[:id, :y],[:lambda, [[:id, :x]], [:+, [:id, :x], [:literal, :integer, 6]], [],nil]]],nil]] [[:lambda,[[:id, :x]],[:id, :y],[[:let,[:id, :y],[:lambda, [[:id, :x]], [:+, [:id, :x], [:literal, :integer, 6]], [], nil]],[:let,[:id, :z],[:lambda,[[:id, :x]],[:-, [:id, :x], [:literal, :integer, 6]],[],nil]],[:let, [:id, :k], [:literal, :integer, 1]]],nil]] [[:let, [:id, :x], [:lambda, [], [:literal, :integer, 1], [],nil]]] [[:let,[:id, :fibonacci],[:lambda,[[:literal, :integer, 1]],[:literal, :integer, 1],[],[:lambda,[[:literal, :integer, 2]],[:literal, :integer, 1],[],[:lambda,[[:id, :n]],[:+,[:call, [:id, :fibonacci], [[:-, [:id, :n], [:literal, :integer, 1]]]],[:call, [:id, :fibonacci], [[:-, [:id, :n], [:literal, :integer, 2]]]]],[],nil]]]]] [[:let,[:id, :str_list],[:object,:list,[[:literal, :char, "s"],[:object,:list,[[:literal, :char, "t"],[:object,:list,[[:literal, :char, "r"],[:object,:list,[[:literal, :char, "i"],[:object,:list,[[:literal, :char, "n"],[:object,:list,[[:literal, :char, "g"], [:object, :list, []]]]]]]]]]]]]]]] [[:let,[:id, :point],[:lambda,[[:id, :x], [:id, :y]],[:object, :point, [[:id, :x], [:id, :y]]],[],nil]]] [[:let,[:id, :point_x],[:lambda, [[:object, :point, [[:id, :x], [:id, :y]]]], [:id, :x], [],nil]]] [[:let,[:id, :point_y],[:lambda, [[:object, :point, [[:id, :x], [:id, :y]]]], [:id, :y], [],nil]]] [[:let,[:id, :point_sum],[:lambda,[[:object, :point, [[:id, :x1], [:id, :y1]]],[:object, :point, [[:id, :x2], [:id, :y2]]]],[:object,:point,[[:+, [:id, :x1], [:id, :x2]], [:+, [:id, :y1], [:id, :y2]]]],[],nil]]] [[:let,[:id, :sum],[:lambda, [[:id, :a], [:id, :b]], [:+, [:id, :a], [:id, :b]], [], nil]]] [[:let,[:id, :f],[:lambda,[[:id, :x]],[:begin,[[:let, [:id, :algo], [:id, :x]],[:*, [:id, :algo], [:id, :algo]],[:id, :algo]]],[], nil]]] [[:let,[:id, :f],[:lambda,[[:id, :x]],[:+, [:call, [:id, :f], [[:id, :x]]], [:call, [:id, :g], [[:id, :x]]]],[[:let,[:id, :f],[:lambda, [[:id, :x]], [:*, [:id, :x], [:id, :x]], [], nil]],[:let,[:id, :g],[:lambda,[[:id, :x]],[:/, [:id, :x], [:literal, :integer, 2]],[],nil]]],nil]]] [[:let,[:id, :f],[:lambda,[[:id, :x]],[:id, :y],[[:let, [:id, :y], [:*, [:literal, :integer, 2], [:id, :x]]]], nil]]] [[:object_call, [:id, :p], [:id, :x]]] [[:call,[:object_call, [:id, :p], [:id, :x]],[[:id, :p], [:literal, :integer, 1]]]] [[:call, [:object_call, [:id, :p], [:id, :x]], [[:id, :p]]]] [[:call,[:object_call, [:call, [:id, :f], [[:literal, :integer, 1]]], [:id, :algo]],[[:call, [:id, :f], [[:literal, :integer, 1]]], [:literal, :integer, 1]]]] [[:call, [:object_call, [:id, :x], [:id, :algo]], [[:id, :x]]]] [[:call,[:object_call, [:literal, :integer, 10], [:id, :algo]],[[:literal, :integer, 10],[:literal, :integer, 1],[:literal, :integer, 2],[:literal, :integer, 3]]]] [[:call,[:object_call,[:object, :algo, [[:literal, :integer, 1], [:literal, :integer, 2]]],[:id, :algo]],[[:object, :algo, [[:literal, :integer, 1], [:literal, :integer, 2]]]]]] [[:call,[:object_call, [:object, :algo, [[:id, :x], [:id, :y]]], [:id, :x]],[[:object, :algo, [[:id, :x], [:id, :y]]]]]] [[:object_let,[:object, :point, [[:id, :x], [:id, :y]]],[:id, :x],[:lambda, [[:id, :x]], [:id, :x], [], nil]]] [[:object_let,[:object, :aaaa, [[:id, :x], [:id, :y]]],[:id, :a],[:lambda, [], [:id, :x], [[:let, [:id, :x], [:literal, :integer, 1]]], nil]]] [[:object_let,[:object, :aaaa, [[:id, :x], [:id, :y]]],[:id, :algo],[:lambda,[[:id, :x]],[:id, :y],[[:let,[:id, :y],[:lambda, [[:id, :x]], [:+, [:id, :x], [:literal, :integer, 6]], [], nil]]], nil]]] [[:object_let,[:object, :algo, [[:id, :x], [:id, :y]]],[:id, :algo],[:lambda, [[:id, :x]], [:id, :x], [], nil]]] [[:object_let, [:object, :algo, []], [:id, :algo], [:literal, :integer, 1]]] [[:literal, :boolean, :true]] [[:literal, :boolean, :false]] [[:let, [:id, :x], [:literal, :boolean, :true]]] [[:if,[:literal, :boolean, :true],[:literal, :string, "sim"],[:literal, :string, "nao"]]] [[:and, [:id, :x], [:id, :y]]] [[:if,[:and, [:literal, :boolean, :true], [:literal, :boolean, :false]],[:literal, :integer, 1],[:literal, :integer, 2]]] [[:if,[:or, [:and, [:id, :x], [:id, :y]], [:id, :z]],[:literal, :integer, 1],[:literal, :integer, 2]]] [[:not, [:literal, :boolean, :true]]] [[:let, [:id, :x], [:or, [:and, [:id, :x], [:id, :y]], [:not, [:id, :k]]]]]