From: Robert L. <rle...@us...> - 2007-02-14 12:27:12
|
Update of /cvsroot/ccmtools/ccmtools/src/ccmtools/parser/assembly In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv14714/src/ccmtools/parser/assembly Modified Files: Main.java assembly.cup Log Message: ccm assembly metamodel + Java generator Index: assembly.cup =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/ccmtools/parser/assembly/assembly.cup,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** assembly.cup 12 Feb 2007 14:08:31 -0000 1.2 --- assembly.cup 14 Feb 2007 12:27:06 -0000 1.3 *************** *** 115,121 **** assembly ::= ! ASSEMBLY NAME:v1 IMPLEMENTS qualified_name:v2 LBRACE assembly_element_list:v3 RBRACE SEMICOLON {: ! RESULT = new ccmtools.parser.assembly.metamodel.Assembly(v1, v2, v3); :} ; --- 115,126 ---- assembly ::= ! ASSEMBLY NAME:x IMPLEMENTS NAME:n LBRACE assembly_element_list:l RBRACE SEMICOLON {: ! RESULT = new ccmtools.parser.assembly.metamodel.Assembly(n, x, l); ! :} ! | ! ASSEMBLY IMPLEMENTS NAME:n LBRACE assembly_element_list:l RBRACE SEMICOLON ! {: ! RESULT = new ccmtools.parser.assembly.metamodel.Assembly(n, null, l); :} ; Index: Main.java =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/ccmtools/parser/assembly/Main.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Main.java 12 Feb 2007 16:01:17 -0000 1.3 --- Main.java 14 Feb 2007 12:27:05 -0000 1.4 *************** *** 11,14 **** --- 11,16 ---- import java.io.FileReader; + import java.util.List; + import ccmtools.CcmtoolsException; import ccmtools.parser.assembly.metamodel.Model; *************** *** 53,55 **** --- 55,75 ---- return result; } + + public static Model parse( List<String> files ) throws Exception + { + Model result = new Model(); + for (String f : files) + { + try + { + Model m = parse(f); + result.merge(m); + } + catch (Exception e) + { + throw new CcmtoolsException("problem with: " + f, e); + } + } + return result; + } } |