fix function definition
This commit is contained in:
@ -1,12 +1,13 @@
|
||||
int self.length( ref x )
|
||||
length
|
||||
return 5
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :length),
|
||||
s(:parameters,
|
||||
s(:parameter, :ref, :x)),
|
||||
s(:expressions,
|
||||
s(:name, :length)),
|
||||
s(:statements,
|
||||
s(:return,
|
||||
s(:int, 5))),
|
||||
s(:receiver, :self)))
|
||||
|
@ -10,41 +10,41 @@ int fibonaccit(int n)
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :fibonaccit),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:statements,
|
||||
s(:assignment,
|
||||
s(:name, :a),
|
||||
s(:int, 0)),
|
||||
s(:assign,
|
||||
s(:assignment,
|
||||
s(:name, :b),
|
||||
s(:int, 1)),
|
||||
s(:while,
|
||||
s(:while_statement,
|
||||
s(:condition,
|
||||
s(:operator, ">",
|
||||
s(:operator_value, :>,
|
||||
s(:name, :n),
|
||||
s(:int, 1))),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:statements,
|
||||
s(:assignment,
|
||||
s(:name, :tmp),
|
||||
s(:name, :a)),
|
||||
s(:assign,
|
||||
s(:assignment,
|
||||
s(:name, :a),
|
||||
s(:name, :b)),
|
||||
s(:assign,
|
||||
s(:assignment,
|
||||
s(:name, :b),
|
||||
s(:operator, "+",
|
||||
s(:operator_value, :+,
|
||||
s(:name, :tmp),
|
||||
s(:name, :b))),
|
||||
s(:call,
|
||||
s(:name, :puts),
|
||||
s(:arguments,
|
||||
s(:name, :b))),
|
||||
s(:assign,
|
||||
s(:assignment,
|
||||
s(:name, :n),
|
||||
s(:operator, "-",
|
||||
s(:operator_value, :-,
|
||||
s(:name, :n),
|
||||
s(:int, 1))))))))
|
||||
|
@ -2,21 +2,14 @@ int foo(int x)
|
||||
int a = 5
|
||||
return a
|
||||
end
|
||||
3.foo( 4 )
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :x)),
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:field_def, :int, :a,
|
||||
s(:int, 5)),
|
||||
s(:return,
|
||||
s(:name, :a)))),
|
||||
s(:call,
|
||||
s(:name, :foo),
|
||||
s(:arguments,
|
||||
s(:int, 4)),
|
||||
s(:receiver,
|
||||
s(:int, 3))))
|
||||
s(:name, :a)))))
|
||||
|
@ -6,20 +6,20 @@ ref ofthen(int n)
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :ref,
|
||||
s(:name, :ofthen),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:if,
|
||||
s(:statements,
|
||||
s(:if_statement,
|
||||
s(:condition,
|
||||
s(:int, 0)),
|
||||
s(:if_true,
|
||||
s(:assign,
|
||||
s(:true_statements,
|
||||
s(:assignment,
|
||||
s(:name, :isit),
|
||||
s(:int, 42))),
|
||||
s(:if_false,
|
||||
s(:assign,
|
||||
s(:false_statements,
|
||||
s(:assignment,
|
||||
s(:name, :maybenot),
|
||||
s(:int, 667)))))))
|
||||
|
@ -1,10 +1,11 @@
|
||||
int foo()
|
||||
5
|
||||
return 5
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters),
|
||||
s(:expressions,
|
||||
s(:int, 5))))
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters),
|
||||
s(:statements,
|
||||
s(:return,
|
||||
s(:int, 5)))))
|
||||
|
@ -1,16 +1,18 @@
|
||||
int foo(int x)
|
||||
int abba = 5
|
||||
abba + 5
|
||||
abba = abba + 5
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :x)),
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:field_def, :int, :abba,
|
||||
s(:int, 5)),
|
||||
s(:operator, "+",
|
||||
s(:assignment,
|
||||
s(:name, :abba),
|
||||
s(:int, 5)))))
|
||||
s(:operator_value, :+,
|
||||
s(:name, :abba),
|
||||
s(:int, 5))))))
|
||||
|
@ -3,12 +3,12 @@ int retvar(ref n)
|
||||
return i
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :retvar),
|
||||
s(:parameters,
|
||||
s(:parameter, :ref, :n)),
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:field_def, :int, :i,
|
||||
s(:field_access,
|
||||
s(:receiver,
|
||||
|
@ -6,20 +6,20 @@ int retvar(int n)
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :retvar),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:if,
|
||||
s(:statements,
|
||||
s(:if_statement,
|
||||
s(:condition,
|
||||
s(:operator, ">",
|
||||
s(:operator_value, :>,
|
||||
s(:name, :n),
|
||||
s(:int, 5))),
|
||||
s(:if_true,
|
||||
s(:true_statements,
|
||||
s(:return,
|
||||
s(:int, 10))),
|
||||
s(:if_false,
|
||||
s(:false_statements,
|
||||
s(:return,
|
||||
s(:int, 20)))))))
|
||||
|
@ -5,21 +5,21 @@ int retvar(int n )
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :retvar),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:while,
|
||||
s(:statements,
|
||||
s(:while_statement,
|
||||
s(:condition,
|
||||
s(:operator, ">",
|
||||
s(:operator_value, :>,
|
||||
s(:name, :n),
|
||||
s(:int, 5))),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:statements,
|
||||
s(:assignment,
|
||||
s(:name, :n),
|
||||
s(:operator, "+",
|
||||
s(:operator_value, :+,
|
||||
s(:name, :n),
|
||||
s(:int, 1))),
|
||||
s(:return,
|
||||
|
@ -1,12 +1,13 @@
|
||||
int foo( int n ,ref m)
|
||||
n
|
||||
return n
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :n),
|
||||
s(:parameter, :ref, :m)),
|
||||
s(:expressions,
|
||||
s(:name, :n))))
|
||||
s(:statements,
|
||||
s(:return,
|
||||
s(:name, :n)))))
|
||||
|
@ -6,24 +6,24 @@ ref fibonaccit(int n)
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :ref,
|
||||
s(:name, :fibonaccit),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:statements,
|
||||
s(:assignment,
|
||||
s(:name, :a),
|
||||
s(:int, 0)),
|
||||
s(:while,
|
||||
s(:while_statement,
|
||||
s(:condition,
|
||||
s(:name, :n)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:statements,
|
||||
s(:assignment,
|
||||
s(:name, :some),
|
||||
s(:int, 43)),
|
||||
s(:assign,
|
||||
s(:assignment,
|
||||
s(:name, :other),
|
||||
s(:operator, "*",
|
||||
s(:operator_value, :*,
|
||||
s(:name, :some),
|
||||
s(:int, 4))))))))
|
||||
|
@ -1,11 +1,13 @@
|
||||
int foo(ref x)
|
||||
5
|
||||
a = 1
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:statements,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:parameter, :ref, :x)),
|
||||
s(:expressions,
|
||||
s(:int, 5))))
|
||||
s(:statements,
|
||||
s(:assignment,
|
||||
s(:name, :a),
|
||||
s(:int, 1)))))
|
||||
|
Reference in New Issue
Block a user