* net/loveruby/cflat/ast/Declarations.java: refactoring: new method #addDefvars.

* net/loveruby/cflat/parser/Parser.jj: use it.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@3849 1b9489fe-b721-0410-924e-b54b9192deb8
This commit is contained in:
Minero Aoki 2008-01-20 16:19:13 +00:00
parent 2d2dac92e5
commit 5c5e0c8781
3 changed files with 13 additions and 11 deletions

View File

@ -1,3 +1,10 @@
Mon Jan 21 01:19:10 2008 Minero Aoki <aamine@loveruby.net>
* 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 <aamine@loveruby.net>
* net/loveruby/cflat/ast/Parameter.java: simplify dump output.

View File

@ -27,6 +27,10 @@ public class Declarations {
defvars.add(var);
}
public void addDefvars(List vars) {
defvars.addAll(vars);
}
public List defvars() {
return defvars;
}

View File

@ -461,18 +461,9 @@ Declarations top_decls():
}
{
( LOOKAHEAD(storage() typeref() <IDENTIFIER> "(")
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); }