diff --git a/ChangeLog b/ChangeLog index 681dd4c..6480986 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Jan 21 01:19:10 2008 Minero Aoki + + * net/loveruby/cflat/ast/Declarations.java: refactoring: new + method #addDefvars. + + * net/loveruby/cflat/parser/Parser.jj: use it. + Mon Jan 21 00:42:50 2008 Minero Aoki * net/loveruby/cflat/ast/Parameter.java: simplify dump output. diff --git a/net/loveruby/cflat/ast/Declarations.java b/net/loveruby/cflat/ast/Declarations.java index 150d613..519168a 100644 --- a/net/loveruby/cflat/ast/Declarations.java +++ b/net/loveruby/cflat/ast/Declarations.java @@ -27,6 +27,10 @@ public class Declarations { defvars.add(var); } + public void addDefvars(List vars) { + defvars.addAll(vars); + } + public List defvars() { return defvars; } diff --git a/net/loveruby/cflat/parser/Parser.jj b/net/loveruby/cflat/parser/Parser.jj index be2e1ab..44066b9 100644 --- a/net/loveruby/cflat/parser/Parser.jj +++ b/net/loveruby/cflat/parser/Parser.jj @@ -461,18 +461,9 @@ Declarations top_decls(): } { ( LOOKAHEAD(storage() typeref() "(") - defun=defun() - { - decls.addDefun(defun); - } + defun=defun() { decls.addDefun(defun); } | LOOKAHEAD(3) - defvars=defvars() - { - Iterator it = defvars.iterator(); - while (it.hasNext()) { - decls.addDefvar((DefinedVariable)it.next()); - } - } + defvars=defvars() { decls.addDefvars(defvars); } | defstruct=defstruct() { decls.addDefstruct(defstruct); } | defunion=defunion() { decls.addDefunion(defunion); } | typedef=typedef() { decls.addTypedef(typedef); }