rename field to parameter in parameter_list
also field to field_def (wip) and lots of whitespace due to ws fix
This commit is contained in:
parent
be444bc687
commit
ea6472c28f
@ -14,7 +14,7 @@ module Parser
|
||||
rule(:nil => simple(:nil)) { s(:nil) }
|
||||
rule(:integer => simple(:value)) { s(:int ,value.to_i) }
|
||||
rule(:name => simple(:name)) { s(:name , name.to_sym) }
|
||||
rule(:type => simple(:type), :name => simple(:name)) { s(:field , type.to_sym , name.to_sym) }
|
||||
rule(:type => simple(:type), :name => simple(:name)) { s(:field_def , type.to_sym , name.to_sym) }
|
||||
|
||||
rule(:module_name => simple(:module_name)) { s(:module,module_name.to_s) }
|
||||
|
||||
@ -61,7 +61,7 @@ module Parser
|
||||
s(:return , return_expression)
|
||||
end
|
||||
|
||||
rule(:parameter => simple(:parameter)) { parameter }
|
||||
rule(:parameter => simple(:parameter)) { s(:parameter , *parameter) }
|
||||
|
||||
# Also two rules for function definitions, unqualified and qualified
|
||||
rule(:type => simple(:type) ,
|
||||
|
@ -17,8 +17,8 @@ s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :ofthen),
|
||||
s(:parameters,
|
||||
s(:field, :int, :n),
|
||||
s(:field, :ref, :m)),
|
||||
s(:parameter, :int, :n),
|
||||
s(:parameter, :ref, :m)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:name, :n),
|
||||
|
@ -14,7 +14,7 @@ s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :ofthen),
|
||||
s(:parameters,
|
||||
s(:field, :int, :n)),
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:if,
|
||||
s(:condition,
|
||||
|
@ -5,18 +5,18 @@ class Opers
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:class, :Opers,
|
||||
s(:derives, nil),
|
||||
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(:class, :Opers,
|
||||
s(:derives, nil),
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :x)),
|
||||
s(:expressions,
|
||||
s(:name, :int),
|
||||
s(:assign,
|
||||
s(:name, :abba),
|
||||
s(:int, 5)),
|
||||
s(:operator, "+",
|
||||
s(:name, :abba),
|
||||
s(:int, 5))))))
|
||||
|
@ -2,10 +2,10 @@ int length( ref x )
|
||||
length
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :length),
|
||||
s(:parameters,
|
||||
s(:field, :ref, :x)),
|
||||
s(:expressions,
|
||||
s(:name, :length))))
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :length),
|
||||
s(:parameters,
|
||||
s(:parameter, :ref, :x)),
|
||||
s(:expressions,
|
||||
s(:name, :length))))
|
||||
|
@ -10,41 +10,41 @@ int fibonaccit(int n)
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
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))))))))
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :fibonaccit),
|
||||
s(:parameters,
|
||||
s(:parameter, :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))))))))
|
||||
|
@ -10,7 +10,7 @@ s(:expressions,
|
||||
s(:function, :ref,
|
||||
s(:name, :ofthen),
|
||||
s(:parameters,
|
||||
s(:field, :int, :n)),
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:if,
|
||||
s(:condition,
|
||||
|
@ -3,16 +3,16 @@ int foo(int x)
|
||||
abba + 5
|
||||
end
|
||||
-- -- --
|
||||
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)))))
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :x)),
|
||||
s(:expressions,
|
||||
s(:name, :int),
|
||||
s(:assign,
|
||||
s(:name, :abba),
|
||||
s(:int, 5)),
|
||||
s(:operator, "+",
|
||||
s(:name, :abba),
|
||||
s(:int, 5)))))
|
||||
|
@ -7,7 +7,7 @@ s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :retvar),
|
||||
s(:parameters,
|
||||
s(:field, :ref, :n)),
|
||||
s(:parameter, :ref, :n)),
|
||||
s(:expressions,
|
||||
s(:name, :int),
|
||||
s(:assign,
|
||||
|
@ -10,7 +10,7 @@ s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :retvar),
|
||||
s(:parameters,
|
||||
s(:field, :int, :n)),
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:if,
|
||||
s(:condition,
|
||||
|
@ -5,22 +5,22 @@ int retvar(int n )
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
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)))))))
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :retvar),
|
||||
s(:parameters,
|
||||
s(:parameter, :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)))))))
|
||||
|
@ -2,11 +2,11 @@ int foo( int n ,ref m)
|
||||
n
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
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(:parameter, :int, :n),
|
||||
s(:parameter, :ref, :m)),
|
||||
s(:expressions,
|
||||
s(:name, :n))))
|
||||
|
@ -6,24 +6,24 @@ ref fibonaccit(int n)
|
||||
end
|
||||
end
|
||||
-- -- --
|
||||
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))))))))
|
||||
s(:expressions,
|
||||
s(:function, :ref,
|
||||
s(:name, :fibonaccit),
|
||||
s(:parameters,
|
||||
s(:parameter, :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))))))))
|
||||
|
@ -2,10 +2,10 @@ int foo(ref x)
|
||||
5
|
||||
end
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
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(:parameter, :ref, :x)),
|
||||
s(:expressions,
|
||||
s(:int, 5))))
|
||||
|
@ -5,18 +5,18 @@ module Soho
|
||||
end
|
||||
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(:field, :int, :n),
|
||||
s(:field, :ref, :m)),
|
||||
s(:expressions,
|
||||
s(:return,
|
||||
s(:int, 44))))))
|
||||
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))))))
|
||||
|
@ -13,7 +13,7 @@ s(:expressions,
|
||||
s(:function, :ref,
|
||||
s(:name, :ofthen),
|
||||
s(:parameters,
|
||||
s(:field, :int, :n)),
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:if,
|
||||
s(:condition,
|
||||
|
@ -10,7 +10,7 @@ s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:field, :int, :x)),
|
||||
s(:parameter, :int, :x)),
|
||||
s(:expressions,
|
||||
s(:name, :int),
|
||||
s(:assign,
|
||||
|
@ -4,16 +4,16 @@ end
|
||||
|
||||
foo( 3 )
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:field, :ref, :x)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:name, :a),
|
||||
s(:int, 5)))),
|
||||
s(:call,
|
||||
s(:name, :foo),
|
||||
s(:arguments,
|
||||
s(:int, 3))))
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :foo),
|
||||
s(:parameters,
|
||||
s(:parameter, :ref, :x)),
|
||||
s(:expressions,
|
||||
s(:assign,
|
||||
s(:name, :a),
|
||||
s(:int, 5)))),
|
||||
s(:call,
|
||||
s(:name, :foo),
|
||||
s(:arguments,
|
||||
s(:int, 3))))
|
||||
|
@ -12,45 +12,45 @@ end
|
||||
|
||||
fibonaccit( 10 )
|
||||
-- -- --
|
||||
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))))))),
|
||||
s(:call,
|
||||
s(:name, :fibonaccit),
|
||||
s(:arguments,
|
||||
s(:int, 10))))
|
||||
s(:expressions,
|
||||
s(:function, :int,
|
||||
s(:name, :fibonaccit),
|
||||
s(:parameters,
|
||||
s(:parameter, :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(:call,
|
||||
s(:name, :fibonaccit),
|
||||
s(:arguments,
|
||||
s(:int, 10))))
|
||||
|
@ -8,20 +8,20 @@ module Fibo
|
||||
end
|
||||
|
||||
-- -- --
|
||||
s(:expressions,
|
||||
s(:module, :Fibo,
|
||||
s(:function, :int,
|
||||
s(:name, :fibonaccit),
|
||||
s(:parameters,
|
||||
s(:field, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:name, :int),
|
||||
s(:assign,
|
||||
s(:name, :a),
|
||||
s(:int, 0)),
|
||||
s(:return,
|
||||
s(:name, :a)))),
|
||||
s(:call,
|
||||
s(:name, :fibonaccit),
|
||||
s(:arguments,
|
||||
s(:int, 10)))))
|
||||
s(:expressions,
|
||||
s(:module, :Fibo,
|
||||
s(:function, :int,
|
||||
s(:name, :fibonaccit),
|
||||
s(:parameters,
|
||||
s(:parameter, :int, :n)),
|
||||
s(:expressions,
|
||||
s(:name, :int),
|
||||
s(:assign,
|
||||
s(:name, :a),
|
||||
s(:int, 0)),
|
||||
s(:return,
|
||||
s(:name, :a)))),
|
||||
s(:call,
|
||||
s(:name, :fibonaccit),
|
||||
s(:arguments,
|
||||
s(:int, 10)))))
|
||||
|
Loading…
x
Reference in New Issue
Block a user