fix all the cases, much white noise, array to list, string to sym stuff

This commit is contained in:
Torsten Ruger
2015-09-19 14:53:30 +03:00
parent 3b0b91f2fb
commit 21b652456d
78 changed files with 690 additions and 559 deletions

View File

@ -1,5 +1,11 @@
int String.length( ref x )
int length( ref x )
length
end
-- -- --
{:expression_list=>[{:type=>"int", :receiver=>s(:module, "String"), :function_name=>s(:name, "length"), :parameter_list=>[s(:field, :ref, :x)], :expressions=>[s(:name, "length")], :end=>"end"}]}
s(:expressions,
s(:function, :int,
s(:name, :length),
s(:parameters,
s(:field, :ref, :x)),
s(:expressions,
s(:name, :length))))

View File

@ -10,40 +10,41 @@ int fibonaccit(int n)
end
end
-- -- --
s(:list, [s(:function, :int,
s(:name, "fibonaccit"),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:assign,
s(:name, "a"),
s(:int, 0)),
s(:assign,
s(:name, "b"),
s(:int, 1)),
s(:while,
s(:condition,
s(:operator, ">",
s(:name, "n"),
s(:int, 1))),
s(:expressions,
s(:assign,
s(:name, "tmp"),
s(:name, "a")),
s(:assign,
s(:name, "a"),
s(:name, "b")),
s(:assign,
s(:name, "b"),
s(:operator, "+",
s(:name, "tmp"),
s(:name, "b"))),
s(:call,
s(:name, "puts"),
s(:arguments,
s(:name, "b"))),
s(:assign,
s(:name, "n"),
s(:operator, "-",
s(:name, "n"),
s(:int, 1)))))))])
s(:expressions,
s(:function, :int,
s(:name, :fibonaccit),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:assign,
s(:name, :a),
s(:int, 0)),
s(:assign,
s(:name, :b),
s(:int, 1)),
s(:while,
s(:condition,
s(:operator, ">",
s(:name, :n),
s(:int, 1))),
s(:expressions,
s(:assign,
s(:name, :tmp),
s(:name, :a)),
s(:assign,
s(:name, :a),
s(:name, :b)),
s(:assign,
s(:name, :b),
s(:operator, "+",
s(:name, :tmp),
s(:name, :b))),
s(:call,
s(:name, :puts),
s(:arguments,
s(:name, :b))),
s(:assign,
s(:name, :n),
s(:operator, "-",
s(:name, :n),
s(:int, 1))))))))

View File

@ -6,18 +6,19 @@ ref ofthen(int n)
end
end
-- -- --
s(:list, [s(:function, :ref,
s(:name, "ofthen"),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:if,
s(:condition,
s(:int, 0)),
s(:if_true,
s(:assign,
s(:name, "isit"),
s(:int, 42))),
s(:if_false, [s(:assign,
s(:name, "maybenot"),
s(:int, 667))]))))])
s(:expressions,
s(:function, :ref,
s(:name, :ofthen),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:if,
s(:condition,
s(:int, 0)),
s(:if_true,
s(:assign,
s(:name, :isit),
s(:int, 42))),
s(:if_false, [s(:assign,
s(:name, :maybenot),
s(:int, 667))])))))

View File

@ -2,8 +2,9 @@ int foo()
5
end
-- -- --
s(:list, [s(:function, :int,
s(:name, "foo"),
s(:parameters),
s(:expressions,
s(:int, 5)))])
s(:expressions,
s(:function, :int,
s(:name, :foo),
s(:parameters),
s(:expressions,
s(:int, 5))))

View File

@ -3,15 +3,16 @@ int foo(int x)
abba + 5
end
-- -- --
s(:list, [s(:function, :int,
s(:name, "foo"),
s(:parameters,
s(:field, :int, :x)),
s(:expressions,
s(:name, "int"),
s(:assign,
s(:name, "abba"),
s(:int, 5)),
s(:operator, "+",
s(:name, "abba"),
s(:int, 5))))])
s(:expressions,
s(:function, :int,
s(:name, :foo),
s(:parameters,
s(:field, :int, :x)),
s(:expressions,
s(:name, :int),
s(:assign,
s(:name, :abba),
s(:int, 5)),
s(:operator, "+",
s(:name, :abba),
s(:int, 5)))))

View File

@ -3,14 +3,15 @@ int retvar(ref n)
return i
end
-- -- --
s(:list, [s(:function, :int,
s(:name, "retvar"),
s(:parameters,
s(:field, :ref, :n)),
s(:expressions,
s(:name, "int"),
s(:assign,
s(:name, "i"),
s(:int, 5)),
s(:return,
s(:name, "i"))))])
s(:expressions,
s(:function, :int,
s(:name, :retvar),
s(:parameters,
s(:field, :ref, :n)),
s(:expressions,
s(:name, :int),
s(:assign,
s(:name, :i),
s(:int, 5)),
s(:return,
s(:name, :i)))))

View File

@ -6,18 +6,19 @@ int retvar(int n)
end
end
-- -- --
s(:list, [s(:function, :int,
s(:name, "retvar"),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:if,
s(:condition,
s(:operator, ">",
s(:name, "n"),
s(:int, 5))),
s(:if_true,
s(:return,
s(:int, 10))),
s(:if_false, [s(:return,
s(:int, 20))]))))])
s(:expressions,
s(:function, :int,
s(:name, :retvar),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:if,
s(:condition,
s(:operator, ">",
s(:name, :n),
s(:int, 5))),
s(:if_true,
s(:return,
s(:int, 10))),
s(:if_false, [s(:return,
s(:int, 20))])))))

View File

@ -5,21 +5,22 @@ int retvar(int n )
end
end
-- -- --
s(:list, [s(:function, :int,
s(:name, "retvar"),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:while,
s(:condition,
s(:operator, ">",
s(:name, "n"),
s(:int, 5))),
s(:expressions,
s(:assign,
s(:name, "n"),
s(:operator, "+",
s(:name, "n"),
s(:int, 1))),
s(:return,
s(:name, "n"))))))])
s(:expressions,
s(:function, :int,
s(:name, :retvar),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:while,
s(:condition,
s(:operator, ">",
s(:name, :n),
s(:int, 5))),
s(:expressions,
s(:assign,
s(:name, :n),
s(:operator, "+",
s(:name, :n),
s(:int, 1))),
s(:return,
s(:name, :n)))))))

View File

@ -2,10 +2,11 @@ int foo( int n ,ref m)
n
end
-- -- --
s(:list, [s(:function, :int,
s(:name, "foo"),
s(:parameters,
s(:field, :int, :n),
s(:field, :ref, :m)),
s(:expressions,
s(:name, "n")))])
s(:expressions,
s(:function, :int,
s(:name, :foo),
s(:parameters,
s(:field, :int, :n),
s(:field, :ref, :m)),
s(:expressions,
s(:name, :n))))

View File

@ -6,23 +6,24 @@ ref fibonaccit(int n)
end
end
-- -- --
s(:list, [s(:function, :ref,
s(:name, "fibonaccit"),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:assign,
s(:name, "a"),
s(:int, 0)),
s(:while,
s(:condition,
s(:name, "n")),
s(:expressions,
s(:assign,
s(:name, "some"),
s(:int, 43)),
s(:assign,
s(:name, "other"),
s(:operator, "*",
s(:name, "some"),
s(:int, 4)))))))])
s(:expressions,
s(:function, :ref,
s(:name, :fibonaccit),
s(:parameters,
s(:field, :int, :n)),
s(:expressions,
s(:assign,
s(:name, :a),
s(:int, 0)),
s(:while,
s(:condition,
s(:name, :n)),
s(:expressions,
s(:assign,
s(:name, :some),
s(:int, 43)),
s(:assign,
s(:name, :other),
s(:operator, "*",
s(:name, :some),
s(:int, 4))))))))

View File

@ -2,9 +2,10 @@ int foo(ref x)
5
end
-- -- --
s(:list, [s(:function, :int,
s(:name, "foo"),
s(:parameters,
s(:field, :ref, :x)),
s(:expressions,
s(:int, 5)))])
s(:expressions,
s(:function, :int,
s(:name, :foo),
s(:parameters,
s(:field, :ref, :x)),
s(:expressions,
s(:int, 5))))