mirror of https://github.com/aamine/cbc
* 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:
parent
5c5e0c8781
commit
13a10588e7
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
// #@@}
|
||||
|
|
|
|||
Loading…
Reference in New Issue