wrapping class / module expressions in own node
This commit is contained in:
@ -35,126 +35,127 @@ end
|
||||
s(:expressions,
|
||||
s(:class, :String,
|
||||
s(:derives, nil),
|
||||
s(:function, :ref,
|
||||
s(:name, :new_string),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :len)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:name, :len),
|
||||
s(:operator, "<<",
|
||||
s(:expressions,
|
||||
s(:function, :ref,
|
||||
s(:name, :new_string),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :len)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
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(:operator, "<<",
|
||||
s(:name, :len),
|
||||
s(:operator, "+",
|
||||
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(: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(: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(:int, 1))))),
|
||||
s(:return,
|
||||
s(:name, :new_string))))))
|
||||
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)))))))
|
||||
|
@ -9,20 +9,21 @@ end
|
||||
s(:expressions,
|
||||
s(:class, :Foo,
|
||||
s(:derives, :Object),
|
||||
s(:field_def, :int, :field,
|
||||
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, :field)))))),
|
||||
s(:call,
|
||||
s(:name, :ofthen),
|
||||
s(:arguments,
|
||||
s(:int, 3),
|
||||
s(:name, :var)))))
|
||||
s(:expressions,
|
||||
s(:field_def, :int, :field,
|
||||
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, :field)))))),
|
||||
s(:call,
|
||||
s(:name, :ofthen),
|
||||
s(:arguments,
|
||||
s(:int, 3),
|
||||
s(:name, :var))))))
|
||||
|
@ -10,26 +10,27 @@ end
|
||||
s(:expressions,
|
||||
s(:class, :Pifi,
|
||||
s(:derives, nil),
|
||||
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(: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(:field_access,
|
||||
s(:receiver,
|
||||
s(:name, :m)),
|
||||
s(:field,
|
||||
s(:name, :index))))),
|
||||
s(:return,
|
||||
s(:name, :n))),
|
||||
s(:receiver, :self))))
|
||||
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)))))
|
||||
|
@ -11,19 +11,20 @@ end
|
||||
s(:expressions,
|
||||
s(:class, :Ifi,
|
||||
s(:derives, nil),
|
||||
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))))))))
|
||||
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)))))))))
|
||||
|
@ -5,10 +5,11 @@ class Foo < Object
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Foo,
|
||||
s(:derives, :Object),
|
||||
s(:function, :int,
|
||||
s(:name, :test),
|
||||
s(:parameters),
|
||||
s(:expressions,
|
||||
s(:int, 43)))))
|
||||
s(:class, :Foo,
|
||||
s(:derives, :Object),
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :test),
|
||||
s(:parameters),
|
||||
s(:expressions,
|
||||
s(:int, 43))))))
|
||||
|
@ -4,12 +4,14 @@ class Foo
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Foo,
|
||||
s(:derives, nil),
|
||||
s(:module, :Boo,
|
||||
s(:call,
|
||||
s(:name, :funcall),
|
||||
s(:arguments,
|
||||
s(:int, 3),
|
||||
s(:name, :var))))))
|
||||
s(:expressions,
|
||||
s(:class, :Foo,
|
||||
s(:derives, nil),
|
||||
s(:expressions,
|
||||
s(:module, :Boo,
|
||||
s(:expressions,
|
||||
s(:call,
|
||||
s(:name, :funcall),
|
||||
s(:arguments,
|
||||
s(:int, 3),
|
||||
s(:name, :var))))))))
|
||||
|
@ -8,13 +8,14 @@ end
|
||||
s(:expressions,
|
||||
s(:class, :Opers,
|
||||
s(:derives, nil),
|
||||
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))))))
|
||||
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)))))))
|
||||
|
@ -2,7 +2,8 @@ class Foo
|
||||
5
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Foo,
|
||||
s(:derives, nil),
|
||||
s(:int, 5)))
|
||||
s(:expressions,
|
||||
s(:class, :Foo,
|
||||
s(:derives, nil),
|
||||
s(:expressions,
|
||||
s(:int, 5))))
|
||||
|
Reference in New Issue
Block a user