Update of /cvsroot/jrman/drafts/src/org/jrman/parser/keywords In directory sc8-pr-cvs1:/tmp/cvs-serv29833/src/org/jrman/parser/keywords Modified Files: KeywordAreaLightSource.java KeywordLightSource.java KeywordPatch.java KeywordDisplacement.java KeywordTorus.java KeywordExterior.java KeywordHider.java KeywordDisk.java KeywordHyperboloid.java KeywordCone.java KeywordPolygon.java KeywordPointsPolygons.java KeywordParaboloid.java KeywordCylinder.java KeywordPoints.java KeywordProjection.java KeywordMakeTexture.java KeywordSurface.java KeywordImager.java KeywordInterior.java KeywordSphere.java KeywordOption.java KeywordAtmosphere.java KeywordAttribute.java AbstractKeywordParser.java KeywordDisplay.java Log Message: Reimplemented primitive parameter lists to improve the API and use less memory. NOTE: Polygons are disabled, need to be fixed.... Index: KeywordAreaLightSource.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordAreaLightSource.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** KeywordAreaLightSource.java 12 Apr 2003 06:10:29 -0000 1.4 --- KeywordAreaLightSource.java 25 Nov 2003 16:34:08 -0000 1.5 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 34,38 **** int sequenceNumber = (int) st.nval; // Expect parameter list ! Map parameters =parseParameterList(st); parser.createAreaLightSource(name, sequenceNumber, parameters); } --- 33,37 ---- int sequenceNumber = (int) st.nval; // Expect parameter list ! ParameterList parameters =parseParameterList(st); parser.createAreaLightSource(name, sequenceNumber, parameters); } Index: KeywordLightSource.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordLightSource.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordLightSource.java 12 Apr 2003 06:10:29 -0000 1.3 --- KeywordLightSource.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 34,38 **** int sequenceNumber = (int) st.nval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.createLightSource(name, sequenceNumber, parameters); } --- 33,37 ---- int sequenceNumber = (int) st.nval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.createLightSource(name, sequenceNumber, parameters); } Index: KeywordPatch.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordPatch.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** KeywordPatch.java 22 May 2003 07:36:26 -0000 1.4 --- KeywordPatch.java 25 Nov 2003 16:34:08 -0000 1.5 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String type = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); if (type.equals("bilinear")) parser.addBilinearPatch(parameters); --- 30,34 ---- String type = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); if (type.equals("bilinear")) parser.addBilinearPatch(parameters); Index: KeywordDisplacement.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordDisplacement.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordDisplacement.java 20 May 2003 01:08:39 -0000 1.3 --- KeywordDisplacement.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String name = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setDisplacement(name, parameters); } --- 30,34 ---- String name = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setDisplacement(name, parameters); } Index: KeywordTorus.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordTorus.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordTorus.java 5 May 2003 08:29:08 -0000 1.3 --- KeywordTorus.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 53,57 **** match(st, TK_RBRACE); // Expect parameter list ! Map parameters = parseParameterList(st); parser.addTorus(majorRadius, minorRadius, phiMin, phiMax, thetaMax, parameters); } --- 52,56 ---- match(st, TK_RBRACE); // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.addTorus(majorRadius, minorRadius, phiMin, phiMax, thetaMax, parameters); } Index: KeywordExterior.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordExterior.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordExterior.java 12 Apr 2003 06:10:28 -0000 1.3 --- KeywordExterior.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String name = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setExterior(name, parameters); } --- 30,34 ---- String name = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setExterior(name, parameters); } Index: KeywordHider.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordHider.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordHider.java 11 Apr 2003 22:23:11 -0000 1.3 --- KeywordHider.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String type = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setHider(type, parameters); } --- 30,34 ---- String type = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setHider(type, parameters); } Index: KeywordDisk.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordDisk.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** KeywordDisk.java 11 May 2003 02:53:43 -0000 1.4 --- KeywordDisk.java 25 Nov 2003 16:34:08 -0000 1.5 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 46,50 **** match(st, TK_RBRACE); // Expect parameter list ! Map parameters = parseParameterList(st); parser.addDisk(height,radius,thetaMax,parameters); } --- 45,49 ---- match(st, TK_RBRACE); // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.addDisk(height,radius,thetaMax,parameters); } Index: KeywordHyperboloid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordHyperboloid.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** KeywordHyperboloid.java 5 Aug 2003 23:52:18 -0000 1.6 --- KeywordHyperboloid.java 25 Nov 2003 16:34:08 -0000 1.7 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 59,63 **** match(st, TK_RBRACE); // Expect parameter list ! Map parameters = parseParameterList(st); parser.addHyperboloid(x1, y1, z1, x2, y2, z2, thetaMax, parameters); } --- 58,62 ---- match(st, TK_RBRACE); // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.addHyperboloid(x1, y1, z1, x2, y2, z2, thetaMax, parameters); } Index: KeywordCone.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordCone.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** KeywordCone.java 11 May 2003 02:53:43 -0000 1.4 --- KeywordCone.java 25 Nov 2003 16:34:08 -0000 1.5 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 46,50 **** match(st, TK_RBRACE); // Expect parameter list ! Map parameters = parseParameterList(st); parser.addCone(height,radius,thetaMax,parameters); } --- 45,49 ---- match(st, TK_RBRACE); // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.addCone(height,radius,thetaMax,parameters); } Index: KeywordPolygon.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordPolygon.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** KeywordPolygon.java 11 Sep 2003 21:53:47 -0000 1.5 --- KeywordPolygon.java 25 Nov 2003 16:34:08 -0000 1.6 *************** *** 26,30 **** public void parse(Tokenizer st) throws Exception { // Expect parameter list ! parser.addPolygon(parseParameterList(st)); } --- 26,30 ---- public void parse(Tokenizer st) throws Exception { // Expect parameter list ! //parser.addPolygon(parseParameterList(st)); } Index: KeywordPointsPolygons.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordPointsPolygons.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordPointsPolygons.java 11 Sep 2003 21:53:47 -0000 1.3 --- KeywordPointsPolygons.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 21,26 **** import java.util.List; - import java.util.Map; import org.jrman.parser.Tokenizer; --- 21,26 ---- import java.util.List; + import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 28,31 **** --- 28,32 ---- public void parse(Tokenizer st) throws Exception { + /* // Expect array nVertices List nVertices = parseArray(st); *************** *** 35,40 **** // Expect parameter list ! Map parameterList = parseParameterList(st); parser.addPointsPolygon(nVertices, vertices, parameterList); } --- 36,42 ---- // Expect parameter list ! ParameterList parameterList = parseParameterList(st); parser.addPointsPolygon(nVertices, vertices, parameterList); + */ } Index: KeywordParaboloid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordParaboloid.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordParaboloid.java 27 May 2003 02:44:20 -0000 1.3 --- KeywordParaboloid.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 50,54 **** match(st, TK_RBRACE); // Expect parameter list ! Map parameters = parseParameterList(st); parser.addParaboloid(radius, zMin, zMax, thetaMax, parameters); } --- 49,53 ---- match(st, TK_RBRACE); // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.addParaboloid(radius, zMin, zMax, thetaMax, parameters); } Index: KeywordCylinder.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordCylinder.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordCylinder.java 7 May 2003 07:08:35 -0000 1.3 --- KeywordCylinder.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 50,54 **** match(st, TK_RBRACE); // Expect parameter list ! Map parameters = parseParameterList(st); parser.addCylinder(radius, zmin, zmax, thetaMax, parameters); } --- 49,53 ---- match(st, TK_RBRACE); // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.addCylinder(radius, zmin, zmax, thetaMax, parameters); } Index: KeywordPoints.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordPoints.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** KeywordPoints.java 17 May 2003 21:47:57 -0000 1.4 --- KeywordPoints.java 25 Nov 2003 16:34:08 -0000 1.5 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 28,32 **** public void parse(Tokenizer st) throws Exception { // Expect parameter list ! Map parameters = parseParameterList(st); parser.addPoints(parameters); } --- 27,31 ---- public void parse(Tokenizer st) throws Exception { // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.addPoints(parameters); } Index: KeywordProjection.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordProjection.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordProjection.java 11 Apr 2003 04:22:33 -0000 1.3 --- KeywordProjection.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String name = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setProjection(name, parameters); } --- 30,34 ---- String name = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setProjection(name, parameters); } Index: KeywordMakeTexture.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordMakeTexture.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordMakeTexture.java 12 Jun 2003 18:36:03 -0000 1.3 --- KeywordMakeTexture.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; - import java.util.Map; - import org.jrman.parser.Tokenizer; --- 20,23 ---- *************** *** 48,53 **** match(st, TK_NUMBER); int twidth = (int) st.nval; - // Expect parameter list - Map parameters = parseParameterList(st); parser.makeTexture(picturename, texturename, swrap, twrap, filter, swidth, twidth); } --- 46,49 ---- Index: KeywordSurface.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordSurface.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordSurface.java 12 Apr 2003 06:10:29 -0000 1.3 --- KeywordSurface.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String name = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setSurface(name, parameters); } --- 30,34 ---- String name = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setSurface(name, parameters); } Index: KeywordImager.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordImager.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** KeywordImager.java 12 Apr 2003 06:10:29 -0000 1.4 --- KeywordImager.java 25 Nov 2003 16:34:08 -0000 1.5 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String name = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setImager(name, parameters); } --- 30,34 ---- String name = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setImager(name, parameters); } Index: KeywordInterior.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordInterior.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordInterior.java 12 Apr 2003 06:10:28 -0000 1.3 --- KeywordInterior.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String name = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setInterior(name, parameters); } --- 30,34 ---- String name = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setInterior(name, parameters); } Index: KeywordSphere.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordSphere.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordSphere.java 12 Apr 2003 07:06:35 -0000 1.3 --- KeywordSphere.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 49,53 **** match(st, TK_RBRACE); // Expect parameter list ! Map parameters = parseParameterList(st); parser.addSphere(radius, zMin, zMax, thetaMax, parameters); } --- 48,52 ---- match(st, TK_RBRACE); // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.addSphere(radius, zMin, zMax, thetaMax, parameters); } Index: KeywordOption.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordOption.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordOption.java 11 Apr 2003 22:23:10 -0000 1.3 --- KeywordOption.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String name = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setOption(name, parameters); } --- 30,34 ---- String name = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setOption(name, parameters); } Index: KeywordAtmosphere.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordAtmosphere.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordAtmosphere.java 12 Apr 2003 06:10:29 -0000 1.3 --- KeywordAtmosphere.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String name = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setAtmosphere(name, parameters); } --- 30,34 ---- String name = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setAtmosphere(name, parameters); } Index: KeywordAttribute.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordAttribute.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordAttribute.java 11 Apr 2003 22:50:09 -0000 1.3 --- KeywordAttribute.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 31,35 **** String name = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setAttribute(name, parameters); } --- 30,34 ---- String name = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setAttribute(name, parameters); } Index: AbstractKeywordParser.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/AbstractKeywordParser.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** AbstractKeywordParser.java 11 Apr 2003 22:50:10 -0000 1.6 --- AbstractKeywordParser.java 25 Nov 2003 16:34:08 -0000 1.7 *************** *** 25,29 **** import java.util.HashSet; import java.util.List; - import java.util.Map; import java.util.Set; --- 25,28 ---- *************** *** 32,35 **** --- 31,37 ---- import org.jrman.geom.Bounds3f; + import org.jrman.parameters.Declaration; + import org.jrman.parameters.ParameterList; + import org.jrman.parser.Global; import org.jrman.parser.Parser; import org.jrman.parser.Tokenizer; *************** *** 50,53 **** --- 52,61 ---- final static int TK_RBRACE = ']'; + + private static float[] numbers = new float[100]; + + private static String[] strings = new String[10]; + + private static int arraySize; protected Parser parser; *************** *** 229,234 **** } ! protected List parseArray(Tokenizer st) throws Exception { ! List array = new ArrayList(); // Expect array start match(st, TK_LBRACE); --- 237,267 ---- } ! /* ! protected Map parseParameterList(Tokenizer st) throws Exception { ! List list = new ArrayList(); ! // Expect list of key & value pairs ! while (st.nextToken() == TK_STRING) { ! list.add(st.sval); ! int token = st.nextToken(); ! if (token == TK_LBRACE) { ! st.pushBack(); ! list.add(parseArray(st)); ! } else if (token == TK_NUMBER) { ! List array = new ArrayList(); ! array.add(new Float((float) st.nval)); ! list.add(array); ! } else if (token == TK_STRING) { ! List array = new ArrayList(); ! array.add(st.sval); ! list.add(array); ! } ! } ! st.pushBack(); ! return parser.translateParameterList(list); ! } ! */ ! ! protected void parseArray(Tokenizer st) throws Exception { ! arraySize = 0; // Expect array start match(st, TK_LBRACE); *************** *** 238,245 **** switch (token) { case TK_NUMBER : ! array.add(new Float((float) st.nval)); break; case TK_STRING : ! array.add(st.sval); break; } --- 271,288 ---- switch (token) { case TK_NUMBER : ! if (arraySize == numbers.length) { ! float[] tmp = new float[numbers.length * 2]; ! System.arraycopy(numbers, 0, tmp, 0, numbers.length); ! numbers = tmp; ! } ! numbers[arraySize++] = (float) st.nval; break; case TK_STRING : ! if (arraySize == strings.length) { ! String[] tmp = new String[strings.length * 2]; ! System.arraycopy(strings, 0, tmp, 0, strings.length); ! strings = tmp; ! } ! strings[arraySize++] = st.sval; break; } *************** *** 247,274 **** // Expect array end match(st, TK_RBRACE); - return array; } ! protected Map parseParameterList(Tokenizer st) throws Exception { ! List list = new ArrayList(); // Expect list of key & value pairs while (st.nextToken() == TK_STRING) { ! list.add(st.sval); int token = st.nextToken(); if (token == TK_LBRACE) { st.pushBack(); ! list.add(parseArray(st)); } else if (token == TK_NUMBER) { ! List array = new ArrayList(); ! array.add(new Float((float) st.nval)); ! list.add(array); } else if (token == TK_STRING) { ! List array = new ArrayList(); ! array.add(st.sval); ! list.add(array); } } st.pushBack(); ! return parser.translateParameterList(list); } --- 290,334 ---- // Expect array end match(st, TK_RBRACE); } ! private Declaration getDeclaration(String name) { ! Declaration declaration = Global.getDeclaration(name); ! if (declaration != null) ! return declaration; ! // Check for inline declaration ! name = name.trim(); // Just being careful... ! int pos = name.lastIndexOf(' '); ! if (pos == -1) ! throw new IllegalArgumentException(); ! String decl = name.substring(0, pos); ! name = name.substring(pos + 1); ! return new Declaration(name, decl); ! } ! ! protected ParameterList parseParameterList(Tokenizer st) throws Exception { ! ParameterList parameters = new ParameterList(); // Expect list of key & value pairs while (st.nextToken() == TK_STRING) { ! Declaration declaration = null; ! try { ! declaration = getDeclaration(st.sval); ! } catch (IllegalArgumentException e) { ! System.err.println("Unknown type for parameter: " + st.sval); ! } int token = st.nextToken(); if (token == TK_LBRACE) { st.pushBack(); ! parseArray(st); } else if (token == TK_NUMBER) { ! numbers[0] = (float) st.nval; ! arraySize = 1; } else if (token == TK_STRING) { ! strings[0] = st.sval; ! arraySize = 1; } + parameters.addParameter(declaration.buildParameter(numbers, strings, arraySize)); } st.pushBack(); ! return parameters; } Index: KeywordDisplay.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordDisplay.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordDisplay.java 11 Apr 2003 22:23:11 -0000 1.3 --- KeywordDisplay.java 25 Nov 2003 16:34:08 -0000 1.4 *************** *** 20,25 **** package org.jrman.parser.keywords; ! import java.util.Map; ! import org.jrman.parser.Tokenizer; --- 20,24 ---- package org.jrman.parser.keywords; ! import org.jrman.parameters.ParameterList; import org.jrman.parser.Tokenizer; *************** *** 37,41 **** String mode = st.sval; // Expect parameter list ! Map parameters = parseParameterList(st); parser.setDisplay(name, type, mode, parameters); } --- 36,40 ---- String mode = st.sval; // Expect parameter list ! ParameterList parameters = parseParameterList(st); parser.setDisplay(name, type, mode, parameters); } |