|
From: Gary P. <gpa...@gm...> - 2009-06-10 10:52:10
|
The need to have a decent parser for the domain strings is something that has been on the cards for a very long time. The main problem with the current implementation is that it is very non-expressive. Illegal domains such as: - R(8, 9)^-1 - R^0 - Any other strange combination were allowed in the previous parser. These patches propose a new generated parser based on a provided grammar file. JJTree and JavaCC were used to achieve the parser. Gary Pampara (3): Semi-complete parser definition. Deprecation of parser for generated parser. Prevent invalid values / options in domain strings. pom.xml | 13 + .../bioinf/sequencealignment/BinaryMSAProblem.java | 12 +- .../cilib/bioinf/sequencealignment/MSAProblem.java | 5 +- .../controlparameter/BoundedControlParameter.java | 12 +- .../functions/discrete/KnightCoverageProblem.java | 1 - .../cilib/problem/ClusteringProblem.java | 5 +- .../CooperativeOptimisationProblemAdapter.java | 21 +- .../net/sourceforge/cilib/type/DomainBuilder.java | 2 + .../net/sourceforge/cilib/type/DomainParser.java | 2 + .../net/sourceforge/cilib/type/DomainRegistry.java | 2 +- .../sourceforge/cilib/type/DomainValidator.java | 1 + .../cilib/type/StringBasedDomainRegistry.java | 44 +--- .../java/net/sourceforge/cilib/type/creator/B.java | 16 +- .../java/net/sourceforge/cilib/type/creator/R.java | 8 + .../java/net/sourceforge/cilib/type/creator/T.java | 7 + .../cilib/type/creator/TypeCreator.java | 7 + .../java/net/sourceforge/cilib/type/creator/Z.java | 9 + .../cilib/type/parser/DomainParserVisitorImpl.java | 272 ++++++++++++++++++++ src/main/jjtree/parser.jjt | 84 ++++++ .../cilib/measurement/generic/IterationsTest.java | 10 +- .../generic/PercentageCompleteTest.java | 10 +- .../cilib/measurement/generic/RestartsTest.java | 10 +- .../cilib/measurement/generic/TimeTest.java | 10 +- .../measurement/multiple/MultipleFitnessTest.java | 10 +- .../multiple/MultipleSolutionsTest.java | 10 +- .../single/BestParticlePositionTest.java | 14 +- .../cilib/measurement/single/DiameterTest.java | 10 +- .../measurement/single/FitnessEvaluationsTest.java | 10 +- .../cilib/measurement/single/FitnessTest.java | 10 +- .../single/FunctionOptimisationErrorTest.java | 12 +- .../measurement/single/ParticlePositionsTest.java | 10 +- .../cilib/measurement/single/SolutionTest.java | 12 +- .../sourceforge/cilib/type/DomainParserTest.java | 165 ++---------- .../cilib/type/StringBasedDomainRegistryTest.java | 20 +- .../cilib/type/parser/DomainParserTest.java | 128 +++++++++ 35 files changed, 682 insertions(+), 292 deletions(-) create mode 100644 src/main/java/net/sourceforge/cilib/type/parser/DomainParserVisitorImpl.java create mode 100644 src/main/jjtree/parser.jjt create mode 100644 src/test/java/net/sourceforge/cilib/type/parser/DomainParserTest.java |