* net/loveruby/cflat/parser/Parser.jj: refactoring: rename rule: defvars -> defvar.

* net/loveruby/cflat/parser/Parser.jj: refactoring: extract new symbol defvar_list from block.


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

View File

@ -1,3 +1,11 @@
Mon Jan 21 01:22:05 2008 Minero Aoki <aamine@loveruby.net>
* net/loveruby/cflat/parser/Parser.jj: refactoring: rename rule:
defvars -> defvar.
* net/loveruby/cflat/parser/Parser.jj: refactoring: extract new
symbol defvar_list from block.
Mon Jan 21 01:19:10 2008 Minero Aoki <aamine@loveruby.net>
* net/loveruby/cflat/ast/Declarations.java: refactoring: new

View File

@ -474,8 +474,8 @@ Declarations top_decls():
}
// #@@}
// #@@range/defvars{
List defvars():
// #@@range/defvar{
List defvar():
{
List defs = new ArrayList();
boolean priv;
@ -489,7 +489,7 @@ List defvars():
defs.add(new DefinedVariable(priv, type, name, init));
init = null;
}
("," name=name() ["=" init=expr()]
( "," name=name() ["=" init=expr()]
{
defs.add(new DefinedVariable(priv, type, name, init));
init = null;
@ -579,14 +579,28 @@ Parameter param():
BlockNode block():
{
Token t;
List list = new ArrayList();
List vars;
List stmts;
}
{
t="{" (vars=defvars() { list.addAll(vars); })* stmts=stmts() "}"
t="{" vars=defvar_list() stmts=stmts() "}"
{
return new BlockNode(location(t), list, stmts);
return new BlockNode(location(t), vars, stmts);
}
}
// #@@}
// #@@range/defvar_list{
List defvar_list():
{
List result = new ArrayList();
List vars;
}
{
( vars=defvar() { result.addAll(vars); } )*
{
return result;
}
}
// #@@}