renameing to match expressions
This commit is contained in:
161
test/cases/class_definition/big_class.tst
Normal file
161
test/cases/class_definition/big_class.tst
Normal file
@ -0,0 +1,161 @@
|
||||
class String
|
||||
|
||||
ref self.new_string(int len )
|
||||
len = len << 2
|
||||
return super.new_object( len)
|
||||
end
|
||||
|
||||
int length()
|
||||
return self.length
|
||||
end
|
||||
|
||||
int plus(ref str)
|
||||
my_length = self.length
|
||||
str_len = str.length()
|
||||
my_length = str_len + my_length
|
||||
new_string = self.new_string(my_length )
|
||||
i = 0
|
||||
while( i < my_length)
|
||||
char = get(i)
|
||||
new_string.set(i , char)
|
||||
i = i + 1
|
||||
end
|
||||
i = 0
|
||||
while( i < str_len)
|
||||
char = str.get(i)
|
||||
len = i + my_length
|
||||
new_string.set( len , char)
|
||||
i = i + 1
|
||||
end
|
||||
return new_string
|
||||
end
|
||||
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :String,
|
||||
s(:derives, nil),
|
||||
s(:expressions,
|
||||
s(:function, :ref,
|
||||
s(:name, :new_string),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :len)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:name, :len),
|
||||
s(:operator, "<<",
|
||||
s(:name, :len),
|
||||
s(:int, 2))),
|
||||
s(:return,
|
||||
s(:call,
|
||||
s(:name, :new_object),
|
||||
s(:arguments,
|
||||
s(:name, :len)),
|
||||
s(:receiver,
|
||||
s(:name, :super))))),
|
||||
s(:receiver, :self)),
|
||||
s(:function, :int,
|
||||
s(:name, :length),
|
||||
s(:parameters),
|
||||
s(:expressions,
|
||||
s(:return,
|
||||
s(:field_access,
|
||||
s(:receiver,
|
||||
s(:name, :self)),
|
||||
s(:field,
|
||||
s(:name, :length)))))),
|
||||
s(:function, :int,
|
||||
s(:name, :plus),
|
||||
s(:parameters,
|
||||
s(:parameter, :ref, :str)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:name, :my_length),
|
||||
s(:field_access,
|
||||
s(:receiver,
|
||||
s(:name, :self)),
|
||||
s(:field,
|
||||
s(:name, :length)))),
|
||||
s(:assign,
|
||||
s(:name, :str_len),
|
||||
s(:call,
|
||||
s(:name, :length),
|
||||
s(:arguments),
|
||||
s(:receiver,
|
||||
s(:name, :str)))),
|
||||
s(:assign,
|
||||
s(:name, :my_length),
|
||||
s(:operator, "+",
|
||||
s(:name, :str_len),
|
||||
s(:name, :my_length))),
|
||||
s(:assign,
|
||||
s(:name, :new_string),
|
||||
s(:call,
|
||||
s(:name, :new_string),
|
||||
s(:arguments,
|
||||
s(:name, :my_length)),
|
||||
s(:receiver,
|
||||
s(:name, :self)))),
|
||||
s(:assign,
|
||||
s(:name, :i),
|
||||
s(:int, 0)),
|
||||
s(:while,
|
||||
s(:condition,
|
||||
s(:operator, "<",
|
||||
s(:name, :i),
|
||||
s(:name, :my_length))),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:name, :char),
|
||||
s(:call,
|
||||
s(:name, :get),
|
||||
s(:arguments,
|
||||
s(:name, :i)))),
|
||||
s(:call,
|
||||
s(:name, :set),
|
||||
s(:arguments,
|
||||
s(:name, :i),
|
||||
s(:name, :char)),
|
||||
s(:receiver,
|
||||
s(:name, :new_string))),
|
||||
s(:assign,
|
||||
s(:name, :i),
|
||||
s(:operator, "+",
|
||||
s(:name, :i),
|
||||
s(:int, 1))))),
|
||||
s(:assign,
|
||||
s(:name, :i),
|
||||
s(:int, 0)),
|
||||
s(:while,
|
||||
s(:condition,
|
||||
s(:operator, "<",
|
||||
s(:name, :i),
|
||||
s(:name, :str_len))),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:name, :char),
|
||||
s(:call,
|
||||
s(:name, :get),
|
||||
s(:arguments,
|
||||
s(:name, :i)),
|
||||
s(:receiver,
|
||||
s(:name, :str)))),
|
||||
s(:assign,
|
||||
s(:name, :len),
|
||||
s(:operator, "+",
|
||||
s(:name, :i),
|
||||
s(:name, :my_length))),
|
||||
s(:call,
|
||||
s(:name, :set),
|
||||
s(:arguments,
|
||||
s(:name, :len),
|
||||
s(:name, :char)),
|
||||
s(:receiver,
|
||||
s(:name, :new_string))),
|
||||
s(:assign,
|
||||
s(:name, :i),
|
||||
s(:operator, "+",
|
||||
s(:name, :i),
|
||||
s(:int, 1))))),
|
||||
s(:return,
|
||||
s(:name, :new_string)))))))
|
29
test/cases/class_definition/class_derived.tst
Normal file
29
test/cases/class_definition/class_derived.tst
Normal file
@ -0,0 +1,29 @@
|
||||
class Foo < Object
|
||||
field int fff = 3
|
||||
int func()
|
||||
return self.fff
|
||||
end
|
||||
ofthen(3 , var)
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Foo,
|
||||
s(:derives, :Object),
|
||||
s(:expressions,
|
||||
s(:class_field, :int, :fff,
|
||||
s(:int, 3)),
|
||||
s(:function, :int,
|
||||
s(:name, :func),
|
||||
s(:parameters),
|
||||
s(:expressions,
|
||||
s(:return,
|
||||
s(:field_access,
|
||||
s(:receiver,
|
||||
s(:name, :self)),
|
||||
s(:field,
|
||||
s(:name, :fff)))))),
|
||||
s(:call,
|
||||
s(:name, :ofthen),
|
||||
s(:arguments,
|
||||
s(:int, 3),
|
||||
s(:name, :var))))))
|
36
test/cases/class_definition/class_function.tst
Normal file
36
test/cases/class_definition/class_function.tst
Normal file
@ -0,0 +1,36 @@
|
||||
class Pifi
|
||||
ofthen(3 , var)
|
||||
|
||||
int self.ofthen(int n , ref m)
|
||||
n = n + m.index
|
||||
return n
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Pifi,
|
||||
s(:derives, nil),
|
||||
s(:expressions,
|
||||
s(:call,
|
||||
s(:name, :ofthen),
|
||||
s(:arguments,
|
||||
s(:int, 3),
|
||||
s(:name, :var))),
|
||||
s(:function, :int,
|
||||
s(:name, :ofthen),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :n),
|
||||
s(:parameter, :ref, :m)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:name, :n),
|
||||
s(:operator, "+",
|
||||
s(:name, :n),
|
||||
s(:field_access,
|
||||
s(:receiver,
|
||||
s(:name, :m)),
|
||||
s(:field,
|
||||
s(:name, :index))))),
|
||||
s(:return,
|
||||
s(:name, :n))),
|
||||
s(:receiver, :self)))))
|
30
test/cases/class_definition/class_if.tst
Normal file
30
test/cases/class_definition/class_if.tst
Normal file
@ -0,0 +1,30 @@
|
||||
class Ifi
|
||||
int ofthen(int n)
|
||||
if(0)
|
||||
isit = 42
|
||||
else
|
||||
maybenot = 667
|
||||
end
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Ifi,
|
||||
s(:derives, nil),
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :ofthen),
|
||||
s(:parameters,
|
||||
s(:parameter, :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)))))))))
|
15
test/cases/class_definition/class_method.tst
Normal file
15
test/cases/class_definition/class_method.tst
Normal file
@ -0,0 +1,15 @@
|
||||
class Foo < Object
|
||||
int test()
|
||||
43
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Foo,
|
||||
s(:derives, :Object),
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :test),
|
||||
s(:parameters),
|
||||
s(:expressions,
|
||||
s(:int, 43))))))
|
21
test/cases/class_definition/class_ops.tst
Normal file
21
test/cases/class_definition/class_ops.tst
Normal file
@ -0,0 +1,21 @@
|
||||
class Opers
|
||||
int foo(int x)
|
||||
int abba = 5
|
||||
abba + 5
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Opers,
|
||||
s(:derives, nil),
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :x)),
|
||||
s(:expressions,
|
||||
s(:field_def, :int, :abba,
|
||||
s(:int, 5)),
|
||||
s(:operator, "+",
|
||||
s(:name, :abba),
|
||||
s(:int, 5)))))))
|
9
test/cases/class_definition/simplest_class.tst
Normal file
9
test/cases/class_definition/simplest_class.tst
Normal file
@ -0,0 +1,9 @@
|
||||
class Foo
|
||||
5
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Foo,
|
||||
s(:derives, nil),
|
||||
s(:expressions,
|
||||
s(:int, 5))))
|
Reference in New Issue
Block a user