wrapping class / module expressions in own node

This commit is contained in:
Torsten Ruger
2015-09-20 16:03:27 +03:00
parent 20b6c9b476
commit e8bc570d25
19 changed files with 332 additions and 310 deletions

View File

@ -2,8 +2,9 @@ module Opers
abba = 5
end
-- -- --
s(:expressions,
s(:module, :Opers,
s(:assign,
s(:name, :abba),
s(:int, 5))))
s(:expressions,
s(:module, :Opers,
s(:expressions,
s(:assign,
s(:name, :abba),
s(:int, 5)))))

View File

@ -4,12 +4,14 @@ module Foo
end
end
-- -- --
s(:expressions,
s(:module, :Foo,
s(:class, :Bar,
s(:derives, nil),
s(:call,
s(:name, :funcall),
s(:arguments,
s(:int, 3),
s(:name, :var))))))
s(:expressions,
s(:module, :Foo,
s(:expressions,
s(:class, :Bar,
s(:derives, nil),
s(:expressions,
s(:call,
s(:name, :funcall),
s(:arguments,
s(:int, 3),
s(:name, :var))))))))

View File

@ -7,16 +7,17 @@ end
-- -- --
s(:expressions,
s(:module, :Soho,
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(:return,
s(:int, 44))))))
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(:return,
s(:int, 44)))))))

View File

@ -10,19 +10,20 @@ end
-- -- --
s(:expressions,
s(:module, :Foo,
s(:function, :ref,
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, :ref,
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)))))))))

View File

@ -7,18 +7,19 @@ end
-- -- --
s(:expressions,
s(:module, :Opers,
s(:function, :int,
s(:name, :foo),
s(:parameters,
s(:parameter, :int, :x)),
s(:expressions,
s(:field_def, :int, :abba,
s(:field_access,
s(:receiver,
s(:name, :self)),
s(:field,
s(:name, :index)))),
s(:return,
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(:field_access,
s(:receiver,
s(:name, :self)),
s(:field,
s(:name, :index)))),
s(:return,
s(:operator, "+",
s(:name, :abba),
s(:int, 5))))))))

View File

@ -2,6 +2,7 @@ module Simple
5
end
-- -- --
s(:expressions,
s(:module, :Simple,
s(:int, 5)))
s(:expressions,
s(:module, :Simple,
s(:expressions,
s(:int, 5))))