Bug 444952: update oracleddlparser project Review by: David McCann Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/oracleddl.parent/pom.xml b/oracleddl.parent/pom.xml index a43c9c6..57a9084 100644 --- a/oracleddl.parent/pom.xml +++ b/oracleddl.parent/pom.xml
@@ -18,14 +18,13 @@ <properties> <!-- TOOL Properties --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <tycho.version>0.15.0</tycho.version> - <junit4-version>4.8.1</junit4-version> + <tycho.version>0.21.0</tycho.version> + <junit4-version>4.8.2</junit4-version> <!-- PROJECT Properties --> <release.version>1.0.0</release.version> <!-- maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format> Seems it must be in settings.xml --> <build.qualifier>v${maven.build.timestamp}</build.qualifier> <forceContextQualifier>${build.qualifier}</forceContextQualifier> - <src>./src/main/java,./src/test/java</src> </properties> <organization> @@ -38,6 +37,12 @@ <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-maven-plugin</artifactId> + <version>${tycho.version}</version> + <extensions>true</extensions> + </plugin> + <plugin> + <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-compiler-plugin</artifactId> <version>${tycho.version}</version> <configuration> @@ -53,15 +58,6 @@ </plugin> <plugin> <groupId>org.eclipse.tycho</groupId> - <artifactId>tycho-maven-plugin</artifactId> - <version>${tycho.version}</version> - <extensions>true</extensions> - <configuration> - <resolver>p2</resolver> - </configuration> - </plugin> - <plugin> - <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>${tycho.version}</version> <configuration> @@ -119,23 +115,21 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-p2-plugin</artifactId> + <version>${tycho.version}</version> + <executions> + <execution> + <id>attach-p2-metadata</id> + <phase>package</phase> + <goals> + <goal>p2-metadata</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> <finalName>${project.artifactId}_${release.version}.${build.qualifier}</finalName> </build> - - <pluginRepositories> - <pluginRepository> - <id>tycho-0.15.0-staged</id> - <url>https://oss.sonatype.org/content/repositories/orgeclipsetycho-255/</url> - </pluginRepository> - <!-- pluginRepository> - <id>tycho-public</id> - <url>https://oss.sonatype.org/content/groups/public/</url> - </pluginRepository --> - <pluginRepository> - <id>maven-eclipse</id> - <url>http://repo1.maven.org</url> - </pluginRepository> - </pluginRepositories> - </project>
diff --git "a/oracleddlparser/\050maven\051Oracle DDL Parser tests.launch" "b/oracleddlparser/\050maven\051Oracle DDL Parser tests.launch" index 5ad2e19..06ee922 100644 --- "a/oracleddlparser/\050maven\051Oracle DDL Parser tests.launch" +++ "b/oracleddlparser/\050maven\051Oracle DDL Parser tests.launch"
@@ -7,7 +7,6 @@ <stringAttribute key="M2_PROFILES" value=""/> <listAttribute key="M2_PROPERTIES"> <listEntry value="db.oracle.driver=${db.oracle.driver}"/> -<listEntry value="db.oracle.platform=${db.oracle.platform}"/> <listEntry value="db.oracle.pwd=${db.oracle.pwd}"/> <listEntry value="db.oracle.url=${db.oracle.url}"/> <listEntry value="db.oracle.user=${db.oracle.user}"/>
diff --git a/oracleddlparser/.classpath b/oracleddlparser/.classpath index ddd8f96..5664297 100644 --- a/oracleddlparser/.classpath +++ b/oracleddlparser/.classpath
@@ -1,9 +1,11 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> - <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="src" path="src/main/java"/> - <classpathentry kind="src" path="src/test/java"/> - <classpathentry kind="output" path="target/classes"/> -</classpath> +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/main/jjtree"/> + <classpathentry kind="src" path="target/generated-sources/javacc"/> + <classpathentry kind="src" path="target/generated-sources/jjtree"/> + <classpathentry kind="src" path="src/main/resources"/> + <classpathentry kind="output" path="target/classes"/> +</classpath>
diff --git a/oracleddlparser/.settings/org.eclipse.core.resources.prefs b/oracleddlparser/.settings/org.eclipse.core.resources.prefs index c26d42d..30b8b67 100644 --- a/oracleddlparser/.settings/org.eclipse.core.resources.prefs +++ b/oracleddlparser/.settings/org.eclipse.core.resources.prefs
@@ -1,3 +1,4 @@ -#Mon Jan 09 20:25:20 EST 2012 eclipse.preferences.version=1 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 encoding/<project>=UTF-8
diff --git "a/oracleddlparser/Oracle DDL Parser \050All\051 tests.launch" "b/oracleddlparser/Oracle DDL Parser \050All\051 tests.launch" index dedb85d..b3c7e08 100644 --- "a/oracleddlparser/Oracle DDL Parser \050All\051 tests.launch" +++ "b/oracleddlparser/Oracle DDL Parser \050All\051 tests.launch"
@@ -21,5 +21,5 @@ <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.persistence.tools.oracleddl.test.AllTests"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.persistence.oracleddlparser"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/> -<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddb.user=${db.oracle.user} -Ddb.pwd=${db.oracle.pwd} -Ddb.url=${db.oracle.url} -Ddb.platform=${db.oracle.platform} -Ddb.driver=${db.oracle.driver} -Ddb.ddl.create=${db.ddl.create} -Ddb.ddl.drop=${db.ddl.drop} -Ddb.ddl.debug=${db.ddl.debug}"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddb.user=${db.oracle.user} -Ddb.pwd=${db.oracle.pwd} -Ddb.url=${db.oracle.url} -Ddb.driver=${db.oracle.driver} -Ddb.ddl.create=${db.ddl.create} -Ddb.ddl.drop=${db.ddl.drop} -Ddb.ddl.debug=${db.ddl.debug}"/> </launchConfiguration>
diff --git "a/oracleddlparser/Oracle DDL Parser \050just DatabaseTypeBuilder\051 tests.launch" "b/oracleddlparser/Oracle DDL Parser \050just DatabaseTypeBuilder\051 tests.launch" index 8b97ac3..219511c 100644 --- "a/oracleddlparser/Oracle DDL Parser \050just DatabaseTypeBuilder\051 tests.launch" +++ "b/oracleddlparser/Oracle DDL Parser \050just DatabaseTypeBuilder\051 tests.launch"
@@ -21,5 +21,5 @@ <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.persistence.tools.oracleddl.test.databasetypebuilder.DatabaseTypeBuilderTestSuite"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.persistence.oracleddlparser"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/> -<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddb.user=${db.oracle.user} -Ddb.pwd=${db.oracle.pwd} -Ddb.url=${db.oracle.url} -Ddb.platform=${db.oracle.platform} -Ddb.driver=${db.oracle.driver} -Ddb.ddl.create=${db.ddl.create} -Ddb.ddl.drop=${db.ddl.drop} -Ddb.ddl.debug=${db.ddl.debug}"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddb.user=${db.oracle.user} -Ddb.pwd=${db.oracle.pwd} -Ddb.url=${db.oracle.url} -Ddb.driver=${db.oracle.driver} -Ddb.ddl.create=${db.ddl.create} -Ddb.ddl.drop=${db.ddl.drop} -Ddb.ddl.debug=${db.ddl.debug}"/> </launchConfiguration>
diff --git "a/oracleddlparser/Oracle DDL Parser \050just Parser\051 tests.launch" "b/oracleddlparser/Oracle DDL Parser \050just Parser\051 tests.launch" index c2adc92..095dadb 100644 --- "a/oracleddlparser/Oracle DDL Parser \050just Parser\051 tests.launch" +++ "b/oracleddlparser/Oracle DDL Parser \050just Parser\051 tests.launch"
@@ -14,5 +14,5 @@ <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.persistence.tools.oracleddl.test.ddlparser.DDLParserTestSuite"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.persistence.oracleddlparser"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/> -<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddb.user=${db.oracle.user} -Ddb.pwd=${db.oracle.pwd} -Ddb.url=${db.oracle.url} -Ddb.platform=${db.oracle.platform} -Ddb.driver=${db.oracle.driver} -Ddb.ddl.create=${db.ddl.create} -Ddb.ddl.drop=${db.ddl.drop} -Ddb.ddl.debug=${db.ddl.debug}"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddb.user=${db.oracle.user} -Ddb.pwd=${db.oracle.pwd} -Ddb.url=${db.oracle.url} -Ddb.driver=${db.oracle.driver} -Ddb.ddl.create=${db.ddl.create} -Ddb.ddl.drop=${db.ddl.drop} -Ddb.ddl.debug=${db.ddl.debug}"/> </launchConfiguration> \ No newline at end of file
diff --git "a/oracleddlparser/Oracle DDL Parser \050just Visitors\051 tests.launch" "b/oracleddlparser/Oracle DDL Parser \050just Visitors\051 tests.launch" index 3a09b6c..bf59577 100644 --- "a/oracleddlparser/Oracle DDL Parser \050just Visitors\051 tests.launch" +++ "b/oracleddlparser/Oracle DDL Parser \050just Visitors\051 tests.launch"
@@ -14,5 +14,5 @@ <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.persistence.tools.oracleddl.test.visit.VisitorsTestSuite"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.persistence.oracleddlparser"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/> -<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddb.user=${db.oracle.user} -Ddb.pwd=${db.oracle.pwd} -Ddb.url=${db.oracle.url} -Ddb.platform=${db.oracle.platform} -Ddb.driver=${db.oracle.driver} -Ddb.ddl.create=${db.ddl.create} -Ddb.ddl.drop=${db.ddl.drop} -Ddb.ddl.debug=${db.ddl.debug}"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Ddb.user=${db.oracle.user} -Ddb.pwd=${db.oracle.pwd} -Ddb.url=${db.oracle.url} -Ddb.driver=${db.oracle.driver} -Ddb.ddl.create=${db.ddl.create} -Ddb.ddl.drop=${db.ddl.drop} -Ddb.ddl.debug=${db.ddl.debug}"/> </launchConfiguration> \ No newline at end of file
diff --git a/oracleddlparser/build.properties b/oracleddlparser/build.properties index 58edf37..494fefd 100644 --- a/oracleddlparser/build.properties +++ b/oracleddlparser/build.properties
@@ -1,5 +1,9 @@ bin.includes = .,\ META-INF/ jars.compile.order = . -source.. = src/main/java/ +source.. = src/main/java/,\ + src/main/jjtree/,\ + src/main/resources/,\ + target/generated-sources/javacc,\ + target/generated-sources/jjtree output.. = ./target/classes
diff --git a/oracleddlparser/pom.xml b/oracleddlparser/pom.xml index a1037b7..304c7dd 100644 --- a/oracleddlparser/pom.xml +++ b/oracleddlparser/pom.xml
@@ -19,19 +19,23 @@ <maven-surefire-plugin.version>2.11</maven-surefire-plugin.version> <maven-surefire-report-plugin.version>2.11</maven-surefire-report-plugin.version> <jxr-maven-plugin.version>2.3</jxr-maven-plugin.version> + <!-- tests related properties --> + <db.oracle.url>jdbc:oracle:thin:@localhost:1521:ORCL</db.oracle.url> + <db.oracle.user>scott</db.oracle.user> + <db.oracle.pwd>tiger</db.oracle.pwd> + <db.oracle.driver>oracle.jdbc.OracleDriver</db.oracle.driver> + <db.ddl.create>false</db.ddl.create> + <db.ddl.drop>false</db.ddl.drop> + <db.ddl.debug>false</db.ddl.debug> + <!-- enable debugger on port 5005 --> + <test.debug>false</test.debug> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.8.2</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.oracle</groupId> - <artifactId>ojdbc6</artifactId> - <version>11.2.0</version> + <version>${junit4-version}</version> <scope>test</scope> </dependency> </dependencies> @@ -39,6 +43,19 @@ <build> <plugins> <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>javacc-maven-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>jjtree-javacc</id> + <goals> + <goal>jjtree-javacc</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>${maven-project-info-reports-plugin.version}</version> @@ -53,13 +70,13 @@ <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <executions> - <execution> - <id>test</id> - <phase>test</phase> - <goals> - <goal>testCompile</goal> - </goals> - </execution> + <execution> + <id>test</id> + <phase>test</phase> + <goals> + <goal>testCompile</goal> + </goals> + </execution> </executions> </plugin> <plugin> @@ -75,7 +92,6 @@ <db.user>${db.oracle.user}</db.user> <db.pwd>${db.oracle.pwd}</db.pwd> <db.url>${db.oracle.url}</db.url> - <db.platform>${db.oracle.platform}</db.platform> <db.driver>${db.oracle.driver}</db.driver> <db.ddl.create>${db.ddl.create}</db.ddl.create> <db.ddl.drop>${db.ddl.drop}</db.ddl.drop> @@ -86,6 +102,7 @@ <includes> <include>**/AllTests.java</include> </includes> + <debugForkedProcess>${test.debug}</debugForkedProcess> </configuration> <goals> <goal>test</goal> @@ -107,35 +124,12 @@ </execution> </executions> </plugin> - <plugin> - <artifactId>maven-antrun-plugin</artifactId> - <version>1.6</version> - <executions> - <execution> - <id>inject-resources-into-src-bundles</id> - <phase>package</phase> - <configuration> - <target> - <zip file="target/${project.artifactId}.source_${release.version}.${build.qualifier}.jar" duplicate="preserve"> - <zipgroupfileset dir="target"> - <include name="${project.artifactId}_${release.version}.${build.qualifier}-sources.jar"/> - </zipgroupfileset> - <fileset dir="src/main/resources" includes="**"/> - </zip> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> </plugins> </build> <reporting> <plugins> - <plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>${jxr-maven-plugin.version}</version> @@ -155,4 +149,39 @@ </plugins> </reporting> + <profiles> + <profile> + <id>system-jdbc-driver</id> + <activation> + <file> + <exists>${basedir}/../../extension.lib.external/ojdbc6.jar</exists> + </file> + </activation> + <dependencies> + <dependency> + <groupId>com.oracle</groupId> + <artifactId>ojdbc6</artifactId> + <version>11.2.0</version> + <scope>system</scope> + <systemPath>${basedir}/../../extension.lib.external/ojdbc6.jar</systemPath> + </dependency> + </dependencies> + </profile> + <profile> + <id>repo-jdbc-driver</id> + <activation> + <file> + <missing>${basedir}/../../extension.lib.external/ojdbc6.jar</missing> + </file> + </activation> + <dependencies> + <dependency> + <groupId>com.oracle</groupId> + <artifactId>ojdbc6</artifactId> + <version>11.2.0</version> + <scope>test</scope> + </dependency> + </dependencies> + </profile> + </profiles> </project> \ No newline at end of file
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.java deleted file mode 100644 index 8339187..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.java +++ /dev/null
@@ -1,4794 +0,0 @@ -/* Generated By:JJTree&JavaCC: Do not edit this line. DDLParser.java */ -/******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 - * which accompanies this distribution. - * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Mike Norman - June 10 2011, created DDL parser package - ******************************************************************************/ -package org.eclipse.persistence.tools.oracleddl.parser; - -//javase imports -import java.io.InputStream; -import java.util.List; -import java.util.HashMap; -import java.util.Map; -import java.util.StringTokenizer; - -//metadata imports -import org.eclipse.persistence.tools.oracleddl.metadata.ArgumentType; -import org.eclipse.persistence.tools.oracleddl.metadata.ArgumentTypeDirection; -import org.eclipse.persistence.tools.oracleddl.metadata.BlobType; -import org.eclipse.persistence.tools.oracleddl.metadata.CharType; -import org.eclipse.persistence.tools.oracleddl.metadata.ClobType; -import org.eclipse.persistence.tools.oracleddl.metadata.CompositeDatabaseType; -import org.eclipse.persistence.tools.oracleddl.metadata.DatabaseType; -import org.eclipse.persistence.tools.oracleddl.metadata.DecimalType; -import org.eclipse.persistence.tools.oracleddl.metadata.DoubleType; -import org.eclipse.persistence.tools.oracleddl.metadata.FieldType; -import org.eclipse.persistence.tools.oracleddl.metadata.FloatType; -import org.eclipse.persistence.tools.oracleddl.metadata.FunctionType; -import org.eclipse.persistence.tools.oracleddl.metadata.IntervalDayToSecond; -import org.eclipse.persistence.tools.oracleddl.metadata.IntervalYearToMonth; -import org.eclipse.persistence.tools.oracleddl.metadata.LongType; -import org.eclipse.persistence.tools.oracleddl.metadata.LongRawType; -import org.eclipse.persistence.tools.oracleddl.metadata.NCharType; -import org.eclipse.persistence.tools.oracleddl.metadata.NClobType; -import org.eclipse.persistence.tools.oracleddl.metadata.NumericType; -import org.eclipse.persistence.tools.oracleddl.metadata.NVarChar2Type; -import org.eclipse.persistence.tools.oracleddl.metadata.ObjectType; -import org.eclipse.persistence.tools.oracleddl.metadata.ObjectTableType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLCollectionType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLCursorType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLPackageType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLRecordType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLSubType; -import org.eclipse.persistence.tools.oracleddl.metadata.ProcedureType; -import org.eclipse.persistence.tools.oracleddl.metadata.RawType; -import org.eclipse.persistence.tools.oracleddl.metadata.RealType; -import org.eclipse.persistence.tools.oracleddl.metadata.ROWTYPEType; -import org.eclipse.persistence.tools.oracleddl.metadata.TableType; -import org.eclipse.persistence.tools.oracleddl.metadata.TimeStampType; -import org.eclipse.persistence.tools.oracleddl.metadata.TYPEType; -import org.eclipse.persistence.tools.oracleddl.metadata.URowIdType; -import org.eclipse.persistence.tools.oracleddl.metadata.UnresolvedSizedType; -import org.eclipse.persistence.tools.oracleddl.metadata.UnresolvedType; -import org.eclipse.persistence.tools.oracleddl.metadata.VarCharType; -import org.eclipse.persistence.tools.oracleddl.metadata.VarChar2Type; -import org.eclipse.persistence.tools.oracleddl.metadata.VArrayType; -import org.eclipse.persistence.tools.oracleddl.util.DatabaseTypesRepository; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BFILE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BINARY_INTEGER_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BINARY_FLOAT_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BINARY_DOUBLE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BOOLEAN_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.DATE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.INTEGER_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.MLSLABEL_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.NATURAL_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.PLS_INTEGER_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.POSITIVE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.ROWID_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIGN_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIMPLE_INTEGER_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIMPLE_DOUBLE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIMPLE_FLOAT_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SMALLINT_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SYS_REFCURSOR_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.TIME_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.XMLTYPE_TYPE; - -@SuppressWarnings("all") -public class DDLParser/*@bgen(jjtree)*/implements DDLParserTreeConstants, DDLParserConstants {/*@bgen(jjtree)*/ - protected JJTDDLParserState jjtree = new JJTDDLParserState(); - protected Map<String, DatabaseType> localTypes = new HashMap<String, DatabaseType>(); - protected List<String> schemaPatterns = null; - - protected DatabaseTypesRepository typesRepository = new DatabaseTypesRepository(); - - public DDLParser() { - super(); - } - - public void setTypesRepository(DatabaseTypesRepository typesRepository) { - this.typesRepository = typesRepository; - } - public DatabaseTypesRepository getTypesRepository() { - return typesRepository; - } - - public void setSchemaPatterns(List<String> schemaPatterns) { - this.schemaPatterns = schemaPatterns; - } - - protected String removeQuotes(String quotedString) { - return quotedString.substring(1, quotedString.length() - 1); - } - - final public String keywords() throws ParseException { - Token t = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_ARRAY: - t = jj_consume_token(K_ARRAY); - break; - case K_AUTHID: - t = jj_consume_token(K_AUTHID); - break; - case K_BFILE: - t = jj_consume_token(K_BFILE); - break; - case K_BINARY_DOUBLE: - t = jj_consume_token(K_BINARY_DOUBLE); - break; - case K_BINARY_FLOAT: - t = jj_consume_token(K_BINARY_FLOAT); - break; - case K_BINARY_INTEGER: - t = jj_consume_token(K_BINARY_INTEGER); - break; - case K_BLOB: - t = jj_consume_token(K_BLOB); - break; - case K_BOOLEAN: - t = jj_consume_token(K_BOOLEAN); - break; - case K_BYTE: - t = jj_consume_token(K_BYTE); - break; - case K_CHAR: - t = jj_consume_token(K_CHAR); - break; - case K_CHARACTER: - t = jj_consume_token(K_CHARACTER); - break; - case K_CLOB: - t = jj_consume_token(K_CLOB); - break; - case K_COMMIT: - t = jj_consume_token(K_COMMIT); - break; - case K_CONSTANT: - t = jj_consume_token(K_CONSTANT); - break; - case K_CONSTRUCTOR: - t = jj_consume_token(K_CONSTRUCTOR); - break; - case K_CURRENT_USER: - t = jj_consume_token(K_CURRENT_USER); - break; - case K_DATE: - t = jj_consume_token(K_DATE); - break; - case K_DAY: - t = jj_consume_token(K_DAY); - break; - case K_DEC: - t = jj_consume_token(K_DEC); - break; - case K_DECIMAL: - t = jj_consume_token(K_DECIMAL); - break; - case K_DEFINER: - t = jj_consume_token(K_DEFINER); - break; - case K_DELETE: - t = jj_consume_token(K_DELETE); - break; - case K_DETERMINISTIC: - t = jj_consume_token(K_DETERMINISTIC); - break; - case K_DOUBLE: - t = jj_consume_token(K_DOUBLE); - break; - case K_ENABLE: - t = jj_consume_token(K_ENABLE); - break; - case K_FINAL: - t = jj_consume_token(K_FINAL); - break; - case K_FLOAT: - t = jj_consume_token(K_FLOAT); - break; - case K_FORCE: - t = jj_consume_token(K_FORCE); - break; - case K_GLOBAL: - t = jj_consume_token(K_GLOBAL); - break; - case K_INSTANTIABLE: - t = jj_consume_token(K_INSTANTIABLE); - break; - case K_INT: - t = jj_consume_token(K_INT); - break; - case K_INTEGER: - t = jj_consume_token(K_INTEGER); - break; - case K_INTERVAL: - t = jj_consume_token(K_INTERVAL); - break; - case K_KEY: - t = jj_consume_token(K_KEY); - break; - case K_LOCAL: - t = jj_consume_token(K_LOCAL); - break; - case K_LONG: - t = jj_consume_token(K_LONG); - break; - case K_MLSLABEL: - t = jj_consume_token(K_MLSLABEL); - break; - case K_MONTH: - t = jj_consume_token(K_MONTH); - break; - case K_NATIONAL: - t = jj_consume_token(K_NATIONAL); - break; - case K_NATURAL: - t = jj_consume_token(K_NATURAL); - break; - case K_NCHAR: - t = jj_consume_token(K_NCHAR); - break; - case K_NCLOB: - t = jj_consume_token(K_NCLOB); - break; - case K_NOCOPY: - t = jj_consume_token(K_NOCOPY); - break; - case K_NUMBER: - t = jj_consume_token(K_NUMBER); - break; - case K_NUMERIC: - t = jj_consume_token(K_NUMERIC); - break; - case K_NVARCHAR2: - t = jj_consume_token(K_NVARCHAR2); - break; - case K_NVARCHAR: - t = jj_consume_token(K_NVARCHAR); - break; - case K_OBJECT: - t = jj_consume_token(K_OBJECT); - break; - case K_OID: - t = jj_consume_token(K_OID); - break; - case K_ORGANIZATION: - t = jj_consume_token(K_ORGANIZATION); - break; - case K_OUT: - t = jj_consume_token(K_OUT); - break; - case K_OVERFLOW: - t = jj_consume_token(K_OVERFLOW); - break; - case K_PACKAGE: - t = jj_consume_token(K_PACKAGE); - break; - case K_PARALLEL_ENABLE: - t = jj_consume_token(K_PARALLEL_ENABLE); - break; - case K_PIPELINED: - t = jj_consume_token(K_PIPELINED); - break; - case K_PLS_INTEGER: - t = jj_consume_token(K_PLS_INTEGER); - break; - case K_POSITIVE: - t = jj_consume_token(K_POSITIVE); - break; - case K_PRAGMA: - t = jj_consume_token(K_PRAGMA); - break; - case K_PRECISION: - t = jj_consume_token(K_PRECISION); - break; - case K_PRESERVE: - t = jj_consume_token(K_PRESERVE); - break; - case K_RANGE: - t = jj_consume_token(K_RANGE); - break; - case K_RAW: - t = jj_consume_token(K_RAW); - break; - case K_REAL: - t = jj_consume_token(K_REAL); - break; - case K_RECORD: - t = jj_consume_token(K_RECORD); - break; - case K_REF: - t = jj_consume_token(K_REF); - break; - case K_REPLACE: - t = jj_consume_token(K_REPLACE); - break; - case K_RESULT: - t = jj_consume_token(K_RESULT); - break; - case K_RESULT_CACHE: - t = jj_consume_token(K_RESULT_CACHE); - break; - case K_RETURN: - t = jj_consume_token(K_RETURN); - break; - case K_ROWID: - t = jj_consume_token(K_ROWID); - break; - case K_ROWS: - t = jj_consume_token(K_ROWS); - break; - case K_SECOND: - t = jj_consume_token(K_SECOND); - break; - case K_SELF: - t = jj_consume_token(K_SELF); - break; - case K_SET: - t = jj_consume_token(K_SET); - break; - case K_SIGNTYPE: - t = jj_consume_token(K_SIGNTYPE); - break; - case K_SIMPLE_DOUBLE: - t = jj_consume_token(K_SIMPLE_DOUBLE); - break; - case K_SIMPLE_FLOAT: - t = jj_consume_token(K_SIMPLE_FLOAT); - break; - case K_SIMPLE_INTEGER: - t = jj_consume_token(K_SIMPLE_INTEGER); - break; - case K_SMALLINT: - t = jj_consume_token(K_SMALLINT); - break; - case K_STRING: - t = jj_consume_token(K_STRING); - break; - case K_SYS_REFCURSOR: - t = jj_consume_token(K_SYS_REFCURSOR); - break; - case K_TEMPORARY: - t = jj_consume_token(K_TEMPORARY); - break; - case K_TIME: - t = jj_consume_token(K_TIME); - break; - case K_TIMESTAMP: - t = jj_consume_token(K_TIMESTAMP); - break; - case K_UROWID: - t = jj_consume_token(K_UROWID); - break; - case K_VARCHAR2: - t = jj_consume_token(K_VARCHAR2); - break; - case K_VARCHAR: - t = jj_consume_token(K_VARCHAR); - break; - case K_VARRAY: - t = jj_consume_token(K_VARRAY); - break; - case K_VARYING: - t = jj_consume_token(K_VARYING); - break; - case K_XMLTYPE: - t = jj_consume_token(K_XMLTYPE); - break; - case K_SYSXMLTYPE: - t = jj_consume_token(K_SYSXMLTYPE); - break; - case K_YEAR: - t = jj_consume_token(K_YEAR); - break; - case K_ZONE: - t = jj_consume_token(K_ZONE); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - {if (true) return t.image;} - throw new Error("Missing return statement in function"); - } - -// stripped-down version of PLSQL grammar: only parses package/top-level DDL specifications - -// PLSQLPackage at 'top-level' - final public PLSQLPackageType parsePLSQLPackage() throws ParseException { - PLSQLPackageType packageType = new PLSQLPackageType(); - String dottedName = null; - String schema = null; - String packageName = null; - jj_consume_token(R_CREATE); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_OR: - orReplace(); - break; - default: - ; - } - jj_consume_token(K_PACKAGE); - dottedName = OracleObjectNamePossiblyDotted(); - packageName = dottedName; - if (dottedName.contains(".")) { - int idx = dottedName.indexOf("."); - schema = dottedName.substring(0, idx); - packageName = dottedName.substring(idx+1, dottedName.length()); - } - if (schema != null) { - packageType.setSchema(schema); - } - packageType.setPackageName(packageName); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_AUTHID: - invokerRights(); - break; - default: - ; - } - as(); - label_1: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_CURSOR: - case R_FUNCTION: - case R_PROCEDURE: - case R_SUBTYPE: - case R_TYPE: - case K_ARRAY: - case K_AUTHID: - case K_BFILE: - case K_BINARY_DOUBLE: - case K_BINARY_FLOAT: - case K_BINARY_INTEGER: - case K_BLOB: - case K_BOOLEAN: - case K_BYTE: - case K_CHAR: - case K_CHARACTER: - case K_CLOB: - case K_COMMIT: - case K_CONSTANT: - case K_CONSTRUCTOR: - case K_CURRENT_USER: - case K_DATE: - case K_DAY: - case K_DEC: - case K_DECIMAL: - case K_DEFINER: - case K_DELETE: - case K_DETERMINISTIC: - case K_DOUBLE: - case K_ENABLE: - case K_FINAL: - case K_FLOAT: - case K_FORCE: - case K_GLOBAL: - case K_INSTANTIABLE: - case K_INT: - case K_INTEGER: - case K_INTERVAL: - case K_KEY: - case K_LOCAL: - case K_LONG: - case K_MLSLABEL: - case K_MONTH: - case K_NATIONAL: - case K_NATURAL: - case K_NCHAR: - case K_NCLOB: - case K_NOCOPY: - case K_NUMBER: - case K_NUMERIC: - case K_NVARCHAR2: - case K_NVARCHAR: - case K_OBJECT: - case K_OID: - case K_ORGANIZATION: - case K_OUT: - case K_OVERFLOW: - case K_PACKAGE: - case K_PARALLEL_ENABLE: - case K_PIPELINED: - case K_PLS_INTEGER: - case K_POSITIVE: - case K_PRAGMA: - case K_PRECISION: - case K_PRESERVE: - case K_RANGE: - case K_RAW: - case K_REAL: - case K_RECORD: - case K_REF: - case K_REPLACE: - case K_RESULT: - case K_RESULT_CACHE: - case K_RETURN: - case K_ROWID: - case K_ROWS: - case K_SECOND: - case K_SELF: - case K_SET: - case K_SIGNTYPE: - case K_SIMPLE_DOUBLE: - case K_SIMPLE_FLOAT: - case K_SIMPLE_INTEGER: - case K_SMALLINT: - case K_STRING: - case K_SYS_REFCURSOR: - case K_TEMPORARY: - case K_TIME: - case K_TIMESTAMP: - case K_UROWID: - case K_VARCHAR2: - case K_VARCHAR: - case K_VARRAY: - case K_VARYING: - case K_XMLTYPE: - case K_SYSXMLTYPE: - case K_YEAR: - case K_ZONE: - case S_IDENTIFIER: - case S_QUOTED_IDENTIFIER: - ; - break; - default: - break label_1; - } - packageDeclaration(packageType); - } - jj_consume_token(R_END); - skipToEnd(); - typesRepository.setDatabaseType(packageName, packageType); - {if (true) return packageType;} - throw new Error("Missing return statement in function"); - } - -// procedure at 'top-level' - final public ProcedureType parseTopLevelProcedure() throws ParseException { - ProcedureType procedureType = null; - String dottedName = null; - String schema = null; - String procedureName = null; - jj_consume_token(R_CREATE); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_OR: - orReplace(); - break; - default: - ; - } - jj_consume_token(R_PROCEDURE); - dottedName = OracleObjectNamePossiblyDotted(); - procedureName = dottedName; - if (dottedName.contains(".")) { - int idx = dottedName.indexOf("."); - schema = dottedName.substring(0, idx); - procedureName = dottedName.substring(idx+1, dottedName.length()); - } - procedureType = new ProcedureType(procedureName); - if (schema != null) { - procedureType.setSchema(schema); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - argumentList(procedureType); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - as(); - skipToEnd(); - typesRepository.setDatabaseType(procedureName, procedureType); - {if (true) return procedureType;} - throw new Error("Missing return statement in function"); - } - -// function at 'top-level' - final public FunctionType parseTopLevelFunction() throws ParseException { - FunctionType functionType = null; - String dottedName = null; - String schema = null; - String functionName = null; - ArgumentType returnType = null; - jj_consume_token(R_CREATE); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_OR: - orReplace(); - break; - default: - ; - } - jj_consume_token(R_FUNCTION); - dottedName = OracleObjectNamePossiblyDotted(); - functionName = dottedName; - if (dottedName.contains(".")) { - int idx = dottedName.indexOf("."); - schema = dottedName.substring(0, idx); - functionName = dottedName.substring(idx+1, dottedName.length()); - } - functionType = new FunctionType(functionName); - if (schema != null) { - functionType.setSchema(schema); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - argumentList(functionType); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - returnType = functionReturnSpec(functionType); - as(); - skipToEnd(); - functionType.setReturnArgument(returnType); - typesRepository.setDatabaseType(functionName, functionType); - {if (true) return functionType;} - throw new Error("Missing return statement in function"); - } - -// table at 'top-level' - final public TableType parseTable() throws ParseException { - TableType tableType = null; - String dottedName = null; - String schema = null; - String tableName = null; - Token iot = null; - jj_consume_token(R_CREATE); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_GLOBAL: - jj_consume_token(K_GLOBAL); - jj_consume_token(K_TEMPORARY); - break; - default: - ; - } - jj_consume_token(R_TABLE); - dottedName = OracleObjectNamePossiblyDotted(); - tableName = dottedName; - if (dottedName.contains(".")) { - int idx = dottedName.indexOf("."); - schema = dottedName.substring(0, idx); - tableName = dottedName.substring(idx+1, dottedName.length()); - } - tableType = new TableType(tableName); - if (schema != null) { - tableType.setSchema(schema); - } - jj_consume_token(O_OPENPAREN); - columnDeclarations(tableType); - jj_consume_token(O_CLOSEPAREN); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_ORGANIZATION: - jj_consume_token(K_ORGANIZATION); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_INDEX: - iot = jj_consume_token(R_INDEX); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_NOCOMPRESS: - jj_consume_token(R_NOCOMPRESS); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_OVERFLOW: - jj_consume_token(K_OVERFLOW); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_ON: - onCommit(); - break; - default: - ; - } - jj_consume_token(O_SEMICOLON); - jj_consume_token(0); - if (iot != null) { - tableType.setIOT(true); - } - typesRepository.setDatabaseType(tableName, tableType); - {if (true) return tableType;} - throw new Error("Missing return statement in function"); - } - -// type at 'top-level' - final public CompositeDatabaseType parseType() throws ParseException { - CompositeDatabaseType databaseType = null; - DatabaseType enclosedType = null; - String dottedName = null; - String schema = null; - String typeName = null; - Token vsize = null; - boolean varray = false; - boolean nestedTable = false; - jj_consume_token(R_CREATE); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_OR: - orReplace(); - break; - default: - ; - } - jj_consume_token(R_TYPE); - dottedName = OracleObjectNamePossiblyDotted(); - typeName = dottedName; - if (dottedName.contains(".")) { - int idx = dottedName.indexOf("."); - schema = dottedName.substring(0, idx); - typeName = dottedName.substring(idx+1, dottedName.length()); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_FORCE: - jj_consume_token(K_FORCE); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_OID: - jj_consume_token(K_OID); - jj_consume_token(S_CHAR_LITERAL); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_AUTHID: - invokerRights(); - break; - default: - ; - } - as(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_TABLE: - case K_OBJECT: - case K_VARRAY: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_OBJECT: - jj_consume_token(K_OBJECT); - jj_consume_token(O_OPENPAREN); - databaseType = new ObjectType(typeName); - if (schema != null) { - ((ObjectType)databaseType).setSchema(schema); - } - columnDeclarations(databaseType); - constructorDeclaration(); - jj_consume_token(O_CLOSEPAREN); - break; - case K_VARRAY: - jj_consume_token(K_VARRAY); - jj_consume_token(O_OPENPAREN); - vsize = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - jj_consume_token(R_OF); - databaseType = new VArrayType(typeName); - if (schema != null) { - ((VArrayType)databaseType).setSchema(schema); - } - if (vsize != null) { - Long size = Long.decode(vsize.image); - ((VArrayType)databaseType).setSize(size); - } - enclosedType = columnTypeSpec(databaseType); - break; - case R_TABLE: - jj_consume_token(R_TABLE); - jj_consume_token(R_OF); - databaseType = new ObjectTableType(typeName); - if (schema != null) { - ((ObjectTableType)databaseType).setSchema(schema); - } - enclosedType = columnTypeSpec(databaseType); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_NOT: - case K_FINAL: - case K_INSTANTIABLE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_NOT: - jj_consume_token(R_NOT); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_FINAL: - jj_consume_token(K_FINAL); - break; - case K_INSTANTIABLE: - jj_consume_token(K_INSTANTIABLE); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_SEMICOLON: - jj_consume_token(O_SEMICOLON); - break; - default: - ; - } - jj_consume_token(0); - if (enclosedType != null) { - ((CompositeDatabaseType)databaseType).setEnclosedType(enclosedType); - } - typesRepository.setDatabaseType(typeName, databaseType); - {if (true) return databaseType;} - throw new Error("Missing return statement in function"); - } - - final public void columnDeclarations(CompositeDatabaseType enclosingType) throws ParseException { - if (jj_2_1(2)) { - constructor(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_ARRAY: - case K_AUTHID: - case K_BFILE: - case K_BINARY_DOUBLE: - case K_BINARY_FLOAT: - case K_BINARY_INTEGER: - case K_BLOB: - case K_BOOLEAN: - case K_BYTE: - case K_CHAR: - case K_CHARACTER: - case K_CLOB: - case K_COMMIT: - case K_CONSTANT: - case K_CONSTRUCTOR: - case K_CURRENT_USER: - case K_DATE: - case K_DAY: - case K_DEC: - case K_DECIMAL: - case K_DEFINER: - case K_DELETE: - case K_DETERMINISTIC: - case K_DOUBLE: - case K_ENABLE: - case K_FINAL: - case K_FLOAT: - case K_FORCE: - case K_GLOBAL: - case K_INSTANTIABLE: - case K_INT: - case K_INTEGER: - case K_INTERVAL: - case K_KEY: - case K_LOCAL: - case K_LONG: - case K_MLSLABEL: - case K_MONTH: - case K_NATIONAL: - case K_NATURAL: - case K_NCHAR: - case K_NCLOB: - case K_NOCOPY: - case K_NUMBER: - case K_NUMERIC: - case K_NVARCHAR2: - case K_NVARCHAR: - case K_OBJECT: - case K_OID: - case K_ORGANIZATION: - case K_OUT: - case K_OVERFLOW: - case K_PACKAGE: - case K_PARALLEL_ENABLE: - case K_PIPELINED: - case K_PLS_INTEGER: - case K_POSITIVE: - case K_PRAGMA: - case K_PRECISION: - case K_PRESERVE: - case K_RANGE: - case K_RAW: - case K_REAL: - case K_RECORD: - case K_REF: - case K_REPLACE: - case K_RESULT: - case K_RESULT_CACHE: - case K_RETURN: - case K_ROWID: - case K_ROWS: - case K_SECOND: - case K_SELF: - case K_SET: - case K_SIGNTYPE: - case K_SIMPLE_DOUBLE: - case K_SIMPLE_FLOAT: - case K_SIMPLE_INTEGER: - case K_SMALLINT: - case K_STRING: - case K_SYS_REFCURSOR: - case K_TEMPORARY: - case K_TIME: - case K_TIMESTAMP: - case K_UROWID: - case K_VARCHAR2: - case K_VARCHAR: - case K_VARRAY: - case K_VARYING: - case K_XMLTYPE: - case K_SYSXMLTYPE: - case K_YEAR: - case K_ZONE: - case S_IDENTIFIER: - case S_QUOTED_IDENTIFIER: - columnDeclaration(enclosingType); - break; - case R_CHECK: - case R_CONSTRAINT: - case R_PRIMARY: - case R_UNIQUE: - constraintDeclaration(enclosingType); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_COMMA: - jj_consume_token(O_COMMA); - columnDeclarations(enclosingType); - break; - default: - ; - } - } - - final public void columnDeclaration(CompositeDatabaseType enclosingType) throws ParseException { - String s = null; - String pk = null; - boolean notNull = false; - DatabaseType columnType = null; - FieldType column = null; - s = OracleObjectName(); - columnType = columnTypeSpec(enclosingType); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_NOT: - notNull = notNull(); - break; - default: - ; - } - column = new FieldType(s); - if (enclosingType != null) { - if (enclosingType.isPLSQLRecordType()) { - ((PLSQLRecordType)enclosingType).addField(column); - } - else if (enclosingType.isTableType()) { - ((TableType)enclosingType).addColumn(column); - } - else if (enclosingType.isObjectType()) { - ((ObjectType)enclosingType).addField(column); - } - } - column.setEnclosedType(columnType); - if (columnType instanceof UnresolvedType) { - ((UnresolvedType)columnType).setOwningType(column); - } - if (notNull) { - column.setNotNull(); - } - } - - final public void constraintDeclaration(CompositeDatabaseType enclosingType) throws ParseException { - String s = null; - String pk = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_CONSTRAINT: - jj_consume_token(R_CONSTRAINT); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_ARRAY: - case K_AUTHID: - case K_BFILE: - case K_BINARY_DOUBLE: - case K_BINARY_FLOAT: - case K_BINARY_INTEGER: - case K_BLOB: - case K_BOOLEAN: - case K_BYTE: - case K_CHAR: - case K_CHARACTER: - case K_CLOB: - case K_COMMIT: - case K_CONSTANT: - case K_CONSTRUCTOR: - case K_CURRENT_USER: - case K_DATE: - case K_DAY: - case K_DEC: - case K_DECIMAL: - case K_DEFINER: - case K_DELETE: - case K_DETERMINISTIC: - case K_DOUBLE: - case K_ENABLE: - case K_FINAL: - case K_FLOAT: - case K_FORCE: - case K_GLOBAL: - case K_INSTANTIABLE: - case K_INT: - case K_INTEGER: - case K_INTERVAL: - case K_KEY: - case K_LOCAL: - case K_LONG: - case K_MLSLABEL: - case K_MONTH: - case K_NATIONAL: - case K_NATURAL: - case K_NCHAR: - case K_NCLOB: - case K_NOCOPY: - case K_NUMBER: - case K_NUMERIC: - case K_NVARCHAR2: - case K_NVARCHAR: - case K_OBJECT: - case K_OID: - case K_ORGANIZATION: - case K_OUT: - case K_OVERFLOW: - case K_PACKAGE: - case K_PARALLEL_ENABLE: - case K_PIPELINED: - case K_PLS_INTEGER: - case K_POSITIVE: - case K_PRAGMA: - case K_PRECISION: - case K_PRESERVE: - case K_RANGE: - case K_RAW: - case K_REAL: - case K_RECORD: - case K_REF: - case K_REPLACE: - case K_RESULT: - case K_RESULT_CACHE: - case K_RETURN: - case K_ROWID: - case K_ROWS: - case K_SECOND: - case K_SELF: - case K_SET: - case K_SIGNTYPE: - case K_SIMPLE_DOUBLE: - case K_SIMPLE_FLOAT: - case K_SIMPLE_INTEGER: - case K_SMALLINT: - case K_STRING: - case K_SYS_REFCURSOR: - case K_TEMPORARY: - case K_TIME: - case K_TIMESTAMP: - case K_UROWID: - case K_VARCHAR2: - case K_VARCHAR: - case K_VARRAY: - case K_VARYING: - case K_XMLTYPE: - case K_SYSXMLTYPE: - case K_YEAR: - case K_ZONE: - case S_IDENTIFIER: - case S_QUOTED_IDENTIFIER: - OracleObjectName(); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_PRIMARY: - jj_consume_token(R_PRIMARY); - jj_consume_token(K_KEY); - jj_consume_token(O_OPENPAREN); - pkList((TableType)enclosingType); - jj_consume_token(O_CLOSEPAREN); - break; - case R_CHECK: - jj_consume_token(R_CHECK); - jj_consume_token(O_OPENPAREN); - skipToClosingParen(); - jj_consume_token(O_CLOSEPAREN); - break; - case R_UNIQUE: - jj_consume_token(R_UNIQUE); - jj_consume_token(O_OPENPAREN); - uniqList(); - jj_consume_token(O_CLOSEPAREN); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_ENABLE: - jj_consume_token(K_ENABLE); - break; - default: - ; - } - } - - final public DatabaseType columnTypeSpec(CompositeDatabaseType enclosingType) throws ParseException { - String s = null; - Token t = null; - DatabaseType dt = null; - if (jj_2_2(2)) { - dt = datatype(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_ARRAY: - case K_AUTHID: - case K_BFILE: - case K_BINARY_DOUBLE: - case K_BINARY_FLOAT: - case K_BINARY_INTEGER: - case K_BLOB: - case K_BOOLEAN: - case K_BYTE: - case K_CHAR: - case K_CHARACTER: - case K_CLOB: - case K_COMMIT: - case K_CONSTANT: - case K_CONSTRUCTOR: - case K_CURRENT_USER: - case K_DATE: - case K_DAY: - case K_DEC: - case K_DECIMAL: - case K_DEFINER: - case K_DELETE: - case K_DETERMINISTIC: - case K_DOUBLE: - case K_ENABLE: - case K_FINAL: - case K_FLOAT: - case K_FORCE: - case K_GLOBAL: - case K_INSTANTIABLE: - case K_INT: - case K_INTEGER: - case K_INTERVAL: - case K_KEY: - case K_LOCAL: - case K_LONG: - case K_MLSLABEL: - case K_MONTH: - case K_NATIONAL: - case K_NATURAL: - case K_NCHAR: - case K_NCLOB: - case K_NOCOPY: - case K_NUMBER: - case K_NUMERIC: - case K_NVARCHAR2: - case K_NVARCHAR: - case K_OBJECT: - case K_OID: - case K_ORGANIZATION: - case K_OUT: - case K_OVERFLOW: - case K_PACKAGE: - case K_PARALLEL_ENABLE: - case K_PIPELINED: - case K_PLS_INTEGER: - case K_POSITIVE: - case K_PRAGMA: - case K_PRECISION: - case K_PRESERVE: - case K_RANGE: - case K_RAW: - case K_REAL: - case K_RECORD: - case K_REF: - case K_REPLACE: - case K_RESULT: - case K_RESULT_CACHE: - case K_RETURN: - case K_ROWID: - case K_ROWS: - case K_SECOND: - case K_SELF: - case K_SET: - case K_SIGNTYPE: - case K_SIMPLE_DOUBLE: - case K_SIMPLE_FLOAT: - case K_SIMPLE_INTEGER: - case K_SMALLINT: - case K_STRING: - case K_SYS_REFCURSOR: - case K_TEMPORARY: - case K_TIME: - case K_TIMESTAMP: - case K_UROWID: - case K_VARCHAR2: - case K_VARCHAR: - case K_VARRAY: - case K_VARYING: - case K_XMLTYPE: - case K_SYSXMLTYPE: - case K_YEAR: - case K_ZONE: - case S_IDENTIFIER: - case S_QUOTED_IDENTIFIER: - s = columnSpec(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - t = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_CONSTRAINT: - jj_consume_token(R_CONSTRAINT); - jj_consume_token(S_QUOTED_IDENTIFIER); - break; - default: - ; - } - if (s != null) { - if (s.contains(".")) { - int dotIdx = s.indexOf("."); - String namePart1 = s.substring(0, dotIdx); - String namePart2 = s.substring(dotIdx+1, s.length()); - String schemaName = null; - if (enclosingType.isTableType()) { - schemaName = ((TableType)enclosingType).getSchema(); - } else if (enclosingType.isObjectTableType()) { - schemaName = ((ObjectTableType)enclosingType).getSchema(); - } else if (enclosingType.isObjectType()) { - schemaName = ((ObjectType)enclosingType).getSchema(); - } else if (enclosingType.isPLSQLType()) { - schemaName = ((PLSQLType)enclosingType).getParentType().getSchema(); - } else if (enclosingType.isVArrayType()) { - schemaName = ((VArrayType)enclosingType).getSchema(); - } - if (schemaName != null && schemaName.equals(namePart1)) { - s = namePart2; - } - } - for (String typeName : localTypes.keySet()) { - if (typeName.equals(s)) { - dt = localTypes.get(s); - break; - } - } - if (dt == null) { - if (t != null) { - Long size = Long.decode(t.image); - dt = new UnresolvedSizedType(s, size); - } - else { - dt = new UnresolvedType(s); - } - ((UnresolvedType)dt).setOwningType(enclosingType); - } - } - {if (true) return dt;} - throw new Error("Missing return statement in function"); - } - - final public void constructorDeclaration() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_CONSTRUCTOR: - jj_consume_token(K_CONSTRUCTOR); - skipToReturn(); - jj_consume_token(K_SELF); - jj_consume_token(R_AS); - jj_consume_token(K_RESULT); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_COMMA: - jj_consume_token(O_COMMA); - constructorDeclaration(); - break; - default: - ; - } - } - - final public void uniqList() throws ParseException { - OracleObjectName(); - label_2: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_COMMA: - ; - break; - default: - break label_2; - } - jj_consume_token(O_COMMA); - OracleObjectName(); - } - } - - final public void pkList(TableType tableType) throws ParseException { - pk(tableType); - label_3: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_COMMA: - ; - break; - default: - break label_3; - } - jj_consume_token(O_COMMA); - pk(tableType); - } - } - - final public void pk(TableType tableType) throws ParseException { -String s = null; - s = OracleObjectName(); - List<FieldType> columns = tableType.getColumns(); - for (FieldType column : columns) { - if (column.getFieldName().equals(s)) { - column.setPk(); - break; - } - } - } - - final public void packageDeclaration(PLSQLPackageType packageType) throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_SUBTYPE: - case R_TYPE: - typeOrSubTypeDeclaration(packageType); - break; - case R_CURSOR: - cursorDeclaration(packageType); - break; - case R_PROCEDURE: - procedureSpec(packageType); - break; - case R_FUNCTION: - functionSpec(packageType); - break; - default: - if (jj_2_3(2)) { - variableDeclaration(packageType); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_PRAGMA: - pragmaDeclaration(); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - } - } - - final public void variableDeclaration(PLSQLPackageType packageType) throws ParseException { - String varName = null; - DatabaseType varType=null; - varName = OracleObjectName(); - if (jj_2_5(2)) { - jj_consume_token(R_EXCEPTION); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_ARRAY: - case K_AUTHID: - case K_BFILE: - case K_BINARY_DOUBLE: - case K_BINARY_FLOAT: - case K_BINARY_INTEGER: - case K_BLOB: - case K_BOOLEAN: - case K_BYTE: - case K_CHAR: - case K_CHARACTER: - case K_CLOB: - case K_COMMIT: - case K_CONSTANT: - case K_CONSTRUCTOR: - case K_CURRENT_USER: - case K_DATE: - case K_DAY: - case K_DEC: - case K_DECIMAL: - case K_DEFINER: - case K_DELETE: - case K_DETERMINISTIC: - case K_DOUBLE: - case K_ENABLE: - case K_FINAL: - case K_FLOAT: - case K_FORCE: - case K_GLOBAL: - case K_INSTANTIABLE: - case K_INT: - case K_INTEGER: - case K_INTERVAL: - case K_KEY: - case K_LOCAL: - case K_LONG: - case K_MLSLABEL: - case K_MONTH: - case K_NATIONAL: - case K_NATURAL: - case K_NCHAR: - case K_NCLOB: - case K_NOCOPY: - case K_NUMBER: - case K_NUMERIC: - case K_NVARCHAR2: - case K_NVARCHAR: - case K_OBJECT: - case K_OID: - case K_ORGANIZATION: - case K_OUT: - case K_OVERFLOW: - case K_PACKAGE: - case K_PARALLEL_ENABLE: - case K_PIPELINED: - case K_PLS_INTEGER: - case K_POSITIVE: - case K_PRAGMA: - case K_PRECISION: - case K_PRESERVE: - case K_RANGE: - case K_RAW: - case K_REAL: - case K_RECORD: - case K_REF: - case K_REPLACE: - case K_RESULT: - case K_RESULT_CACHE: - case K_RETURN: - case K_ROWID: - case K_ROWS: - case K_SECOND: - case K_SELF: - case K_SET: - case K_SIGNTYPE: - case K_SIMPLE_DOUBLE: - case K_SIMPLE_FLOAT: - case K_SIMPLE_INTEGER: - case K_SMALLINT: - case K_STRING: - case K_SYS_REFCURSOR: - case K_TEMPORARY: - case K_TIME: - case K_TIMESTAMP: - case K_UROWID: - case K_VARCHAR2: - case K_VARCHAR: - case K_VARRAY: - case K_VARYING: - case K_XMLTYPE: - case K_SYSXMLTYPE: - case K_YEAR: - case K_ZONE: - case S_IDENTIFIER: - case S_QUOTED_IDENTIFIER: - if (jj_2_4(2)) { - jj_consume_token(K_CONSTANT); - } else { - ; - } - varType = typeSpec(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_NOT: - jj_consume_token(R_NOT); - jj_consume_token(R_NULL); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_ASSIGN: - case R_DEFAULT: - variableDefaultAssignment(); - break; - default: - ; - } - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - jj_consume_token(O_SEMICOLON); - FieldType variable = new FieldType(varName); - variable.setEnclosedType(varType); - packageType.addLocalVariable(variable); - if (varType.isROWTYPEType()) { - ((ROWTYPEType)varType).setPackageType(packageType); - } - } - - final public void variableDefaultAssignment() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_ASSIGN: - jj_consume_token(O_ASSIGN); - break; - case R_DEFAULT: - jj_consume_token(R_DEFAULT); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - skipToSemiColon(); - } - - final public DatabaseType datatype() throws ParseException { - Token t = null; - DatabaseType dt = null; - Token precision = null; - Long sl; - Long pl; - Token scale = null; - Token withTimeZone = null; - Token withLocalTimeZone = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_BINARY_INTEGER: - jj_consume_token(K_BINARY_INTEGER); - {if (true) return BINARY_INTEGER_TYPE;} - break; - case K_BINARY_FLOAT: - jj_consume_token(K_BINARY_FLOAT); - {if (true) return BINARY_FLOAT_TYPE;} - break; - case K_BINARY_DOUBLE: - jj_consume_token(K_BINARY_DOUBLE); - {if (true) return BINARY_DOUBLE_TYPE;} - break; - case K_NATURAL: - jj_consume_token(K_NATURAL); - {if (true) return NATURAL_TYPE;} - break; - case K_POSITIVE: - jj_consume_token(K_POSITIVE); - {if (true) return POSITIVE_TYPE;} - break; - case K_SIGNTYPE: - jj_consume_token(K_SIGNTYPE); - {if (true) return SIGN_TYPE;} - break; - case K_DEC: - case K_DECIMAL: - case K_NUMBER: - case K_NUMERIC: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_NUMBER: - t = jj_consume_token(K_NUMBER); - break; - case K_NUMERIC: - t = jj_consume_token(K_NUMERIC); - break; - case K_DECIMAL: - t = jj_consume_token(K_DECIMAL); - break; - case K_DEC: - t = jj_consume_token(K_DEC); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_ASTERISK: - case S_NUMBER: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_ASTERISK: - precision = jj_consume_token(O_ASTERISK); - break; - case S_NUMBER: - precision = jj_consume_token(S_NUMBER); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - ; - } - label_4: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_COMMA: - ; - break; - default: - break label_4; - } - jj_consume_token(O_COMMA); - scale = jj_consume_token(S_NUMBER); - } - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (t.kind == K_NUMBER || t.kind == K_NUMERIC) { - if (precision != null && precision.image.equals("*")) { - precision = null; - } - if (precision == null) { - if (scale != null && scale.image.equals("0")) { - dt = INTEGER_TYPE; - } - else { - dt = new NumericType(); - } - } - else { - pl = Long.decode(precision.image); - if (scale == null) { - dt = new NumericType(pl); - } - else { - sl = Long.decode(scale.image); - dt = new NumericType(pl, sl); - } - } - //sometimes need to know difference between NUMERIC and NUMBER - if (dt != INTEGER_TYPE && t.kind == K_NUMBER) { - ((NumericType)dt).setNumberSynonym(true); - } - } - else if (t.kind == K_DECIMAL || t.kind == K_DEC) { - if (precision != null && precision.image.equals("*")) { - precision = null; - } - if (precision == null) { - dt = new DecimalType(); - } - else { - pl = Long.decode(precision.image); - if (scale == null) { - dt = new DecimalType(pl); - } - else { - sl = Long.decode(scale.image); - dt = new DecimalType(pl, sl); - } - } - } - {if (true) return dt;} - break; - case K_LONG: - jj_consume_token(K_LONG); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_RAW: - t = jj_consume_token(K_RAW); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (t == null) { - if (precision == null) { - dt = new LongType(); - } - else { - pl = Long.decode(precision.image); - dt = new LongType(pl); - } - } - else { - if (precision == null) { - dt = new LongRawType(); - } - else { - pl = Long.decode(precision.image); - dt = new LongRawType(pl); - } - } - {if (true) return dt;} - break; - case K_RAW: - jj_consume_token(K_RAW); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (precision == null) { - dt = new RawType(); - } - else { - pl = Long.decode(precision.image); - dt = new RawType(pl); - } - {if (true) return dt;} - break; - case K_BOOLEAN: - jj_consume_token(K_BOOLEAN); - {if (true) return BOOLEAN_TYPE;} - break; - case K_XMLTYPE: - jj_consume_token(K_XMLTYPE); - {if (true) return XMLTYPE_TYPE;} - break; - case K_SYSXMLTYPE: - jj_consume_token(K_SYSXMLTYPE); - {if (true) return XMLTYPE_TYPE;} - break; - case K_DATE: - jj_consume_token(K_DATE); - {if (true) return DATE_TYPE;} - break; - case K_INTERVAL: - jj_consume_token(K_INTERVAL); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_DAY: - jj_consume_token(K_DAY); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - jj_consume_token(R_TO); - jj_consume_token(K_SECOND); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - scale = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (precision == null) { - dt = new IntervalDayToSecond(); - } - else { - pl = Long.decode(precision.image); - if (scale == null) { - dt = new IntervalDayToSecond(pl); - } - else { - sl = Long.decode(scale.image); - dt = new IntervalDayToSecond(pl, sl); - } - } - {if (true) return dt;} - break; - case K_YEAR: - jj_consume_token(K_YEAR); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - jj_consume_token(R_TO); - jj_consume_token(K_MONTH); - if (precision == null) { - dt = new IntervalYearToMonth(); - } - else { - pl = Long.decode(precision.image); - dt = new IntervalYearToMonth(pl); - } - {if (true) return dt;} - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - case K_TIME: - jj_consume_token(K_TIME); - {if (true) return TIME_TYPE;} - break; - case K_TIMESTAMP: - jj_consume_token(K_TIMESTAMP); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_WITH: - jj_consume_token(R_WITH); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_LOCAL: - withLocalTimeZone = jj_consume_token(K_LOCAL); - break; - default: - ; - } - withTimeZone = jj_consume_token(K_TIME); - jj_consume_token(K_ZONE); - break; - default: - ; - } - if (precision == null) { - dt = new TimeStampType(); - } - else { - pl = Long.decode(precision.image); - dt = new TimeStampType(pl); - } - if (withLocalTimeZone != null) { - ((TimeStampType)dt).setWithLocalTimeZone(); - } - else if (withTimeZone != null) { - ((TimeStampType)dt).setWithTimeZone(); - } - {if (true) return dt;} - break; - case K_INTEGER: - jj_consume_token(K_INTEGER); - {if (true) return INTEGER_TYPE;} - break; - case K_INT: - jj_consume_token(K_INT); - {if (true) return INTEGER_TYPE;} - break; - case K_SMALLINT: - jj_consume_token(K_SMALLINT); - {if (true) return SMALLINT_TYPE;} - break; - case K_FLOAT: - jj_consume_token(K_FLOAT); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (precision == null) { - {if (true) return new FloatType();} - } - else { - pl = Long.decode(precision.image); - FloatType ft = new FloatType(pl); - {if (true) return ft;} - } - break; - case K_REAL: - jj_consume_token(K_REAL); - {if (true) return new RealType();} - break; - case K_MLSLABEL: - jj_consume_token(K_MLSLABEL); - {if (true) return MLSLABEL_TYPE;} - break; - case K_PLS_INTEGER: - jj_consume_token(K_PLS_INTEGER); - {if (true) return PLS_INTEGER_TYPE;} - break; - case K_SIMPLE_INTEGER: - jj_consume_token(K_SIMPLE_INTEGER); - {if (true) return SIMPLE_INTEGER_TYPE;} - break; - case K_SIMPLE_FLOAT: - jj_consume_token(K_SIMPLE_FLOAT); - {if (true) return SIMPLE_FLOAT_TYPE;} - break; - case K_SIMPLE_DOUBLE: - jj_consume_token(K_SIMPLE_DOUBLE); - {if (true) return SIMPLE_DOUBLE_TYPE;} - break; - case K_SYS_REFCURSOR: - jj_consume_token(K_SYS_REFCURSOR); - {if (true) return SYS_REFCURSOR_TYPE;} - break; - case K_BLOB: - jj_consume_token(K_BLOB); - {if (true) return new BlobType();} - break; - case K_NCLOB: - jj_consume_token(K_NCLOB); - {if (true) return new NClobType();} - break; - case K_BFILE: - jj_consume_token(K_BFILE); - {if (true) return BFILE_TYPE;} - break; - case K_ROWID: - jj_consume_token(K_ROWID); - {if (true) return ROWID_TYPE;} - break; - case K_UROWID: - jj_consume_token(K_UROWID); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (precision == null) { - {if (true) return new URowIdType();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new URowIdType(pl);} - } - break; - case K_DOUBLE: - jj_consume_token(K_DOUBLE); - jj_consume_token(K_PRECISION); - {if (true) return new DoubleType();} - break; - case K_CHAR: - jj_consume_token(K_CHAR); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_VARYING: - t = jj_consume_token(K_VARYING); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_BYTE: - case K_CHAR: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_BYTE: - jj_consume_token(K_BYTE); - break; - case K_CHAR: - jj_consume_token(K_CHAR); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - ; - } - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_CHARACTER: - jj_consume_token(K_CHARACTER); - jj_consume_token(K_SET); - jj_consume_token(S_IDENTIFIER); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_CHARSET: - jj_consume_token(R_CHARSET); - break; - default: - ; - } - break; - default: - ; - } - if (t == null) { - if (precision == null) { - {if (true) return new CharType();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new CharType(pl);} - } - } - else { - // ANSI syntax for VARCHAR2 - if (precision == null) { - {if (true) return new VarChar2Type();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new VarChar2Type(pl);} - } - } - break; - case K_VARCHAR: - jj_consume_token(K_VARCHAR); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_VARYING: - jj_consume_token(K_VARYING); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_BYTE: - case K_CHAR: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_BYTE: - jj_consume_token(K_BYTE); - break; - case K_CHAR: - jj_consume_token(K_CHAR); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - ; - } - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_CHARACTER: - jj_consume_token(K_CHARACTER); - jj_consume_token(K_SET); - jj_consume_token(S_IDENTIFIER); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_CHARSET: - jj_consume_token(R_CHARSET); - break; - default: - ; - } - break; - default: - ; - } - if (precision == null) { - {if (true) return new VarCharType();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new VarCharType(pl);} - } - break; - case K_VARCHAR2: - jj_consume_token(K_VARCHAR2); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_VARYING: - jj_consume_token(K_VARYING); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_BYTE: - case K_CHAR: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_BYTE: - jj_consume_token(K_BYTE); - break; - case K_CHAR: - jj_consume_token(K_CHAR); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - ; - } - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_CHARACTER: - jj_consume_token(K_CHARACTER); - jj_consume_token(K_SET); - jj_consume_token(S_IDENTIFIER); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_CHARSET: - jj_consume_token(R_CHARSET); - break; - default: - ; - } - break; - default: - ; - } - if (precision == null) { - {if (true) return new VarChar2Type();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new VarChar2Type(pl);} - } - break; - case K_CHARACTER: - jj_consume_token(K_CHARACTER); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_VARYING: - t = jj_consume_token(K_VARYING); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (t == null) { - if (precision == null) { - {if (true) return new CharType();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new CharType(pl);} - } - } - else { - // ANSI syntax for VARCHAR - if (precision == null) { - {if (true) return new VarCharType();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new VarCharType(pl);} - } - } - break; - case K_NCHAR: - jj_consume_token(K_NCHAR); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_VARYING: - t = jj_consume_token(K_VARYING); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (t == null) { - if (precision == null) { - {if (true) return new NCharType();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new NCharType(pl);} - } - } - else { - // ANSI syntax for NVARCHAR2 - if (precision == null) { - {if (true) return new NVarChar2Type();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new NVarChar2Type(pl);} - } - } - break; - case K_NVARCHAR: - jj_consume_token(K_NVARCHAR); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (precision == null) { - {if (true) return new NVarChar2Type();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new NVarChar2Type(pl);} - } - break; - case K_NVARCHAR2: - jj_consume_token(K_NVARCHAR2); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (precision == null) { - {if (true) return new NVarChar2Type();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new NVarChar2Type(pl);} - } - break; - case K_NATIONAL: - jj_consume_token(K_NATIONAL); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_CHARACTER: - jj_consume_token(K_CHARACTER); - break; - case K_CHAR: - jj_consume_token(K_CHAR); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_VARYING: - t = jj_consume_token(K_VARYING); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - if (t == null) { - if (precision == null) { - {if (true) return new NCharType();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new NCharType(pl);} - } - } - else { - // ANSI syntax for NVARCHAR2 - if (precision == null) { - {if (true) return new NVarChar2Type();} - } - else { - pl = Long.decode(precision.image); - {if (true) return new NVarChar2Type(pl);} - } - } - break; - case K_CLOB: - jj_consume_token(K_CLOB); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_CHARACTER: - jj_consume_token(K_CHARACTER); - jj_consume_token(K_SET); - jj_consume_token(S_IDENTIFIER); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_CHARSET: - jj_consume_token(R_CHARSET); - break; - default: - ; - } - break; - default: - ; - } - {if (true) return new ClobType();} - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - throw new Error("Missing return statement in function"); - } - - final public DatabaseType typeSpec() throws ParseException { - boolean isTYPEType = false; - boolean isROWTYPEType = false; - DatabaseType dataType = null; - String spec = null; - String s = null; - if (jj_2_6(3)) { - dataType = datatype(); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_ARRAY: - case K_AUTHID: - case K_BFILE: - case K_BINARY_DOUBLE: - case K_BINARY_FLOAT: - case K_BINARY_INTEGER: - case K_BLOB: - case K_BOOLEAN: - case K_BYTE: - case K_CHAR: - case K_CHARACTER: - case K_CLOB: - case K_COMMIT: - case K_CONSTANT: - case K_CONSTRUCTOR: - case K_CURRENT_USER: - case K_DATE: - case K_DAY: - case K_DEC: - case K_DECIMAL: - case K_DEFINER: - case K_DELETE: - case K_DETERMINISTIC: - case K_DOUBLE: - case K_ENABLE: - case K_FINAL: - case K_FLOAT: - case K_FORCE: - case K_GLOBAL: - case K_INSTANTIABLE: - case K_INT: - case K_INTEGER: - case K_INTERVAL: - case K_KEY: - case K_LOCAL: - case K_LONG: - case K_MLSLABEL: - case K_MONTH: - case K_NATIONAL: - case K_NATURAL: - case K_NCHAR: - case K_NCLOB: - case K_NOCOPY: - case K_NUMBER: - case K_NUMERIC: - case K_NVARCHAR2: - case K_NVARCHAR: - case K_OBJECT: - case K_OID: - case K_ORGANIZATION: - case K_OUT: - case K_OVERFLOW: - case K_PACKAGE: - case K_PARALLEL_ENABLE: - case K_PIPELINED: - case K_PLS_INTEGER: - case K_POSITIVE: - case K_PRAGMA: - case K_PRECISION: - case K_PRESERVE: - case K_RANGE: - case K_RAW: - case K_REAL: - case K_RECORD: - case K_REF: - case K_REPLACE: - case K_RESULT: - case K_RESULT_CACHE: - case K_RETURN: - case K_ROWID: - case K_ROWS: - case K_SECOND: - case K_SELF: - case K_SET: - case K_SIGNTYPE: - case K_SIMPLE_DOUBLE: - case K_SIMPLE_FLOAT: - case K_SIMPLE_INTEGER: - case K_SMALLINT: - case K_STRING: - case K_SYS_REFCURSOR: - case K_TEMPORARY: - case K_TIME: - case K_TIMESTAMP: - case K_UROWID: - case K_VARCHAR2: - case K_VARCHAR: - case K_VARRAY: - case K_VARYING: - case K_XMLTYPE: - case K_SYSXMLTYPE: - case K_YEAR: - case K_ZONE: - case S_IDENTIFIER: - case S_QUOTED_IDENTIFIER: - spec = columnSpec(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - case R_ANCHORED_ROWTYPE: - case R_ANCHORED_TYPE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - break; - case R_ANCHORED_TYPE: - jj_consume_token(R_ANCHORED_TYPE); - isTYPEType=true; - s = spec + removeQuotes(tokenImage[R_ANCHORED_TYPE]); - break; - case R_ANCHORED_ROWTYPE: - jj_consume_token(R_ANCHORED_ROWTYPE); - isROWTYPEType =true; - s = spec + removeQuotes(tokenImage[R_ANCHORED_ROWTYPE]); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - ; - } - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - if (dataType == null && localTypes != null) { - // spec may need schema/catalog stripped off - String tName = spec; - StringTokenizer stok = new StringTokenizer(spec, "."); - while (stok.hasMoreTokens()) { - tName = stok.nextToken(); - } - for (String typeName : localTypes.keySet()) { - if (typeName.equals(spec)) { - dataType = localTypes.get(spec); - break; - } else if (typeName.equals(tName)) { - dataType = localTypes.get(tName); - break; - } - } - } - if (dataType == null) { - UnresolvedType uType = new UnresolvedType(spec); - if (isTYPEType) { - TYPEType tType = new TYPEType(s); - tType.setEnclosedType(uType); - uType.setOwningType(tType); - dataType = tType; - localTypes.put(spec, dataType); - } - else if (isROWTYPEType) { - ROWTYPEType rType = new ROWTYPEType(s); - rType.setEnclosedType(uType); - uType.setOwningType(rType); - dataType = rType; - localTypes.put(spec, dataType); - } - else { - dataType = uType; - } - } - {if (true) return dataType;} - throw new Error("Missing return statement in function"); - } - - final public String columnSpec() throws ParseException { - String s1 = null; - String s2 = null; - String s3 = null; - s1 = OracleObjectName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_DOT: - jj_consume_token(O_DOT); - s2 = OracleObjectName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_DOT: - jj_consume_token(O_DOT); - s3 = OracleObjectName(); - break; - default: - ; - } - break; - default: - ; - } - StringBuilder sb = new StringBuilder(s1); - if (s2 != null) { - sb.append('.'); - sb.append(s2); - if (s3 != null) { - sb.append('.'); - sb.append(s3); - } - } - {if (true) return sb.toString();} - throw new Error("Missing return statement in function"); - } - - final public String tableSpec() throws ParseException { - OracleObjectName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_DOT: - jj_consume_token(O_DOT); - OracleObjectName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_ATSIGN: - jj_consume_token(O_ATSIGN); - jj_consume_token(S_IDENTIFIER); - break; - default: - ; - } - break; - default: - ; - } - {if (true) return token.image;} - throw new Error("Missing return statement in function"); - } - - final public String typeName() throws ParseException { - OracleObjectName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_DOT: - jj_consume_token(O_DOT); - OracleObjectName(); - break; - default: - ; - } - {if (true) return token.image;} - throw new Error("Missing return statement in function"); - } - - final public void typeOrSubTypeDeclaration(PLSQLPackageType packageType) throws ParseException { - String s = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_TYPE: - typeDeclaration(packageType); - break; - case R_SUBTYPE: - subtypeDeclaration(packageType); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public void typeDeclaration(PLSQLPackageType packageType) throws ParseException { - String s = null; - jj_consume_token(R_TYPE); - s = typeName(); - jj_consume_token(R_IS); - aTypeDeclaration(packageType, s); - jj_consume_token(O_SEMICOLON); - } - - final public void aTypeDeclaration(PLSQLPackageType packageType, String typeName) throws ParseException { - String spec = null; - String anchoredTypeName = null; - boolean isTYPEType = false; - boolean isROWTYPEType = false; - if (jj_2_7(2)) { - recordDeclaration(packageType, typeName); - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_TABLE: - plsqlTableDeclaration(packageType, typeName); - break; - default: - if (jj_2_8(2)) { - varrayDeclaration(packageType); - } else if (jj_2_9(2)) { - refCursorDeclaration(packageType, typeName); - } else if (jj_2_10(2)) { - spec = columnSpec(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_ANCHORED_TYPE: - jj_consume_token(R_ANCHORED_TYPE); - isTYPEType=true; - anchoredTypeName = spec + removeQuotes(tokenImage[R_ANCHORED_TYPE]); - break; - case R_ANCHORED_ROWTYPE: - jj_consume_token(R_ANCHORED_ROWTYPE); - isROWTYPEType =true; - anchoredTypeName = spec + removeQuotes(tokenImage[R_ANCHORED_ROWTYPE]); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - DatabaseType dataType = null; - UnresolvedType uType = new UnresolvedType(anchoredTypeName); - if (isTYPEType) { - TYPEType tType = new TYPEType(anchoredTypeName); - tType.setEnclosedType(uType); - uType.setOwningType(tType); - dataType = tType; - } - else if (isROWTYPEType) { - ROWTYPEType rType = new ROWTYPEType(anchoredTypeName); - rType.setEnclosedType(uType); - rType.setPackageType(packageType); - uType.setOwningType(rType); - dataType = rType; - } - PLSQLType newType = new PLSQLType(typeName); - newType.setEnclosedType(dataType); - packageType.addType(newType); - localTypes.put(typeName, newType); - } else { - jj_consume_token(-1); - throw new ParseException(); - } - } - } - } - - final public void recordDeclaration(PLSQLPackageType packageType, String typeName) throws ParseException { - PLSQLRecordType plsqlRecordType = new PLSQLRecordType(typeName); - plsqlRecordType.setParentType(packageType); - jj_consume_token(K_RECORD); - jj_consume_token(O_OPENPAREN); - fieldDeclarations(plsqlRecordType); - jj_consume_token(O_CLOSEPAREN); - packageType.addType(plsqlRecordType); - localTypes.put(typeName, plsqlRecordType); - } - - final public void fieldDeclarations(PLSQLRecordType plsqlRecordType) throws ParseException { - fieldDeclaration(plsqlRecordType); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_COMMA: - jj_consume_token(O_COMMA); - fieldDeclarations(plsqlRecordType); - break; - default: - ; - } - } - - final public void fieldDeclaration(PLSQLRecordType plsqlRecordType) throws ParseException { - String s = null; - DatabaseType dataType = null; - FieldType fieldType = null; - s = typeName(); - dataType = typeSpec(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_NOT: - jj_consume_token(R_NOT); - jj_consume_token(R_NULL); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_ASSIGN: - case R_DEFAULT: - fieldDefaultAssignment(); - break; - default: - ; - } - fieldType = new FieldType(s); - fieldType.setEnclosedType(dataType); - plsqlRecordType.addField(fieldType); - if (dataType instanceof UnresolvedType) { - ((UnresolvedType)dataType).setOwningType(plsqlRecordType); - } - } - - final public void fieldDefaultAssignment() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_ASSIGN: - jj_consume_token(O_ASSIGN); - break; - case R_DEFAULT: - jj_consume_token(R_DEFAULT); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - skipToNextArg(); - } - - final public void subtypeDeclaration(PLSQLPackageType packageType) throws ParseException { - String subtypeName; -DatabaseType subtype; -Token notNull = null; -Token rangeStart = null; -Token rangeEnd = null; - jj_consume_token(R_SUBTYPE); - subtypeName = OracleObjectName(); - jj_consume_token(R_IS); - subtype = typeSpec(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_RANGE: - jj_consume_token(K_RANGE); - rangeStart = jj_consume_token(S_NUMBER); - jj_consume_token(O_DOUBLEDOT); - rangeEnd = jj_consume_token(S_NUMBER); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_NOT: - jj_consume_token(R_NOT); - notNull = jj_consume_token(R_NULL); - break; - default: - ; - } - jj_consume_token(O_SEMICOLON); - PLSQLSubType newPLSQLSubType = new PLSQLSubType(subtypeName); - newPLSQLSubType.setEnclosedType(subtype); - if (subtype instanceof UnresolvedType) { - ((UnresolvedType)subtype).setOwningType(newPLSQLSubType); - } - if (subtype.isROWTYPEType()) { - ((ROWTYPEType)subtype).setPackageType(packageType); - } - packageType.addType(newPLSQLSubType); - if (notNull != null) { - newPLSQLSubType.setNotNull(true); - } - if (rangeStart != null) { - long rStart = Long.decode(rangeStart.image).longValue(); - long rEnd = Long.decode(rangeEnd.image).longValue(); - newPLSQLSubType.setHasRange(true); - newPLSQLSubType.setRangeStart(rStart); - newPLSQLSubType.setRangeEnd(rEnd); - } - localTypes.put(subtypeName, newPLSQLSubType); - } - - final public void plsqlTableDeclaration(PLSQLPackageType packageType, String typeName) throws ParseException { - PLSQLCollectionType plsqlTable = new PLSQLCollectionType(typeName); - plsqlTable.setParentType(packageType); - DatabaseType nestedType; - jj_consume_token(R_TABLE); - jj_consume_token(R_OF); - nestedType = typeSpec(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_NOT: - jj_consume_token(R_NOT); - jj_consume_token(R_NULL); - break; - default: - ; - } - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_INDEX: - jj_consume_token(R_INDEX); - jj_consume_token(R_BY); - plsqlTableIndexByDeclaration(plsqlTable); - break; - default: - ; - } - if (nestedType instanceof UnresolvedType) { - ((UnresolvedType)nestedType).setOwningType(plsqlTable); - } - plsqlTable.setEnclosedType(nestedType); - packageType.addType(plsqlTable); - localTypes.put(typeName, plsqlTable); - } - - final public void plsqlTableIndexByDeclaration(PLSQLCollectionType plsqlTable) throws ParseException { - DatabaseType indexType = null; - Token precision = null; - Token otherIndexByType = null; - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_PLS_INTEGER: - jj_consume_token(K_PLS_INTEGER); - indexType = PLS_INTEGER_TYPE; - break; - case K_BINARY_INTEGER: - jj_consume_token(K_BINARY_INTEGER); - indexType = BINARY_INTEGER_TYPE; - break; - case K_VARCHAR2: - jj_consume_token(K_VARCHAR2); - jj_consume_token(O_OPENPAREN); - precision = jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - if (precision == null) { - indexType = new VarChar2Type(); - } - else { - Long pl = Long.decode(precision.image); - indexType = new VarChar2Type(pl); - } - break; - case K_STRING: - otherIndexByType = jj_consume_token(K_STRING); - jj_consume_token(O_OPENPAREN); - jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - String indexTypename = otherIndexByType.image; - for (String typeName : localTypes.keySet()) { - if (typeName.equals(indexTypename)) { - indexType = localTypes.get(indexTypename); - break; - } - } - //what else can INDEX BY be? Unresolved for now ... - if (indexType == null) { - indexType = new UnresolvedType(indexTypename); - ((UnresolvedType)indexType).setOwningType(plsqlTable); - } - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - plsqlTable.setIndexed(true); - plsqlTable.setIndexType(indexType); - } - - final public void varrayDeclaration(PLSQLPackageType packageType) throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_VARRAY: - jj_consume_token(K_VARRAY); - break; - case K_VARYING: - jj_consume_token(K_VARYING); - jj_consume_token(K_ARRAY); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - jj_consume_token(O_OPENPAREN); - jj_consume_token(S_NUMBER); - jj_consume_token(O_CLOSEPAREN); - jj_consume_token(R_OF); - datatype(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_NOT: - jj_consume_token(R_NOT); - jj_consume_token(R_NULL); - break; - default: - ; - } - } - - final public void refCursorDeclaration(PLSQLPackageType packageType, String cursorTypeName) throws ParseException { - PLSQLCursorType cursorType = null; - jj_consume_token(K_REF); - jj_consume_token(R_CURSOR); - cursorType = new PLSQLCursorType(cursorTypeName); - cursorType.setParentType(packageType); - packageType.addCursor(cursorType); - localTypes.put(cursorTypeName, cursorType); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_RETURN: - refCursorTypeSpec(cursorType, packageType); - break; - default: - ; - } - } - - final public void refCursorTypeSpec(PLSQLCursorType cursorType, PLSQLPackageType packageType) throws ParseException { - String s = null; - String spec = null; - boolean isTYPEType = false; - boolean isROWTYPEType = false; - DatabaseType localType = null; - jj_consume_token(K_RETURN); - spec = OracleObjectName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_ANCHORED_ROWTYPE: - case R_ANCHORED_TYPE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_ANCHORED_TYPE: - jj_consume_token(R_ANCHORED_TYPE); - isTYPEType = true; - s = spec + removeQuotes(tokenImage[R_ANCHORED_TYPE]); - break; - case R_ANCHORED_ROWTYPE: - jj_consume_token(R_ANCHORED_ROWTYPE); - isROWTYPEType = true; - s = spec + removeQuotes(tokenImage[R_ANCHORED_ROWTYPE]); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - ; - } - //check local variables first - for (FieldType varField : packageType.getLocalVariables()) { - if (spec.equals(varField.getFieldName())) { - if (isTYPEType) { - TYPEType tType = new TYPEType(s); - UnresolvedType uType = new UnresolvedType(s); - tType.setEnclosedType(uType); - uType.setOwningType(tType); - localType = tType; - } - else if (isROWTYPEType) { - ROWTYPEType rType = new ROWTYPEType(s); - rType.setPackageType(packageType); - UnresolvedType uType = new UnresolvedType(s); - rType.setEnclosedType(uType); - uType.setOwningType(rType); - localType = rType; - } - else { - localType = varField.getEnclosedType(); - } - cursorType.setEnclosedType(localType); - break; - } - } - if (localType == null) { - localType = localTypes.get(spec); - if (localType == null) { - UnresolvedType uType = new UnresolvedType(spec); - if (isTYPEType) { - TYPEType tType = new TYPEType(s); - tType.setEnclosedType(uType); - uType.setOwningType(tType); - cursorType.setEnclosedType(tType); - } - else if (isROWTYPEType) { - ROWTYPEType rType = new ROWTYPEType(s); - rType.setEnclosedType(uType); - rType.setPackageType(packageType); - uType.setOwningType(rType); - cursorType.setEnclosedType(rType); - } - else { - uType.setOwningType(cursorType); - cursorType.setEnclosedType(uType); - } - } - else { - cursorType.setEnclosedType(localType); - } - } - } - - final public void cursorDeclaration(PLSQLPackageType packageType) throws ParseException { - Token t = null; - jj_consume_token(R_CURSOR); - skipToSemiColon(); - } - -// Procedure Specification - final public void procedureSpec(PLSQLPackageType packageType) throws ParseException { - String procedureName= null; - ProcedureType procedureType = null; - jj_consume_token(R_PROCEDURE); - procedureName = OracleObjectName(); - procedureType = new ProcedureType(procedureName); - procedureType.setCatalogName(packageType.getPackageName()); - procedureType.setSchema(packageType.getSchema()); - procedureType.setParentType(packageType); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - argumentList(procedureType); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - jj_consume_token(O_SEMICOLON); - packageType.addProcedure(procedureType); - for (ArgumentType argumentType : procedureType.getArguments()) { - DatabaseType databaseType = argumentType.getEnclosedType(); - if (databaseType.isROWTYPEType()) { - ((ROWTYPEType)databaseType).setPackageType(packageType); - } - } - } - - final public void argumentList(ProcedureType procedureType) throws ParseException { - argument(procedureType); - label_5: - while (true) { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_COMMA: - ; - break; - default: - break label_5; - } - jj_consume_token(O_COMMA); - argument(procedureType); - } - } - -// Function Specification - final public void functionSpec(PLSQLPackageType packageType) throws ParseException { - String functionName= null; - FunctionType functionType = null; - ArgumentType returnDataType = null; - jj_consume_token(R_FUNCTION); - functionName = OracleObjectName(); - functionType = new FunctionType(functionName); - functionType.setCatalogName(packageType.getPackageName()); - functionType.setSchema(packageType.getSchema()); - functionType.setParentType(packageType); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_OPENPAREN: - jj_consume_token(O_OPENPAREN); - argumentList(functionType); - jj_consume_token(O_CLOSEPAREN); - break; - default: - ; - } - returnDataType = functionReturnSpec(functionType); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_DETERMINISTIC: - case K_PARALLEL_ENABLE: - case K_PIPELINED: - case K_RESULT_CACHE: - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_DETERMINISTIC: - jj_consume_token(K_DETERMINISTIC); - break; - case K_PIPELINED: - jj_consume_token(K_PIPELINED); - break; - case K_PARALLEL_ENABLE: - jj_consume_token(K_PARALLEL_ENABLE); - break; - case K_RESULT_CACHE: - jj_consume_token(K_RESULT_CACHE); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - break; - default: - ; - } - jj_consume_token(O_SEMICOLON); - functionType.setReturnArgument(returnDataType); - packageType.addProcedure(functionType); - for (ArgumentType argumentType : functionType.getArguments()) { - DatabaseType databaseType = argumentType.getEnclosedType(); - if (databaseType.isROWTYPEType()) { - ((ROWTYPEType)databaseType).setPackageType(packageType); - } - } - if (returnDataType.getEnclosedType().isROWTYPEType()) { - ((ROWTYPEType)returnDataType.getEnclosedType()).setPackageType(packageType); - } - } - - final public ArgumentType functionReturnSpec(FunctionType functionType) throws ParseException { - DatabaseType dataType = null; - jj_consume_token(K_RETURN); - dataType = typeSpec(); - ArgumentType returnType = new ArgumentType(null); - returnType.setDirection(ArgumentTypeDirection.RETURN); - // may need to strip off schema/catalog name - if (dataType.getTypeName().contains(".")) { - String dataTypeName = dataType.getTypeName(); - int dotIdx = dataTypeName.indexOf("."); - String namePart1 = dataTypeName.substring(0, dotIdx); - String namePart2 = dataTypeName.substring(dotIdx+1, dataTypeName.length()); - if (namePart1.equals(functionType.getCatalogName()) || namePart1.equals(functionType.getSchema())) { - dataType.setTypeName(namePart2); - } else if (schemaPatterns != null) { - for (String possibleSchemaName : schemaPatterns) { - if (namePart1.equals(possibleSchemaName)) { - dataType.setTypeName(namePart2); - break; - } - } - } - } - returnType.setEnclosedType(dataType); - if (dataType instanceof UnresolvedType) { - ((UnresolvedType)dataType).setOwningType(returnType); - } - {if (true) return returnType;} - throw new Error("Missing return statement in function"); - } - - final public void argument(ProcedureType procedureType) throws ParseException { - String s = null; - ArgumentType argumentType = null; - DatabaseType argumentDataType = null; - ArgumentTypeDirection argDirection = ArgumentTypeDirection.IN; // by default, arguments are IN - String direction = null; - boolean defaultAssignment = false; - s = OracleObjectName(); - if (jj_2_11(2)) { - direction = direction(); - } else { - ; - } - if (jj_2_12(2)) { - jj_consume_token(K_NOCOPY); - } else { - ; - } - argumentDataType = typeSpec(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_ASSIGN: - case R_DEFAULT: - defaultAssignment = argumentDefaultAssignment(); - break; - default: - ; - } - // may need to strip off schema/catalog name - if (argumentDataType.getTypeName().contains(".")) { - String argumentDataTypeName = argumentDataType.getTypeName(); - int dotIdx = argumentDataTypeName.indexOf("."); - String namePart1 = argumentDataTypeName.substring(0, dotIdx); - String namePart2 = argumentDataTypeName.substring(dotIdx+1, argumentDataTypeName.length()); - if (namePart1.equals(procedureType.getCatalogName()) || namePart1.equals(procedureType.getSchema())) { - argumentDataType.setTypeName(namePart2); - } else if (schemaPatterns != null) { - for (String possibleSchemaName : schemaPatterns) { - if (namePart1.equals(possibleSchemaName)) { - argumentDataType.setTypeName(namePart2); - break; - } - } - } - } - argumentType = new ArgumentType(s); - argumentType.setEnclosedType(argumentDataType); - if (argumentDataType instanceof UnresolvedType) { - ((UnresolvedType)argumentDataType).setOwningType(argumentType); - } - if (direction != null) { - if ("OUT".equals(direction)) { - argDirection = ArgumentTypeDirection.OUT; - } - else if ("IN OUT".equals(direction)) { - argDirection = ArgumentTypeDirection.INOUT; - } - } - argumentType.setDirection(argDirection); - if (defaultAssignment) { - argumentType.setOptional(); - } - procedureType.addArgument(argumentType); - } - - final public boolean argumentDefaultAssignment() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_ASSIGN: - jj_consume_token(O_ASSIGN); - break; - case R_DEFAULT: - jj_consume_token(R_DEFAULT); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - skipToNextArg(); - {if (true) return true;} - throw new Error("Missing return statement in function"); - } - - final public void exceptionDeclaration() throws ParseException { - jj_consume_token(S_IDENTIFIER); - jj_consume_token(R_EXCEPTION); - jj_consume_token(O_SEMICOLON); - } - - final public void pragmaDeclaration() throws ParseException { - jj_consume_token(K_PRAGMA); - skipToSemiColon(); - } - - final public void orReplace() throws ParseException { - jj_consume_token(R_OR); - jj_consume_token(K_REPLACE); - } - - final public void invokerRights() throws ParseException { - jj_consume_token(K_AUTHID); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_CURRENT_USER: - jj_consume_token(K_CURRENT_USER); - break; - case K_DEFINER: - jj_consume_token(K_DEFINER); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public void as() throws ParseException { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case R_AS: - jj_consume_token(R_AS); - break; - case R_IS: - jj_consume_token(R_IS); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - - final public void onCommit() throws ParseException { - jj_consume_token(R_ON); - jj_consume_token(K_COMMIT); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_DELETE: - jj_consume_token(K_DELETE); - break; - case K_PRESERVE: - jj_consume_token(K_PRESERVE); - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - jj_consume_token(K_ROWS); - } - - final public boolean notNull() throws ParseException { - jj_consume_token(R_NOT); - jj_consume_token(R_NULL); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_ENABLE: - jj_consume_token(K_ENABLE); - break; - default: - ; - } - {if (true) return true;} - throw new Error("Missing return statement in function"); - } - - final public String direction() throws ParseException { - String dir = ""; - if (jj_2_14(2)) { - jj_consume_token(R_IN); - dir = "IN"; - if (jj_2_13(2)) { - jj_consume_token(K_OUT); - dir += " OUT"; - } else { - ; - } - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case K_OUT: - jj_consume_token(K_OUT); - dir = "OUT"; - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - {if (true) return dir;} - throw new Error("Missing return statement in function"); - } - - final public String OracleObjectName() throws ParseException { - String keyword=null; - if (jj_2_15(2)) { - keyword = keywords(); - {if (true) return keyword;} - } else { - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case S_IDENTIFIER: - jj_consume_token(S_IDENTIFIER); - {if (true) return token.image;} - break; - case S_QUOTED_IDENTIFIER: - jj_consume_token(S_QUOTED_IDENTIFIER); - {if (true) return removeQuotes(token.image);} - break; - default: - jj_consume_token(-1); - throw new ParseException(); - } - } - throw new Error("Missing return statement in function"); - } - - final public String OracleObjectNamePossiblyDotted() throws ParseException { - String possiblyDottedName = ""; - String afterDot = null; - possiblyDottedName = OracleObjectName(); - switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { - case O_DOT: - jj_consume_token(O_DOT); - afterDot = OracleObjectName(); - break; - default: - ; - } - if (afterDot != null) { - possiblyDottedName += "." + afterDot; - } - {if (true) return possiblyDottedName;} - throw new Error("Missing return statement in function"); - } - - final public void skipToSemiColon() throws ParseException { - Token t = getNextToken(); - while (t.kind != O_SEMICOLON) { - t = getNextToken(); - } - token_source.input_stream.backup(1); - } - - final public void skipToClosingParen() throws ParseException { - Token t = getNextToken(); - while (t.kind != O_CLOSEPAREN) { - t = getNextToken(); - } - token_source.input_stream.backup(1); - } - - final public void skipToNextArg() throws ParseException { - Token t = getNextToken(); - while (t.kind != O_COMMA && t.kind != O_CLOSEPAREN) { - t = getNextToken(); - } - token_source.input_stream.backup(1); - } - - final public void skipToEnd() throws ParseException { - /** skip through all the tokens. */ - Token t = getNextToken(); - while (t.kind != EOF) { - t = getNextToken(); - } - } - - final public void skipToReturn() throws ParseException { - Token t = getNextToken(); - while (t.kind != K_RETURN) { - t = getNextToken(); - } - } - - final public void constructor() throws ParseException { - Token t = token; - jj_consume_token(K_CONSTRUCTOR); - token = t; - } - - private boolean jj_2_1(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_1(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_2(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_2(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_3(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_3(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_4(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_4(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_5(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_5(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_6(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_6(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_7(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_7(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_8(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_8(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_9(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_9(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_10(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_10(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_11(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_11(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_12(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_12(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_13(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_13(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_14(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_14(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_2_15(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; - try { return !jj_3_15(); } - catch(LookaheadSuccess ls) { return true; } - } - - private boolean jj_3R_61() { - if (jj_scan_token(K_VARYING)) return true; - if (jj_scan_token(K_ARRAY)) return true; - return false; - } - - private boolean jj_3_2() { - if (jj_3R_7()) return true; - return false; - } - - private boolean jj_3_10() { - if (jj_3R_12()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_13()) { - jj_scanpos = xsp; - if (jj_3R_14()) return true; - } - return false; - } - - private boolean jj_3_9() { - if (jj_3R_11()) return true; - return false; - } - - private boolean jj_3_8() { - if (jj_3R_10()) return true; - return false; - } - - private boolean jj_3R_24() { - if (jj_scan_token(K_LONG)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(189)) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_65()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_54() { - if (jj_scan_token(K_NCHAR)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(216)) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_80()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_77() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3_7() { - if (jj_3R_9()) return true; - return false; - } - - private boolean jj_3R_11() { - if (jj_scan_token(K_REF)) return true; - if (jj_scan_token(R_CURSOR)) return true; - return false; - } - - private boolean jj_3R_10() { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(215)) { - jj_scanpos = xsp; - if (jj_3R_61()) return true; - } - if (jj_scan_token(O_OPENPAREN)) return true; - return false; - } - - private boolean jj_3R_75() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3R_53() { - if (jj_scan_token(K_CHARACTER)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(216)) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_79()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_89() { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(9)) { - jj_scanpos = xsp; - if (jj_scan_token(35)) return true; - } - return false; - } - - private boolean jj_3R_78() { - if (jj_scan_token(K_CHARACTER)) return true; - if (jj_scan_token(K_SET)) return true; - return false; - } - - private boolean jj_3R_62() { - if (jj_scan_token(O_DOT)) return true; - return false; - } - - private boolean jj_3R_52() { - if (jj_scan_token(K_VARCHAR2)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(216)) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_77()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_78()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_73() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3R_76() { - if (jj_scan_token(K_CHARACTER)) return true; - if (jj_scan_token(K_SET)) return true; - return false; - } - - private boolean jj_3R_64() { - if (jj_scan_token(O_OPENPAREN)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_89()) jj_scanpos = xsp; - while (true) { - xsp = jj_scanpos; - if (jj_3R_90()) { jj_scanpos = xsp; break; } - } - if (jj_scan_token(O_CLOSEPAREN)) return true; - return false; - } - - private boolean jj_3R_51() { - if (jj_scan_token(K_VARCHAR)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(216)) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_75()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_76()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_23() { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(171)) { - jj_scanpos = xsp; - if (jj_scan_token(172)) { - jj_scanpos = xsp; - if (jj_scan_token(147)) { - jj_scanpos = xsp; - if (jj_scan_token(146)) return true; - } - } - } - xsp = jj_scanpos; - if (jj_3R_64()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_22() { - if (jj_scan_token(K_SIGNTYPE)) return true; - return false; - } - - private boolean jj_3R_12() { - if (jj_3R_59()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_62()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3_1() { - if (jj_3R_6()) return true; - return false; - } - - private boolean jj_3R_21() { - if (jj_scan_token(K_POSITIVE)) return true; - return false; - } - - private boolean jj_3_13() { - if (jj_scan_token(K_OUT)) return true; - return false; - } - - private boolean jj_3R_20() { - if (jj_scan_token(K_NATURAL)) return true; - return false; - } - - private boolean jj_3R_19() { - if (jj_scan_token(K_BINARY_DOUBLE)) return true; - return false; - } - - private boolean jj_3R_18() { - if (jj_scan_token(K_BINARY_FLOAT)) return true; - return false; - } - - private boolean jj_3R_17() { - if (jj_scan_token(K_BINARY_INTEGER)) return true; - return false; - } - - private boolean jj_3R_7() { - Token xsp; - xsp = jj_scanpos; - if (jj_3R_17()) { - jj_scanpos = xsp; - if (jj_3R_18()) { - jj_scanpos = xsp; - if (jj_3R_19()) { - jj_scanpos = xsp; - if (jj_3R_20()) { - jj_scanpos = xsp; - if (jj_3R_21()) { - jj_scanpos = xsp; - if (jj_3R_22()) { - jj_scanpos = xsp; - if (jj_3R_23()) { - jj_scanpos = xsp; - if (jj_3R_24()) { - jj_scanpos = xsp; - if (jj_3R_25()) { - jj_scanpos = xsp; - if (jj_3R_26()) { - jj_scanpos = xsp; - if (jj_3R_27()) { - jj_scanpos = xsp; - if (jj_3R_28()) { - jj_scanpos = xsp; - if (jj_3R_29()) { - jj_scanpos = xsp; - if (jj_3R_30()) { - jj_scanpos = xsp; - if (jj_3R_31()) { - jj_scanpos = xsp; - if (jj_3R_32()) { - jj_scanpos = xsp; - if (jj_3R_33()) { - jj_scanpos = xsp; - if (jj_3R_34()) { - jj_scanpos = xsp; - if (jj_3R_35()) { - jj_scanpos = xsp; - if (jj_3R_36()) { - jj_scanpos = xsp; - if (jj_3R_37()) { - jj_scanpos = xsp; - if (jj_3R_38()) { - jj_scanpos = xsp; - if (jj_3R_39()) { - jj_scanpos = xsp; - if (jj_3R_40()) { - jj_scanpos = xsp; - if (jj_3R_41()) { - jj_scanpos = xsp; - if (jj_3R_42()) { - jj_scanpos = xsp; - if (jj_3R_43()) { - jj_scanpos = xsp; - if (jj_3R_44()) { - jj_scanpos = xsp; - if (jj_3R_45()) { - jj_scanpos = xsp; - if (jj_3R_46()) { - jj_scanpos = xsp; - if (jj_3R_47()) { - jj_scanpos = xsp; - if (jj_3R_48()) { - jj_scanpos = xsp; - if (jj_3R_49()) { - jj_scanpos = xsp; - if (jj_3R_50()) { - jj_scanpos = xsp; - if (jj_3R_51()) { - jj_scanpos = xsp; - if (jj_3R_52()) { - jj_scanpos = xsp; - if (jj_3R_53()) { - jj_scanpos = xsp; - if (jj_3R_54()) { - jj_scanpos = xsp; - if (jj_3R_55()) { - jj_scanpos = xsp; - if (jj_3R_56()) { - jj_scanpos = xsp; - if (jj_3R_57()) { - jj_scanpos = xsp; - if (jj_3R_58()) return true; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - return false; - } - - private boolean jj_3R_74() { - if (jj_scan_token(K_CHARACTER)) return true; - if (jj_scan_token(K_SET)) return true; - return false; - } - - private boolean jj_3R_85() { - if (jj_scan_token(S_QUOTED_IDENTIFIER)) return true; - return false; - } - - private boolean jj_3R_72() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3R_84() { - if (jj_scan_token(S_IDENTIFIER)) return true; - return false; - } - - private boolean jj_3R_50() { - if (jj_scan_token(K_CHAR)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(216)) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_73()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_74()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_49() { - if (jj_scan_token(K_DOUBLE)) return true; - if (jj_scan_token(K_PRECISION)) return true; - return false; - } - - private boolean jj_3_15() { - if (jj_3R_16()) return true; - return false; - } - - private boolean jj_3R_59() { - Token xsp; - xsp = jj_scanpos; - if (jj_3_15()) { - jj_scanpos = xsp; - if (jj_3R_84()) { - jj_scanpos = xsp; - if (jj_3R_85()) return true; - } - } - return false; - } - - private boolean jj_3R_63() { - if (jj_scan_token(K_OUT)) return true; - return false; - } - - private boolean jj_3R_48() { - if (jj_scan_token(K_UROWID)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_72()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3_14() { - if (jj_scan_token(R_IN)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3_13()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_47() { - if (jj_scan_token(K_ROWID)) return true; - return false; - } - - private boolean jj_3R_46() { - if (jj_scan_token(K_BFILE)) return true; - return false; - } - - private boolean jj_3R_45() { - if (jj_scan_token(K_NCLOB)) return true; - return false; - } - - private boolean jj_3_4() { - if (jj_scan_token(K_CONSTANT)) return true; - return false; - } - - private boolean jj_3R_44() { - if (jj_scan_token(K_BLOB)) return true; - return false; - } - - private boolean jj_3R_43() { - if (jj_scan_token(K_SYS_REFCURSOR)) return true; - return false; - } - - private boolean jj_3R_15() { - Token xsp; - xsp = jj_scanpos; - if (jj_3_14()) { - jj_scanpos = xsp; - if (jj_3R_63()) return true; - } - return false; - } - - private boolean jj_3R_60() { - Token xsp; - xsp = jj_scanpos; - if (jj_3_4()) jj_scanpos = xsp; - if (jj_3R_86()) return true; - return false; - } - - private boolean jj_3R_42() { - if (jj_scan_token(K_SIMPLE_DOUBLE)) return true; - return false; - } - - private boolean jj_3_5() { - if (jj_scan_token(R_EXCEPTION)) return true; - return false; - } - - private boolean jj_3R_41() { - if (jj_scan_token(K_SIMPLE_FLOAT)) return true; - return false; - } - - private boolean jj_3R_40() { - if (jj_scan_token(K_SIMPLE_INTEGER)) return true; - return false; - } - - private boolean jj_3R_87() { - if (jj_scan_token(O_OPENPAREN)) return true; - return false; - } - - private boolean jj_3R_39() { - if (jj_scan_token(K_PLS_INTEGER)) return true; - return false; - } - - private boolean jj_3R_71() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3R_38() { - if (jj_scan_token(K_MLSLABEL)) return true; - return false; - } - - private boolean jj_3R_37() { - if (jj_scan_token(K_REAL)) return true; - return false; - } - - private boolean jj_3R_8() { - if (jj_3R_59()) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3_5()) { - jj_scanpos = xsp; - if (jj_3R_60()) return true; - } - return false; - } - - private boolean jj_3_3() { - if (jj_3R_8()) return true; - return false; - } - - private boolean jj_3R_36() { - if (jj_scan_token(K_FLOAT)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_71()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_35() { - if (jj_scan_token(K_SMALLINT)) return true; - return false; - } - - private boolean jj_3R_34() { - if (jj_scan_token(K_INT)) return true; - return false; - } - - private boolean jj_3R_33() { - if (jj_scan_token(K_INTEGER)) return true; - return false; - } - - private boolean jj_3R_69() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3R_88() { - if (jj_3R_12()) return true; - return false; - } - - private boolean jj_3_6() { - if (jj_3R_7()) return true; - return false; - } - - private boolean jj_3R_92() { - if (jj_scan_token(O_OPENPAREN)) return true; - return false; - } - - private boolean jj_3R_83() { - if (jj_scan_token(K_CHARACTER)) return true; - if (jj_scan_token(K_SET)) return true; - return false; - } - - private boolean jj_3R_70() { - if (jj_scan_token(R_WITH)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(162)) jj_scanpos = xsp; - if (jj_scan_token(K_TIME)) return true; - return false; - } - - private boolean jj_3R_86() { - Token xsp; - xsp = jj_scanpos; - if (jj_3_6()) { - jj_scanpos = xsp; - if (jj_3R_88()) return true; - } - return false; - } - - private boolean jj_3R_32() { - if (jj_scan_token(K_TIMESTAMP)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_69()) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_70()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_31() { - if (jj_scan_token(K_TIME)) return true; - return false; - } - - private boolean jj_3R_68() { - if (jj_scan_token(K_YEAR)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_92()) jj_scanpos = xsp; - if (jj_scan_token(R_TO)) return true; - return false; - } - - private boolean jj_3R_58() { - if (jj_scan_token(K_CLOB)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_83()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_91() { - if (jj_scan_token(O_OPENPAREN)) return true; - return false; - } - - private boolean jj_3R_82() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3R_67() { - if (jj_scan_token(K_DAY)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_91()) jj_scanpos = xsp; - if (jj_scan_token(R_TO)) return true; - return false; - } - - private boolean jj_3R_9() { - if (jj_scan_token(K_RECORD)) return true; - if (jj_scan_token(O_OPENPAREN)) return true; - return false; - } - - private boolean jj_3R_57() { - if (jj_scan_token(K_NATIONAL)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(138)) { - jj_scanpos = xsp; - if (jj_scan_token(137)) return true; - } - xsp = jj_scanpos; - if (jj_scan_token(216)) jj_scanpos = xsp; - xsp = jj_scanpos; - if (jj_3R_87()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_30() { - if (jj_scan_token(K_INTERVAL)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_67()) { - jj_scanpos = xsp; - if (jj_3R_68()) return true; - } - return false; - } - - private boolean jj_3R_81() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3R_29() { - if (jj_scan_token(K_DATE)) return true; - return false; - } - - private boolean jj_3R_28() { - if (jj_scan_token(K_SYSXMLTYPE)) return true; - return false; - } - - private boolean jj_3R_27() { - if (jj_scan_token(K_XMLTYPE)) return true; - return false; - } - - private boolean jj_3R_26() { - if (jj_scan_token(K_BOOLEAN)) return true; - return false; - } - - private boolean jj_3R_66() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3R_56() { - if (jj_scan_token(K_NVARCHAR2)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_82()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_80() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3_11() { - if (jj_3R_15()) return true; - return false; - } - - private boolean jj_3R_65() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3R_16() { - Token xsp; - xsp = jj_scanpos; - if (jj_scan_token(128)) { - jj_scanpos = xsp; - if (jj_scan_token(129)) { - jj_scanpos = xsp; - if (jj_scan_token(130)) { - jj_scanpos = xsp; - if (jj_scan_token(131)) { - jj_scanpos = xsp; - if (jj_scan_token(132)) { - jj_scanpos = xsp; - if (jj_scan_token(133)) { - jj_scanpos = xsp; - if (jj_scan_token(134)) { - jj_scanpos = xsp; - if (jj_scan_token(135)) { - jj_scanpos = xsp; - if (jj_scan_token(136)) { - jj_scanpos = xsp; - if (jj_scan_token(137)) { - jj_scanpos = xsp; - if (jj_scan_token(138)) { - jj_scanpos = xsp; - if (jj_scan_token(139)) { - jj_scanpos = xsp; - if (jj_scan_token(140)) { - jj_scanpos = xsp; - if (jj_scan_token(141)) { - jj_scanpos = xsp; - if (jj_scan_token(142)) { - jj_scanpos = xsp; - if (jj_scan_token(143)) { - jj_scanpos = xsp; - if (jj_scan_token(144)) { - jj_scanpos = xsp; - if (jj_scan_token(145)) { - jj_scanpos = xsp; - if (jj_scan_token(146)) { - jj_scanpos = xsp; - if (jj_scan_token(147)) { - jj_scanpos = xsp; - if (jj_scan_token(148)) { - jj_scanpos = xsp; - if (jj_scan_token(149)) { - jj_scanpos = xsp; - if (jj_scan_token(150)) { - jj_scanpos = xsp; - if (jj_scan_token(151)) { - jj_scanpos = xsp; - if (jj_scan_token(152)) { - jj_scanpos = xsp; - if (jj_scan_token(153)) { - jj_scanpos = xsp; - if (jj_scan_token(154)) { - jj_scanpos = xsp; - if (jj_scan_token(155)) { - jj_scanpos = xsp; - if (jj_scan_token(156)) { - jj_scanpos = xsp; - if (jj_scan_token(157)) { - jj_scanpos = xsp; - if (jj_scan_token(158)) { - jj_scanpos = xsp; - if (jj_scan_token(159)) { - jj_scanpos = xsp; - if (jj_scan_token(160)) { - jj_scanpos = xsp; - if (jj_scan_token(161)) { - jj_scanpos = xsp; - if (jj_scan_token(162)) { - jj_scanpos = xsp; - if (jj_scan_token(163)) { - jj_scanpos = xsp; - if (jj_scan_token(164)) { - jj_scanpos = xsp; - if (jj_scan_token(165)) { - jj_scanpos = xsp; - if (jj_scan_token(166)) { - jj_scanpos = xsp; - if (jj_scan_token(167)) { - jj_scanpos = xsp; - if (jj_scan_token(168)) { - jj_scanpos = xsp; - if (jj_scan_token(169)) { - jj_scanpos = xsp; - if (jj_scan_token(170)) { - jj_scanpos = xsp; - if (jj_scan_token(171)) { - jj_scanpos = xsp; - if (jj_scan_token(172)) { - jj_scanpos = xsp; - if (jj_scan_token(173)) { - jj_scanpos = xsp; - if (jj_scan_token(174)) { - jj_scanpos = xsp; - if (jj_scan_token(175)) { - jj_scanpos = xsp; - if (jj_scan_token(176)) { - jj_scanpos = xsp; - if (jj_scan_token(177)) { - jj_scanpos = xsp; - if (jj_scan_token(178)) { - jj_scanpos = xsp; - if (jj_scan_token(179)) { - jj_scanpos = xsp; - if (jj_scan_token(180)) { - jj_scanpos = xsp; - if (jj_scan_token(181)) { - jj_scanpos = xsp; - if (jj_scan_token(182)) { - jj_scanpos = xsp; - if (jj_scan_token(183)) { - jj_scanpos = xsp; - if (jj_scan_token(184)) { - jj_scanpos = xsp; - if (jj_scan_token(185)) { - jj_scanpos = xsp; - if (jj_scan_token(186)) { - jj_scanpos = xsp; - if (jj_scan_token(187)) { - jj_scanpos = xsp; - if (jj_scan_token(188)) { - jj_scanpos = xsp; - if (jj_scan_token(189)) { - jj_scanpos = xsp; - if (jj_scan_token(190)) { - jj_scanpos = xsp; - if (jj_scan_token(191)) { - jj_scanpos = xsp; - if (jj_scan_token(192)) { - jj_scanpos = xsp; - if (jj_scan_token(193)) { - jj_scanpos = xsp; - if (jj_scan_token(194)) { - jj_scanpos = xsp; - if (jj_scan_token(195)) { - jj_scanpos = xsp; - if (jj_scan_token(196)) { - jj_scanpos = xsp; - if (jj_scan_token(197)) { - jj_scanpos = xsp; - if (jj_scan_token(198)) { - jj_scanpos = xsp; - if (jj_scan_token(199)) { - jj_scanpos = xsp; - if (jj_scan_token(200)) { - jj_scanpos = xsp; - if (jj_scan_token(201)) { - jj_scanpos = xsp; - if (jj_scan_token(202)) { - jj_scanpos = xsp; - if (jj_scan_token(203)) { - jj_scanpos = xsp; - if (jj_scan_token(204)) { - jj_scanpos = xsp; - if (jj_scan_token(205)) { - jj_scanpos = xsp; - if (jj_scan_token(206)) { - jj_scanpos = xsp; - if (jj_scan_token(207)) { - jj_scanpos = xsp; - if (jj_scan_token(208)) { - jj_scanpos = xsp; - if (jj_scan_token(209)) { - jj_scanpos = xsp; - if (jj_scan_token(210)) { - jj_scanpos = xsp; - if (jj_scan_token(211)) { - jj_scanpos = xsp; - if (jj_scan_token(212)) { - jj_scanpos = xsp; - if (jj_scan_token(213)) { - jj_scanpos = xsp; - if (jj_scan_token(214)) { - jj_scanpos = xsp; - if (jj_scan_token(215)) { - jj_scanpos = xsp; - if (jj_scan_token(216)) { - jj_scanpos = xsp; - if (jj_scan_token(217)) { - jj_scanpos = xsp; - if (jj_scan_token(218)) { - jj_scanpos = xsp; - if (jj_scan_token(219)) { - jj_scanpos = xsp; - if (jj_scan_token(220)) return true; - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - return false; - } - - private boolean jj_3R_90() { - if (jj_scan_token(O_COMMA)) return true; - return false; - } - - private boolean jj_3R_25() { - if (jj_scan_token(K_RAW)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_66()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_55() { - if (jj_scan_token(K_NVARCHAR)) return true; - Token xsp; - xsp = jj_scanpos; - if (jj_3R_81()) jj_scanpos = xsp; - return false; - } - - private boolean jj_3R_14() { - if (jj_scan_token(R_ANCHORED_ROWTYPE)) return true; - return false; - } - - private boolean jj_3R_6() { - if (jj_scan_token(K_CONSTRUCTOR)) return true; - return false; - } - - private boolean jj_3R_79() { - if (jj_scan_token(O_OPENPAREN)) return true; - if (jj_scan_token(S_NUMBER)) return true; - return false; - } - - private boolean jj_3_12() { - if (jj_scan_token(K_NOCOPY)) return true; - return false; - } - - private boolean jj_3R_13() { - if (jj_scan_token(R_ANCHORED_TYPE)) return true; - return false; - } - - /** Generated Token Manager. */ - public DDLParserTokenManager token_source; - JavaCharStream jj_input_stream; - /** Current token. */ - public Token token; - /** Next token. */ - public Token jj_nt; - private int jj_ntk; - private Token jj_scanpos, jj_lastpos; - private int jj_la; - - /** Constructor with InputStream. */ - public DDLParser(java.io.InputStream stream) { - this(stream, null); - } - /** Constructor with InputStream and supplied encoding */ - public DDLParser(java.io.InputStream stream, String encoding) { - try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } - token_source = new DDLParserTokenManager(jj_input_stream); - token = new Token(); - jj_ntk = -1; - } - - /** Reinitialise. */ - public void ReInit(java.io.InputStream stream) { - ReInit(stream, null); - } - /** Reinitialise. */ - public void ReInit(java.io.InputStream stream, String encoding) { - try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } - token_source.ReInit(jj_input_stream); - token = new Token(); - jj_ntk = -1; - jjtree.reset(); - } - - /** Constructor. */ - public DDLParser(java.io.Reader stream) { - jj_input_stream = new JavaCharStream(stream, 1, 1); - token_source = new DDLParserTokenManager(jj_input_stream); - token = new Token(); - jj_ntk = -1; - } - - /** Reinitialise. */ - public void ReInit(java.io.Reader stream) { - jj_input_stream.ReInit(stream, 1, 1); - token_source.ReInit(jj_input_stream); - token = new Token(); - jj_ntk = -1; - jjtree.reset(); - } - - /** Constructor with generated Token Manager. */ - public DDLParser(DDLParserTokenManager tm) { - token_source = tm; - token = new Token(); - jj_ntk = -1; - } - - /** Reinitialise. */ - public void ReInit(DDLParserTokenManager tm) { - token_source = tm; - token = new Token(); - jj_ntk = -1; - jjtree.reset(); - } - - private Token jj_consume_token(int kind) throws ParseException { - Token oldToken; - if ((oldToken = token).next != null) token = token.next; - else token = token.next = token_source.getNextToken(); - jj_ntk = -1; - if (token.kind == kind) { - return token; - } - token = oldToken; - throw generateParseException(); - } - - static private final class LookaheadSuccess extends java.lang.Error { } - final private LookaheadSuccess jj_ls = new LookaheadSuccess(); - private boolean jj_scan_token(int kind) { - if (jj_scanpos == jj_lastpos) { - jj_la--; - if (jj_scanpos.next == null) { - jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); - } else { - jj_lastpos = jj_scanpos = jj_scanpos.next; - } - } else { - jj_scanpos = jj_scanpos.next; - } - if (jj_scanpos.kind != kind) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; - return false; - } - - -/** Get the next Token. */ - final public Token getNextToken() { - if (token.next != null) token = token.next; - else token = token.next = token_source.getNextToken(); - jj_ntk = -1; - return token; - } - -/** Get the specific Token. */ - final public Token getToken(int index) { - Token t = token; - for (int i = 0; i < index; i++) { - if (t.next != null) t = t.next; - else t = t.next = token_source.getNextToken(); - } - return t; - } - - private int jj_ntk() { - if ((jj_nt=token.next) == null) - return (jj_ntk = (token.next=token_source.getNextToken()).kind); - else - return (jj_ntk = jj_nt.kind); - } - - /** Generate ParseException. */ - public ParseException generateParseException() { - Token errortok = token.next; - int line = errortok.beginLine, column = errortok.beginColumn; - String mess = (errortok.kind == 0) ? tokenImage[0] : errortok.image; - return new ParseException("Parse error at line " + line + ", column " + column + ". Encountered: " + mess); - } - - /** Enable tracing. */ - final public void enable_tracing() { - } - - /** Disable tracing. */ - final public void disable_tracing() { - } - -}
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jj b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jj deleted file mode 100644 index 82d39c7..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jj +++ /dev/null Binary files differ
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt deleted file mode 100644 index f35a0b4..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt +++ /dev/null Binary files differ
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserConstants.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserConstants.java deleted file mode 100644 index b6c355a..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserConstants.java +++ /dev/null
@@ -1,703 +0,0 @@ -/* Generated By:JJTree&JavaCC: Do not edit this line. DDLParserConstants.java */ -/******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 - * which accompanies this distribution. - * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Mike Norman - June 10 2011, created DDL parser package - ******************************************************************************/ -package org.eclipse.persistence.tools.oracleddl.parser; - - -/** - * Token literal values and constants. - * Generated by org.javacc.parser.OtherFilesGen#start() - */ -@SuppressWarnings("all") -public interface DDLParserConstants { - - /** End of File. */ - int EOF = 0; - /** RegularExpression Id. */ - int COMMENT_LINE = 6; - /** RegularExpression Id. */ - int COMMENT_BLOCK = 7; - /** RegularExpression Id. */ - int O_ASSIGN = 8; - /** RegularExpression Id. */ - int O_ASTERISK = 9; - /** RegularExpression Id. */ - int O_ATSIGN = 10; - /** RegularExpression Id. */ - int O_CLOSEPAREN = 11; - /** RegularExpression Id. */ - int O_CONCAT = 12; - /** RegularExpression Id. */ - int O_COLON = 13; - /** RegularExpression Id. */ - int O_COMMA = 14; - /** RegularExpression Id. */ - int O_DOT = 15; - /** RegularExpression Id. */ - int O_DOUBLEDOT = 16; - /** RegularExpression Id. */ - int O_DOLLAR = 17; - /** RegularExpression Id. */ - int O_PERCENT = 18; - /** RegularExpression Id. */ - int O_EQUAL = 19; - /** RegularExpression Id. */ - int O_GREATER = 20; - /** RegularExpression Id. */ - int O_GREATEREQUAL = 21; - /** RegularExpression Id. */ - int O_JOINPLUS = 22; - /** RegularExpression Id. */ - int O_LESS = 23; - /** RegularExpression Id. */ - int O_LESSEQUAL = 24; - /** RegularExpression Id. */ - int O_MINUS = 25; - /** RegularExpression Id. */ - int O_NOTEQUAL2 = 26; - /** RegularExpression Id. */ - int O_NOTEQUAL = 27; - /** RegularExpression Id. */ - int O_OPENPAREN = 28; - /** RegularExpression Id. */ - int O_PLUS = 29; - /** RegularExpression Id. */ - int O_POUND = 30; - /** RegularExpression Id. */ - int O_QUESTIONMARK = 31; - /** RegularExpression Id. */ - int O_SEMICOLON = 32; - /** RegularExpression Id. */ - int O_SLASH = 33; - /** RegularExpression Id. */ - int O_TILDE = 34; - /** RegularExpression Id. */ - int S_NUMBER = 35; - /** RegularExpression Id. */ - int FLOAT = 36; - /** RegularExpression Id. */ - int INTEGER = 37; - /** RegularExpression Id. */ - int DIGIT = 38; - /** RegularExpression Id. */ - int R_ALL = 39; - /** RegularExpression Id. */ - int R_ALTER = 40; - /** RegularExpression Id. */ - int R_ANCHORED_ROWTYPE = 41; - /** RegularExpression Id. */ - int R_ANCHORED_TYPE = 42; - /** RegularExpression Id. */ - int R_AND = 43; - /** RegularExpression Id. */ - int R_AS = 44; - /** RegularExpression Id. */ - int R_ASC = 45; - /** RegularExpression Id. */ - int R_AT = 46; - /** RegularExpression Id. */ - int R_BEGIN = 47; - /** RegularExpression Id. */ - int R_BETWEEN = 48; - /** RegularExpression Id. */ - int R_BY = 49; - /** RegularExpression Id. */ - int R_CASE = 50; - /** RegularExpression Id. */ - int R_CHARSET = 51; - /** RegularExpression Id. */ - int R_CHECK = 52; - /** RegularExpression Id. */ - int R_CLUSTERS = 53; - /** RegularExpression Id. */ - int R_CLUSTER = 54; - /** RegularExpression Id. */ - int R_COLAUTH = 55; - /** RegularExpression Id. */ - int R_COLUMNS = 56; - /** RegularExpression Id. */ - int R_COMPRESS = 57; - /** RegularExpression Id. */ - int R_CONNECT = 58; - /** RegularExpression Id. */ - int R_CONSTRAINT = 59; - /** RegularExpression Id. */ - int R_CRASH = 60; - /** RegularExpression Id. */ - int R_CREATE = 61; - /** RegularExpression Id. */ - int R_CURSOR = 62; - /** RegularExpression Id. */ - int R_DECLARE = 63; - /** RegularExpression Id. */ - int R_DEFAULT = 64; - /** RegularExpression Id. */ - int R_DESC = 65; - /** RegularExpression Id. */ - int R_DISTINCT = 66; - /** RegularExpression Id. */ - int R_DROP = 67; - /** RegularExpression Id. */ - int R_ELSE = 68; - /** RegularExpression Id. */ - int R_END = 69; - /** RegularExpression Id. */ - int R_EXCEPTION = 70; - /** RegularExpression Id. */ - int R_EXCLUSIVE = 71; - /** RegularExpression Id. */ - int R_FETCH = 72; - /** RegularExpression Id. */ - int R_FOR = 73; - /** RegularExpression Id. */ - int R_FROM = 74; - /** RegularExpression Id. */ - int R_FUNCTION = 75; - /** RegularExpression Id. */ - int R_GOTO = 76; - /** RegularExpression Id. */ - int R_GRANT = 77; - /** RegularExpression Id. */ - int R_GROUP = 78; - /** RegularExpression Id. */ - int R_HAVING = 79; - /** RegularExpression Id. */ - int R_IDENTIFIED = 80; - /** RegularExpression Id. */ - int R_IF = 81; - /** RegularExpression Id. */ - int R_IN = 82; - /** RegularExpression Id. */ - int R_INDEX = 83; - /** RegularExpression Id. */ - int R_INDEXES = 84; - /** RegularExpression Id. */ - int R_INSERT = 85; - /** RegularExpression Id. */ - int R_INTERSECT = 86; - /** RegularExpression Id. */ - int R_INTO = 87; - /** RegularExpression Id. */ - int R_IS = 88; - /** RegularExpression Id. */ - int R_LIKE = 89; - /** RegularExpression Id. */ - int R_LOCK = 90; - /** RegularExpression Id. */ - int R_MINUS = 91; - /** RegularExpression Id. */ - int R_MODE = 92; - /** RegularExpression Id. */ - int R_NOCOMPRESS = 93; - /** RegularExpression Id. */ - int R_NOT = 94; - /** RegularExpression Id. */ - int R_NOWAIT = 95; - /** RegularExpression Id. */ - int R_NULL = 96; - /** RegularExpression Id. */ - int R_OF = 97; - /** RegularExpression Id. */ - int R_ON = 98; - /** RegularExpression Id. */ - int R_OPTION = 99; - /** RegularExpression Id. */ - int R_OR = 100; - /** RegularExpression Id. */ - int R_ORDER = 101; - /** RegularExpression Id. */ - int R_OVERLAPS = 102; - /** RegularExpression Id. */ - int R_PRIMARY = 103; - /** RegularExpression Id. */ - int R_PROCEDURE = 104; - /** RegularExpression Id. */ - int R_PUBLIC = 105; - /** RegularExpression Id. */ - int R_RESOURCE = 106; - /** RegularExpression Id. */ - int R_REVOKE = 107; - /** RegularExpression Id. */ - int R_SELECT = 108; - /** RegularExpression Id. */ - int R_SHARE = 109; - /** RegularExpression Id. */ - int R_SIZE = 110; - /** RegularExpression Id. */ - int R_SQL = 111; - /** RegularExpression Id. */ - int R_START = 112; - /** RegularExpression Id. */ - int R_SUBTYPE = 113; - /** RegularExpression Id. */ - int R_TABAUTH = 114; - /** RegularExpression Id. */ - int R_TABLE = 115; - /** RegularExpression Id. */ - int R_THEN = 116; - /** RegularExpression Id. */ - int R_TO = 117; - /** RegularExpression Id. */ - int R_TYPE = 118; - /** RegularExpression Id. */ - int R_UNION = 119; - /** RegularExpression Id. */ - int R_UNIQUE = 120; - /** RegularExpression Id. */ - int R_UPDATE = 121; - /** RegularExpression Id. */ - int R_VALUES = 122; - /** RegularExpression Id. */ - int R_VIEW = 123; - /** RegularExpression Id. */ - int R_VIEWS = 124; - /** RegularExpression Id. */ - int R_WHEN = 125; - /** RegularExpression Id. */ - int R_WHERE = 126; - /** RegularExpression Id. */ - int R_WITH = 127; - /** RegularExpression Id. */ - int K_ARRAY = 128; - /** RegularExpression Id. */ - int K_AUTHID = 129; - /** RegularExpression Id. */ - int K_BFILE = 130; - /** RegularExpression Id. */ - int K_BINARY_DOUBLE = 131; - /** RegularExpression Id. */ - int K_BINARY_FLOAT = 132; - /** RegularExpression Id. */ - int K_BINARY_INTEGER = 133; - /** RegularExpression Id. */ - int K_BLOB = 134; - /** RegularExpression Id. */ - int K_BOOLEAN = 135; - /** RegularExpression Id. */ - int K_BYTE = 136; - /** RegularExpression Id. */ - int K_CHAR = 137; - /** RegularExpression Id. */ - int K_CHARACTER = 138; - /** RegularExpression Id. */ - int K_CLOB = 139; - /** RegularExpression Id. */ - int K_COMMIT = 140; - /** RegularExpression Id. */ - int K_CONSTANT = 141; - /** RegularExpression Id. */ - int K_CONSTRUCTOR = 142; - /** RegularExpression Id. */ - int K_CURRENT_USER = 143; - /** RegularExpression Id. */ - int K_DATE = 144; - /** RegularExpression Id. */ - int K_DAY = 145; - /** RegularExpression Id. */ - int K_DEC = 146; - /** RegularExpression Id. */ - int K_DECIMAL = 147; - /** RegularExpression Id. */ - int K_DEFINER = 148; - /** RegularExpression Id. */ - int K_DELETE = 149; - /** RegularExpression Id. */ - int K_DETERMINISTIC = 150; - /** RegularExpression Id. */ - int K_DOUBLE = 151; - /** RegularExpression Id. */ - int K_ENABLE = 152; - /** RegularExpression Id. */ - int K_FINAL = 153; - /** RegularExpression Id. */ - int K_FLOAT = 154; - /** RegularExpression Id. */ - int K_FORCE = 155; - /** RegularExpression Id. */ - int K_GLOBAL = 156; - /** RegularExpression Id. */ - int K_INSTANTIABLE = 157; - /** RegularExpression Id. */ - int K_INT = 158; - /** RegularExpression Id. */ - int K_INTEGER = 159; - /** RegularExpression Id. */ - int K_INTERVAL = 160; - /** RegularExpression Id. */ - int K_KEY = 161; - /** RegularExpression Id. */ - int K_LOCAL = 162; - /** RegularExpression Id. */ - int K_LONG = 163; - /** RegularExpression Id. */ - int K_MLSLABEL = 164; - /** RegularExpression Id. */ - int K_MONTH = 165; - /** RegularExpression Id. */ - int K_NATIONAL = 166; - /** RegularExpression Id. */ - int K_NATURAL = 167; - /** RegularExpression Id. */ - int K_NCHAR = 168; - /** RegularExpression Id. */ - int K_NCLOB = 169; - /** RegularExpression Id. */ - int K_NOCOPY = 170; - /** RegularExpression Id. */ - int K_NUMBER = 171; - /** RegularExpression Id. */ - int K_NUMERIC = 172; - /** RegularExpression Id. */ - int K_NVARCHAR2 = 173; - /** RegularExpression Id. */ - int K_NVARCHAR = 174; - /** RegularExpression Id. */ - int K_OBJECT = 175; - /** RegularExpression Id. */ - int K_OID = 176; - /** RegularExpression Id. */ - int K_ORGANIZATION = 177; - /** RegularExpression Id. */ - int K_OUT = 178; - /** RegularExpression Id. */ - int K_OVERFLOW = 179; - /** RegularExpression Id. */ - int K_PACKAGE = 180; - /** RegularExpression Id. */ - int K_PARALLEL_ENABLE = 181; - /** RegularExpression Id. */ - int K_PIPELINED = 182; - /** RegularExpression Id. */ - int K_PLS_INTEGER = 183; - /** RegularExpression Id. */ - int K_POSITIVE = 184; - /** RegularExpression Id. */ - int K_PRAGMA = 185; - /** RegularExpression Id. */ - int K_PRECISION = 186; - /** RegularExpression Id. */ - int K_PRESERVE = 187; - /** RegularExpression Id. */ - int K_RANGE = 188; - /** RegularExpression Id. */ - int K_RAW = 189; - /** RegularExpression Id. */ - int K_REAL = 190; - /** RegularExpression Id. */ - int K_RECORD = 191; - /** RegularExpression Id. */ - int K_REF = 192; - /** RegularExpression Id. */ - int K_REPLACE = 193; - /** RegularExpression Id. */ - int K_RESULT = 194; - /** RegularExpression Id. */ - int K_RESULT_CACHE = 195; - /** RegularExpression Id. */ - int K_RETURN = 196; - /** RegularExpression Id. */ - int K_ROWID = 197; - /** RegularExpression Id. */ - int K_ROWS = 198; - /** RegularExpression Id. */ - int K_SECOND = 199; - /** RegularExpression Id. */ - int K_SELF = 200; - /** RegularExpression Id. */ - int K_SET = 201; - /** RegularExpression Id. */ - int K_SIGNTYPE = 202; - /** RegularExpression Id. */ - int K_SIMPLE_DOUBLE = 203; - /** RegularExpression Id. */ - int K_SIMPLE_FLOAT = 204; - /** RegularExpression Id. */ - int K_SIMPLE_INTEGER = 205; - /** RegularExpression Id. */ - int K_SMALLINT = 206; - /** RegularExpression Id. */ - int K_STRING = 207; - /** RegularExpression Id. */ - int K_SYS_REFCURSOR = 208; - /** RegularExpression Id. */ - int K_TEMPORARY = 209; - /** RegularExpression Id. */ - int K_TIME = 210; - /** RegularExpression Id. */ - int K_TIMESTAMP = 211; - /** RegularExpression Id. */ - int K_UROWID = 212; - /** RegularExpression Id. */ - int K_VARCHAR2 = 213; - /** RegularExpression Id. */ - int K_VARCHAR = 214; - /** RegularExpression Id. */ - int K_VARRAY = 215; - /** RegularExpression Id. */ - int K_VARYING = 216; - /** RegularExpression Id. */ - int K_XMLTYPE = 217; - /** RegularExpression Id. */ - int K_SYSXMLTYPE = 218; - /** RegularExpression Id. */ - int K_YEAR = 219; - /** RegularExpression Id. */ - int K_ZONE = 220; - /** RegularExpression Id. */ - int S_IDENTIFIER = 221; - /** RegularExpression Id. */ - int LETTER = 222; - /** RegularExpression Id. */ - int SPECIAL_CHARS = 223; - /** RegularExpression Id. */ - int S_BIND = 224; - /** RegularExpression Id. */ - int S_CHAR_LITERAL = 225; - /** RegularExpression Id. */ - int S_QUOTED_IDENTIFIER = 226; - - /** Lexical state. */ - int DEFAULT = 0; - - /** Literal token values. */ - String[] tokenImage = { - "<EOF>", - "\" \"", - "\"\\t\"", - "\"\\n\"", - "\"\\r\"", - "\"\\f\"", - "<COMMENT_LINE>", - "<COMMENT_BLOCK>", - "\":=\"", - "\"*\"", - "\"@\"", - "\")\"", - "\"||\"", - "\":\"", - "\",\"", - "\".\"", - "\"..\"", - "\"$\"", - "\"%\"", - "\"=\"", - "\">\"", - "\">=\"", - "\"(+)\"", - "\"<\"", - "\"<=\"", - "\"-\"", - "\"<>\"", - "\"!=\"", - "\"(\"", - "\"+\"", - "\"#\"", - "\"?\"", - "\";\"", - "\"/\"", - "\"~\"", - "<S_NUMBER>", - "<FLOAT>", - "<INTEGER>", - "<DIGIT>", - "\"ALL\"", - "\"ALTER\"", - "\"%ROWTYPE\"", - "\"%TYPE\"", - "\"AND\"", - "\"AS\"", - "\"ASC\"", - "\"AT\"", - "\"BEGIN\"", - "\"BETWEEN\"", - "\"BY\"", - "\"CASE\"", - "\"%CHARSET\"", - "\"CHECK\"", - "\"CLUSTERS\"", - "\"CLUSTER\"", - "\"COLAUTH\"", - "\"COLUMNS\"", - "\"COMPRESS\"", - "\"CONNECT\"", - "\"CONSTRAINT\"", - "\"CRASH\"", - "\"CREATE\"", - "\"CURSOR\"", - "\"DECLARE\"", - "\"DEFAULT\"", - "\"DESC\"", - "\"DISTINCT\"", - "\"DROP\"", - "\"ELSE\"", - "\"END\"", - "\"EXCEPTION\"", - "\"EXCLUSIVE\"", - "\"FETCH\"", - "\"FOR\"", - "\"FROM\"", - "\"FUNCTION\"", - "\"GOTO\"", - "\"GRANT\"", - "\"GROUP\"", - "\"HAVING\"", - "\"IDENTIFIED\"", - "\"IF\"", - "\"IN\"", - "\"INDEX\"", - "\"INDEXES\"", - "\"INSERT\"", - "\"INTERSECT\"", - "\"INTO\"", - "\"IS\"", - "\"LIKE\"", - "\"LOCK\"", - "\"MINUS\"", - "\"MODE\"", - "\"NOCOMPRESS\"", - "\"NOT\"", - "\"NOWAIT\"", - "\"NULL\"", - "\"OF\"", - "\"ON\"", - "\"OPTION\"", - "\"OR\"", - "\"ORDER\"", - "\"OVERLAPS\"", - "\"PRIMARY\"", - "\"PROCEDURE\"", - "\"PUBLIC\"", - "\"RESOURCE\"", - "\"REVOLE\"", - "\"SELECT\"", - "\"SHARE\"", - "\"SIZE\"", - "\"SQL\"", - "\"START\"", - "\"SUBTYPE\"", - "\"TABAUTH\"", - "\"TABLE\"", - "\"THEN\"", - "\"TO\"", - "\"TYPE\"", - "\"UNION\"", - "\"UNIQUE\"", - "\"UPDATE\"", - "\"VALUES\"", - "\"VIEW\"", - "\"VIEWS\"", - "\"WHEN\"", - "\"WHERE\"", - "\"WITH\"", - "\"ARRAY\"", - "\"AUTHID\"", - "\"BFILE\"", - "\"BINARY_DOUBLE\"", - "\"BINARY_FLOAT\"", - "\"BINARY_INTEGER\"", - "\"BLOB\"", - "\"BOOLEAN\"", - "\"BYTE\"", - "\"CHAR\"", - "\"CHARACTER\"", - "\"CLOB\"", - "\"COMMIT\"", - "\"CONSTANT\"", - "\"CONSTRUCTOR\"", - "\"CURRENT_USER\"", - "\"DATE\"", - "\"DAY\"", - "\"DEC\"", - "\"DECIMAL\"", - "\"DEFINER\"", - "\"DELETE\"", - "\"DETERMINISTIC\"", - "\"DOUBLE\"", - "\"ENABLE\"", - "\"FINAL\"", - "\"FLOAT\"", - "\"FORCE\"", - "\"GLOBAL\"", - "\"INSTANTIABLE\"", - "\"INT\"", - "\"INTEGER\"", - "\"INTERVAL\"", - "\"KEY\"", - "\"LOCAL\"", - "\"LONG\"", - "\"MLSLABEL\"", - "\"MONTH\"", - "\"NATIONAL\"", - "\"NATURAL\"", - "\"NCHAR\"", - "\"NCLOB\"", - "\"NOCOPY\"", - "\"NUMBER\"", - "\"NUMERIC\"", - "\"NVARCHAR2\"", - "\"NVARCHAR\"", - "\"OBJECT\"", - "\"OID\"", - "\"ORGANIZATION\"", - "\"OUT\"", - "\"OVERFLOW\"", - "\"PACKAGE\"", - "\"PARALLEL_ENABLE\"", - "\"PIPELINED\"", - "\"PLS_INTEGER\"", - "\"POSITIVE\"", - "\"PRAGMA\"", - "\"PRECISION\"", - "\"PRESERVE\"", - "\"RANGE\"", - "\"RAW\"", - "\"REAL\"", - "\"RECORD\"", - "\"REF\"", - "\"REPLACE\"", - "\"RESULT\"", - "\"RESULT_CACHE\"", - "\"RETURN\"", - "\"ROWID\"", - "\"ROWS\"", - "\"SECOND\"", - "\"SELF\"", - "\"SET\"", - "\"SIGNTYPE\"", - "\"SIMPLE_DOUBLE\"", - "\"SIMPLE_FLOAT\"", - "\"SIMPLE_INTEGER\"", - "\"SMALLINT\"", - "\"STRING\"", - "\"SYS_REFCURSOR\"", - "\"TEMPORARY\"", - "\"TIME\"", - "\"TIMESTAMP\"", - "\"UROWID\"", - "\"VARCHAR2\"", - "\"VARCHAR\"", - "\"VARRAY\"", - "\"VARYING\"", - "\"XMLTYPE\"", - "\"SYS.XMLTYPE\"", - "\"YEAR\"", - "\"ZONE\"", - "<S_IDENTIFIER>", - "<LETTER>", - "<SPECIAL_CHARS>", - "<S_BIND>", - "<S_CHAR_LITERAL>", - "<S_QUOTED_IDENTIFIER>", - }; - -}
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserTokenManager.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserTokenManager.java deleted file mode 100644 index 927299f..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserTokenManager.java +++ /dev/null
@@ -1,3896 +0,0 @@ -/* Generated By:JJTree&JavaCC: Do not edit this line. DDLParserTokenManager.java */ -/******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 - * which accompanies this distribution. - * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Mike Norman - June 10 2011, created DDL parser package - ******************************************************************************/ -package org.eclipse.persistence.tools.oracleddl.parser; -//javase imports -import java.io.InputStream; -import java.util.List; -import java.util.HashMap; -import java.util.Map; -import java.util.StringTokenizer; -//metadata imports -import org.eclipse.persistence.tools.oracleddl.metadata.ArgumentType; -import org.eclipse.persistence.tools.oracleddl.metadata.ArgumentTypeDirection; -import org.eclipse.persistence.tools.oracleddl.metadata.BlobType; -import org.eclipse.persistence.tools.oracleddl.metadata.CharType; -import org.eclipse.persistence.tools.oracleddl.metadata.ClobType; -import org.eclipse.persistence.tools.oracleddl.metadata.CompositeDatabaseType; -import org.eclipse.persistence.tools.oracleddl.metadata.DatabaseType; -import org.eclipse.persistence.tools.oracleddl.metadata.DecimalType; -import org.eclipse.persistence.tools.oracleddl.metadata.DoubleType; -import org.eclipse.persistence.tools.oracleddl.metadata.FieldType; -import org.eclipse.persistence.tools.oracleddl.metadata.FloatType; -import org.eclipse.persistence.tools.oracleddl.metadata.FunctionType; -import org.eclipse.persistence.tools.oracleddl.metadata.IntervalDayToSecond; -import org.eclipse.persistence.tools.oracleddl.metadata.IntervalYearToMonth; -import org.eclipse.persistence.tools.oracleddl.metadata.LongType; -import org.eclipse.persistence.tools.oracleddl.metadata.LongRawType; -import org.eclipse.persistence.tools.oracleddl.metadata.NCharType; -import org.eclipse.persistence.tools.oracleddl.metadata.NClobType; -import org.eclipse.persistence.tools.oracleddl.metadata.NumericType; -import org.eclipse.persistence.tools.oracleddl.metadata.NVarChar2Type; -import org.eclipse.persistence.tools.oracleddl.metadata.ObjectType; -import org.eclipse.persistence.tools.oracleddl.metadata.ObjectTableType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLCollectionType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLCursorType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLPackageType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLRecordType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLType; -import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLSubType; -import org.eclipse.persistence.tools.oracleddl.metadata.ProcedureType; -import org.eclipse.persistence.tools.oracleddl.metadata.RawType; -import org.eclipse.persistence.tools.oracleddl.metadata.RealType; -import org.eclipse.persistence.tools.oracleddl.metadata.ROWTYPEType; -import org.eclipse.persistence.tools.oracleddl.metadata.TableType; -import org.eclipse.persistence.tools.oracleddl.metadata.TimeStampType; -import org.eclipse.persistence.tools.oracleddl.metadata.TYPEType; -import org.eclipse.persistence.tools.oracleddl.metadata.URowIdType; -import org.eclipse.persistence.tools.oracleddl.metadata.UnresolvedSizedType; -import org.eclipse.persistence.tools.oracleddl.metadata.UnresolvedType; -import org.eclipse.persistence.tools.oracleddl.metadata.VarCharType; -import org.eclipse.persistence.tools.oracleddl.metadata.VarChar2Type; -import org.eclipse.persistence.tools.oracleddl.metadata.VArrayType; -import org.eclipse.persistence.tools.oracleddl.util.DatabaseTypesRepository; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BFILE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BINARY_INTEGER_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BINARY_FLOAT_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BINARY_DOUBLE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BOOLEAN_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.DATE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.INTEGER_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.MLSLABEL_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.NATURAL_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.PLS_INTEGER_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.POSITIVE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.ROWID_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIGN_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIMPLE_INTEGER_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIMPLE_DOUBLE_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIMPLE_FLOAT_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SMALLINT_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SYS_REFCURSOR_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.TIME_TYPE; -import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.XMLTYPE_TYPE; - -/** Token Manager. */ -@SuppressWarnings("all") -public class DDLParserTokenManager implements DDLParserConstants -{ - - /** Debug output. */ - public java.io.PrintStream debugStream = System.out; - /** Set debug output. */ - public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; } -private int jjStopAtPos(int pos, int kind) -{ - jjmatchedKind = kind; - jjmatchedPos = pos; - return pos + 1; -} -private int jjMoveStringLiteralDfa0_0() -{ - switch(curChar) - { - case 9: - jjmatchedKind = 2; - return jjMoveNfa_0(5, 0); - case 10: - jjmatchedKind = 3; - return jjMoveNfa_0(5, 0); - case 12: - jjmatchedKind = 5; - return jjMoveNfa_0(5, 0); - case 13: - jjmatchedKind = 4; - return jjMoveNfa_0(5, 0); - case 32: - jjmatchedKind = 1; - return jjMoveNfa_0(5, 0); - case 33: - return jjMoveStringLiteralDfa1_0(0x8000000L, 0x0L, 0x0L, 0x0L); - case 35: - jjmatchedKind = 30; - return jjMoveNfa_0(5, 0); - case 36: - jjmatchedKind = 17; - return jjMoveNfa_0(5, 0); - case 37: - jjmatchedKind = 18; - return jjMoveStringLiteralDfa1_0(0x8060000000000L, 0x0L, 0x0L, 0x0L); - case 40: - jjmatchedKind = 28; - return jjMoveStringLiteralDfa1_0(0x400000L, 0x0L, 0x0L, 0x0L); - case 41: - jjmatchedKind = 11; - return jjMoveNfa_0(5, 0); - case 42: - jjmatchedKind = 9; - return jjMoveNfa_0(5, 0); - case 43: - jjmatchedKind = 29; - return jjMoveNfa_0(5, 0); - case 44: - jjmatchedKind = 14; - return jjMoveNfa_0(5, 0); - case 45: - jjmatchedKind = 25; - return jjMoveNfa_0(5, 0); - case 46: - jjmatchedKind = 15; - return jjMoveStringLiteralDfa1_0(0x10000L, 0x0L, 0x0L, 0x0L); - case 47: - jjmatchedKind = 33; - return jjMoveNfa_0(5, 0); - case 58: - jjmatchedKind = 13; - return jjMoveStringLiteralDfa1_0(0x100L, 0x0L, 0x0L, 0x0L); - case 59: - jjmatchedKind = 32; - return jjMoveNfa_0(5, 0); - case 60: - jjmatchedKind = 23; - return jjMoveStringLiteralDfa1_0(0x5000000L, 0x0L, 0x0L, 0x0L); - case 61: - jjmatchedKind = 19; - return jjMoveNfa_0(5, 0); - case 62: - jjmatchedKind = 20; - return jjMoveStringLiteralDfa1_0(0x200000L, 0x0L, 0x0L, 0x0L); - case 63: - jjmatchedKind = 31; - return jjMoveNfa_0(5, 0); - case 64: - jjmatchedKind = 10; - return jjMoveNfa_0(5, 0); - case 65: - return jjMoveStringLiteralDfa1_0(0x798000000000L, 0x0L, 0x3L, 0x0L); - case 66: - return jjMoveStringLiteralDfa1_0(0x3800000000000L, 0x0L, 0x1fcL, 0x0L); - case 67: - return jjMoveStringLiteralDfa1_0(0x7ff4000000000000L, 0x0L, 0xfe00L, 0x0L); - case 68: - return jjMoveStringLiteralDfa1_0(0x8000000000000000L, 0xfL, 0xff0000L, 0x0L); - case 69: - return jjMoveStringLiteralDfa1_0(0x0L, 0xf0L, 0x1000000L, 0x0L); - case 70: - return jjMoveStringLiteralDfa1_0(0x0L, 0xf00L, 0xe000000L, 0x0L); - case 71: - return jjMoveStringLiteralDfa1_0(0x0L, 0x7000L, 0x10000000L, 0x0L); - case 72: - return jjMoveStringLiteralDfa1_0(0x0L, 0x8000L, 0x0L, 0x0L); - case 73: - return jjMoveStringLiteralDfa1_0(0x0L, 0x1ff0000L, 0x1e0000000L, 0x0L); - case 75: - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x200000000L, 0x0L); - case 76: - return jjMoveStringLiteralDfa1_0(0x0L, 0x6000000L, 0xc00000000L, 0x0L); - case 77: - return jjMoveStringLiteralDfa1_0(0x0L, 0x18000000L, 0x3000000000L, 0x0L); - case 78: - return jjMoveStringLiteralDfa1_0(0x0L, 0x1e0000000L, 0x7fc000000000L, 0x0L); - case 79: - return jjMoveStringLiteralDfa1_0(0x0L, 0x7e00000000L, 0xf800000000000L, 0x0L); - case 80: - return jjMoveStringLiteralDfa1_0(0x0L, 0x38000000000L, 0xff0000000000000L, 0x0L); - case 82: - return jjMoveStringLiteralDfa1_0(0x0L, 0xc0000000000L, 0xf000000000000000L, 0x7fL); - case 83: - return jjMoveStringLiteralDfa1_0(0x0L, 0x3f00000000000L, 0x0L, 0x401ff80L); - case 84: - return jjMoveStringLiteralDfa1_0(0x0L, 0x7c000000000000L, 0x0L, 0xe0000L); - case 85: - return jjMoveStringLiteralDfa1_0(0x0L, 0x380000000000000L, 0x0L, 0x100000L); - case 86: - return jjMoveStringLiteralDfa1_0(0x0L, 0x1c00000000000000L, 0x0L, 0x1e00000L); - case 87: - return jjMoveStringLiteralDfa1_0(0x0L, 0xe000000000000000L, 0x0L, 0x0L); - case 88: - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2000000L); - case 89: - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x8000000L); - case 90: - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x10000000L); - case 97: - return jjMoveStringLiteralDfa1_0(0x798000000000L, 0x0L, 0x3L, 0x0L); - case 98: - return jjMoveStringLiteralDfa1_0(0x3800000000000L, 0x0L, 0x1fcL, 0x0L); - case 99: - return jjMoveStringLiteralDfa1_0(0x7ff4000000000000L, 0x0L, 0xfe00L, 0x0L); - case 100: - return jjMoveStringLiteralDfa1_0(0x8000000000000000L, 0xfL, 0xff0000L, 0x0L); - case 101: - return jjMoveStringLiteralDfa1_0(0x0L, 0xf0L, 0x1000000L, 0x0L); - case 102: - return jjMoveStringLiteralDfa1_0(0x0L, 0xf00L, 0xe000000L, 0x0L); - case 103: - return jjMoveStringLiteralDfa1_0(0x0L, 0x7000L, 0x10000000L, 0x0L); - case 104: - return jjMoveStringLiteralDfa1_0(0x0L, 0x8000L, 0x0L, 0x0L); - case 105: - return jjMoveStringLiteralDfa1_0(0x0L, 0x1ff0000L, 0x1e0000000L, 0x0L); - case 107: - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x200000000L, 0x0L); - case 108: - return jjMoveStringLiteralDfa1_0(0x0L, 0x6000000L, 0xc00000000L, 0x0L); - case 109: - return jjMoveStringLiteralDfa1_0(0x0L, 0x18000000L, 0x3000000000L, 0x0L); - case 110: - return jjMoveStringLiteralDfa1_0(0x0L, 0x1e0000000L, 0x7fc000000000L, 0x0L); - case 111: - return jjMoveStringLiteralDfa1_0(0x0L, 0x7e00000000L, 0xf800000000000L, 0x0L); - case 112: - return jjMoveStringLiteralDfa1_0(0x0L, 0x38000000000L, 0xff0000000000000L, 0x0L); - case 114: - return jjMoveStringLiteralDfa1_0(0x0L, 0xc0000000000L, 0xf000000000000000L, 0x7fL); - case 115: - return jjMoveStringLiteralDfa1_0(0x0L, 0x3f00000000000L, 0x0L, 0x401ff80L); - case 116: - return jjMoveStringLiteralDfa1_0(0x0L, 0x7c000000000000L, 0x0L, 0xe0000L); - case 117: - return jjMoveStringLiteralDfa1_0(0x0L, 0x380000000000000L, 0x0L, 0x100000L); - case 118: - return jjMoveStringLiteralDfa1_0(0x0L, 0x1c00000000000000L, 0x0L, 0x1e00000L); - case 119: - return jjMoveStringLiteralDfa1_0(0x0L, 0xe000000000000000L, 0x0L, 0x0L); - case 120: - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x2000000L); - case 121: - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x8000000L); - case 122: - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x0L, 0x10000000L); - case 124: - return jjMoveStringLiteralDfa1_0(0x1000L, 0x0L, 0x0L, 0x0L); - case 126: - jjmatchedKind = 34; - return jjMoveNfa_0(5, 0); - default : - return jjMoveNfa_0(5, 0); - } -} -private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2, long active3) -{ - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 0); - } - switch(curChar) - { - case 43: - return jjMoveStringLiteralDfa2_0(active0, 0x400000L, active1, 0L, active2, 0L, active3, 0L); - case 46: - if ((active0 & 0x10000L) != 0L) - { - jjmatchedKind = 16; - jjmatchedPos = 1; - } - break; - case 61: - if ((active0 & 0x100L) != 0L) - { - jjmatchedKind = 8; - jjmatchedPos = 1; - } - else if ((active0 & 0x200000L) != 0L) - { - jjmatchedKind = 21; - jjmatchedPos = 1; - } - else if ((active0 & 0x1000000L) != 0L) - { - jjmatchedKind = 24; - jjmatchedPos = 1; - } - else if ((active0 & 0x8000000L) != 0L) - { - jjmatchedKind = 27; - jjmatchedPos = 1; - } - break; - case 62: - if ((active0 & 0x4000000L) != 0L) - { - jjmatchedKind = 26; - jjmatchedPos = 1; - } - break; - case 65: - return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000L, active1, 0x40c000000008000L, active2, 0x303000c000030000L, active3, 0x1e00000L); - case 66: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2, 0x800000000000L, active3, 0L); - case 67: - return jjMoveStringLiteralDfa2_0(active0, 0x8000000000000L, active1, 0L, active2, 0x30000000000L, active3, 0L); - case 68: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x10000L, active2, 0L, active3, 0L); - case 69: - return jjMoveStringLiteralDfa2_0(active0, 0x8001800000000000L, active1, 0x1c0000000103L, active2, 0xc0000002007c0000L, active3, 0x802039fL); - case 70: - if ((active1 & 0x20000L) != 0L) - { - jjmatchedKind = 81; - jjmatchedPos = 1; - } - else if ((active1 & 0x200000000L) != 0L) - { - jjmatchedKind = 97; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2, 0x4L, active3, 0L); - case 72: - return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x6010200000000000L, active2, 0x600L, active3, 0L); - case 73: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x980040000a000004L, active2, 0x41000002000038L, active3, 0xc3c00L); - case 76: - return jjMoveStringLiteralDfa2_0(active0, 0x60018000000000L, active1, 0x10L, active2, 0x80001014000840L, active3, 0L); - case 77: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x2004000L); - case 78: - if ((active1 & 0x40000L) != 0L) - { - jjmatchedKind = 82; - jjmatchedPos = 1; - } - else if ((active1 & 0x400000000L) != 0L) - { - jjmatchedKind = 98; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0x80000000000L, active1, 0x180000000f80020L, active2, 0x1e1000000L, active3, 0L); - case 79: - if ((active1 & 0x20000000000000L) != 0L) - { - jjmatchedKind = 117; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0xf80000000000000L, active1, 0xf4001200L, active2, 0x100042c08807080L, active3, 0x10000060L); - case 80: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x200000800000000L, active2, 0L, active3, 0L); - case 81: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x800000000000L, active2, 0L, active3, 0L); - case 82: - if ((active1 & 0x1000000000L) != 0L) - { - jjmatchedKind = 100; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0x3000020000000000L, active1, 0x1a000006408L, active2, 0xe02000000000001L, active3, 0x100000L); - case 83: - if ((active0 & 0x100000000000L) != 0L) - { - jjmatchedKind = 44; - jjmatchedPos = 1; - } - else if ((active1 & 0x1000000L) != 0L) - { - jjmatchedKind = 88; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0x200000000000L, active1, 0L, active2, 0L, active3, 0L); - case 84: - if ((active0 & 0x400000000000L) != 0L) - { - jjmatchedKind = 46; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0x40000000000L, active1, 0x1000000000000L, active2, 0L, active3, 0x8000L); - case 85: - return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000000L, active1, 0x2020100000800L, active2, 0x4180000008002L, active3, 0L); - case 86: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x4000000000L, active2, 0x8600000000000L, active3, 0L); - case 88: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0xc0L, active2, 0L, active3, 0L); - case 89: - if ((active0 & 0x2000000000000L) != 0L) - { - jjmatchedKind = 49; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x40000000000000L, active2, 0x100L, active3, 0x4010000L); - case 97: - return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000L, active1, 0x40c000000008000L, active2, 0x303000c000030000L, active3, 0x1e00000L); - case 98: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2, 0x800000000000L, active3, 0L); - case 99: - return jjMoveStringLiteralDfa2_0(active0, 0x8000000000000L, active1, 0L, active2, 0x30000000000L, active3, 0L); - case 100: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x10000L, active2, 0L, active3, 0L); - case 101: - return jjMoveStringLiteralDfa2_0(active0, 0x8001800000000000L, active1, 0x1c0000000103L, active2, 0xc0000002007c0000L, active3, 0x802039fL); - case 102: - if ((active1 & 0x20000L) != 0L) - { - jjmatchedKind = 81; - jjmatchedPos = 1; - } - else if ((active1 & 0x200000000L) != 0L) - { - jjmatchedKind = 97; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2, 0x4L, active3, 0L); - case 104: - return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0x6010200000000000L, active2, 0x600L, active3, 0L); - case 105: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x980040000a000004L, active2, 0x41000002000038L, active3, 0xc3c00L); - case 108: - return jjMoveStringLiteralDfa2_0(active0, 0x60018000000000L, active1, 0x10L, active2, 0x80001014000840L, active3, 0L); - case 109: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x2004000L); - case 110: - if ((active1 & 0x40000L) != 0L) - { - jjmatchedKind = 82; - jjmatchedPos = 1; - } - else if ((active1 & 0x400000000L) != 0L) - { - jjmatchedKind = 98; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0x80000000000L, active1, 0x180000000f80020L, active2, 0x1e1000000L, active3, 0L); - case 111: - if ((active1 & 0x20000000000000L) != 0L) - { - jjmatchedKind = 117; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0xf80000000000000L, active1, 0xf4001200L, active2, 0x100042c08807080L, active3, 0x10000060L); - case 112: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x200000800000000L, active2, 0L, active3, 0L); - case 113: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x800000000000L, active2, 0L, active3, 0L); - case 114: - if ((active1 & 0x1000000000L) != 0L) - { - jjmatchedKind = 100; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0x3000020000000000L, active1, 0x1a000006408L, active2, 0xe02000000000001L, active3, 0x100000L); - case 115: - if ((active0 & 0x100000000000L) != 0L) - { - jjmatchedKind = 44; - jjmatchedPos = 1; - } - else if ((active1 & 0x1000000L) != 0L) - { - jjmatchedKind = 88; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0x200000000000L, active1, 0L, active2, 0L, active3, 0L); - case 116: - if ((active0 & 0x400000000000L) != 0L) - { - jjmatchedKind = 46; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0x40000000000L, active1, 0x1000000000000L, active2, 0L, active3, 0x8000L); - case 117: - return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000000L, active1, 0x2020100000800L, active2, 0x4180000008002L, active3, 0L); - case 118: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x4000000000L, active2, 0x8600000000000L, active3, 0L); - case 120: - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0xc0L, active2, 0L, active3, 0L); - case 121: - if ((active0 & 0x2000000000000L) != 0L) - { - jjmatchedKind = 49; - jjmatchedPos = 1; - } - return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x40000000000000L, active2, 0x100L, active3, 0x4010000L); - case 124: - if ((active0 & 0x1000L) != 0L) - { - jjmatchedKind = 12; - jjmatchedPos = 1; - } - break; - default : - break; - } - return jjMoveNfa_0(5, 1); -} -private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1, long old2, long active2, long old3, long active3) -{ - if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 1); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 1); - } - switch(curChar) - { - case 41: - if ((active0 & 0x400000L) != 0L) - { - jjmatchedKind = 22; - jjmatchedPos = 2; - } - break; - case 65: - return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L, active1, 0x1200000002000L, active2, 0x4200600001000600L, active3, 0x8004000L); - case 66: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0xe020000000000L, active2, 0L, active3, 0L); - case 67: - if ((active0 & 0x200000000000L) != 0L) - { - jjmatchedKind = 45; - jjmatchedPos = 2; - } - else if ((active2 & 0x40000L) != 0L) - { - jjmatchedKind = 146; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x8000000000000000L, active1, 0x240000c0L, active2, 0x8010040400080000L, active3, 0x80L); - case 68: - if ((active0 & 0x80000000000L) != 0L) - { - jjmatchedKind = 43; - jjmatchedPos = 2; - } - else if ((active1 & 0x20L) != 0L) - { - jjmatchedKind = 69; - jjmatchedPos = 2; - } - else if ((active2 & 0x1000000000000L) != 0L) - { - jjmatchedKind = 176; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x200002010180000L, active2, 0L, active3, 0L); - case 69: - return jjMoveStringLiteralDfa3_0(active0, 0x2010000000000000L, active1, 0x7810004000010000L, active2, 0xc08000000000000L, active3, 0L); - case 70: - if ((active3 & 0x1L) != 0L) - { - jjmatchedKind = 192; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x1L, active2, 0x100000L, active3, 0L); - case 71: - return jjMoveStringLiteralDfa3_0(active0, 0x800000000000L, active1, 0L, active2, 0x2000000000000L, active3, 0x400L); - case 72: - return jjMoveStringLiteralDfa3_0(active0, 0x8000000000000L, active1, 0L, active2, 0x10000000000L, active3, 0L); - case 73: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x180008000000000L, active2, 0x4L, active3, 0L); - case 74: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2, 0x800000000000L, active3, 0L); - case 75: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2000000L, active2, 0L, active3, 0L); - case 76: - if ((active0 & 0x8000000000L) != 0L) - { - jjmatchedKind = 39; - jjmatchedPos = 2; - } - else if ((active1 & 0x800000000000L) != 0L) - { - jjmatchedKind = 111; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x180000000000000L, active1, 0x400100100000000L, active2, 0x20000200000L, active3, 0x2000100L); - case 77: - return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0L, active2, 0x180000001000L, active3, 0xe3800L); - case 78: - return jjMoveStringLiteralDfa3_0(active0, 0xc00000000000000L, active1, 0x8000800L, active2, 0x1000002802006038L, active3, 0x10000000L); - case 79: - return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x10000004408L, active2, 0x140008c0L, active3, 0x100000L); - case 80: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x40000000000000L, active2, 0x40000000000000L, active3, 0x2L); - case 82: - if ((active1 & 0x200L) != 0L) - { - jjmatchedKind = 73; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000000L, active1, 0L, active2, 0x20000008008001L, active3, 0x1e08000L); - case 83: - return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x40000200016L, active2, 0x180001020000000L, active3, 0x401000cL); - case 84: - if ((active1 & 0x40000000L) != 0L) - { - jjmatchedKind = 94; - jjmatchedPos = 2; - } - else if ((active2 & 0x40000000L) != 0L) - { - jjmatchedKind = 158; - jjmatchedPos = 2; - } - else if ((active2 & 0x4000000000000L) != 0L) - { - jjmatchedKind = 178; - jjmatchedPos = 2; - } - else if ((active3 & 0x200L) != 0L) - { - jjmatchedKind = 201; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x1010000000000L, active1, 0x8000000800c01100L, active2, 0xc180410102L, active3, 0x10L); - case 85: - return jjMoveStringLiteralDfa3_0(active0, 0x60000000000000L, active1, 0L, active2, 0x800000L, active3, 0L); - case 86: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x80000008000L, active2, 0L, active3, 0L); - case 87: - if ((active2 & 0x2000000000000000L) != 0L) - { - jjmatchedKind = 189; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x80000000L, active2, 0L, active3, 0x60L); - case 89: - if ((active2 & 0x20000L) != 0L) - { - jjmatchedKind = 145; - jjmatchedPos = 2; - } - else if ((active2 & 0x200000000L) != 0L) - { - jjmatchedKind = 161; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1, 0L, active2, 0L, active3, 0L); - case 90: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x400000000000L, active2, 0L, active3, 0L); - case 97: - return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000000L, active1, 0x1200000002000L, active2, 0x4200600001000600L, active3, 0x8004000L); - case 98: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0xe020000000000L, active2, 0L, active3, 0L); - case 99: - if ((active0 & 0x200000000000L) != 0L) - { - jjmatchedKind = 45; - jjmatchedPos = 2; - } - else if ((active2 & 0x40000L) != 0L) - { - jjmatchedKind = 146; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x8000000000000000L, active1, 0x240000c0L, active2, 0x8010040400080000L, active3, 0x80L); - case 100: - if ((active0 & 0x80000000000L) != 0L) - { - jjmatchedKind = 43; - jjmatchedPos = 2; - } - else if ((active1 & 0x20L) != 0L) - { - jjmatchedKind = 69; - jjmatchedPos = 2; - } - else if ((active2 & 0x1000000000000L) != 0L) - { - jjmatchedKind = 176; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x200002010180000L, active2, 0L, active3, 0L); - case 101: - return jjMoveStringLiteralDfa3_0(active0, 0x2010000000000000L, active1, 0x7810004000010000L, active2, 0xc08000000000000L, active3, 0L); - case 102: - if ((active3 & 0x1L) != 0L) - { - jjmatchedKind = 192; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x1L, active2, 0x100000L, active3, 0L); - case 103: - return jjMoveStringLiteralDfa3_0(active0, 0x800000000000L, active1, 0L, active2, 0x2000000000000L, active3, 0x400L); - case 104: - return jjMoveStringLiteralDfa3_0(active0, 0x8000000000000L, active1, 0L, active2, 0x10000000000L, active3, 0L); - case 105: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x180008000000000L, active2, 0x4L, active3, 0L); - case 106: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0L, active2, 0x800000000000L, active3, 0L); - case 107: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x2000000L, active2, 0L, active3, 0L); - case 108: - if ((active0 & 0x8000000000L) != 0L) - { - jjmatchedKind = 39; - jjmatchedPos = 2; - } - else if ((active1 & 0x800000000000L) != 0L) - { - jjmatchedKind = 111; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x180000000000000L, active1, 0x400100100000000L, active2, 0x20000200000L, active3, 0x2000100L); - case 109: - return jjMoveStringLiteralDfa3_0(active0, 0x200000000000000L, active1, 0L, active2, 0x180000001000L, active3, 0xe3800L); - case 110: - return jjMoveStringLiteralDfa3_0(active0, 0xc00000000000000L, active1, 0x8000800L, active2, 0x1000002802006038L, active3, 0x10000000L); - case 111: - return jjMoveStringLiteralDfa3_0(active0, 0x20000000000L, active1, 0x10000004408L, active2, 0x140008c0L, active3, 0x100000L); - case 112: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x40000000000000L, active2, 0x40000000000000L, active3, 0x2L); - case 114: - if ((active1 & 0x200L) != 0L) - { - jjmatchedKind = 73; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000000L, active1, 0L, active2, 0x20000008008001L, active3, 0x1e08000L); - case 115: - return jjMoveStringLiteralDfa3_0(active0, 0x4000000000000L, active1, 0x40000200016L, active2, 0x180001020000000L, active3, 0x401000cL); - case 116: - if ((active1 & 0x40000000L) != 0L) - { - jjmatchedKind = 94; - jjmatchedPos = 2; - } - else if ((active2 & 0x40000000L) != 0L) - { - jjmatchedKind = 158; - jjmatchedPos = 2; - } - else if ((active2 & 0x4000000000000L) != 0L) - { - jjmatchedKind = 178; - jjmatchedPos = 2; - } - else if ((active3 & 0x200L) != 0L) - { - jjmatchedKind = 201; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x1010000000000L, active1, 0x8000000800c01100L, active2, 0xc180410102L, active3, 0x10L); - case 117: - return jjMoveStringLiteralDfa3_0(active0, 0x60000000000000L, active1, 0L, active2, 0x800000L, active3, 0L); - case 118: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x80000008000L, active2, 0L, active3, 0L); - case 119: - if ((active2 & 0x2000000000000000L) != 0L) - { - jjmatchedKind = 189; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x80000000L, active2, 0L, active3, 0x60L); - case 121: - if ((active2 & 0x20000L) != 0L) - { - jjmatchedKind = 145; - jjmatchedPos = 2; - } - else if ((active2 & 0x200000000L) != 0L) - { - jjmatchedKind = 161; - jjmatchedPos = 2; - } - return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1, 0L, active2, 0L, active3, 0L); - case 122: - return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x400000000000L, active2, 0L, active3, 0L); - default : - break; - } - return jjMoveNfa_0(5, 2); -} -private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1, long old2, long active2, long old3, long active3) -{ - if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 2); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 2); - } - switch(curChar) - { - case 46: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x4000000L); - case 65: - return jjMoveStringLiteralDfa4_0(active0, 0x2088000000000000L, active1, 0x204000080000001L, active2, 0x22010406000039L, active3, 0L); - case 66: - if ((active2 & 0x40L) != 0L) - { - jjmatchedKind = 134; - jjmatchedPos = 3; - } - else if ((active2 & 0x800L) != 0L) - { - jjmatchedKind = 139; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x80011800000L, active3, 0L); - case 67: - if ((active1 & 0x2L) != 0L) - { - jjmatchedKind = 65; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x10000000000000L, active1, 0x10000000900L, active2, 0x400000008000000L, active3, 0x600000L); - case 69: - if ((active0 & 0x4000000000000L) != 0L) - { - jjmatchedKind = 50; - jjmatchedPos = 3; - } - else if ((active1 & 0x10L) != 0L) - { - jjmatchedKind = 68; - jjmatchedPos = 3; - } - else if ((active1 & 0x2000000L) != 0L) - { - jjmatchedKind = 89; - jjmatchedPos = 3; - } - else if ((active1 & 0x10000000L) != 0L) - { - jjmatchedKind = 92; - jjmatchedPos = 3; - } - else if ((active1 & 0x400000000000L) != 0L) - { - jjmatchedKind = 110; - jjmatchedPos = 3; - } - else if ((active1 & 0x40000000000000L) != 0L) - { - jjmatchedKind = 118; - jjmatchedPos = 3; - } - else if ((active2 & 0x100L) != 0L) - { - jjmatchedKind = 136; - jjmatchedPos = 3; - } - else if ((active2 & 0x10000L) != 0L) - { - jjmatchedKind = 144; - jjmatchedPos = 3; - } - else if ((active3 & 0x40000L) != 0L) - { - jjmatchedKind = 210; - jjmatchedPos = 3; - } - else if ((active3 & 0x10000000L) != 0L) - { - jjmatchedKind = 220; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x10000000000L, active1, 0x102000780040L, active2, 0x40900180600000L, active3, 0x80000L); - case 70: - if ((active3 & 0x100L) != 0L) - { - jjmatchedKind = 200; - jjmatchedPos = 3; - } - break; - case 71: - if ((active2 & 0x800000000L) != 0L) - { - jjmatchedKind = 163; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x1200000000000000L, active3, 0L); - case 72: - if ((active1 & 0x8000000000000000L) != 0L) - { - jjmatchedKind = 127; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x2L, active3, 0L); - case 73: - return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L, active1, 0x800008000L, active2, 0x100004000180000L, active3, 0x8020L); - case 75: - if ((active1 & 0x4000000L) != 0L) - { - jjmatchedKind = 90; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x10000000000000L, active3, 0L); - case 76: - if ((active1 & 0x100000000L) != 0L) - { - jjmatchedKind = 96; - jjmatchedPos = 3; - } - else if ((active2 & 0x4000000000000000L) != 0L) - { - jjmatchedKind = 190; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000000L, active1, 0x8020000000080L, active2, 0x1000000084L, active3, 0x4002L); - case 77: - if ((active1 & 0x400L) != 0L) - { - jjmatchedKind = 74; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x8000000000L, active2, 0x1000L, active3, 0L); - case 78: - if ((active1 & 0x10000000000000L) != 0L) - { - jjmatchedKind = 116; - jjmatchedPos = 3; - } - else if ((active1 & 0x2000000000000000L) != 0L) - { - jjmatchedKind = 125; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0x12000L, active2, 0L, active3, 0x400L); - case 79: - if ((active1 & 0x1000L) != 0L) - { - jjmatchedKind = 76; - jjmatchedPos = 3; - } - else if ((active1 & 0x800000L) != 0L) - { - jjmatchedKind = 87; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800c0020000000L, active2, 0x8000060000000000L, active3, 0x80L); - case 80: - if ((active1 & 0x8L) != 0L) - { - jjmatchedKind = 67; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x200040000000000L, active1, 0L, active2, 0L, active3, 0x23800L); - case 81: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x100000000000000L, active2, 0L, active3, 0L); - case 82: - if ((active2 & 0x200L) != 0L) - { - jjmatchedKind = 137; - jjmatchedPos = 3; - } - else if ((active3 & 0x8000000L) != 0L) - { - jjmatchedKind = 219; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x4001204000000000L, active2, 0x8600000008400L, active3, 0x800000L); - case 83: - if ((active3 & 0x40L) != 0L) - { - jjmatchedKind = 198; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x5860000000000000L, active1, 0L, active2, 0x800000000006000L, active3, 0L); - case 84: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x2000000000004L, active2, 0x2020000000L, active3, 0x2000000L); - case 85: - return jjMoveStringLiteralDfa4_0(active0, 0x100000000000000L, active1, 0x400000008004000L, active2, 0x8000000000L, active3, 0x1cL); - case 87: - if ((active1 & 0x800000000000000L) != 0L) - { - jjmatchedKind = 123; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x1020000000000L, active1, 0x1000000000000000L, active2, 0L, active3, 0x100000L); - case 89: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x1000000L); - case 95: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x80000000000000L, active3, 0x10000L); - case 97: - return jjMoveStringLiteralDfa4_0(active0, 0x2088000000000000L, active1, 0x204000080000001L, active2, 0x22010406000039L, active3, 0L); - case 98: - if ((active2 & 0x40L) != 0L) - { - jjmatchedKind = 134; - jjmatchedPos = 3; - } - else if ((active2 & 0x800L) != 0L) - { - jjmatchedKind = 139; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x80011800000L, active3, 0L); - case 99: - if ((active1 & 0x2L) != 0L) - { - jjmatchedKind = 65; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x10000000000000L, active1, 0x10000000900L, active2, 0x400000008000000L, active3, 0x600000L); - case 101: - if ((active0 & 0x4000000000000L) != 0L) - { - jjmatchedKind = 50; - jjmatchedPos = 3; - } - else if ((active1 & 0x10L) != 0L) - { - jjmatchedKind = 68; - jjmatchedPos = 3; - } - else if ((active1 & 0x2000000L) != 0L) - { - jjmatchedKind = 89; - jjmatchedPos = 3; - } - else if ((active1 & 0x10000000L) != 0L) - { - jjmatchedKind = 92; - jjmatchedPos = 3; - } - else if ((active1 & 0x400000000000L) != 0L) - { - jjmatchedKind = 110; - jjmatchedPos = 3; - } - else if ((active1 & 0x40000000000000L) != 0L) - { - jjmatchedKind = 118; - jjmatchedPos = 3; - } - else if ((active2 & 0x100L) != 0L) - { - jjmatchedKind = 136; - jjmatchedPos = 3; - } - else if ((active2 & 0x10000L) != 0L) - { - jjmatchedKind = 144; - jjmatchedPos = 3; - } - else if ((active3 & 0x40000L) != 0L) - { - jjmatchedKind = 210; - jjmatchedPos = 3; - } - else if ((active3 & 0x10000000L) != 0L) - { - jjmatchedKind = 220; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x10000000000L, active1, 0x102000780040L, active2, 0x40900180600000L, active3, 0x80000L); - case 102: - if ((active3 & 0x100L) != 0L) - { - jjmatchedKind = 200; - jjmatchedPos = 3; - } - break; - case 103: - if ((active2 & 0x800000000L) != 0L) - { - jjmatchedKind = 163; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x1200000000000000L, active3, 0L); - case 104: - if ((active1 & 0x8000000000000000L) != 0L) - { - jjmatchedKind = 127; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x2L, active3, 0L); - case 105: - return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L, active1, 0x800008000L, active2, 0x100004000180000L, active3, 0x8020L); - case 107: - if ((active1 & 0x4000000L) != 0L) - { - jjmatchedKind = 90; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0x10000000000000L, active3, 0L); - case 108: - if ((active1 & 0x100000000L) != 0L) - { - jjmatchedKind = 96; - jjmatchedPos = 3; - } - else if ((active2 & 0x4000000000000000L) != 0L) - { - jjmatchedKind = 190; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x8000000000000000L, active1, 0x8020000000080L, active2, 0x1000000084L, active3, 0x4002L); - case 109: - if ((active1 & 0x400L) != 0L) - { - jjmatchedKind = 74; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x8000000000L, active2, 0x1000L, active3, 0L); - case 110: - if ((active1 & 0x10000000000000L) != 0L) - { - jjmatchedKind = 116; - jjmatchedPos = 3; - } - else if ((active1 & 0x2000000000000000L) != 0L) - { - jjmatchedKind = 125; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x400000000000000L, active1, 0x12000L, active2, 0L, active3, 0x400L); - case 111: - if ((active1 & 0x1000L) != 0L) - { - jjmatchedKind = 76; - jjmatchedPos = 3; - } - else if ((active1 & 0x800000L) != 0L) - { - jjmatchedKind = 87; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x800c0020000000L, active2, 0x8000060000000000L, active3, 0x80L); - case 112: - if ((active1 & 0x8L) != 0L) - { - jjmatchedKind = 67; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x200040000000000L, active1, 0L, active2, 0L, active3, 0x23800L); - case 113: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x100000000000000L, active2, 0L, active3, 0L); - case 114: - if ((active2 & 0x200L) != 0L) - { - jjmatchedKind = 137; - jjmatchedPos = 3; - } - else if ((active3 & 0x8000000L) != 0L) - { - jjmatchedKind = 219; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x4001204000000000L, active2, 0x8600000008400L, active3, 0x800000L); - case 115: - if ((active3 & 0x40L) != 0L) - { - jjmatchedKind = 198; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x5860000000000000L, active1, 0L, active2, 0x800000000006000L, active3, 0L); - case 116: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0x2000000000004L, active2, 0x2020000000L, active3, 0x2000000L); - case 117: - return jjMoveStringLiteralDfa4_0(active0, 0x100000000000000L, active1, 0x400000008004000L, active2, 0x8000000000L, active3, 0x1cL); - case 119: - if ((active1 & 0x800000000000000L) != 0L) - { - jjmatchedKind = 123; - jjmatchedPos = 3; - } - return jjMoveStringLiteralDfa4_0(active0, 0x1020000000000L, active1, 0x1000000000000000L, active2, 0L, active3, 0x100000L); - case 121: - return jjMoveStringLiteralDfa4_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x1000000L); - default : - break; - } - return jjMoveNfa_0(5, 3); -} -private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1, long old2, long active2, long old3, long active3) -{ - if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 3); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 3); - } - switch(curChar) - { - case 65: - return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000000L, active1, 0x8000000000L, active2, 0x10001030000400L, active3, 0x800002L); - case 66: - if ((active2 & 0x20000000000L) != 0L) - { - jjmatchedKind = 169; - jjmatchedPos = 4; - } - break; - case 67: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x100000000000L, active2, 0xe00000000000L, active3, 0L); - case 68: - if ((active3 & 0x20L) != 0L) - { - jjmatchedKind = 197; - jjmatchedPos = 4; - } - break; - case 69: - if ((active0 & 0x40000000000L) != 0L) - { - jjmatchedKind = 42; - jjmatchedPos = 4; - } - else if ((active1 & 0x200000000000L) != 0L) - { - jjmatchedKind = 109; - jjmatchedPos = 4; - } - else if ((active1 & 0x8000000000000L) != 0L) - { - jjmatchedKind = 115; - jjmatchedPos = 4; - } - else if ((active1 & 0x4000000000000000L) != 0L) - { - jjmatchedKind = 126; - jjmatchedPos = 4; - } - else if ((active2 & 0x4L) != 0L) - { - jjmatchedKind = 130; - jjmatchedPos = 4; - } - else if ((active2 & 0x8000000L) != 0L) - { - jjmatchedKind = 155; - jjmatchedPos = 4; - } - else if ((active2 & 0x1000000000000000L) != 0L) - { - jjmatchedKind = 188; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0x401000000000000L, active1, 0x400010000000000L, active2, 0x800080000008080L, active3, 0L); - case 70: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x8000000000000L, active3, 0L); - case 71: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x80000000L, active3, 0L); - case 72: - if ((active0 & 0x1000000000000000L) != 0L) - { - jjmatchedKind = 60; - jjmatchedPos = 4; - } - else if ((active1 & 0x100L) != 0L) - { - jjmatchedKind = 72; - jjmatchedPos = 4; - } - else if ((active2 & 0x2000000000L) != 0L) - { - jjmatchedKind = 165; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x600000L); - case 73: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x20080000004L, active2, 0x480000000001002L, active3, 0x1100000L); - case 75: - if ((active0 & 0x10000000000000L) != 0L) - { - jjmatchedKind = 52; - jjmatchedPos = 4; - } - break; - case 76: - if ((active2 & 0x2000000L) != 0L) - { - jjmatchedKind = 153; - jjmatchedPos = 4; - } - else if ((active2 & 0x400000000L) != 0L) - { - jjmatchedKind = 162; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x84000000000L, active2, 0x60000001800000L, active3, 0x780cL); - case 77: - return jjMoveStringLiteralDfa5_0(active0, 0x100000000000000L, active1, 0x20000000L, active2, 0x200000000080000L, active3, 0L); - case 78: - if ((active0 & 0x800000000000L) != 0L) - { - jjmatchedKind = 47; - jjmatchedPos = 4; - } - else if ((active1 & 0x80000000000000L) != 0L) - { - jjmatchedKind = 119; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8000L, active2, 0x2000000100000L, active3, 0x8080L); - case 79: - return jjMoveStringLiteralDfa5_0(active0, 0x4000000000000000L, active1, 0x800000000L, active2, 0x4000000000L, active3, 0x20000L); - case 80: - if ((active1 & 0x4000L) != 0L) - { - jjmatchedKind = 78; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40L, active2, 0x40000000000L, active3, 0L); - case 82: - if ((active0 & 0x10000000000L) != 0L) - { - jjmatchedKind = 40; - jjmatchedPos = 4; - } - else if ((active1 & 0x2000000000L) != 0L) - { - jjmatchedKind = 101; - jjmatchedPos = 4; - } - else if ((active2 & 0x10000000000L) != 0L) - { - jjmatchedKind = 168; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0x208000000000000L, active1, 0x600000L, active2, 0x8000108100400038L, active3, 0x10010L); - case 83: - if ((active1 & 0x8000000L) != 0L) - { - jjmatchedKind = 91; - jjmatchedPos = 4; - } - else if ((active1 & 0x1000000000000000L) != 0L) - { - jjmatchedKind = 124; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x80000L); - case 84: - if ((active1 & 0x2000L) != 0L) - { - jjmatchedKind = 77; - jjmatchedPos = 4; - } - else if ((active1 & 0x1000000000000L) != 0L) - { - jjmatchedKind = 112; - jjmatchedPos = 4; - } - else if ((active2 & 0x4000000L) != 0L) - { - jjmatchedKind = 154; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0x2860020000000000L, active1, 0x200000000010800L, active2, 0x100000000206000L, active3, 0x400L); - case 85: - return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0x104040000000081L, active2, 0L, active3, 0L); - case 88: - if ((active1 & 0x80000L) != 0L) - { - jjmatchedKind = 83; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x100000L, active2, 0L, active3, 0x4000000L); - case 89: - if ((active2 & 0x1L) != 0L) - { - jjmatchedKind = 128; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000L, active2, 0L, active3, 0x2000000L); - case 97: - return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000000L, active1, 0x8000000000L, active2, 0x10001030000400L, active3, 0x800002L); - case 98: - if ((active2 & 0x20000000000L) != 0L) - { - jjmatchedKind = 169; - jjmatchedPos = 4; - } - break; - case 99: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x100000000000L, active2, 0xe00000000000L, active3, 0L); - case 100: - if ((active3 & 0x20L) != 0L) - { - jjmatchedKind = 197; - jjmatchedPos = 4; - } - break; - case 101: - if ((active0 & 0x40000000000L) != 0L) - { - jjmatchedKind = 42; - jjmatchedPos = 4; - } - else if ((active1 & 0x200000000000L) != 0L) - { - jjmatchedKind = 109; - jjmatchedPos = 4; - } - else if ((active1 & 0x8000000000000L) != 0L) - { - jjmatchedKind = 115; - jjmatchedPos = 4; - } - else if ((active1 & 0x4000000000000000L) != 0L) - { - jjmatchedKind = 126; - jjmatchedPos = 4; - } - else if ((active2 & 0x4L) != 0L) - { - jjmatchedKind = 130; - jjmatchedPos = 4; - } - else if ((active2 & 0x8000000L) != 0L) - { - jjmatchedKind = 155; - jjmatchedPos = 4; - } - else if ((active2 & 0x1000000000000000L) != 0L) - { - jjmatchedKind = 188; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0x401000000000000L, active1, 0x400010000000000L, active2, 0x800080000008080L, active3, 0L); - case 102: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x8000000000000L, active3, 0L); - case 103: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0x80000000L, active3, 0L); - case 104: - if ((active0 & 0x1000000000000000L) != 0L) - { - jjmatchedKind = 60; - jjmatchedPos = 4; - } - else if ((active1 & 0x100L) != 0L) - { - jjmatchedKind = 72; - jjmatchedPos = 4; - } - else if ((active2 & 0x2000000000L) != 0L) - { - jjmatchedKind = 165; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x600000L); - case 105: - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x20080000004L, active2, 0x480000000001002L, active3, 0x1100000L); - case 107: - if ((active0 & 0x10000000000000L) != 0L) - { - jjmatchedKind = 52; - jjmatchedPos = 4; - } - break; - case 108: - if ((active2 & 0x2000000L) != 0L) - { - jjmatchedKind = 153; - jjmatchedPos = 4; - } - else if ((active2 & 0x400000000L) != 0L) - { - jjmatchedKind = 162; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x84000000000L, active2, 0x60000001800000L, active3, 0x780cL); - case 109: - return jjMoveStringLiteralDfa5_0(active0, 0x100000000000000L, active1, 0x20000000L, active2, 0x200000000080000L, active3, 0L); - case 110: - if ((active0 & 0x800000000000L) != 0L) - { - jjmatchedKind = 47; - jjmatchedPos = 4; - } - else if ((active1 & 0x80000000000000L) != 0L) - { - jjmatchedKind = 119; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x8000L, active2, 0x2000000100000L, active3, 0x8080L); - case 111: - return jjMoveStringLiteralDfa5_0(active0, 0x4000000000000000L, active1, 0x800000000L, active2, 0x4000000000L, active3, 0x20000L); - case 112: - if ((active1 & 0x4000L) != 0L) - { - jjmatchedKind = 78; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x40L, active2, 0x40000000000L, active3, 0L); - case 114: - if ((active0 & 0x10000000000L) != 0L) - { - jjmatchedKind = 40; - jjmatchedPos = 4; - } - else if ((active1 & 0x2000000000L) != 0L) - { - jjmatchedKind = 101; - jjmatchedPos = 4; - } - else if ((active2 & 0x10000000000L) != 0L) - { - jjmatchedKind = 168; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0x208000000000000L, active1, 0x600000L, active2, 0x8000108100400038L, active3, 0x10010L); - case 115: - if ((active1 & 0x8000000L) != 0L) - { - jjmatchedKind = 91; - jjmatchedPos = 4; - } - else if ((active1 & 0x1000000000000000L) != 0L) - { - jjmatchedKind = 124; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x80000L); - case 116: - if ((active1 & 0x2000L) != 0L) - { - jjmatchedKind = 77; - jjmatchedPos = 4; - } - else if ((active1 & 0x1000000000000L) != 0L) - { - jjmatchedKind = 112; - jjmatchedPos = 4; - } - else if ((active2 & 0x4000000L) != 0L) - { - jjmatchedKind = 154; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0x2860020000000000L, active1, 0x200000000010800L, active2, 0x100000000206000L, active3, 0x400L); - case 117: - return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0x104040000000081L, active2, 0L, active3, 0L); - case 120: - if ((active1 & 0x80000L) != 0L) - { - jjmatchedKind = 83; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x100000L, active2, 0L, active3, 0x4000000L); - case 121: - if ((active2 & 0x1L) != 0L) - { - jjmatchedKind = 128; - jjmatchedPos = 4; - } - return jjMoveStringLiteralDfa5_0(active0, 0L, active1, 0x2000000000000L, active2, 0L, active3, 0x2000000L); - default : - break; - } - return jjMoveNfa_0(5, 4); -} -private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long active1, long old2, long active2, long old3, long active3) -{ - if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 4); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 4); - } - switch(curChar) - { - case 65: - if ((active2 & 0x200000000000000L) != 0L) - { - jjmatchedKind = 185; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4000000000L, active2, 0x8000082080L, active3, 0x600000L); - case 66: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x1000000000L, active3, 0L); - case 67: - if ((active1 & 0x20000000000L) != 0L) - { - jjmatchedKind = 105; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, active1, 0L, active2, 0x400L, active3, 0x2L); - case 68: - if ((active2 & 0x2L) != 0L) - { - jjmatchedKind = 129; - jjmatchedPos = 5; - } - else if ((active2 & 0x8000000000000000L) != 0L) - { - jjmatchedKind = 191; - jjmatchedPos = 5; - } - else if ((active3 & 0x80L) != 0L) - { - jjmatchedKind = 199; - jjmatchedPos = 5; - } - else if ((active3 & 0x100000L) != 0L) - { - jjmatchedKind = 212; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x10000000000L, active2, 0L, active3, 0L); - case 69: - if ((active0 & 0x2000000000000000L) != 0L) - { - jjmatchedKind = 61; - jjmatchedPos = 5; - } - else if ((active1 & 0x80000000000L) != 0L) - { - jjmatchedKind = 107; - jjmatchedPos = 5; - } - else if ((active1 & 0x100000000000000L) != 0L) - { - jjmatchedKind = 120; - jjmatchedPos = 5; - } - else if ((active1 & 0x200000000000000L) != 0L) - { - jjmatchedKind = 121; - jjmatchedPos = 5; - } - else if ((active2 & 0x200000L) != 0L) - { - jjmatchedKind = 149; - jjmatchedPos = 5; - } - else if ((active2 & 0x800000L) != 0L) - { - jjmatchedKind = 151; - jjmatchedPos = 5; - } - else if ((active2 & 0x1000000L) != 0L) - { - jjmatchedKind = 152; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x261000000000000L, active1, 0x100000L, active2, 0x80100000L, active3, 0x13800L); - case 71: - if ((active1 & 0x8000L) != 0L) - { - jjmatchedKind = 79; - jjmatchedPos = 5; - } - else if ((active3 & 0x8000L) != 0L) - { - jjmatchedKind = 207; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x10000000000000L, active3, 0L); - case 72: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x600000000000L, active3, 0L); - case 73: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x10800L, active2, 0x142100000000000L, active3, 0x4000L); - case 76: - if ((active2 & 0x10000000L) != 0L) - { - jjmatchedKind = 156; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1L, active2, 0x28000000000000L, active3, 0L); - case 77: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x400000L, active3, 0x4000000L); - case 78: - if ((active1 & 0x800000000L) != 0L) - { - jjmatchedKind = 99; - jjmatchedPos = 5; - } - else if ((active3 & 0x10L) != 0L) - { - jjmatchedKind = 196; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x100000000000000L, active1, 0x4L, active2, 0x80004020008000L, active3, 0x1000000L); - case 80: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000020000000L, active2, 0L, active3, 0x2000000L); - case 82: - if ((active0 & 0x4000000000000000L) != 0L) - { - jjmatchedKind = 62; - jjmatchedPos = 5; - } - else if ((active2 & 0x80000000000L) != 0L) - { - jjmatchedKind = 171; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x8800000000000000L, active1, 0x48000000000L, active2, 0x800000000004000L, active3, 0x20000L); - case 83: - if ((active1 & 0x400000000000000L) != 0L) - { - jjmatchedKind = 122; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x8000000000000L, active1, 0x400080L, active2, 0x400000000000000L, active3, 0L); - case 84: - if ((active1 & 0x200000L) != 0L) - { - jjmatchedKind = 85; - jjmatchedPos = 5; - } - else if ((active1 & 0x80000000L) != 0L) - { - jjmatchedKind = 95; - jjmatchedPos = 5; - } - else if ((active1 & 0x100000000000L) != 0L) - { - jjmatchedKind = 108; - jjmatchedPos = 5; - } - else if ((active2 & 0x1000L) != 0L) - { - jjmatchedKind = 140; - jjmatchedPos = 5; - } - else if ((active2 & 0x800000000000L) != 0L) - { - jjmatchedKind = 175; - jjmatchedPos = 5; - } - else if ((active3 & 0x4L) != 0L) - { - jjmatchedKind = 194; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x80000000000000L, active1, 0x4000000000040L, active2, 0L, active3, 0x80008L); - case 86: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x100000000L, active3, 0L); - case 89: - if ((active2 & 0x40000000000L) != 0L) - { - jjmatchedKind = 170; - jjmatchedPos = 5; - } - else if ((active3 & 0x800000L) != 0L) - { - jjmatchedKind = 215; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x20000000000L, active1, 0L, active2, 0x38L, active3, 0x400L); - case 97: - if ((active2 & 0x200000000000000L) != 0L) - { - jjmatchedKind = 185; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x4000000000L, active2, 0x8000082080L, active3, 0x600000L); - case 98: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x1000000000L, active3, 0L); - case 99: - if ((active1 & 0x20000000000L) != 0L) - { - jjmatchedKind = 105; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x400000000000000L, active1, 0L, active2, 0x400L, active3, 0x2L); - case 100: - if ((active2 & 0x2L) != 0L) - { - jjmatchedKind = 129; - jjmatchedPos = 5; - } - else if ((active2 & 0x8000000000000000L) != 0L) - { - jjmatchedKind = 191; - jjmatchedPos = 5; - } - else if ((active3 & 0x80L) != 0L) - { - jjmatchedKind = 199; - jjmatchedPos = 5; - } - else if ((active3 & 0x100000L) != 0L) - { - jjmatchedKind = 212; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x10000000000L, active2, 0L, active3, 0L); - case 101: - if ((active0 & 0x2000000000000000L) != 0L) - { - jjmatchedKind = 61; - jjmatchedPos = 5; - } - else if ((active1 & 0x80000000000L) != 0L) - { - jjmatchedKind = 107; - jjmatchedPos = 5; - } - else if ((active1 & 0x100000000000000L) != 0L) - { - jjmatchedKind = 120; - jjmatchedPos = 5; - } - else if ((active1 & 0x200000000000000L) != 0L) - { - jjmatchedKind = 121; - jjmatchedPos = 5; - } - else if ((active2 & 0x200000L) != 0L) - { - jjmatchedKind = 149; - jjmatchedPos = 5; - } - else if ((active2 & 0x800000L) != 0L) - { - jjmatchedKind = 151; - jjmatchedPos = 5; - } - else if ((active2 & 0x1000000L) != 0L) - { - jjmatchedKind = 152; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x261000000000000L, active1, 0x100000L, active2, 0x80100000L, active3, 0x13800L); - case 103: - if ((active1 & 0x8000L) != 0L) - { - jjmatchedKind = 79; - jjmatchedPos = 5; - } - else if ((active3 & 0x8000L) != 0L) - { - jjmatchedKind = 207; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x10000000000000L, active3, 0L); - case 104: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x600000000000L, active3, 0L); - case 105: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x10800L, active2, 0x142100000000000L, active3, 0x4000L); - case 108: - if ((active2 & 0x10000000L) != 0L) - { - jjmatchedKind = 156; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x1L, active2, 0x28000000000000L, active3, 0L); - case 109: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x400000L, active3, 0x4000000L); - case 110: - if ((active1 & 0x800000000L) != 0L) - { - jjmatchedKind = 99; - jjmatchedPos = 5; - } - else if ((active3 & 0x10L) != 0L) - { - jjmatchedKind = 196; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x100000000000000L, active1, 0x4L, active2, 0x80004020008000L, active3, 0x1000000L); - case 112: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0x2000020000000L, active2, 0L, active3, 0x2000000L); - case 114: - if ((active0 & 0x4000000000000000L) != 0L) - { - jjmatchedKind = 62; - jjmatchedPos = 5; - } - else if ((active2 & 0x80000000000L) != 0L) - { - jjmatchedKind = 171; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x8800000000000000L, active1, 0x48000000000L, active2, 0x800000000004000L, active3, 0x20000L); - case 115: - if ((active1 & 0x400000000000000L) != 0L) - { - jjmatchedKind = 122; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x8000000000000L, active1, 0x400080L, active2, 0x400000000000000L, active3, 0L); - case 116: - if ((active1 & 0x200000L) != 0L) - { - jjmatchedKind = 85; - jjmatchedPos = 5; - } - else if ((active1 & 0x80000000L) != 0L) - { - jjmatchedKind = 95; - jjmatchedPos = 5; - } - else if ((active1 & 0x100000000000L) != 0L) - { - jjmatchedKind = 108; - jjmatchedPos = 5; - } - else if ((active2 & 0x1000L) != 0L) - { - jjmatchedKind = 140; - jjmatchedPos = 5; - } - else if ((active2 & 0x800000000000L) != 0L) - { - jjmatchedKind = 175; - jjmatchedPos = 5; - } - else if ((active3 & 0x4L) != 0L) - { - jjmatchedKind = 194; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x80000000000000L, active1, 0x4000000000040L, active2, 0L, active3, 0x80008L); - case 118: - return jjMoveStringLiteralDfa6_0(active0, 0L, active1, 0L, active2, 0x100000000L, active3, 0L); - case 121: - if ((active2 & 0x40000000000L) != 0L) - { - jjmatchedKind = 170; - jjmatchedPos = 5; - } - else if ((active3 & 0x800000L) != 0L) - { - jjmatchedKind = 215; - jjmatchedPos = 5; - } - return jjMoveStringLiteralDfa6_0(active0, 0x20000000000L, active1, 0L, active2, 0x38L, active3, 0x400L); - default : - break; - } - return jjMoveNfa_0(5, 5); -} -private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long active1, long old2, long active2, long old3, long active3) -{ - if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 5); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 5); - } - switch(curChar) - { - case 65: - return jjMoveStringLiteralDfa7_0(active0, 0x800000000000000L, active1, 0L, active2, 0x604100000000L, active3, 0xa0000L); - case 67: - if ((active2 & 0x100000000000L) != 0L) - { - jjmatchedKind = 172; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40000000004L, active2, 0L, active3, 0L); - case 69: - if ((active0 & 0x8000000000000000L) != 0L) - { - jjmatchedKind = 63; - jjmatchedPos = 6; - } - else if ((active1 & 0x2000000000000L) != 0L) - { - jjmatchedKind = 113; - jjmatchedPos = 6; - } - else if ((active2 & 0x10000000000000L) != 0L) - { - jjmatchedKind = 180; - jjmatchedPos = 6; - } - else if ((active3 & 0x2L) != 0L) - { - jjmatchedKind = 193; - jjmatchedPos = 6; - } - else if ((active3 & 0x2000000L) != 0L) - { - jjmatchedKind = 217; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000L, active1, 0x400000L, active2, 0x20001000000000L, active3, 0L); - case 70: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x10000L, active2, 0L, active3, 0x10000L); - case 71: - if ((active3 & 0x1000000L) != 0L) - { - jjmatchedKind = 216; - jjmatchedPos = 6; - } - break; - case 72: - if ((active0 & 0x80000000000000L) != 0L) - { - jjmatchedKind = 55; - jjmatchedPos = 6; - } - else if ((active1 & 0x4000000000000L) != 0L) - { - jjmatchedKind = 114; - jjmatchedPos = 6; - } - break; - case 73: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0xc0L, active2, 0x400000000400000L, active3, 0L); - case 76: - if ((active2 & 0x80000L) != 0L) - { - jjmatchedKind = 147; - jjmatchedPos = 6; - } - else if ((active2 & 0x8000000000L) != 0L) - { - jjmatchedKind = 167; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x4000000L); - case 78: - if ((active0 & 0x1000000000000L) != 0L) - { - jjmatchedKind = 48; - jjmatchedPos = 6; - } - else if ((active2 & 0x80L) != 0L) - { - jjmatchedKind = 135; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0x40000000002000L, active3, 0x4000L); - case 79: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800L, active2, 0x8000000000000L, active3, 0L); - case 80: - return jjMoveStringLiteralDfa7_0(active0, 0x20000000000L, active1, 0x4000000000L, active2, 0L, active3, 0x400L); - case 82: - if ((active0 & 0x40000000000000L) != 0L) - { - jjmatchedKind = 54; - jjmatchedPos = 6; - } - else if ((active2 & 0x100000L) != 0L) - { - jjmatchedKind = 148; - jjmatchedPos = 6; - } - else if ((active2 & 0x80000000L) != 0L) - { - jjmatchedKind = 159; - jjmatchedPos = 6; - } - else if ((active3 & 0x400000L) != 0L) - { - jjmatchedKind = 214; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0x20000000000000L, active1, 0x20000000L, active2, 0L, active3, 0x200000L); - case 83: - if ((active0 & 0x100000000000000L) != 0L) - { - jjmatchedKind = 56; - jjmatchedPos = 6; - } - else if ((active1 & 0x100000L) != 0L) - { - jjmatchedKind = 84; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0x200000000000000L, active1, 0L, active2, 0L, active3, 0L); - case 84: - if ((active0 & 0x400000000000000L) != 0L) - { - jjmatchedKind = 58; - jjmatchedPos = 6; - } - else if ((active1 & 0x1L) != 0L) - { - jjmatchedKind = 64; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0x80000020008400L, active3, 0L); - case 85: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x10000000000L, active2, 0x4000L, active3, 0L); - case 86: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0x900000000000000L, active3, 0L); - case 89: - if ((active1 & 0x8000000000L) != 0L) - { - jjmatchedKind = 103; - jjmatchedPos = 6; - } - break; - case 90: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0x2000000000000L, active3, 0L); - case 95: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0x38L, active3, 0x3808L); - case 97: - return jjMoveStringLiteralDfa7_0(active0, 0x800000000000000L, active1, 0L, active2, 0x604100000000L, active3, 0xa0000L); - case 99: - if ((active2 & 0x100000000000L) != 0L) - { - jjmatchedKind = 172; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x40000000004L, active2, 0L, active3, 0L); - case 101: - if ((active0 & 0x8000000000000000L) != 0L) - { - jjmatchedKind = 63; - jjmatchedPos = 6; - } - else if ((active1 & 0x2000000000000L) != 0L) - { - jjmatchedKind = 113; - jjmatchedPos = 6; - } - else if ((active2 & 0x10000000000000L) != 0L) - { - jjmatchedKind = 180; - jjmatchedPos = 6; - } - else if ((active3 & 0x2L) != 0L) - { - jjmatchedKind = 193; - jjmatchedPos = 6; - } - else if ((active3 & 0x2000000L) != 0L) - { - jjmatchedKind = 217; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000L, active1, 0x400000L, active2, 0x20001000000000L, active3, 0L); - case 102: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x10000L, active2, 0L, active3, 0x10000L); - case 103: - if ((active3 & 0x1000000L) != 0L) - { - jjmatchedKind = 216; - jjmatchedPos = 6; - } - break; - case 104: - if ((active0 & 0x80000000000000L) != 0L) - { - jjmatchedKind = 55; - jjmatchedPos = 6; - } - else if ((active1 & 0x4000000000000L) != 0L) - { - jjmatchedKind = 114; - jjmatchedPos = 6; - } - break; - case 105: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0xc0L, active2, 0x400000000400000L, active3, 0L); - case 108: - if ((active2 & 0x80000L) != 0L) - { - jjmatchedKind = 147; - jjmatchedPos = 6; - } - else if ((active2 & 0x8000000000L) != 0L) - { - jjmatchedKind = 167; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x4000000L); - case 110: - if ((active0 & 0x1000000000000L) != 0L) - { - jjmatchedKind = 48; - jjmatchedPos = 6; - } - else if ((active2 & 0x80L) != 0L) - { - jjmatchedKind = 135; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0x40000000002000L, active3, 0x4000L); - case 111: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x800L, active2, 0x8000000000000L, active3, 0L); - case 112: - return jjMoveStringLiteralDfa7_0(active0, 0x20000000000L, active1, 0x4000000000L, active2, 0L, active3, 0x400L); - case 114: - if ((active0 & 0x40000000000000L) != 0L) - { - jjmatchedKind = 54; - jjmatchedPos = 6; - } - else if ((active2 & 0x100000L) != 0L) - { - jjmatchedKind = 148; - jjmatchedPos = 6; - } - else if ((active2 & 0x80000000L) != 0L) - { - jjmatchedKind = 159; - jjmatchedPos = 6; - } - else if ((active3 & 0x400000L) != 0L) - { - jjmatchedKind = 214; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0x20000000000000L, active1, 0x20000000L, active2, 0L, active3, 0x200000L); - case 115: - if ((active0 & 0x100000000000000L) != 0L) - { - jjmatchedKind = 56; - jjmatchedPos = 6; - } - else if ((active1 & 0x100000L) != 0L) - { - jjmatchedKind = 84; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0x200000000000000L, active1, 0L, active2, 0L, active3, 0L); - case 116: - if ((active0 & 0x400000000000000L) != 0L) - { - jjmatchedKind = 58; - jjmatchedPos = 6; - } - else if ((active1 & 0x1L) != 0L) - { - jjmatchedKind = 64; - jjmatchedPos = 6; - } - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0x80000020008400L, active3, 0L); - case 117: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0x10000000000L, active2, 0x4000L, active3, 0L); - case 118: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0x900000000000000L, active3, 0L); - case 121: - if ((active1 & 0x8000000000L) != 0L) - { - jjmatchedKind = 103; - jjmatchedPos = 6; - } - break; - case 122: - return jjMoveStringLiteralDfa7_0(active0, 0L, active1, 0L, active2, 0x2000000000000L, active3, 0L); - default : - break; - } - return jjMoveNfa_0(5, 6); -} -private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long active1, long old2, long active2, long old3, long active3) -{ - if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 6); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 6); - } - switch(curChar) - { - case 50: - if ((active3 & 0x200000L) != 0L) - { - jjmatchedKind = 213; - jjmatchedPos = 7; - } - break; - case 65: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x2000000000000L, active3, 0L); - case 67: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x400000L, active2, 0x4000L, active3, 0x10008L); - case 68: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x8L, active3, 0x800L); - case 69: - if ((active0 & 0x20000000000L) != 0L) - { - jjmatchedKind = 41; - jjmatchedPos = 7; - } - else if ((active1 & 0x40000000000L) != 0L) - { - jjmatchedKind = 106; - jjmatchedPos = 7; - } - else if ((active2 & 0x100000000000000L) != 0L) - { - jjmatchedKind = 184; - jjmatchedPos = 7; - } - else if ((active2 & 0x800000000000000L) != 0L) - { - jjmatchedKind = 187; - jjmatchedPos = 7; - } - else if ((active3 & 0x400L) != 0L) - { - jjmatchedKind = 202; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000000L, active2, 0xc0000000000400L, active3, 0L); - case 70: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x10L, active3, 0x1000L); - case 73: - return jjMoveStringLiteralDfa8_0(active0, 0x800000000000000L, active1, 0x10000L, active2, 0x20000020L, active3, 0x2000L); - case 76: - if ((active2 & 0x100000000L) != 0L) - { - jjmatchedKind = 160; - jjmatchedPos = 7; - } - else if ((active2 & 0x1000000000L) != 0L) - { - jjmatchedKind = 164; - jjmatchedPos = 7; - } - else if ((active2 & 0x4000000000L) != 0L) - { - jjmatchedKind = 166; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x20000000000000L, active3, 0L); - case 77: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x80000L); - case 78: - if ((active1 & 0x800L) != 0L) - { - jjmatchedKind = 75; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x400000L, active3, 0L); - case 79: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x40L, active2, 0x400000000000000L, active3, 0L); - case 82: - if ((active2 & 0x400000000000L) != 0L) - { - jjmatchedKind = 174; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x10000000000L, active2, 0x200000000000L, active3, 0x20000L); - case 83: - if ((active0 & 0x20000000000000L) != 0L) - { - jjmatchedKind = 53; - jjmatchedPos = 7; - } - else if ((active0 & 0x200000000000000L) != 0L) - { - jjmatchedKind = 57; - jjmatchedPos = 7; - } - else if ((active1 & 0x4000000000L) != 0L) - { - jjmatchedKind = 102; - jjmatchedPos = 7; - } - break; - case 84: - if ((active0 & 0x8000000000000L) != 0L) - { - jjmatchedKind = 51; - jjmatchedPos = 7; - } - else if ((active1 & 0x4L) != 0L) - { - jjmatchedKind = 66; - jjmatchedPos = 7; - } - else if ((active2 & 0x2000L) != 0L) - { - jjmatchedKind = 141; - jjmatchedPos = 7; - } - else if ((active3 & 0x4000L) != 0L) - { - jjmatchedKind = 206; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x4000000L); - case 86: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x80L, active2, 0L, active3, 0L); - case 87: - if ((active2 & 0x8000000000000L) != 0L) - { - jjmatchedKind = 179; - jjmatchedPos = 7; - } - break; - case 95: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x8000L, active3, 0L); - case 97: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x2000000000000L, active3, 0L); - case 99: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x400000L, active2, 0x4000L, active3, 0x10008L); - case 100: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x8L, active3, 0x800L); - case 101: - if ((active0 & 0x20000000000L) != 0L) - { - jjmatchedKind = 41; - jjmatchedPos = 7; - } - else if ((active1 & 0x40000000000L) != 0L) - { - jjmatchedKind = 106; - jjmatchedPos = 7; - } - else if ((active2 & 0x100000000000000L) != 0L) - { - jjmatchedKind = 184; - jjmatchedPos = 7; - } - else if ((active2 & 0x800000000000000L) != 0L) - { - jjmatchedKind = 187; - jjmatchedPos = 7; - } - else if ((active3 & 0x400L) != 0L) - { - jjmatchedKind = 202; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x20000000L, active2, 0xc0000000000400L, active3, 0L); - case 102: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x10L, active3, 0x1000L); - case 105: - return jjMoveStringLiteralDfa8_0(active0, 0x800000000000000L, active1, 0x10000L, active2, 0x20000020L, active3, 0x2000L); - case 108: - if ((active2 & 0x100000000L) != 0L) - { - jjmatchedKind = 160; - jjmatchedPos = 7; - } - else if ((active2 & 0x1000000000L) != 0L) - { - jjmatchedKind = 164; - jjmatchedPos = 7; - } - else if ((active2 & 0x4000000000L) != 0L) - { - jjmatchedKind = 166; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x20000000000000L, active3, 0L); - case 109: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x80000L); - case 110: - if ((active1 & 0x800L) != 0L) - { - jjmatchedKind = 75; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0x400000L, active3, 0L); - case 111: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x40L, active2, 0x400000000000000L, active3, 0L); - case 114: - if ((active2 & 0x400000000000L) != 0L) - { - jjmatchedKind = 174; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x10000000000L, active2, 0x200000000000L, active3, 0x20000L); - case 115: - if ((active0 & 0x20000000000000L) != 0L) - { - jjmatchedKind = 53; - jjmatchedPos = 7; - } - else if ((active0 & 0x200000000000000L) != 0L) - { - jjmatchedKind = 57; - jjmatchedPos = 7; - } - else if ((active1 & 0x4000000000L) != 0L) - { - jjmatchedKind = 102; - jjmatchedPos = 7; - } - break; - case 116: - if ((active0 & 0x8000000000000L) != 0L) - { - jjmatchedKind = 51; - jjmatchedPos = 7; - } - else if ((active1 & 0x4L) != 0L) - { - jjmatchedKind = 66; - jjmatchedPos = 7; - } - else if ((active2 & 0x2000L) != 0L) - { - jjmatchedKind = 141; - jjmatchedPos = 7; - } - else if ((active3 & 0x4000L) != 0L) - { - jjmatchedKind = 206; - jjmatchedPos = 7; - } - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x4000000L); - case 118: - return jjMoveStringLiteralDfa8_0(active0, 0L, active1, 0x80L, active2, 0L, active3, 0L); - case 119: - if ((active2 & 0x8000000000000L) != 0L) - { - jjmatchedKind = 179; - jjmatchedPos = 7; - } - break; - default : - break; - } - return jjMoveNfa_0(5, 7); -} -private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long active1, long old2, long active2, long old3, long active3) -{ - if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 7); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 7); - } - switch(curChar) - { - case 50: - if ((active2 & 0x200000000000L) != 0L) - { - jjmatchedKind = 173; - jjmatchedPos = 8; - } - break; - case 65: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x20000000L, active3, 0x8L); - case 68: - if ((active2 & 0x40000000000000L) != 0L) - { - jjmatchedKind = 182; - jjmatchedPos = 8; - } - break; - case 69: - if ((active1 & 0x80L) != 0L) - { - jjmatchedKind = 71; - jjmatchedPos = 8; - } - else if ((active1 & 0x10000000000L) != 0L) - { - jjmatchedKind = 104; - jjmatchedPos = 8; - } - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x10000L, active2, 0L, active3, 0L); - case 71: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x80000000000000L, active3, 0L); - case 73: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x400000L, active3, 0L); - case 76: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x10L, active3, 0x1000L); - case 78: - if ((active1 & 0x40L) != 0L) - { - jjmatchedKind = 70; - jjmatchedPos = 8; - } - else if ((active2 & 0x400000000000000L) != 0L) - { - jjmatchedKind = 186; - jjmatchedPos = 8; - } - return jjMoveStringLiteralDfa9_0(active0, 0x800000000000000L, active1, 0L, active2, 0x20L, active3, 0x2000L); - case 79: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x8L, active3, 0x800L); - case 80: - if ((active3 & 0x80000L) != 0L) - { - jjmatchedKind = 211; - jjmatchedPos = 8; - } - break; - case 82: - if ((active2 & 0x400L) != 0L) - { - jjmatchedKind = 138; - jjmatchedPos = 8; - } - break; - case 83: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x20000000L, active2, 0L, active3, 0L); - case 84: - if ((active1 & 0x400000L) != 0L) - { - jjmatchedKind = 86; - jjmatchedPos = 8; - } - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x2000000004000L, active3, 0L); - case 85: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x8000L, active3, 0x10000L); - case 89: - if ((active3 & 0x20000L) != 0L) - { - jjmatchedKind = 209; - jjmatchedPos = 8; - } - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x4000000L); - case 95: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x20000000000000L, active3, 0L); - case 97: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x20000000L, active3, 0x8L); - case 100: - if ((active2 & 0x40000000000000L) != 0L) - { - jjmatchedKind = 182; - jjmatchedPos = 8; - } - break; - case 101: - if ((active1 & 0x80L) != 0L) - { - jjmatchedKind = 71; - jjmatchedPos = 8; - } - else if ((active1 & 0x10000000000L) != 0L) - { - jjmatchedKind = 104; - jjmatchedPos = 8; - } - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x10000L, active2, 0L, active3, 0L); - case 103: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x80000000000000L, active3, 0L); - case 105: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x400000L, active3, 0L); - case 108: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x10L, active3, 0x1000L); - case 110: - if ((active1 & 0x40L) != 0L) - { - jjmatchedKind = 70; - jjmatchedPos = 8; - } - else if ((active2 & 0x400000000000000L) != 0L) - { - jjmatchedKind = 186; - jjmatchedPos = 8; - } - return jjMoveStringLiteralDfa9_0(active0, 0x800000000000000L, active1, 0L, active2, 0x20L, active3, 0x2000L); - case 111: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x8L, active3, 0x800L); - case 112: - if ((active3 & 0x80000L) != 0L) - { - jjmatchedKind = 211; - jjmatchedPos = 8; - } - break; - case 114: - if ((active2 & 0x400L) != 0L) - { - jjmatchedKind = 138; - jjmatchedPos = 8; - } - break; - case 115: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0x20000000L, active2, 0L, active3, 0L); - case 116: - if ((active1 & 0x400000L) != 0L) - { - jjmatchedKind = 86; - jjmatchedPos = 8; - } - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x2000000004000L, active3, 0L); - case 117: - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0x8000L, active3, 0x10000L); - case 121: - if ((active3 & 0x20000L) != 0L) - { - jjmatchedKind = 209; - jjmatchedPos = 8; - } - return jjMoveStringLiteralDfa9_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x4000000L); - default : - break; - } - return jjMoveNfa_0(5, 8); -} -private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long active1, long old2, long active2, long old3, long active3) -{ - if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 8); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 8); - } - switch(curChar) - { - case 66: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x20000000L, active3, 0L); - case 67: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x8L); - case 68: - if ((active1 & 0x10000L) != 0L) - { - jjmatchedKind = 80; - jjmatchedPos = 9; - } - break; - case 69: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0xa0000000000000L, active3, 0L); - case 73: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x2000000000000L, active3, 0L); - case 79: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x4010L, active3, 0x1000L); - case 80: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x4000000L); - case 82: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x10000L); - case 83: - if ((active1 & 0x20000000L) != 0L) - { - jjmatchedKind = 93; - jjmatchedPos = 9; - } - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x408000L, active3, 0L); - case 84: - if ((active0 & 0x800000000000000L) != 0L) - { - jjmatchedKind = 59; - jjmatchedPos = 9; - } - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x20L, active3, 0x2000L); - case 85: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x8L, active3, 0x800L); - case 98: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x20000000L, active3, 0L); - case 99: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x8L); - case 100: - if ((active1 & 0x10000L) != 0L) - { - jjmatchedKind = 80; - jjmatchedPos = 9; - } - break; - case 101: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0xa0000000000000L, active3, 0L); - case 105: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x2000000000000L, active3, 0L); - case 111: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x4010L, active3, 0x1000L); - case 112: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x4000000L); - case 114: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0L, active3, 0x10000L); - case 115: - if ((active1 & 0x20000000L) != 0L) - { - jjmatchedKind = 93; - jjmatchedPos = 9; - } - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x408000L, active3, 0L); - case 116: - if ((active0 & 0x800000000000000L) != 0L) - { - jjmatchedKind = 59; - jjmatchedPos = 9; - } - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x20L, active3, 0x2000L); - case 117: - return jjMoveStringLiteralDfa10_0(active0, 0L, active1, 0L, active2, 0x8L, active3, 0x800L); - default : - break; - } - return jjMoveNfa_0(5, 9); -} -private int jjMoveStringLiteralDfa10_0(long old0, long active0, long old1, long active1, long old2, long active2, long old3, long active3) -{ - if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 9); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 9); - } - switch(curChar) - { - case 65: - return jjMoveStringLiteralDfa11_0(active2, 0x10L, active3, 0x1000L); - case 66: - return jjMoveStringLiteralDfa11_0(active2, 0x8L, active3, 0x800L); - case 69: - if ((active3 & 0x4000000L) != 0L) - { - jjmatchedKind = 218; - jjmatchedPos = 10; - } - return jjMoveStringLiteralDfa11_0(active2, 0x8020L, active3, 0x2000L); - case 72: - return jjMoveStringLiteralDfa11_0(active2, 0L, active3, 0x8L); - case 76: - return jjMoveStringLiteralDfa11_0(active2, 0x20000000L, active3, 0L); - case 78: - return jjMoveStringLiteralDfa11_0(active2, 0x20000000000000L, active3, 0L); - case 79: - return jjMoveStringLiteralDfa11_0(active2, 0x2000000000000L, active3, 0L); - case 82: - if ((active2 & 0x4000L) != 0L) - { - jjmatchedKind = 142; - jjmatchedPos = 10; - } - else if ((active2 & 0x80000000000000L) != 0L) - { - jjmatchedKind = 183; - jjmatchedPos = 10; - } - break; - case 83: - return jjMoveStringLiteralDfa11_0(active2, 0L, active3, 0x10000L); - case 84: - return jjMoveStringLiteralDfa11_0(active2, 0x400000L, active3, 0L); - case 97: - return jjMoveStringLiteralDfa11_0(active2, 0x10L, active3, 0x1000L); - case 98: - return jjMoveStringLiteralDfa11_0(active2, 0x8L, active3, 0x800L); - case 101: - if ((active3 & 0x4000000L) != 0L) - { - jjmatchedKind = 218; - jjmatchedPos = 10; - } - return jjMoveStringLiteralDfa11_0(active2, 0x8020L, active3, 0x2000L); - case 104: - return jjMoveStringLiteralDfa11_0(active2, 0L, active3, 0x8L); - case 108: - return jjMoveStringLiteralDfa11_0(active2, 0x20000000L, active3, 0L); - case 110: - return jjMoveStringLiteralDfa11_0(active2, 0x20000000000000L, active3, 0L); - case 111: - return jjMoveStringLiteralDfa11_0(active2, 0x2000000000000L, active3, 0L); - case 114: - if ((active2 & 0x4000L) != 0L) - { - jjmatchedKind = 142; - jjmatchedPos = 10; - } - else if ((active2 & 0x80000000000000L) != 0L) - { - jjmatchedKind = 183; - jjmatchedPos = 10; - } - break; - case 115: - return jjMoveStringLiteralDfa11_0(active2, 0L, active3, 0x10000L); - case 116: - return jjMoveStringLiteralDfa11_0(active2, 0x400000L, active3, 0L); - default : - break; - } - return jjMoveNfa_0(5, 10); -} -private int jjMoveStringLiteralDfa11_0(long old2, long active2, long old3, long active3) -{ - if (((active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 10); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 10); - } - switch(curChar) - { - case 65: - return jjMoveStringLiteralDfa12_0(active2, 0x20000000000000L, active3, 0L); - case 69: - if ((active2 & 0x20000000L) != 0L) - { - jjmatchedKind = 157; - jjmatchedPos = 11; - } - else if ((active3 & 0x8L) != 0L) - { - jjmatchedKind = 195; - jjmatchedPos = 11; - } - break; - case 71: - return jjMoveStringLiteralDfa12_0(active2, 0x20L, active3, 0x2000L); - case 73: - return jjMoveStringLiteralDfa12_0(active2, 0x400000L, active3, 0L); - case 76: - return jjMoveStringLiteralDfa12_0(active2, 0x8L, active3, 0x800L); - case 78: - if ((active2 & 0x2000000000000L) != 0L) - { - jjmatchedKind = 177; - jjmatchedPos = 11; - } - break; - case 79: - return jjMoveStringLiteralDfa12_0(active2, 0L, active3, 0x10000L); - case 82: - if ((active2 & 0x8000L) != 0L) - { - jjmatchedKind = 143; - jjmatchedPos = 11; - } - break; - case 84: - if ((active2 & 0x10L) != 0L) - { - jjmatchedKind = 132; - jjmatchedPos = 11; - } - else if ((active3 & 0x1000L) != 0L) - { - jjmatchedKind = 204; - jjmatchedPos = 11; - } - break; - case 97: - return jjMoveStringLiteralDfa12_0(active2, 0x20000000000000L, active3, 0L); - case 101: - if ((active2 & 0x20000000L) != 0L) - { - jjmatchedKind = 157; - jjmatchedPos = 11; - } - else if ((active3 & 0x8L) != 0L) - { - jjmatchedKind = 195; - jjmatchedPos = 11; - } - break; - case 103: - return jjMoveStringLiteralDfa12_0(active2, 0x20L, active3, 0x2000L); - case 105: - return jjMoveStringLiteralDfa12_0(active2, 0x400000L, active3, 0L); - case 108: - return jjMoveStringLiteralDfa12_0(active2, 0x8L, active3, 0x800L); - case 110: - if ((active2 & 0x2000000000000L) != 0L) - { - jjmatchedKind = 177; - jjmatchedPos = 11; - } - break; - case 111: - return jjMoveStringLiteralDfa12_0(active2, 0L, active3, 0x10000L); - case 114: - if ((active2 & 0x8000L) != 0L) - { - jjmatchedKind = 143; - jjmatchedPos = 11; - } - break; - case 116: - if ((active2 & 0x10L) != 0L) - { - jjmatchedKind = 132; - jjmatchedPos = 11; - } - else if ((active3 & 0x1000L) != 0L) - { - jjmatchedKind = 204; - jjmatchedPos = 11; - } - break; - default : - break; - } - return jjMoveNfa_0(5, 11); -} -private int jjMoveStringLiteralDfa12_0(long old2, long active2, long old3, long active3) -{ - if (((active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 11); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 11); - } - switch(curChar) - { - case 66: - return jjMoveStringLiteralDfa13_0(active2, 0x20000000000000L, active3, 0L); - case 67: - if ((active2 & 0x400000L) != 0L) - { - jjmatchedKind = 150; - jjmatchedPos = 12; - } - break; - case 69: - if ((active2 & 0x8L) != 0L) - { - jjmatchedKind = 131; - jjmatchedPos = 12; - } - else if ((active3 & 0x800L) != 0L) - { - jjmatchedKind = 203; - jjmatchedPos = 12; - } - return jjMoveStringLiteralDfa13_0(active2, 0x20L, active3, 0x2000L); - case 82: - if ((active3 & 0x10000L) != 0L) - { - jjmatchedKind = 208; - jjmatchedPos = 12; - } - break; - case 98: - return jjMoveStringLiteralDfa13_0(active2, 0x20000000000000L, active3, 0L); - case 99: - if ((active2 & 0x400000L) != 0L) - { - jjmatchedKind = 150; - jjmatchedPos = 12; - } - break; - case 101: - if ((active2 & 0x8L) != 0L) - { - jjmatchedKind = 131; - jjmatchedPos = 12; - } - else if ((active3 & 0x800L) != 0L) - { - jjmatchedKind = 203; - jjmatchedPos = 12; - } - return jjMoveStringLiteralDfa13_0(active2, 0x20L, active3, 0x2000L); - case 114: - if ((active3 & 0x10000L) != 0L) - { - jjmatchedKind = 208; - jjmatchedPos = 12; - } - break; - default : - break; - } - return jjMoveNfa_0(5, 12); -} -private int jjMoveStringLiteralDfa13_0(long old2, long active2, long old3, long active3) -{ - if (((active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 12); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 12); - } - switch(curChar) - { - case 76: - return jjMoveStringLiteralDfa14_0(active2, 0x20000000000000L, active3, 0L); - case 82: - if ((active2 & 0x20L) != 0L) - { - jjmatchedKind = 133; - jjmatchedPos = 13; - } - else if ((active3 & 0x2000L) != 0L) - { - jjmatchedKind = 205; - jjmatchedPos = 13; - } - break; - case 108: - return jjMoveStringLiteralDfa14_0(active2, 0x20000000000000L, active3, 0L); - case 114: - if ((active2 & 0x20L) != 0L) - { - jjmatchedKind = 133; - jjmatchedPos = 13; - } - else if ((active3 & 0x2000L) != 0L) - { - jjmatchedKind = 205; - jjmatchedPos = 13; - } - break; - default : - break; - } - return jjMoveNfa_0(5, 13); -} -private int jjMoveStringLiteralDfa14_0(long old2, long active2, long old3, long active3) -{ - if (((active2 &= old2) | (active3 &= old3)) == 0L) - return jjMoveNfa_0(5, 13); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { - return jjMoveNfa_0(5, 13); - } - switch(curChar) - { - case 69: - if ((active2 & 0x20000000000000L) != 0L) - { - jjmatchedKind = 181; - jjmatchedPos = 14; - } - break; - case 101: - if ((active2 & 0x20000000000000L) != 0L) - { - jjmatchedKind = 181; - jjmatchedPos = 14; - } - break; - default : - break; - } - return jjMoveNfa_0(5, 14); -} -static final long[] jjbitVec0 = { - 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL -}; -static final long[] jjbitVec2 = { - 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL -}; -private int jjMoveNfa_0(int startState, int curPos) -{ - int strKind = jjmatchedKind; - int strPos = jjmatchedPos; - int seenUpto; - input_stream.backup(seenUpto = curPos + 1); - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { throw new Error("Internal Error"); } - curPos = 0; - int startsAt = 0; - jjnewStateCnt = 71; - int i = 1; - jjstateSet[0] = startState; - int kind = 0x7fffffff; - for (;;) - { - if (++jjround == 0x7fffffff) - ReInitRounds(); - if (curChar < 64) - { - long l = 1L << curChar; - do - { - switch(jjstateSet[--i]) - { - case 5: - if ((0x3ff000000000000L & l) != 0L) - { - if (kind > 35) - kind = 35; - jjCheckNAddStates(0, 6); - } - else if (curChar == 46) - jjCheckNAddTwoStates(51, 61); - else if (curChar == 34) - jjCheckNAddTwoStates(48, 49); - else if (curChar == 39) - jjCheckNAddTwoStates(43, 44); - else if (curChar == 58) - jjAddStates(7, 9); - else if (curChar == 47) - jjstateSet[jjnewStateCnt++] = 6; - else if (curChar == 45) - jjstateSet[jjnewStateCnt++] = 0; - break; - case 0: - if (curChar == 45) - jjCheckNAddStates(10, 12); - break; - case 1: - if ((0xffffffffffffdbffL & l) != 0L) - jjCheckNAddStates(10, 12); - break; - case 2: - if ((0x2400L & l) != 0L && kind > 6) - kind = 6; - break; - case 3: - if (curChar == 10 && kind > 6) - kind = 6; - break; - case 4: - if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 3; - break; - case 6: - if (curChar == 42) - jjCheckNAddTwoStates(7, 8); - break; - case 7: - if ((0xfffffbffffffffffL & l) != 0L) - jjCheckNAddTwoStates(7, 8); - break; - case 8: - if (curChar == 42) - jjCheckNAddStates(13, 15); - break; - case 9: - if ((0xffff7bffffffffffL & l) != 0L) - jjCheckNAddTwoStates(10, 8); - break; - case 10: - if ((0xfffffbffffffffffL & l) != 0L) - jjCheckNAddTwoStates(10, 8); - break; - case 11: - if (curChar == 47 && kind > 7) - kind = 7; - break; - case 12: - if (curChar == 47) - jjstateSet[jjnewStateCnt++] = 6; - break; - case 14: - if ((0x3ff001800000000L & l) == 0L) - break; - if (kind > 221) - kind = 221; - jjstateSet[jjnewStateCnt++] = 14; - break; - case 15: - if (curChar == 58) - jjAddStates(7, 9); - break; - case 17: - if ((0x3ff001800000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjAddStates(16, 17); - break; - case 18: - if (curChar == 46) - jjstateSet[jjnewStateCnt++] = 19; - break; - case 20: - if ((0x3ff001800000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjstateSet[jjnewStateCnt++] = 20; - break; - case 21: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddStates(18, 24); - break; - case 22: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAdd(22); - break; - case 23: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddTwoStates(23, 24); - break; - case 24: - if (curChar == 46) - jjCheckNAdd(25); - break; - case 25: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAdd(25); - break; - case 26: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddTwoStates(26, 27); - break; - case 28: - if ((0x280000000000L & l) != 0L) - jjAddStates(25, 26); - break; - case 29: - if (curChar == 46) - jjCheckNAdd(30); - break; - case 30: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAdd(30); - break; - case 31: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddStates(27, 29); - break; - case 32: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAdd(32); - break; - case 33: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddTwoStates(33, 34); - break; - case 34: - if (curChar == 46) - jjCheckNAdd(35); - break; - case 35: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAdd(35); - break; - case 36: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddStates(30, 32); - break; - case 37: - if (curChar == 46) - jjCheckNAdd(38); - break; - case 38: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddTwoStates(38, 27); - break; - case 39: - if (curChar == 46) - jjCheckNAddTwoStates(40, 41); - break; - case 40: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAdd(40); - break; - case 41: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddTwoStates(41, 27); - break; - case 42: - if (curChar == 39) - jjCheckNAddTwoStates(43, 44); - break; - case 43: - if ((0xffffff7fffffffffL & l) != 0L) - jjCheckNAddTwoStates(43, 44); - break; - case 44: - if (curChar != 39) - break; - if (kind > 225) - kind = 225; - jjstateSet[jjnewStateCnt++] = 45; - break; - case 45: - if (curChar == 39) - jjCheckNAddTwoStates(46, 44); - break; - case 46: - if ((0xffffff7fffffffffL & l) != 0L) - jjCheckNAddTwoStates(46, 44); - break; - case 47: - if (curChar == 34) - jjCheckNAddTwoStates(48, 49); - break; - case 48: - if ((0xfffffffbffffdbffL & l) != 0L) - jjCheckNAddTwoStates(48, 49); - break; - case 49: - if (curChar == 34 && kind > 226) - kind = 226; - break; - case 50: - if (curChar == 46) - jjCheckNAddTwoStates(51, 61); - break; - case 51: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAddTwoStates(51, 52); - break; - case 53: - if ((0x280000000000L & l) != 0L) - jjAddStates(33, 34); - break; - case 54: - if (curChar == 46) - jjCheckNAdd(55); - break; - case 55: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAdd(55); - break; - case 56: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAddStates(35, 37); - break; - case 57: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAdd(57); - break; - case 58: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAddTwoStates(58, 59); - break; - case 59: - if (curChar == 46) - jjCheckNAdd(60); - break; - case 60: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAdd(60); - break; - case 61: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAdd(61); - break; - case 62: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAddStates(0, 6); - break; - case 63: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAddTwoStates(63, 52); - break; - case 64: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAddStates(38, 40); - break; - case 65: - if (curChar == 46) - jjCheckNAdd(66); - break; - case 66: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAddTwoStates(66, 52); - break; - case 67: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAddTwoStates(67, 68); - break; - case 68: - if (curChar == 46) - jjCheckNAdd(69); - break; - case 69: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAdd(69); - break; - case 70: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 35) - kind = 35; - jjCheckNAdd(70); - break; - default : break; - } - } while(i != startsAt); - } - else if (curChar < 128) - { - long l = 1L << (curChar & 077); - do - { - switch(jjstateSet[--i]) - { - case 5: - case 13: - if ((0x7fffffe07fffffeL & l) == 0L) - break; - if (kind > 221) - kind = 221; - jjCheckNAddTwoStates(13, 14); - break; - case 1: - jjAddStates(10, 12); - break; - case 7: - jjCheckNAddTwoStates(7, 8); - break; - case 9: - case 10: - jjCheckNAddTwoStates(10, 8); - break; - case 14: - if ((0x7fffffe87ffffffL & l) == 0L) - break; - if (kind > 221) - kind = 221; - jjCheckNAdd(14); - break; - case 16: - if ((0x7fffffe07fffffeL & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddStates(41, 43); - break; - case 17: - if ((0x7fffffe87ffffffL & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddTwoStates(17, 18); - break; - case 19: - if ((0x7fffffe07fffffeL & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAddTwoStates(19, 20); - break; - case 20: - if ((0x7fffffe87ffffffL & l) == 0L) - break; - if (kind > 224) - kind = 224; - jjCheckNAdd(20); - break; - case 27: - if ((0x2000000020L & l) != 0L) - jjAddStates(44, 46); - break; - case 43: - jjCheckNAddTwoStates(43, 44); - break; - case 46: - jjCheckNAddTwoStates(46, 44); - break; - case 48: - jjAddStates(47, 48); - break; - case 52: - if ((0x2000000020L & l) != 0L) - jjAddStates(49, 51); - break; - default : break; - } - } while(i != startsAt); - } - else - { - int hiByte = (int)(curChar >> 8); - int i1 = hiByte >> 6; - long l1 = 1L << (hiByte & 077); - int i2 = (curChar & 0xff) >> 6; - long l2 = 1L << (curChar & 077); - do - { - switch(jjstateSet[--i]) - { - case 1: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjAddStates(10, 12); - break; - case 7: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjCheckNAddTwoStates(7, 8); - break; - case 9: - case 10: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjCheckNAddTwoStates(10, 8); - break; - case 43: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjCheckNAddTwoStates(43, 44); - break; - case 46: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjCheckNAddTwoStates(46, 44); - break; - case 48: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjAddStates(47, 48); - break; - default : break; - } - } while(i != startsAt); - } - if (kind != 0x7fffffff) - { - jjmatchedKind = kind; - jjmatchedPos = curPos; - kind = 0x7fffffff; - } - ++curPos; - if ((i = jjnewStateCnt) == (startsAt = 71 - (jjnewStateCnt = startsAt))) - break; - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { break; } - } - if (jjmatchedPos > strPos) - return curPos; - - int toRet = Math.max(curPos, seenUpto); - - if (curPos < toRet) - for (i = toRet - Math.min(curPos, seenUpto); i-- > 0; ) - try { curChar = input_stream.readChar(); } - catch(java.io.IOException e) { throw new Error("Internal Error : Please send a bug report."); } - - if (jjmatchedPos < strPos) - { - jjmatchedKind = strKind; - jjmatchedPos = strPos; - } - else if (jjmatchedPos == strPos && jjmatchedKind > strKind) - jjmatchedKind = strKind; - - return toRet; -} -static final int[] jjnextStates = { - 63, 64, 65, 52, 67, 68, 70, 16, 21, 39, 1, 2, 4, 8, 9, 11, - 17, 18, 22, 23, 24, 26, 36, 37, 27, 29, 31, 32, 33, 34, 36, 37, - 27, 54, 56, 57, 58, 59, 64, 65, 52, 16, 17, 18, 28, 29, 31, 48, - 49, 53, 54, 56, -}; -private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2) -{ - switch(hiByte) - { - case 0: - return ((jjbitVec2[i2] & l2) != 0L); - default : - if ((jjbitVec0[i1] & l1) != 0L) - return true; - return false; - } -} - -/** Token literal values. */ -public static final String[] jjstrLiteralImages = { -"", null, null, null, null, null, null, null, "\72\75", "\52", "\100", "\51", -"\174\174", "\72", "\54", "\56", "\56\56", "\44", "\45", "\75", "\76", "\76\75", -"\50\53\51", "\74", "\74\75", "\55", "\74\76", "\41\75", "\50", "\53", "\43", "\77", "\73", -"\57", "\176", null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, null, null, -null, null, null, null, null, null, null, null, null, null, null, null, }; - -/** Lexer state names. */ -public static final String[] lexStateNames = { - "DEFAULT", -}; -static final long[] jjtoToken = { - 0xffffff8fffffff01L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0x73fffffffL, -}; -static final long[] jjtoSkip = { - 0xfeL, 0x0L, 0x0L, 0x0L, -}; -protected JavaCharStream input_stream; -private final int[] jjrounds = new int[71]; -private final int[] jjstateSet = new int[142]; -protected char curChar; -/** Constructor. */ -public DDLParserTokenManager(JavaCharStream stream){ - if (JavaCharStream.staticFlag) - throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer."); - input_stream = stream; -} - -/** Constructor. */ -public DDLParserTokenManager(JavaCharStream stream, int lexState){ - this(stream); - SwitchTo(lexState); -} - -/** Reinitialise parser. */ -public void ReInit(JavaCharStream stream) -{ - jjmatchedPos = jjnewStateCnt = 0; - curLexState = defaultLexState; - input_stream = stream; - ReInitRounds(); -} -private void ReInitRounds() -{ - int i; - jjround = 0x80000001; - for (i = 71; i-- > 0;) - jjrounds[i] = 0x80000000; -} - -/** Reinitialise parser. */ -public void ReInit(JavaCharStream stream, int lexState) -{ - ReInit(stream); - SwitchTo(lexState); -} - -/** Switch to specified lex state. */ -public void SwitchTo(int lexState) -{ - if (lexState >= 1 || lexState < 0) - throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); - else - curLexState = lexState; -} - -protected Token jjFillToken() -{ - final Token t; - final String curTokenImage; - final int beginLine; - final int endLine; - final int beginColumn; - final int endColumn; - String im = jjstrLiteralImages[jjmatchedKind]; - curTokenImage = (im == null) ? input_stream.GetImage() : im; - beginLine = input_stream.getBeginLine(); - beginColumn = input_stream.getBeginColumn(); - endLine = input_stream.getEndLine(); - endColumn = input_stream.getEndColumn(); - t = Token.newToken(jjmatchedKind, curTokenImage); - - t.beginLine = beginLine; - t.endLine = endLine; - t.beginColumn = beginColumn; - t.endColumn = endColumn; - - return t; -} - -int curLexState = 0; -int defaultLexState = 0; -int jjnewStateCnt; -int jjround; -int jjmatchedPos; -int jjmatchedKind; - -/** Get the next Token. */ -public Token getNextToken() -{ - Token matchedToken; - int curPos = 0; - - EOFLoop : - for (;;) - { - try - { - curChar = input_stream.BeginToken(); - } - catch(java.io.IOException e) - { - jjmatchedKind = 0; - matchedToken = jjFillToken(); - return matchedToken; - } - - jjmatchedKind = 0x7fffffff; - jjmatchedPos = 0; - curPos = jjMoveStringLiteralDfa0_0(); - if (jjmatchedKind != 0x7fffffff) - { - if (jjmatchedPos + 1 < curPos) - input_stream.backup(curPos - jjmatchedPos - 1); - if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) - { - matchedToken = jjFillToken(); - return matchedToken; - } - else - { - continue EOFLoop; - } - } - int error_line = input_stream.getEndLine(); - int error_column = input_stream.getEndColumn(); - String error_after = null; - boolean EOFSeen = false; - try { input_stream.readChar(); input_stream.backup(1); } - catch (java.io.IOException e1) { - EOFSeen = true; - error_after = curPos <= 1 ? "" : input_stream.GetImage(); - if (curChar == '\n' || curChar == '\r') { - error_line++; - error_column = 0; - } - else - error_column++; - } - if (!EOFSeen) { - input_stream.backup(1); - error_after = curPos <= 1 ? "" : input_stream.GetImage(); - } - throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR); - } -} - -private void jjCheckNAdd(int state) -{ - if (jjrounds[state] != jjround) - { - jjstateSet[jjnewStateCnt++] = state; - jjrounds[state] = jjround; - } -} -private void jjAddStates(int start, int end) -{ - do { - jjstateSet[jjnewStateCnt++] = jjnextStates[start]; - } while (start++ != end); -} -private void jjCheckNAddTwoStates(int state1, int state2) -{ - jjCheckNAdd(state1); - jjCheckNAdd(state2); -} - -private void jjCheckNAddStates(int start, int end) -{ - do { - jjCheckNAdd(jjnextStates[start]); - } while (start++ != end); -} - -}
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserTreeConstants.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserTreeConstants.java deleted file mode 100644 index 43fd5d0..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserTreeConstants.java +++ /dev/null
@@ -1,14 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. DDLParserTreeConstants.java Version 5.0 */ -package org.eclipse.persistence.tools.oracleddl.parser; - -@SuppressWarnings("all") -public interface DDLParserTreeConstants -{ - public int JJTVOID = 0; - - - public String[] jjtNodeName = { - "void", - }; -} -/* JavaCC - OriginalChecksum=ff721d13e20dfc97bde0c0e42bb97d94 (do not edit this line) */
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserVisitor.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserVisitor.java deleted file mode 100644 index 3385cc7..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/DDLParserVisitor.java +++ /dev/null
@@ -1,9 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. DDLParserVisitor.java Version 5.0 */ -package org.eclipse.persistence.tools.oracleddl.parser; - -@SuppressWarnings("all") -public interface DDLParserVisitor -{ - public Object visit(SimpleNode node, Object data); -} -/* JavaCC - OriginalChecksum=0a5f7f17a0ed392fca069d04f2c11cb5 (do not edit this line) */
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/JJTDDLParserState.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/JJTDDLParserState.java deleted file mode 100644 index 720c2e1..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/JJTDDLParserState.java +++ /dev/null
@@ -1,124 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. JJTDDLParserState.java Version 5.0 */ -package org.eclipse.persistence.tools.oracleddl.parser; - -@SuppressWarnings("all") -public class JJTDDLParserState { - private java.util.List<Node> nodes; - private java.util.List<Integer> marks; - - private int sp; // number of nodes on stack - private int mk; // current mark - private boolean node_created; - - public JJTDDLParserState() { - nodes = new java.util.ArrayList<Node>(); - marks = new java.util.ArrayList<Integer>(); - sp = 0; - mk = 0; - } - - /* Determines whether the current node was actually closed and - pushed. This should only be called in the final user action of a - node scope. */ - public boolean nodeCreated() { - return node_created; - } - - /* Call this to reinitialize the node stack. It is called - automatically by the parser's ReInit() method. */ - public void reset() { - nodes.clear(); - marks.clear(); - sp = 0; - mk = 0; - } - - /* Returns the root node of the AST. It only makes sense to call - this after a successful parse. */ - public Node rootNode() { - return nodes.get(0); - } - - /* Pushes a node on to the stack. */ - public void pushNode(Node n) { - nodes.add(n); - ++sp; - } - - /* Returns the node on the top of the stack, and remove it from the - stack. */ - public Node popNode() { - if (--sp < mk) { - mk = marks.remove(marks.size()-1); - } - return nodes.remove(nodes.size()-1); - } - - /* Returns the node currently on the top of the stack. */ - public Node peekNode() { - return nodes.get(nodes.size()-1); - } - - /* Returns the number of children on the stack in the current node - scope. */ - public int nodeArity() { - return sp - mk; - } - - - public void clearNodeScope(Node n) { - while (sp > mk) { - popNode(); - } - mk = marks.remove(marks.size()-1); - } - - - public void openNodeScope(Node n) { - marks.add(mk); - mk = sp; - n.jjtOpen(); - } - - - /* A definite node is constructed from a specified number of - children. That number of nodes are popped from the stack and - made the children of the definite node. Then the definite node - is pushed on to the stack. */ - public void closeNodeScope(Node n, int num) { - mk = marks.remove(marks.size()-1); - while (num-- > 0) { - Node c = popNode(); - c.jjtSetParent(n); - n.jjtAddChild(c, num); - } - n.jjtClose(); - pushNode(n); - node_created = true; - } - - - /* A conditional node is constructed if its condition is true. All - the nodes that have been pushed since the node was opened are - made children of the conditional node, which is then pushed - on to the stack. If the condition is false the node is not - constructed and they are left on the stack. */ - public void closeNodeScope(Node n, boolean condition) { - if (condition) { - int a = nodeArity(); - mk = marks.remove(marks.size()-1); - while (a-- > 0) { - Node c = popNode(); - c.jjtSetParent(n); - n.jjtAddChild(c, a); - } - n.jjtClose(); - pushNode(n); - node_created = true; - } else { - mk = marks.remove(marks.size()-1); - node_created = false; - } - } -} -/* JavaCC - OriginalChecksum=f016bbdc3ac5024ef62e899b27035ffd (do not edit this line) */
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/JavaCharStream.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/JavaCharStream.java deleted file mode 100644 index 0f83421..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/JavaCharStream.java +++ /dev/null
@@ -1,630 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. JavaCharStream.java Version 5.0 */ -/* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ -/******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 - * which accompanies this distribution. - * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Mike Norman - June 10 2011, created DDL parser package - ******************************************************************************/ -package org.eclipse.persistence.tools.oracleddl.parser; - -/** - * An implementation of interface CharStream, where the stream is assumed to - * contain only ASCII characters (with java-like unicode escape processing). - */ - -public -@SuppressWarnings("all") -class JavaCharStream -{ - /** Whether parser is static. */ - public static final boolean staticFlag = false; - - static final int hexval(char c) throws java.io.IOException { - switch(c) - { - case '0' : - return 0; - case '1' : - return 1; - case '2' : - return 2; - case '3' : - return 3; - case '4' : - return 4; - case '5' : - return 5; - case '6' : - return 6; - case '7' : - return 7; - case '8' : - return 8; - case '9' : - return 9; - - case 'a' : - case 'A' : - return 10; - case 'b' : - case 'B' : - return 11; - case 'c' : - case 'C' : - return 12; - case 'd' : - case 'D' : - return 13; - case 'e' : - case 'E' : - return 14; - case 'f' : - case 'F' : - return 15; - } - - throw new java.io.IOException(); // Should never come here - } - -/** Position in buffer. */ - public int bufpos = -1; - int bufsize; - int available; - int tokenBegin; - protected int bufline[]; - protected int bufcolumn[]; - - protected int column = 0; - protected int line = 1; - - protected boolean prevCharIsCR = false; - protected boolean prevCharIsLF = false; - - protected java.io.Reader inputStream; - - protected char[] nextCharBuf; - protected char[] buffer; - protected int maxNextCharInd = 0; - protected int nextCharInd = -1; - protected int inBuf = 0; - protected int tabSize = 8; - - protected void setTabSize(int i) { tabSize = i; } - protected int getTabSize(int i) { return tabSize; } - - protected void ExpandBuff(boolean wrapAround) - { - char[] newbuffer = new char[bufsize + 2048]; - int newbufline[] = new int[bufsize + 2048]; - int newbufcolumn[] = new int[bufsize + 2048]; - - try - { - if (wrapAround) - { - System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); - System.arraycopy(buffer, 0, newbuffer, bufsize - tokenBegin, bufpos); - buffer = newbuffer; - - System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); - System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos); - bufline = newbufline; - - System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); - System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos); - bufcolumn = newbufcolumn; - - bufpos += (bufsize - tokenBegin); - } - else - { - System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); - buffer = newbuffer; - - System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); - bufline = newbufline; - - System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); - bufcolumn = newbufcolumn; - - bufpos -= tokenBegin; - } - } - catch (Throwable t) - { - throw new Error(t.getMessage()); - } - - available = (bufsize += 2048); - tokenBegin = 0; - } - - protected void FillBuff() throws java.io.IOException - { - int i; - if (maxNextCharInd == 4096) - maxNextCharInd = nextCharInd = 0; - - try { - if ((i = inputStream.read(nextCharBuf, maxNextCharInd, - 4096 - maxNextCharInd)) == -1) - { - inputStream.close(); - throw new java.io.IOException(); - } - else - maxNextCharInd += i; - return; - } - catch(java.io.IOException e) { - if (bufpos != 0) - { - --bufpos; - backup(0); - } - else - { - bufline[bufpos] = line; - bufcolumn[bufpos] = column; - } - throw e; - } - } - - protected char ReadByte() throws java.io.IOException - { - if (++nextCharInd >= maxNextCharInd) - FillBuff(); - - return nextCharBuf[nextCharInd]; - } - -/** @return starting character for token. */ - public char BeginToken() throws java.io.IOException - { - if (inBuf > 0) - { - --inBuf; - - if (++bufpos == bufsize) - bufpos = 0; - - tokenBegin = bufpos; - return buffer[bufpos]; - } - - tokenBegin = 0; - bufpos = -1; - - return readChar(); - } - - protected void AdjustBuffSize() - { - if (available == bufsize) - { - if (tokenBegin > 2048) - { - bufpos = 0; - available = tokenBegin; - } - else - ExpandBuff(false); - } - else if (available > tokenBegin) - available = bufsize; - else if ((tokenBegin - available) < 2048) - ExpandBuff(true); - else - available = tokenBegin; - } - - protected void UpdateLineColumn(char c) - { - column++; - - if (prevCharIsLF) - { - prevCharIsLF = false; - line += (column = 1); - } - else if (prevCharIsCR) - { - prevCharIsCR = false; - if (c == '\n') - { - prevCharIsLF = true; - } - else - line += (column = 1); - } - - switch (c) - { - case '\r' : - prevCharIsCR = true; - break; - case '\n' : - prevCharIsLF = true; - break; - case '\t' : - column--; - column += (tabSize - (column % tabSize)); - break; - default : - break; - } - - bufline[bufpos] = line; - bufcolumn[bufpos] = column; - } - -/** Read a character. */ - public char readChar() throws java.io.IOException - { - if (inBuf > 0) - { - --inBuf; - - if (++bufpos == bufsize) - bufpos = 0; - - return buffer[bufpos]; - } - - char c; - - if (++bufpos == available) - AdjustBuffSize(); - - if ((buffer[bufpos] = c = ReadByte()) == '\\') - { - UpdateLineColumn(c); - - int backSlashCnt = 1; - - for (;;) // Read all the backslashes - { - if (++bufpos == available) - AdjustBuffSize(); - - try - { - if ((buffer[bufpos] = c = ReadByte()) != '\\') - { - UpdateLineColumn(c); - // found a non-backslash char. - if ((c == 'u') && ((backSlashCnt & 1) == 1)) - { - if (--bufpos < 0) - bufpos = bufsize - 1; - - break; - } - - backup(backSlashCnt); - return '\\'; - } - } - catch(java.io.IOException e) - { - // We are returning one backslash so we should only backup (count-1) - if (backSlashCnt > 1) - backup(backSlashCnt-1); - - return '\\'; - } - - UpdateLineColumn(c); - backSlashCnt++; - } - - // Here, we have seen an odd number of backslash's followed by a 'u' - try - { - while ((c = ReadByte()) == 'u') - ++column; - - buffer[bufpos] = c = (char)(hexval(c) << 12 | - hexval(ReadByte()) << 8 | - hexval(ReadByte()) << 4 | - hexval(ReadByte())); - - column += 4; - } - catch(java.io.IOException e) - { - throw new Error("Invalid escape character at line " + line + - " column " + column + "."); - } - - if (backSlashCnt == 1) - return c; - else - { - backup(backSlashCnt - 1); - return '\\'; - } - } - else - { - UpdateLineColumn(c); - return c; - } - } - - @Deprecated - /** - * @deprecated - * @see #getEndColumn - */ - public int getColumn() { - return bufcolumn[bufpos]; - } - - @Deprecated - /** - * @deprecated - * @see #getEndLine - */ - public int getLine() { - return bufline[bufpos]; - } - -/** Get end column. */ - public int getEndColumn() { - return bufcolumn[bufpos]; - } - -/** Get end line. */ - public int getEndLine() { - return bufline[bufpos]; - } - -/** @return column of token start */ - public int getBeginColumn() { - return bufcolumn[tokenBegin]; - } - -/** @return line number of token start */ - public int getBeginLine() { - return bufline[tokenBegin]; - } - -/** Retreat. */ - public void backup(int amount) { - - inBuf += amount; - if ((bufpos -= amount) < 0) - bufpos += bufsize; - } - -/** Constructor. */ - public JavaCharStream(java.io.Reader dstream, - int startline, int startcolumn, int buffersize) - { - inputStream = dstream; - line = startline; - column = startcolumn - 1; - - available = bufsize = buffersize; - buffer = new char[buffersize]; - bufline = new int[buffersize]; - bufcolumn = new int[buffersize]; - nextCharBuf = new char[4096]; - } - -/** Constructor. */ - public JavaCharStream(java.io.Reader dstream, - int startline, int startcolumn) - { - this(dstream, startline, startcolumn, 4096); - } - -/** Constructor. */ - public JavaCharStream(java.io.Reader dstream) - { - this(dstream, 1, 1, 4096); - } -/** Reinitialise. */ - public void ReInit(java.io.Reader dstream, - int startline, int startcolumn, int buffersize) - { - inputStream = dstream; - line = startline; - column = startcolumn - 1; - - if (buffer == null || buffersize != buffer.length) - { - available = bufsize = buffersize; - buffer = new char[buffersize]; - bufline = new int[buffersize]; - bufcolumn = new int[buffersize]; - nextCharBuf = new char[4096]; - } - prevCharIsLF = prevCharIsCR = false; - tokenBegin = inBuf = maxNextCharInd = 0; - nextCharInd = bufpos = -1; - } - -/** Reinitialise. */ - public void ReInit(java.io.Reader dstream, - int startline, int startcolumn) - { - ReInit(dstream, startline, startcolumn, 4096); - } - -/** Reinitialise. */ - public void ReInit(java.io.Reader dstream) - { - ReInit(dstream, 1, 1, 4096); - } -/** Constructor. */ - public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, - int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException - { - this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); - } - -/** Constructor. */ - public JavaCharStream(java.io.InputStream dstream, int startline, - int startcolumn, int buffersize) - { - this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096); - } - -/** Constructor. */ - public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, - int startcolumn) throws java.io.UnsupportedEncodingException - { - this(dstream, encoding, startline, startcolumn, 4096); - } - -/** Constructor. */ - public JavaCharStream(java.io.InputStream dstream, int startline, - int startcolumn) - { - this(dstream, startline, startcolumn, 4096); - } - -/** Constructor. */ - public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException - { - this(dstream, encoding, 1, 1, 4096); - } - -/** Constructor. */ - public JavaCharStream(java.io.InputStream dstream) - { - this(dstream, 1, 1, 4096); - } - -/** Reinitialise. */ - public void ReInit(java.io.InputStream dstream, String encoding, int startline, - int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException - { - ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); - } - -/** Reinitialise. */ - public void ReInit(java.io.InputStream dstream, int startline, - int startcolumn, int buffersize) - { - ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize); - } -/** Reinitialise. */ - public void ReInit(java.io.InputStream dstream, String encoding, int startline, - int startcolumn) throws java.io.UnsupportedEncodingException - { - ReInit(dstream, encoding, startline, startcolumn, 4096); - } -/** Reinitialise. */ - public void ReInit(java.io.InputStream dstream, int startline, - int startcolumn) - { - ReInit(dstream, startline, startcolumn, 4096); - } -/** Reinitialise. */ - public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException - { - ReInit(dstream, encoding, 1, 1, 4096); - } - -/** Reinitialise. */ - public void ReInit(java.io.InputStream dstream) - { - ReInit(dstream, 1, 1, 4096); - } - - /** @return token image as String */ - public String GetImage() - { - if (bufpos >= tokenBegin) - return new String(buffer, tokenBegin, bufpos - tokenBegin + 1); - else - return new String(buffer, tokenBegin, bufsize - tokenBegin) + - new String(buffer, 0, bufpos + 1); - } - - /** @return suffix */ - public char[] GetSuffix(int len) - { - char[] ret = new char[len]; - - if ((bufpos + 1) >= len) - System.arraycopy(buffer, bufpos - len + 1, ret, 0, len); - else - { - System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0, - len - bufpos - 1); - System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1); - } - - return ret; - } - - /** Set buffers back to null when finished. */ - public void Done() - { - nextCharBuf = null; - buffer = null; - bufline = null; - bufcolumn = null; - } - - /** - * Method to adjust line and column numbers for the start of a token. - */ - public void adjustBeginLineColumn(int newLine, int newCol) - { - int start = tokenBegin; - int len; - - if (bufpos >= tokenBegin) - { - len = bufpos - tokenBegin + inBuf + 1; - } - else - { - len = bufsize - tokenBegin + bufpos + 1 + inBuf; - } - - int i = 0, j = 0, k = 0; - int nextColDiff = 0, columnDiff = 0; - - while (i < len && bufline[j = start % bufsize] == bufline[k = ++start % bufsize]) - { - bufline[j] = newLine; - nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j]; - bufcolumn[j] = newCol + columnDiff; - columnDiff = nextColDiff; - i++; - } - - if (i < len) - { - bufline[j] = newLine++; - bufcolumn[j] = newCol + columnDiff; - - while (i++ < len) - { - if (bufline[j = start % bufsize] != bufline[++start % bufsize]) - bufline[j] = newLine++; - else - bufline[j] = newLine; - } - } - - line = bufline[j]; - column = bufcolumn[j]; - } - -} -/* JavaCC - OriginalChecksum=53254f6a9325378bb7ef0cee733f3fac (do not edit this line) */
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/ParseException.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/ParseException.java deleted file mode 100644 index b51da14..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/ParseException.java +++ /dev/null
@@ -1,200 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 5.0 */ -/* JavaCCOptions:KEEP_LINE_COL=null */ -/******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 - * which accompanies this distribution. - * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Mike Norman - June 10 2011, created DDL parser package - ******************************************************************************/ -package org.eclipse.persistence.tools.oracleddl.parser; - -/** - * This exception is thrown when parse errors are encountered. - * You can explicitly create objects of this exception type by - * calling the method generateParseException in the generated - * parser. - * - * You can modify this class to customize your error reporting - * mechanisms so long as you retain the public fields. - */ -@SuppressWarnings("all") -public class ParseException extends Exception { - - /** - * The version identifier for this Serializable class. - * Increment only if the <i>serialized</i> form of the - * class changes. - */ - private static final long serialVersionUID = 1L; - - /** - * This constructor is used by the method "generateParseException" - * in the generated parser. Calling this constructor generates - * a new object of this type with the fields "currentToken", - * "expectedTokenSequences", and "tokenImage" set. - */ - public ParseException(Token currentTokenVal, - int[][] expectedTokenSequencesVal, - String[] tokenImageVal - ) - { - super(initialise(currentTokenVal, expectedTokenSequencesVal, tokenImageVal)); - currentToken = currentTokenVal; - expectedTokenSequences = expectedTokenSequencesVal; - tokenImage = tokenImageVal; - } - - /** - * The following constructors are for use by you for whatever - * purpose you can think of. Constructing the exception in this - * manner makes the exception behave in the normal way - i.e., as - * documented in the class "Throwable". The fields "errorToken", - * "expectedTokenSequences", and "tokenImage" do not contain - * relevant information. The JavaCC generated code does not use - * these constructors. - */ - - public ParseException() { - super(); - } - - /** Constructor with message. */ - public ParseException(String message) { - super(message); - } - - - /** - * This is the last token that has been consumed successfully. If - * this object has been created due to a parse error, the token - * followng this token will (therefore) be the first error token. - */ - public Token currentToken; - - /** - * Each entry in this array is an array of integers. Each array - * of integers represents a sequence of tokens (by their ordinal - * values) that is expected at this point of the parse. - */ - public int[][] expectedTokenSequences; - - /** - * This is a reference to the "tokenImage" array of the generated - * parser within which the parse error occurred. This array is - * defined in the generated ...Constants interface. - */ - public String[] tokenImage; - - /** - * It uses "currentToken" and "expectedTokenSequences" to generate a parse - * error message and returns it. If this object has been created - * due to a parse error, and you do not catch it (it gets thrown - * from the parser) the correct error message - * gets displayed. - */ - private static String initialise(Token currentToken, - int[][] expectedTokenSequences, - String[] tokenImage) { - String eol = System.getProperty("line.separator", "\n"); - StringBuffer expected = new StringBuffer(); - int maxSize = 0; - for (int i = 0; i < expectedTokenSequences.length; i++) { - if (maxSize < expectedTokenSequences[i].length) { - maxSize = expectedTokenSequences[i].length; - } - for (int j = 0; j < expectedTokenSequences[i].length; j++) { - expected.append(tokenImage[expectedTokenSequences[i][j]]).append(' '); - } - if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) { - expected.append("..."); - } - expected.append(eol).append(" "); - } - String retval = "Encountered \""; - Token tok = currentToken.next; - for (int i = 0; i < maxSize; i++) { - if (i != 0) retval += " "; - if (tok.kind == 0) { - retval += tokenImage[0]; - break; - } - retval += " " + tokenImage[tok.kind]; - retval += " \""; - retval += add_escapes(tok.image); - retval += " \""; - tok = tok.next; - } - retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn; - retval += "." + eol; - if (expectedTokenSequences.length == 1) { - retval += "Was expecting:" + eol + " "; - } else { - retval += "Was expecting one of:" + eol + " "; - } - retval += expected.toString(); - return retval; - } - - /** - * The end of line string for this machine. - */ - protected String eol = System.getProperty("line.separator", "\n"); - - /** - * Used to convert raw characters to their escaped version - * when these raw version cannot be used as part of an ASCII - * string literal. - */ - static String add_escapes(String str) { - StringBuffer retval = new StringBuffer(); - char ch; - for (int i = 0; i < str.length(); i++) { - switch (str.charAt(i)) - { - case 0 : - continue; - case '\b': - retval.append("\\b"); - continue; - case '\t': - retval.append("\\t"); - continue; - case '\n': - retval.append("\\n"); - continue; - case '\f': - retval.append("\\f"); - continue; - case '\r': - retval.append("\\r"); - continue; - case '\"': - retval.append("\\\""); - continue; - case '\'': - retval.append("\\\'"); - continue; - case '\\': - retval.append("\\\\"); - continue; - default: - if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { - String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); - } else { - retval.append(ch); - } - continue; - } - } - return retval.toString(); - } - -} -/* JavaCC - OriginalChecksum=81f4443085e467ef907deb9a67f74438 (do not edit this line) */
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/Token.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/Token.java deleted file mode 100644 index a9723db..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/Token.java +++ /dev/null
@@ -1,144 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. Token.java Version 5.0 */ -/* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ -/******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 - * which accompanies this distribution. - * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Mike Norman - June 10 2011, created DDL parser package - ******************************************************************************/ -package org.eclipse.persistence.tools.oracleddl.parser; - -/** - * Describes the input token stream. - */ - -@SuppressWarnings("all") -public class Token implements java.io.Serializable { - - /** - * The version identifier for this Serializable class. - * Increment only if the <i>serialized</i> form of the - * class changes. - */ - private static final long serialVersionUID = 1L; - - /** - * An integer that describes the kind of this token. This numbering - * system is determined by JavaCCParser, and a table of these numbers is - * stored in the file ...Constants.java. - */ - public int kind; - - /** The line number of the first character of this Token. */ - public int beginLine; - /** The column number of the first character of this Token. */ - public int beginColumn; - /** The line number of the last character of this Token. */ - public int endLine; - /** The column number of the last character of this Token. */ - public int endColumn; - - /** - * The string image of the token. - */ - public String image; - - /** - * A reference to the next regular (non-special) token from the input - * stream. If this is the last token from the input stream, or if the - * token manager has not read tokens beyond this one, this field is - * set to null. This is true only if this token is also a regular - * token. Otherwise, see below for a description of the contents of - * this field. - */ - public Token next; - - /** - * This field is used to access special tokens that occur prior to this - * token, but after the immediately preceding regular (non-special) token. - * If there are no such special tokens, this field is set to null. - * When there are more than one such special token, this field refers - * to the last of these special tokens, which in turn refers to the next - * previous special token through its specialToken field, and so on - * until the first special token (whose specialToken field is null). - * The next fields of special tokens refer to other special tokens that - * immediately follow it (without an intervening regular token). If there - * is no such token, this field is null. - */ - public Token specialToken; - - /** - * An optional attribute value of the Token. - * Tokens which are not used as syntactic sugar will often contain - * meaningful values that will be used later on by the compiler or - * interpreter. This attribute value is often different from the image. - * Any subclass of Token that actually wants to return a non-null value can - * override this method as appropriate. - */ - public Object getValue() { - return null; - } - - /** - * No-argument constructor - */ - public Token() {} - - /** - * Constructs a new token for the specified Image. - */ - public Token(int kind) - { - this(kind, null); - } - - /** - * Constructs a new token for the specified Image and Kind. - */ - public Token(int kind, String image) - { - this.kind = kind; - this.image = image; - } - - /** - * Returns the image. - */ - public String toString() - { - return image; - } - - /** - * Returns a new Token object, by default. However, if you want, you - * can create and return subclass objects based on the value of ofKind. - * Simply add the cases to the switch for all those special cases. - * For example, if you have a subclass of Token called IDToken that - * you want to create if ofKind is ID, simply add something like : - * - * case MyParserConstants.ID : return new IDToken(ofKind, image); - * - * to the following switch statement. Then you can cast matchedToken - * variable to the appropriate type and use sit in your lexical actions. - */ - public static Token newToken(int ofKind, String image) - { - switch(ofKind) - { - default : return new Token(ofKind, image); - } - } - - public static Token newToken(int ofKind) - { - return newToken(ofKind, null); - } - -} -/* JavaCC - OriginalChecksum=6c9f79d78d53588eccf7c8f0bb40434a (do not edit this line) */
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/TokenMgrError.java b/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/TokenMgrError.java deleted file mode 100644 index 2e96615..0000000 --- a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/parser/TokenMgrError.java +++ /dev/null
@@ -1,160 +0,0 @@ -/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 5.0 */ -/* JavaCCOptions: */ -/******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 - * which accompanies this distribution. - * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Mike Norman - June 10 2011, created DDL parser package - ******************************************************************************/ -package org.eclipse.persistence.tools.oracleddl.parser; - -/** Token Manager Error. */ -@SuppressWarnings("all") -public class TokenMgrError extends Error -{ - - /** - * The version identifier for this Serializable class. - * Increment only if the <i>serialized</i> form of the - * class changes. - */ - private static final long serialVersionUID = 1L; - - /* - * Ordinals for various reasons why an Error of this type can be thrown. - */ - - /** - * Lexical error occurred. - */ - static final int LEXICAL_ERROR = 0; - - /** - * An attempt was made to create a second instance of a static token manager. - */ - static final int STATIC_LEXER_ERROR = 1; - - /** - * Tried to change to an invalid lexical state. - */ - static final int INVALID_LEXICAL_STATE = 2; - - /** - * Detected (and bailed out of) an infinite loop in the token manager. - */ - static final int LOOP_DETECTED = 3; - - /** - * Indicates the reason why the exception is thrown. It will have - * one of the above 4 values. - */ - int errorCode; - - /** - * Replaces unprintable characters by their escaped (or unicode escaped) - * equivalents in the given string - */ - protected static final String addEscapes(String str) { - StringBuffer retval = new StringBuffer(); - char ch; - for (int i = 0; i < str.length(); i++) { - switch (str.charAt(i)) - { - case 0 : - continue; - case '\b': - retval.append("\\b"); - continue; - case '\t': - retval.append("\\t"); - continue; - case '\n': - retval.append("\\n"); - continue; - case '\f': - retval.append("\\f"); - continue; - case '\r': - retval.append("\\r"); - continue; - case '\"': - retval.append("\\\""); - continue; - case '\'': - retval.append("\\\'"); - continue; - case '\\': - retval.append("\\\\"); - continue; - default: - if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { - String s = "0000" + Integer.toString(ch, 16); - retval.append("\\u" + s.substring(s.length() - 4, s.length())); - } else { - retval.append(ch); - } - continue; - } - } - return retval.toString(); - } - - /** - * Returns a detailed message for the Error when it is thrown by the - * token manager to indicate a lexical error. - * Parameters : - * EOFSeen : indicates if EOF caused the lexical error - * curLexState : lexical state in which this error occurred - * errorLine : line number when the error occurred - * errorColumn : column number when the error occurred - * errorAfter : prefix that was seen before this error occurred - * curchar : the offending character - * Note: You can customize the lexical error message by modifying this method. - */ - protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) { - return("Lexical error at line " + - errorLine + ", column " + - errorColumn + ". Encountered: " + - (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") + - "after : \"" + addEscapes(errorAfter) + "\""); - } - - /** - * You can also modify the body of this method to customize your error messages. - * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not - * of end-users concern, so you can return something like : - * - * "Internal Error : Please file a bug report .... " - * - * from this method for such cases in the release version of your parser. - */ - public String getMessage() { - return super.getMessage(); - } - - /* - * Constructors of various flavors follow. - */ - - /** No arg constructor. */ - public TokenMgrError() { - } - - /** Constructor with message and reason. */ - public TokenMgrError(String message, int reason) { - super(message); - errorCode = reason; - } - - /** Full Constructor. */ - public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) { - this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason); - } -} -/* JavaCC - OriginalChecksum=ce061a9b2d99fb99a53b7768a4a7762e (do not edit this line) */
diff --git a/oracleddlparser/src/main/jjtree/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt b/oracleddlparser/src/main/jjtree/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt new file mode 100644 index 0000000..2035e3a --- /dev/null +++ b/oracleddlparser/src/main/jjtree/org/eclipse/persistence/tools/oracleddl/parser/DDLParser.jjt
@@ -0,0 +1,1915 @@ +/******************************************************************************* + * Copyright (c) 2011, 2014 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 + * which accompanies this distribution. + * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + * and the Eclipse Distribution License is available at + * http://www.eclipse.org/org/documents/edl-v10.php. + * + * Contributors: + * Mike Norman - June 10 2011, created DDL parser package + ******************************************************************************/ +options { + STATIC = false; + SUPPORT_CLASS_VISIBILITY_PUBLIC = true; + ERROR_REPORTING = false; + JAVA_UNICODE_ESCAPE = true; + UNICODE_INPUT = true; + NODE_USES_PARSER = false; + NODE_DEFAULT_VOID = true; + VISITOR = true; + FORCE_LA_CHECK = true; +} + +PARSER_BEGIN(DDLParser) +/******************************************************************************* + * Copyright (c) 2011, 2014 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 + * which accompanies this distribution. + * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html + * and the Eclipse Distribution License is available at + * http://www.eclipse.org/org/documents/edl-v10.php. + * + * Contributors: + * Mike Norman - June 10 2011, created DDL parser package + ******************************************************************************/ +package org.eclipse.persistence.tools.oracleddl.parser; + +//javase imports +import java.io.InputStream; +import java.util.List; +import java.util.HashMap; +import java.util.Map; +import java.util.StringTokenizer; + +//metadata imports +import org.eclipse.persistence.tools.oracleddl.metadata.ArgumentType; +import org.eclipse.persistence.tools.oracleddl.metadata.ArgumentTypeDirection; +import org.eclipse.persistence.tools.oracleddl.metadata.BlobType; +import org.eclipse.persistence.tools.oracleddl.metadata.CharType; +import org.eclipse.persistence.tools.oracleddl.metadata.ClobType; +import org.eclipse.persistence.tools.oracleddl.metadata.CompositeDatabaseType; +import org.eclipse.persistence.tools.oracleddl.metadata.DatabaseType; +import org.eclipse.persistence.tools.oracleddl.metadata.DecimalType; +import org.eclipse.persistence.tools.oracleddl.metadata.DoubleType; +import org.eclipse.persistence.tools.oracleddl.metadata.FieldType; +import org.eclipse.persistence.tools.oracleddl.metadata.FloatType; +import org.eclipse.persistence.tools.oracleddl.metadata.FunctionType; +import org.eclipse.persistence.tools.oracleddl.metadata.IntervalDayToSecond; +import org.eclipse.persistence.tools.oracleddl.metadata.IntervalYearToMonth; +import org.eclipse.persistence.tools.oracleddl.metadata.LongType; +import org.eclipse.persistence.tools.oracleddl.metadata.LongRawType; +import org.eclipse.persistence.tools.oracleddl.metadata.NCharType; +import org.eclipse.persistence.tools.oracleddl.metadata.NClobType; +import org.eclipse.persistence.tools.oracleddl.metadata.NumericType; +import org.eclipse.persistence.tools.oracleddl.metadata.NVarChar2Type; +import org.eclipse.persistence.tools.oracleddl.metadata.ObjectType; +import org.eclipse.persistence.tools.oracleddl.metadata.ObjectTableType; +import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLCollectionType; +import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLCursorType; +import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLPackageType; +import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLRecordType; +import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLType; +import org.eclipse.persistence.tools.oracleddl.metadata.PLSQLSubType; +import org.eclipse.persistence.tools.oracleddl.metadata.ProcedureType; +import org.eclipse.persistence.tools.oracleddl.metadata.RawType; +import org.eclipse.persistence.tools.oracleddl.metadata.RealType; +import org.eclipse.persistence.tools.oracleddl.metadata.ROWTYPEType; +import org.eclipse.persistence.tools.oracleddl.metadata.TableType; +import org.eclipse.persistence.tools.oracleddl.metadata.TimeStampType; +import org.eclipse.persistence.tools.oracleddl.metadata.TYPEType; +import org.eclipse.persistence.tools.oracleddl.metadata.URowIdType; +import org.eclipse.persistence.tools.oracleddl.metadata.UnresolvedSizedType; +import org.eclipse.persistence.tools.oracleddl.metadata.UnresolvedType; +import org.eclipse.persistence.tools.oracleddl.metadata.VarCharType; +import org.eclipse.persistence.tools.oracleddl.metadata.VarChar2Type; +import org.eclipse.persistence.tools.oracleddl.metadata.VArrayType; +import org.eclipse.persistence.tools.oracleddl.util.DatabaseTypesRepository; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BFILE_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BINARY_INTEGER_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BINARY_FLOAT_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BINARY_DOUBLE_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.BOOLEAN_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.DATE_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.INTEGER_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.MLSLABEL_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.NATURAL_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.PLS_INTEGER_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.POSITIVE_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.ROWID_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIGN_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIMPLE_INTEGER_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIMPLE_DOUBLE_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SIMPLE_FLOAT_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SMALLINT_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.SYS_REFCURSOR_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.TIME_TYPE; +import static org.eclipse.persistence.tools.oracleddl.metadata.ScalarDatabaseTypeEnum.XMLTYPE_TYPE; + +public class DDLParser { + + protected Map<String, DatabaseType> localTypes = new HashMap<String, DatabaseType>(); + protected List<String> schemaPatterns = null; + + protected DatabaseTypesRepository typesRepository = new DatabaseTypesRepository(); + + public DDLParser() { + super(); + } + + public void setTypesRepository(DatabaseTypesRepository typesRepository) { + this.typesRepository = typesRepository; + } + public DatabaseTypesRepository getTypesRepository() { + return typesRepository; + } + + public void setSchemaPatterns(List<String> schemaPatterns) { + this.schemaPatterns = schemaPatterns; + } + + protected String removeQuotes(String quotedString) { + return quotedString.substring(1, quotedString.length() - 1); + } +} + +PARSER_END(DDLParser) + +// white-space +SKIP: { + " " | "\t" | "\n" | "\r" | "\f" +} + +// comments +SKIP: { + <COMMENT_LINE: "--" (~["\n","\r"])* ("\n"|"\r"|"\r\n") > +} +SKIP:{ + <COMMENT_BLOCK: "/*" (~["*"])* "*" ("*" | (~["*","/"] (~["*"])* "*"))* "/"> +} + +// token classes + +// separators and operators (prefix with O_ to avoid naming conflicts) +TOKEN: { + <O_ASSIGN: ":="> + | <O_ASTERISK: "*"> + | <O_ATSIGN: "@"> + | <O_CLOSEPAREN: ")"> + | <O_CONCAT: "||"> + | <O_COLON: ":"> + | <O_COMMA: ","> + | <O_DOT: "."> + | <O_DOUBLEDOT: ".."> + | <O_DOLLAR: "$"> + | <O_PERCENT: "%"> + | <O_EQUAL: "="> + | <O_GREATER: ">"> + | <O_GREATEREQUAL: ">="> + | <O_JOINPLUS: "(+)"> + | <O_LESS: "<"> + | <O_LESSEQUAL: "<="> + | <O_MINUS: "-"> + | <O_NOTEQUAL2: "<>"> + | <O_NOTEQUAL: "!="> + | <O_OPENPAREN: "("> + | <O_PLUS: "+"> + | <O_POUND: "#"> + | <O_QUESTIONMARK: "?"> + | <O_SEMICOLON: ";"> + | <O_SLASH: "/"> + | <O_TILDE: "~"> +} + +// numeric literals +TOKEN : { + <S_NUMBER: <FLOAT> | <FLOAT> ( ["e","E"] ([ "-","+"])? <FLOAT> )? > + | <#FLOAT: <INTEGER> | <INTEGER> ( "." <INTEGER> )? | "." <INTEGER> > + | <#INTEGER: ( <DIGIT> )+ > + | <#DIGIT: ["0" - "9"] > +} + +//reserved words and keywords literals +/* +PLSQL reserved words (prefix with R_ ) and keyword (prefix with K_) +http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/fundamentals.htm#CBJGBIGI +"You cannot use reserved words as ordinary user-defined identifiers. +You can use keywords as ordinary user-defined identifiers, but it is not recommended." +*/ + +TOKEN [IGNORE_CASE]: { + //reserved words + <R_ALL: "ALL"> + | <R_ALTER: "ALTER"> + | <R_ANCHORED_ROWTYPE: "%ROWTYPE"> + | <R_ANCHORED_TYPE: "%TYPE"> + | <R_AND: "AND"> + | <R_AS: "AS"> + | <R_ASC: "ASC"> + | <R_AT: "AT"> + | <R_BEGIN: "BEGIN"> + | <R_BETWEEN: "BETWEEN"> + | <R_BY: "BY"> + | <R_CASE: "CASE"> + | <R_CHARSET: "%CHARSET"> + | <R_CHECK: "CHECK"> + | <R_CLUSTERS: "CLUSTERS"> + | <R_CLUSTER: "CLUSTER"> + | <R_COLAUTH: "COLAUTH"> + | <R_COLUMNS: "COLUMNS"> + | <R_COMPRESS: "COMPRESS"> + | <R_CONNECT: "CONNECT"> + | <R_CONSTRAINT: "CONSTRAINT"> + | <R_CRASH: "CRASH"> + | <R_CREATE: "CREATE"> + | <R_CURSOR: "CURSOR"> + | <R_DECLARE: "DECLARE"> + | <R_DEFAULT: "DEFAULT"> + | <R_DESC: "DESC"> + | <R_DISTINCT: "DISTINCT"> + | <R_DROP: "DROP"> + | <R_ELSE: "ELSE"> + | <R_END: "END"> + | <R_EXCEPTION: "EXCEPTION"> + | <R_EXCLUSIVE: "EXCLUSIVE"> + | <R_FETCH: "FETCH"> + | <R_FOR: "FOR"> + | <R_FROM: "FROM"> + | <R_FUNCTION: "FUNCTION"> + | <R_GOTO: "GOTO"> + | <R_GRANT: "GRANT"> + | <R_GROUP: "GROUP"> + | <R_HAVING: "HAVING"> + | <R_IDENTIFIED: "IDENTIFIED"> + | <R_IF: "IF"> + | <R_IN: "IN"> + | <R_INDEX: "INDEX"> + | <R_INDEXES: "INDEXES"> + | <R_INSERT: "INSERT"> + | <R_INTERSECT: "INTERSECT"> + | <R_INTO: "INTO"> + | <R_IS: "IS"> + | <R_LIKE: "LIKE"> + | <R_LOCK: "LOCK"> + | <R_MINUS: "MINUS"> + | <R_MODE: "MODE"> + | <R_NOCOMPRESS: "NOCOMPRESS"> + | <R_NOT: "NOT"> + | <R_NOWAIT: "NOWAIT"> + | <R_NULL: "NULL"> + | <R_OF: "OF"> + | <R_ON: "ON"> + | <R_OPTION: "OPTION"> + | <R_OR: "OR"> + | <R_ORDER: "ORDER"> + | <R_OVERLAPS: "OVERLAPS"> + | <R_PRIMARY: "PRIMARY"> + | <R_PROCEDURE: "PROCEDURE"> + | <R_PUBLIC: "PUBLIC"> + | <R_RESOURCE: "RESOURCE"> + | <R_REVOKE: "REVOLE"> + | <R_SELECT: "SELECT"> + | <R_SHARE: "SHARE"> + | <R_SIZE: "SIZE"> + | <R_SQL: "SQL"> + | <R_START: "START"> + | <R_SUBTYPE: "SUBTYPE"> + | <R_TABAUTH: "TABAUTH"> + | <R_TABLE: "TABLE"> + | <R_THEN: "THEN"> + | <R_TO: "TO"> + | <R_TYPE: "TYPE"> + | <R_UNION: "UNION"> + | <R_UNIQUE: "UNIQUE"> + | <R_UPDATE: "UPDATE"> + | <R_VALUES: "VALUES"> + | <R_VIEW: "VIEW"> + | <R_VIEWS: "VIEWS"> + | <R_WHEN: "WHEN"> + | <R_WHERE: "WHERE"> + | <R_WITH: "WITH"> + + //keywords - not a complete list, just what is sufficient for this parser + | <K_ARRAY: "ARRAY"> + | <K_AUTHID: "AUTHID"> + | <K_BFILE: "BFILE"> + | <K_BINARY_DOUBLE: "BINARY_DOUBLE"> + | <K_BINARY_FLOAT: "BINARY_FLOAT"> + | <K_BINARY_INTEGER: "BINARY_INTEGER"> + | <K_BLOB: "BLOB"> + | <K_BOOLEAN: "BOOLEAN"> + | <K_BYTE: "BYTE"> + | <K_CHAR: "CHAR"> + | <K_CHARACTER: "CHARACTER"> + | <K_CLOB: "CLOB"> + | <K_COMMIT: "COMMIT"> + | <K_CONSTANT: "CONSTANT"> + | <K_CONSTRUCTOR: "CONSTRUCTOR"> + | <K_CURRENT_USER: "CURRENT_USER"> + | <K_DATE :"DATE"> + | <K_DAY: "DAY"> + | <K_DEC: "DEC"> + | <K_DECIMAL: "DECIMAL"> + | <K_DEFINER: "DEFINER"> + | <K_DELETE: "DELETE"> + | <K_DETERMINISTIC: "DETERMINISTIC"> + | <K_DOUBLE: "DOUBLE"> + | <K_ENABLE: "ENABLE"> + | <K_FINAL: "FINAL"> + | <K_FLOAT: "FLOAT"> + | <K_FORCE: "FORCE"> + | <K_GLOBAL: "GLOBAL"> + | <K_INSTANTIABLE: "INSTANTIABLE"> + | <K_INT: "INT"> + | <K_INTEGER: "INTEGER"> + | <K_INTERVAL: "INTERVAL"> + | <K_KEY: "KEY"> + | <K_LOCAL: "LOCAL"> + | <K_LONG: "LONG"> + | <K_MLSLABEL: "MLSLABEL"> + | <K_MONTH: "MONTH"> + | <K_NATIONAL: "NATIONAL"> + | <K_NATURAL: "NATURAL"> + | <K_NCHAR: "NCHAR"> + | <K_NCLOB: "NCLOB"> + | <K_NOCOPY: "NOCOPY"> + | <K_NUMBER: "NUMBER"> + | <K_NUMERIC: "NUMERIC"> + | <K_NVARCHAR2: "NVARCHAR2"> + | <K_NVARCHAR: "NVARCHAR"> + | <K_OBJECT: "OBJECT"> + | <K_OID: "OID"> + | <K_ORGANIZATION: "ORGANIZATION"> + | <K_OUT: "OUT"> + | <K_OVERFLOW: "OVERFLOW"> + | <K_PACKAGE: "PACKAGE"> + | <K_PARALLEL_ENABLE: "PARALLEL_ENABLE"> + | <K_PIPELINED: "PIPELINED"> + | <K_PLS_INTEGER:"PLS_INTEGER"> + | <K_POSITIVE: "POSITIVE"> + | <K_PRAGMA: "PRAGMA"> + | <K_PRECISION:"PRECISION"> + | <K_PRESERVE: "PRESERVE"> + | <K_RANGE: "RANGE"> + | <K_RAW: "RAW"> + | <K_REAL:"REAL"> + | <K_RECORD: "RECORD"> + | <K_REF: "REF"> + | <K_REPLACE: "REPLACE"> + | <K_RESULT: "RESULT"> + | <K_RESULT_CACHE: "RESULT_CACHE"> + | <K_RETURN: "RETURN"> + | <K_ROWID:"ROWID"> + | <K_ROWS: "ROWS"> + | <K_SECOND: "SECOND"> + | <K_SELF: "SELF"> + | <K_SET: "SET"> + | <K_SIGNTYPE: "SIGNTYPE"> + | <K_SIMPLE_DOUBLE:"SIMPLE_DOUBLE"> + | <K_SIMPLE_FLOAT:"SIMPLE_FLOAT"> + | <K_SIMPLE_INTEGER:"SIMPLE_INTEGER"> + | <K_SMALLINT:"SMALLINT"> + | <K_STRING: "STRING"> + | <K_SYS_REFCURSOR:"SYS_REFCURSOR"> + | <K_TEMPORARY: "TEMPORARY"> + | <K_TIME: "TIME"> + | <K_TIMESTAMP: "TIMESTAMP"> + | <K_UROWID:"UROWID"> + | <K_VARCHAR2: "VARCHAR2"> + | <K_VARCHAR: "VARCHAR"> + | <K_VARRAY: "VARRAY"> + | <K_VARYING: "VARYING"> + | <K_XMLTYPE: "XMLTYPE"> + | <K_SYSXMLTYPE: "SYS.XMLTYPE"> + | <K_YEAR: "YEAR"> + | <K_ZONE: "ZONE"> +} + +String keywords(): +{Token t = null;} +{ + ( + t=<K_ARRAY> + | t=<K_AUTHID> + | t=<K_BFILE> + | t=<K_BINARY_DOUBLE> + | t=<K_BINARY_FLOAT> + | t=<K_BINARY_INTEGER> + | t=<K_BLOB> + | t=<K_BOOLEAN> + | t=<K_BYTE> + | t=<K_CHAR> + | t=<K_CHARACTER> + | t=<K_CLOB> + | t=<K_COMMIT> + | t=<K_CONSTANT> + | t=<K_CONSTRUCTOR> + | t=<K_CURRENT_USER> + | t=<K_DATE> + | t=<K_DAY> + | t=<K_DEC> + | t=<K_DECIMAL> + | t=<K_DEFINER> + | t=<K_DELETE> + | t=<K_DETERMINISTIC> + | t=<K_DOUBLE> + | t=<K_ENABLE> + | t=<K_FINAL> + | t=<K_FLOAT> + | t=<K_FORCE> + | t=<K_GLOBAL> + | t=<K_INSTANTIABLE> + | t=<K_INT> + | t=<K_INTEGER> + | t=<K_INTERVAL> + | t=<K_KEY> + | t=<K_LOCAL> + | t=<K_LONG> + | t=<K_MLSLABEL> + | t=<K_MONTH> + | t=<K_NATIONAL> + | t=<K_NATURAL> + | t=<K_NCHAR> + | t=<K_NCLOB> + | t=<K_NOCOPY> + | t=<K_NUMBER> + | t=<K_NUMERIC> + | t=<K_NVARCHAR2> + | t=<K_NVARCHAR> + | t=<K_OBJECT> + | t=<K_OID> + | t=<K_ORGANIZATION> + | t=<K_OUT> + | t=<K_OVERFLOW> + | t=<K_PACKAGE> + | t=<K_PARALLEL_ENABLE> + | t=<K_PIPELINED> + | t=<K_PLS_INTEGER> + | t=<K_POSITIVE> + | t=<K_PRAGMA> + | t=<K_PRECISION> + | t=<K_PRESERVE> + | t=<K_RANGE> + | t=<K_RAW> + | t=<K_REAL> + | t=<K_RECORD> + | t=<K_REF> + | t=<K_REPLACE> + | t=<K_RESULT> + | t=<K_RESULT_CACHE> + | t=<K_RETURN> + | t=<K_ROWID> + | t=<K_ROWS> + | t=<K_SECOND> + | t=<K_SELF> + | t=<K_SET> + | t=<K_SIGNTYPE> + | t=<K_SIMPLE_DOUBLE> + | t=<K_SIMPLE_FLOAT> + | t=<K_SIMPLE_INTEGER> + | t=<K_SMALLINT> + | t=<K_STRING> + | t=<K_SYS_REFCURSOR> + | t=<K_TEMPORARY> + | t=<K_TIME> + | t=<K_TIMESTAMP> + | t=<K_UROWID> + | t=<K_VARCHAR2> + | t=<K_VARCHAR> + | t=<K_VARRAY> + | t=<K_VARYING> + | t=<K_XMLTYPE> + | t=<K_SYSXMLTYPE> + | t=<K_YEAR> + | t=<K_ZONE> + ) + { + return t.image; + } +} + +// identifiers +TOKEN: +{ + <S_IDENTIFIER: (<LETTER>)+ (<DIGIT> | <LETTER> | <SPECIAL_CHARS>)* > + | <#LETTER: ["a"-"z", "A"-"Z"] > + | <#SPECIAL_CHARS: "$" | "_" | "#" | "@" > + | <S_BIND: ":" ( <S_NUMBER> | <S_IDENTIFIER> ("." <S_IDENTIFIER>)?) > + | <S_CHAR_LITERAL: "'" (~["'"])* "'" ("'" (~["'"])* "'")*> + | <S_QUOTED_IDENTIFIER: "\"" (~["\n","\r","\""])* "\"" > +} + +// stripped-down version of PLSQL grammar: only parses package/top-level DDL specifications + +// PLSQLPackage at 'top-level' +PLSQLPackageType parsePLSQLPackage(): +{PLSQLPackageType packageType = new PLSQLPackageType(); + String dottedName = null; + String schema = null; + String packageName = null; + } +{ + <R_CREATE> [ orReplace() ] <K_PACKAGE> + dottedName=OracleObjectNamePossiblyDotted() + { + packageName = dottedName; + if (dottedName.contains(".")) { + int idx = dottedName.indexOf("."); + schema = dottedName.substring(0, idx); + packageName = dottedName.substring(idx+1, dottedName.length()); + } + if (schema != null) { + packageType.setSchema(schema); + } + packageType.setPackageName(packageName); + } + [ invokerRights() ] as() + ( packageDeclaration(packageType) )* + <R_END> skipToEnd() + { + typesRepository.setDatabaseType(packageName, packageType); + return packageType; + } +} + +// procedure at 'top-level' +ProcedureType parseTopLevelProcedure(): +{ProcedureType procedureType = null; + String dottedName = null; + String schema = null; + String procedureName = null;} +{ + <R_CREATE> [ orReplace() ] <R_PROCEDURE> + dottedName=OracleObjectNamePossiblyDotted() + { + procedureName = dottedName; + if (dottedName.contains(".")) { + int idx = dottedName.indexOf("."); + schema = dottedName.substring(0, idx); + procedureName = dottedName.substring(idx+1, dottedName.length()); + } + procedureType = new ProcedureType(procedureName); + if (schema != null) { + procedureType.setSchema(schema); + } + } + [ <O_OPENPAREN> argumentList(procedureType) <O_CLOSEPAREN> ] as() + skipToEnd() + { + typesRepository.setDatabaseType(procedureName, procedureType); + return procedureType; + } +} + +// function at 'top-level' +FunctionType parseTopLevelFunction(): +{FunctionType functionType = null; + String dottedName = null; + String schema = null; + String functionName = null; + ArgumentType returnType = null;} +{ + <R_CREATE> [ orReplace() ] <R_FUNCTION> + dottedName=OracleObjectNamePossiblyDotted() + { + functionName = dottedName; + if (dottedName.contains(".")) { + int idx = dottedName.indexOf("."); + schema = dottedName.substring(0, idx); + functionName = dottedName.substring(idx+1, dottedName.length()); + } + functionType = new FunctionType(functionName); + if (schema != null) { + functionType.setSchema(schema); + } + } + [ <O_OPENPAREN> argumentList(functionType) <O_CLOSEPAREN> ] returnType=functionReturnSpec(functionType) as() + skipToEnd() + { + functionType.setReturnArgument(returnType); + typesRepository.setDatabaseType(functionName, functionType); + return functionType; + } +} + +// table at 'top-level' +TableType parseTable(): +{TableType tableType = null; + String dottedName = null; + String schema = null; + String tableName = null; + Token iot = null; +} +{ + <R_CREATE> [ <K_GLOBAL> <K_TEMPORARY> ] <R_TABLE> + dottedName=OracleObjectNamePossiblyDotted() + { + tableName = dottedName; + if (dottedName.contains(".")) { + int idx = dottedName.indexOf("."); + schema = dottedName.substring(0, idx); + tableName = dottedName.substring(idx+1, dottedName.length()); + } + tableType = new TableType(tableName); + if (schema != null) { + tableType.setSchema(schema); + } + } + <O_OPENPAREN> columnDeclarations(tableType) <O_CLOSEPAREN> + [ <K_ORGANIZATION> ] [ iot=<R_INDEX> ] [ <R_NOCOMPRESS> ] [ <K_OVERFLOW> ] + [ onCommit() ] <O_SEMICOLON> + <EOF> + { + if (iot != null) { + tableType.setIOT(true); + } + typesRepository.setDatabaseType(tableName, tableType); + return tableType; + } +} + +// type at 'top-level' +CompositeDatabaseType parseType(): +{CompositeDatabaseType databaseType = null; + DatabaseType enclosedType = null; + String dottedName = null; + String schema = null; + String typeName = null; + Token vsize = null; + boolean varray = false; + boolean nestedTable = false; +} +{ + <R_CREATE> [ orReplace() ] <R_TYPE> + dottedName=OracleObjectNamePossiblyDotted() + { + typeName = dottedName; + if (dottedName.contains(".")) { + int idx = dottedName.indexOf("."); + schema = dottedName.substring(0, idx); + typeName = dottedName.substring(idx+1, dottedName.length()); + } + } + [ <K_FORCE> ] [ <K_OID> <S_CHAR_LITERAL> ] [ invokerRights() ] as() + [ <K_OBJECT> <O_OPENPAREN> + { + databaseType = new ObjectType(typeName); + if (schema != null) { + ((ObjectType)databaseType).setSchema(schema); + } + } columnDeclarations(databaseType) constructorDeclaration() <O_CLOSEPAREN> + | <K_VARRAY> <O_OPENPAREN> vsize=<S_NUMBER> <O_CLOSEPAREN> <R_OF> + { + databaseType = new VArrayType(typeName); + if (schema != null) { + ((VArrayType)databaseType).setSchema(schema); + } + if (vsize != null) { + Long size = Long.decode(vsize.image); + ((VArrayType)databaseType).setSize(size); + } + } enclosedType=columnTypeSpec(databaseType) + | <R_TABLE> <R_OF> + { + databaseType = new ObjectTableType(typeName); + if (schema != null) { + ((ObjectTableType)databaseType).setSchema(schema); + } + } enclosedType=columnTypeSpec(databaseType) + ] + [ [ <R_NOT> ] ( <K_FINAL> | <K_INSTANTIABLE> ) ] [ <O_SEMICOLON> ] + <EOF> + { + if (enclosedType != null) { + ((CompositeDatabaseType)databaseType).setEnclosedType(enclosedType); + } + typesRepository.setDatabaseType(typeName, databaseType); + return databaseType; + } +} + +void columnDeclarations(CompositeDatabaseType enclosingType): +{} +{ + (LOOKAHEAD(2) constructor() | columnDeclaration(enclosingType) | constraintDeclaration(enclosingType) ) + [ <O_COMMA> columnDeclarations(enclosingType) ] +} + +void columnDeclaration(CompositeDatabaseType enclosingType): +{String s = null; + String pk = null; + boolean notNull = false; + DatabaseType columnType = null; + FieldType column = null; +} +{ + s=OracleObjectName() columnType=columnTypeSpec(enclosingType) [ notNull=notNull() ] + { + column = new FieldType(s); + if (enclosingType != null) { + if (enclosingType.isPLSQLRecordType()) { + ((PLSQLRecordType)enclosingType).addField(column); + } + else if (enclosingType.isTableType()) { + ((TableType)enclosingType).addColumn(column); + } + else if (enclosingType.isObjectType()) { + ((ObjectType)enclosingType).addField(column); + } + } + column.setEnclosedType(columnType); + if (columnType instanceof UnresolvedType) { + ((UnresolvedType)columnType).setOwningType(column); + } + if (notNull) { + column.setNotNull(); + } + } +} + +void constraintDeclaration(CompositeDatabaseType enclosingType): +{String s = null; + String pk = null; +} +{ + [ <R_CONSTRAINT> ] [ OracleObjectName() ] + ( + <R_PRIMARY> <K_KEY> <O_OPENPAREN> pkList((TableType)enclosingType) <O_CLOSEPAREN> + | <R_CHECK> <O_OPENPAREN> skipToClosingParen() <O_CLOSEPAREN> + | <R_UNIQUE> <O_OPENPAREN> uniqList() <O_CLOSEPAREN> + ) [ <K_ENABLE> ] +} + +DatabaseType columnTypeSpec(CompositeDatabaseType enclosingType): +{String s = null; + Token t = null; + DatabaseType dt = null;} +{ + ( + LOOKAHEAD(2) + dt=datatype() + | s=columnSpec() [ <O_OPENPAREN> t=<S_NUMBER> <O_CLOSEPAREN> ] + ) [ <R_CONSTRAINT> <S_QUOTED_IDENTIFIER> ] + { + if (s != null) { + if (s.contains(".")) { + int dotIdx = s.indexOf("."); + String namePart1 = s.substring(0, dotIdx); + String namePart2 = s.substring(dotIdx+1, s.length()); + String schemaName = null; + if (enclosingType.isTableType()) { + schemaName = ((TableType)enclosingType).getSchema(); + } else if (enclosingType.isObjectTableType()) { + schemaName = ((ObjectTableType)enclosingType).getSchema(); + } else if (enclosingType.isObjectType()) { + schemaName = ((ObjectType)enclosingType).getSchema(); + } else if (enclosingType.isPLSQLType()) { + schemaName = ((PLSQLType)enclosingType).getParentType().getSchema(); + } else if (enclosingType.isVArrayType()) { + schemaName = ((VArrayType)enclosingType).getSchema(); + } + if (schemaName != null && schemaName.equals(namePart1)) { + s = namePart2; + } + } + for (String typeName : localTypes.keySet()) { + if (typeName.equals(s)) { + dt = localTypes.get(s); + break; + } + } + if (dt == null) { + if (t != null) { + Long size = Long.decode(t.image); + dt = new UnresolvedSizedType(s, size); + } + else { + dt = new UnresolvedType(s); + } + ((UnresolvedType)dt).setOwningType(enclosingType); + } + } + return dt; + } +} + +void constructorDeclaration(): +{} +{ + [ <K_CONSTRUCTOR> skipToReturn() <K_SELF><R_AS><K_RESULT> ] + [ <O_COMMA> constructorDeclaration() ] +} + +void uniqList(): +{} +{ + OracleObjectName() ( <O_COMMA> OracleObjectName() )* +} + +void pkList(TableType tableType): +{} +{ + pk(tableType) ( <O_COMMA> pk(tableType) )* +} + +void pk(TableType tableType): +{ +String s = null; +} +{ + s=OracleObjectName() + { + List<FieldType> columns = tableType.getColumns(); + for (FieldType column : columns) { + if (column.getFieldName().equals(s)) { + column.setPk(); + break; + } + } + } +} + +void packageDeclaration(PLSQLPackageType packageType) : +{} +{ + typeOrSubTypeDeclaration(packageType) + | cursorDeclaration(packageType) + | procedureSpec(packageType) + | functionSpec(packageType) + | LOOKAHEAD(2) variableDeclaration(packageType) + | pragmaDeclaration() +} + +void variableDeclaration(PLSQLPackageType packageType): +{String varName = null; + DatabaseType varType=null;} +{ + varName=OracleObjectName() + ( + LOOKAHEAD(2) <R_EXCEPTION> + | [ LOOKAHEAD(2) <K_CONSTANT> ] varType=typeSpec() [ <R_NOT> <R_NULL> ] [ variableDefaultAssignment() ] + ) + <O_SEMICOLON> + { + FieldType variable = new FieldType(varName); + variable.setEnclosedType(varType); + packageType.addLocalVariable(variable); + if (varType.isROWTYPEType()) { + ((ROWTYPEType)varType).setPackageType(packageType); + } + } +} + +void variableDefaultAssignment(): +{} +{ + ( <O_ASSIGN> | <R_DEFAULT> ) skipToSemiColon() +} + +DatabaseType datatype(): +{Token t = null; + DatabaseType dt = null; + Token precision = null; + Long sl; + Long pl; + Token scale = null; + Token withTimeZone = null; + Token withLocalTimeZone = null; +} +{ + <K_BINARY_INTEGER> { return BINARY_INTEGER_TYPE;} + | <K_BINARY_FLOAT> { return BINARY_FLOAT_TYPE;} + | <K_BINARY_DOUBLE> { return BINARY_DOUBLE_TYPE;} + | <K_NATURAL> { return NATURAL_TYPE;} + | <K_POSITIVE> { return POSITIVE_TYPE;} + | <K_SIGNTYPE> { return SIGN_TYPE;} + | ( t=<K_NUMBER> + | t=<K_NUMERIC> + | t=<K_DECIMAL> + | t=<K_DEC> + ) [ <O_OPENPAREN> [ precision=<O_ASTERISK > | precision=<S_NUMBER> ] ( <O_COMMA> scale=<S_NUMBER> )* <O_CLOSEPAREN> ] + { + if (t.kind == K_NUMBER || t.kind == K_NUMERIC) { + if (precision != null && precision.image.equals("*")) { + precision = null; + } + if (precision == null) { + if (scale != null && scale.image.equals("0")) { + dt = INTEGER_TYPE; + } + else { + dt = new NumericType(); + } + } + else { + pl = Long.decode(precision.image); + if (scale == null) { + dt = new NumericType(pl); + } + else { + sl = Long.decode(scale.image); + dt = new NumericType(pl, sl); + } + } + //sometimes need to know difference between NUMERIC and NUMBER + if (dt != INTEGER_TYPE && t.kind == K_NUMBER) { + ((NumericType)dt).setNumberSynonym(true); + } + } + else if (t.kind == K_DECIMAL || t.kind == K_DEC) { + if (precision != null && precision.image.equals("*")) { + precision = null; + } + if (precision == null) { + dt = new DecimalType(); + } + else { + pl = Long.decode(precision.image); + if (scale == null) { + dt = new DecimalType(pl); + } + else { + sl = Long.decode(scale.image); + dt = new DecimalType(pl, sl); + } + } + } + return dt; + } + | <K_LONG> [ t=<K_RAW> ] [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (t == null) { + if (precision == null) { + dt = new LongType(); + } + else { + pl = Long.decode(precision.image); + dt = new LongType(pl); + } + } + else { + if (precision == null) { + dt = new LongRawType(); + } + else { + pl = Long.decode(precision.image); + dt = new LongRawType(pl); + } + } + return dt; + } + | <K_RAW> [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (precision == null) { + dt = new RawType(); + } + else { + pl = Long.decode(precision.image); + dt = new RawType(pl); + } + return dt; + } + | <K_BOOLEAN> { return BOOLEAN_TYPE;} + | <K_XMLTYPE> { return XMLTYPE_TYPE;} + | <K_SYSXMLTYPE> { return XMLTYPE_TYPE;} + | <K_DATE> { return DATE_TYPE;} + | <K_INTERVAL> + ( + <K_DAY> [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] <R_TO> <K_SECOND> [ <O_OPENPAREN> scale=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (precision == null) { + dt = new IntervalDayToSecond(); + } + else { + pl = Long.decode(precision.image); + if (scale == null) { + dt = new IntervalDayToSecond(pl); + } + else { + sl = Long.decode(scale.image); + dt = new IntervalDayToSecond(pl, sl); + } + } + return dt; + } + | <K_YEAR> [ <O_OPENPAREN> <S_NUMBER> <O_CLOSEPAREN> ] <R_TO> <K_MONTH> + { + if (precision == null) { + dt = new IntervalYearToMonth(); + } + else { + pl = Long.decode(precision.image); + dt = new IntervalYearToMonth(pl); + } + return dt; + } + ) + | <K_TIME> { return TIME_TYPE;} + | <K_TIMESTAMP> [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + [ <R_WITH> [ withLocalTimeZone=<K_LOCAL> ] withTimeZone=<K_TIME> <K_ZONE> ] + { + if (precision == null) { + dt = new TimeStampType(); + } + else { + pl = Long.decode(precision.image); + dt = new TimeStampType(pl); + } + if (withLocalTimeZone != null) { + ((TimeStampType)dt).setWithLocalTimeZone(); + } + else if (withTimeZone != null) { + ((TimeStampType)dt).setWithTimeZone(); + } + return dt; + } + | <K_INTEGER> { return INTEGER_TYPE;} + | <K_INT> { return INTEGER_TYPE;} + | <K_SMALLINT> { return SMALLINT_TYPE;} + | <K_FLOAT> [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (precision == null) { + return new FloatType(); + } + else { + pl = Long.decode(precision.image); + FloatType ft = new FloatType(pl); + return ft; + } + } + | <K_REAL> { return new RealType();} + | <K_MLSLABEL> { return MLSLABEL_TYPE;} + | <K_PLS_INTEGER> { return PLS_INTEGER_TYPE;} + | <K_SIMPLE_INTEGER> { return SIMPLE_INTEGER_TYPE;} + | <K_SIMPLE_FLOAT> { return SIMPLE_FLOAT_TYPE;} + | <K_SIMPLE_DOUBLE> { return SIMPLE_DOUBLE_TYPE;} + | <K_SYS_REFCURSOR> { return SYS_REFCURSOR_TYPE;} + | <K_BLOB > { return new BlobType();} + | <K_NCLOB> { return new NClobType();} + | <K_BFILE> { return BFILE_TYPE;} + | <K_ROWID> { return ROWID_TYPE;} + | <K_UROWID> [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (precision == null) { + return new URowIdType(); + } + else { + pl = Long.decode(precision.image); + return new URowIdType(pl); + } + } + | <K_DOUBLE> <K_PRECISION> { return new DoubleType();} + | <K_CHAR> [ t=<K_VARYING> ] [ <O_OPENPAREN> precision=<S_NUMBER> [ <K_BYTE> | <K_CHAR> ] <O_CLOSEPAREN> ] + [ <K_CHARACTER> <K_SET> <S_IDENTIFIER> [ <R_CHARSET> ] ] + { + if (t == null) { + if (precision == null) { + return new CharType(); + } + else { + pl = Long.decode(precision.image); + return new CharType(pl); + } + } + else { + // ANSI syntax for VARCHAR2 + if (precision == null) { + return new VarChar2Type(); + } + else { + pl = Long.decode(precision.image); + return new VarChar2Type(pl); + } + } + } + | <K_VARCHAR> [ <K_VARYING> ] [ <O_OPENPAREN> precision=<S_NUMBER> [ <K_BYTE> | <K_CHAR> ] <O_CLOSEPAREN> ] + [ <K_CHARACTER> <K_SET> <S_IDENTIFIER> [ <R_CHARSET> ] ] + { + if (precision == null) { + return new VarCharType(); + } + else { + pl = Long.decode(precision.image); + return new VarCharType(pl); + } + } + | <K_VARCHAR2> [ <K_VARYING> ] [ <O_OPENPAREN> precision=<S_NUMBER> [ <K_BYTE> | <K_CHAR> ] <O_CLOSEPAREN> ] + [ <K_CHARACTER> <K_SET> <S_IDENTIFIER> [ <R_CHARSET> ] ] + { + if (precision == null) { + return new VarChar2Type(); + } + else { + pl = Long.decode(precision.image); + return new VarChar2Type(pl); + } + } + | <K_CHARACTER> [ t=<K_VARYING> ] [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (t == null) { + if (precision == null) { + return new CharType(); + } + else { + pl = Long.decode(precision.image); + return new CharType(pl); + } + } + else { + // ANSI syntax for VARCHAR + if (precision == null) { + return new VarCharType(); + } + else { + pl = Long.decode(precision.image); + return new VarCharType(pl); + } + } + } + | <K_NCHAR> [ t=<K_VARYING> ] [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (t == null) { + if (precision == null) { + return new NCharType(); + } + else { + pl = Long.decode(precision.image); + return new NCharType(pl); + } + } + else { + // ANSI syntax for NVARCHAR2 + if (precision == null) { + return new NVarChar2Type(); + } + else { + pl = Long.decode(precision.image); + return new NVarChar2Type(pl); + } + } + } + | <K_NVARCHAR> [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (precision == null) { + return new NVarChar2Type(); + } + else { + pl = Long.decode(precision.image); + return new NVarChar2Type(pl); + } + } + | <K_NVARCHAR2> [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (precision == null) { + return new NVarChar2Type(); + } + else { + pl = Long.decode(precision.image); + return new NVarChar2Type(pl); + } + } + | <K_NATIONAL> ( <K_CHARACTER> | <K_CHAR> ) [ t=<K_VARYING> ] [ <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> ] + { + if (t == null) { + if (precision == null) { + return new NCharType(); + } + else { + pl = Long.decode(precision.image); + return new NCharType(pl); + } + } + else { + // ANSI syntax for NVARCHAR2 + if (precision == null) { + return new NVarChar2Type(); + } + else { + pl = Long.decode(precision.image); + return new NVarChar2Type(pl); + } + } + } + | <K_CLOB> [ <K_CHARACTER> <K_SET> <S_IDENTIFIER> [ <R_CHARSET> ] ] { return new ClobType();} +} + +DatabaseType typeSpec(): +{boolean isTYPEType = false; + boolean isROWTYPEType = false; + DatabaseType dataType = null; + String spec = null; + String s = null;} +{ + ( LOOKAHEAD(3) + dataType=datatype() + | spec=columnSpec() + [ + ( <O_OPENPAREN> <S_NUMBER> <O_CLOSEPAREN> ) + | + <R_ANCHORED_TYPE> + { + isTYPEType=true; + s = spec + removeQuotes(tokenImage[R_ANCHORED_TYPE]); + } + | + <R_ANCHORED_ROWTYPE> + { + isROWTYPEType =true; + s = spec + removeQuotes(tokenImage[R_ANCHORED_ROWTYPE]); + } + ] + ) + { + if (dataType == null && localTypes != null) { + // spec may need schema/catalog stripped off + String tName = spec; + StringTokenizer stok = new StringTokenizer(spec, "."); + while (stok.hasMoreTokens()) { + tName = stok.nextToken(); + } + for (String typeName : localTypes.keySet()) { + if (typeName.equals(spec)) { + dataType = localTypes.get(spec); + break; + } else if (typeName.equals(tName)) { + dataType = localTypes.get(tName); + break; + } + } + } + if (dataType == null) { + UnresolvedType uType = new UnresolvedType(spec); + if (isTYPEType) { + TYPEType tType = new TYPEType(s); + tType.setEnclosedType(uType); + uType.setOwningType(tType); + dataType = tType; + localTypes.put(spec, dataType); + } + else if (isROWTYPEType) { + ROWTYPEType rType = new ROWTYPEType(s); + rType.setEnclosedType(uType); + uType.setOwningType(rType); + dataType = rType; + localTypes.put(spec, dataType); + } + else { + dataType = uType; + } + } + return dataType; + } +} + +String columnSpec(): +{String s1 = null; + String s2 = null; + String s3 = null;} +{ + s1=OracleObjectName() [ <O_DOT> s2=OracleObjectName() [ <O_DOT> s3=OracleObjectName() ] ] + { + StringBuilder sb = new StringBuilder(s1); + if (s2 != null) { + sb.append('.'); + sb.append(s2); + if (s3 != null) { + sb.append('.'); + sb.append(s3); + } + } + return sb.toString(); + } +} + +String tableSpec(): +{} +{ + OracleObjectName() [ <O_DOT> OracleObjectName() [ <O_ATSIGN> <S_IDENTIFIER> ] ] + {return token.image;} +} + +String typeName(): +{} +{ + OracleObjectName() [ <O_DOT> OracleObjectName() ] + {return token.image;} +} + +void typeOrSubTypeDeclaration(PLSQLPackageType packageType) : +{String s = null;} +{ + typeDeclaration(packageType) + | subtypeDeclaration(packageType) +} + +void typeDeclaration(PLSQLPackageType packageType) : +{String s = null;} +{ + <R_TYPE> s=typeName() <R_IS> aTypeDeclaration(packageType, s) <O_SEMICOLON> +} + +void aTypeDeclaration(PLSQLPackageType packageType, String typeName) : +{String spec = null; + String anchoredTypeName = null; + boolean isTYPEType = false; + boolean isROWTYPEType = false; +} +{ + LOOKAHEAD(2) + recordDeclaration(packageType, typeName) + | plsqlTableDeclaration(packageType, typeName) + | LOOKAHEAD(2) varrayDeclaration(packageType) + | LOOKAHEAD(2) refCursorDeclaration(packageType, typeName) + | LOOKAHEAD(2) + spec=columnSpec() + ( + <R_ANCHORED_TYPE> + { + isTYPEType=true; + anchoredTypeName = spec + removeQuotes(tokenImage[R_ANCHORED_TYPE]); + } + | + <R_ANCHORED_ROWTYPE> + { + isROWTYPEType =true; + anchoredTypeName = spec + removeQuotes(tokenImage[R_ANCHORED_ROWTYPE]); + } + ) + { + DatabaseType dataType = null; + UnresolvedType uType = new UnresolvedType(anchoredTypeName); + if (isTYPEType) { + TYPEType tType = new TYPEType(anchoredTypeName); + tType.setEnclosedType(uType); + uType.setOwningType(tType); + dataType = tType; + } + else if (isROWTYPEType) { + ROWTYPEType rType = new ROWTYPEType(anchoredTypeName); + rType.setEnclosedType(uType); + rType.setPackageType(packageType); + uType.setOwningType(rType); + dataType = rType; + } + PLSQLType newType = new PLSQLType(typeName); + newType.setEnclosedType(dataType); + packageType.addType(newType); + localTypes.put(typeName, newType); + } +} + +void recordDeclaration(PLSQLPackageType packageType, String typeName) : +{ + PLSQLRecordType plsqlRecordType = new PLSQLRecordType(typeName); + plsqlRecordType.setParentType(packageType); +} +{ + <K_RECORD> <O_OPENPAREN> + fieldDeclarations(plsqlRecordType) + <O_CLOSEPAREN> + { + packageType.addType(plsqlRecordType); + localTypes.put(typeName, plsqlRecordType); + } +} + +void fieldDeclarations(PLSQLRecordType plsqlRecordType) : +{} +{ + fieldDeclaration(plsqlRecordType) [ <O_COMMA> fieldDeclarations(plsqlRecordType) ] +} + +void fieldDeclaration(PLSQLRecordType plsqlRecordType): +{ + String s = null; + DatabaseType dataType = null; + FieldType fieldType = null; +} +{ + s=typeName() dataType=typeSpec() [ <R_NOT> <R_NULL> ] [ fieldDefaultAssignment() ] + { + fieldType = new FieldType(s); + fieldType.setEnclosedType(dataType); + plsqlRecordType.addField(fieldType); + if (dataType instanceof UnresolvedType) { + ((UnresolvedType)dataType).setOwningType(plsqlRecordType); + } + } +} + +void fieldDefaultAssignment(): +{} +{ + ( <O_ASSIGN> | <R_DEFAULT> ) skipToNextArg() +} + +void subtypeDeclaration(PLSQLPackageType packageType) : +{String subtypeName; +DatabaseType subtype; +Token notNull = null; +Token rangeStart = null; +Token rangeEnd = null;} +{ + <R_SUBTYPE> subtypeName=OracleObjectName() <R_IS> subtype=typeSpec() + [ <K_RANGE> rangeStart=<S_NUMBER> <O_DOUBLEDOT> rangeEnd=<S_NUMBER> ] + [ <R_NOT> notNull=<R_NULL> ] <O_SEMICOLON> + { + PLSQLSubType newPLSQLSubType = new PLSQLSubType(subtypeName); + newPLSQLSubType.setEnclosedType(subtype); + if (subtype instanceof UnresolvedType) { + ((UnresolvedType)subtype).setOwningType(newPLSQLSubType); + } + if (subtype.isROWTYPEType()) { + ((ROWTYPEType)subtype).setPackageType(packageType); + } + packageType.addType(newPLSQLSubType); + if (notNull != null) { + newPLSQLSubType.setNotNull(true); + } + if (rangeStart != null) { + long rStart = Long.decode(rangeStart.image).longValue(); + long rEnd = Long.decode(rangeEnd.image).longValue(); + newPLSQLSubType.setHasRange(true); + newPLSQLSubType.setRangeStart(rStart); + newPLSQLSubType.setRangeEnd(rEnd); + } + localTypes.put(subtypeName, newPLSQLSubType); + } +} + +void plsqlTableDeclaration(PLSQLPackageType packageType, String typeName) : +{ + PLSQLCollectionType plsqlTable = new PLSQLCollectionType(typeName); + plsqlTable.setParentType(packageType); + DatabaseType nestedType; +} +{ + <R_TABLE> <R_OF> nestedType = typeSpec() [ <R_NOT> <R_NULL> ] + [ <R_INDEX> <R_BY> plsqlTableIndexByDeclaration(plsqlTable) ] + { + if (nestedType instanceof UnresolvedType) { + ((UnresolvedType)nestedType).setOwningType(plsqlTable); + } + plsqlTable.setEnclosedType(nestedType); + packageType.addType(plsqlTable); + localTypes.put(typeName, plsqlTable); + } +} + +void plsqlTableIndexByDeclaration(PLSQLCollectionType plsqlTable) : +{ + DatabaseType indexType = null; + Token precision = null; + Token otherIndexByType = null; +} +{ + ( <K_PLS_INTEGER> {indexType = PLS_INTEGER_TYPE; } + | <K_BINARY_INTEGER> {indexType = BINARY_INTEGER_TYPE; } + | <K_VARCHAR2> <O_OPENPAREN> precision=<S_NUMBER> <O_CLOSEPAREN> + { + if (precision == null) { + indexType = new VarChar2Type(); + } + else { + Long pl = Long.decode(precision.image); + indexType = new VarChar2Type(pl); + } + } + | otherIndexByType=<K_STRING> <O_OPENPAREN> <S_NUMBER> <O_CLOSEPAREN> + { + String indexTypename = otherIndexByType.image; + for (String typeName : localTypes.keySet()) { + if (typeName.equals(indexTypename)) { + indexType = localTypes.get(indexTypename); + break; + } + } + //what else can INDEX BY be? Unresolved for now ... + if (indexType == null) { + indexType = new UnresolvedType(indexTypename); + ((UnresolvedType)indexType).setOwningType(plsqlTable); + } + } + ) + { + plsqlTable.setIndexed(true); + plsqlTable.setIndexType(indexType); + } +} + +void varrayDeclaration(PLSQLPackageType packageType) : +{} +{ + ( <K_VARRAY> | <K_VARYING> <K_ARRAY> ) <O_OPENPAREN> <S_NUMBER> <O_CLOSEPAREN> + <R_OF> datatype() [ <R_NOT> <R_NULL> ] +} + +void refCursorDeclaration(PLSQLPackageType packageType, String cursorTypeName) : +{PLSQLCursorType cursorType = null;} +{ + <K_REF> <R_CURSOR> + { + cursorType = new PLSQLCursorType(cursorTypeName); + cursorType.setParentType(packageType); + packageType.addCursor(cursorType); + localTypes.put(cursorTypeName, cursorType); + } + [ refCursorTypeSpec(cursorType, packageType) ] +} + +void refCursorTypeSpec(PLSQLCursorType cursorType, PLSQLPackageType packageType) : +{String s = null; + String spec = null; + boolean isTYPEType = false; + boolean isROWTYPEType = false; + DatabaseType localType = null; +} +{ + <K_RETURN> spec=OracleObjectName() + [ + <R_ANCHORED_TYPE> + { + isTYPEType = true; + s = spec + removeQuotes(tokenImage[R_ANCHORED_TYPE]); + } + | <R_ANCHORED_ROWTYPE> + { + isROWTYPEType = true; + s = spec + removeQuotes(tokenImage[R_ANCHORED_ROWTYPE]); + } + ] + { + //check local variables first + for (FieldType varField : packageType.getLocalVariables()) { + if (spec.equals(varField.getFieldName())) { + if (isTYPEType) { + TYPEType tType = new TYPEType(s); + UnresolvedType uType = new UnresolvedType(s); + tType.setEnclosedType(uType); + uType.setOwningType(tType); + localType = tType; + } + else if (isROWTYPEType) { + ROWTYPEType rType = new ROWTYPEType(s); + rType.setPackageType(packageType); + UnresolvedType uType = new UnresolvedType(s); + rType.setEnclosedType(uType); + uType.setOwningType(rType); + localType = rType; + } + else { + localType = varField.getEnclosedType(); + } + cursorType.setEnclosedType(localType); + break; + } + } + if (localType == null) { + localType = localTypes.get(spec); + if (localType == null) { + UnresolvedType uType = new UnresolvedType(spec); + if (isTYPEType) { + TYPEType tType = new TYPEType(s); + tType.setEnclosedType(uType); + uType.setOwningType(tType); + cursorType.setEnclosedType(tType); + } + else if (isROWTYPEType) { + ROWTYPEType rType = new ROWTYPEType(s); + rType.setEnclosedType(uType); + rType.setPackageType(packageType); + uType.setOwningType(rType); + cursorType.setEnclosedType(rType); + } + else { + uType.setOwningType(cursorType); + cursorType.setEnclosedType(uType); + } + } + else { + cursorType.setEnclosedType(localType); + } + } + } +} + +void cursorDeclaration(PLSQLPackageType packageType) : +{Token t = null;} +{ + <R_CURSOR> skipToSemiColon() +} + +// Procedure Specification +void procedureSpec(PLSQLPackageType packageType) : +{String procedureName= null; + ProcedureType procedureType = null; +} +{ + <R_PROCEDURE> procedureName=OracleObjectName() + { + procedureType = new ProcedureType(procedureName); + procedureType.setCatalogName(packageType.getPackageName()); + procedureType.setSchema(packageType.getSchema()); + procedureType.setParentType(packageType); + } + [ <O_OPENPAREN> argumentList(procedureType) <O_CLOSEPAREN> ] + <O_SEMICOLON> + { + packageType.addProcedure(procedureType); + for (ArgumentType argumentType : procedureType.getArguments()) { + DatabaseType databaseType = argumentType.getEnclosedType(); + if (databaseType.isROWTYPEType()) { + ((ROWTYPEType)databaseType).setPackageType(packageType); + } + } + } +} + +void argumentList(ProcedureType procedureType) : +{} +{ + argument(procedureType) ( <O_COMMA> argument(procedureType) )* +} + +// Function Specification +void functionSpec(PLSQLPackageType packageType) : +{String functionName= null; + FunctionType functionType = null; + ArgumentType returnDataType = null; +} +{ + <R_FUNCTION> functionName=OracleObjectName() + { + functionType = new FunctionType(functionName); + functionType.setCatalogName(packageType.getPackageName()); + functionType.setSchema(packageType.getSchema()); + functionType.setParentType(packageType); + } + [ <O_OPENPAREN> argumentList(functionType) <O_CLOSEPAREN> ] + returnDataType = functionReturnSpec(functionType) + [ <K_DETERMINISTIC> | <K_PIPELINED> | <K_PARALLEL_ENABLE> | <K_RESULT_CACHE> ] + <O_SEMICOLON> + { + functionType.setReturnArgument(returnDataType); + packageType.addProcedure(functionType); + for (ArgumentType argumentType : functionType.getArguments()) { + DatabaseType databaseType = argumentType.getEnclosedType(); + if (databaseType.isROWTYPEType()) { + ((ROWTYPEType)databaseType).setPackageType(packageType); + } + } + if (returnDataType.getEnclosedType().isROWTYPEType()) { + ((ROWTYPEType)returnDataType.getEnclosedType()).setPackageType(packageType); + } + } +} + +ArgumentType functionReturnSpec(FunctionType functionType): +{DatabaseType dataType = null;} +{ + (<K_RETURN> dataType=typeSpec()) + { + ArgumentType returnType = new ArgumentType(null); + returnType.setDirection(ArgumentTypeDirection.RETURN); + // may need to strip off schema/catalog name + if (dataType.getTypeName().contains(".")) { + String dataTypeName = dataType.getTypeName(); + int dotIdx = dataTypeName.indexOf("."); + String namePart1 = dataTypeName.substring(0, dotIdx); + String namePart2 = dataTypeName.substring(dotIdx+1, dataTypeName.length()); + if (namePart1.equals(functionType.getCatalogName()) || namePart1.equals(functionType.getSchema())) { + dataType.setTypeName(namePart2); + } else if (schemaPatterns != null) { + for (String possibleSchemaName : schemaPatterns) { + if (namePart1.equals(possibleSchemaName)) { + dataType.setTypeName(namePart2); + break; + } + } + } + } + returnType.setEnclosedType(dataType); + if (dataType instanceof UnresolvedType) { + ((UnresolvedType)dataType).setOwningType(returnType); + } + return returnType; + } +} + +void argument(ProcedureType procedureType) : +{String s = null; + ArgumentType argumentType = null; + DatabaseType argumentDataType = null; + ArgumentTypeDirection argDirection = ArgumentTypeDirection.IN; // by default, arguments are IN + String direction = null; + boolean defaultAssignment = false; +} +{ + s=OracleObjectName() [ LOOKAHEAD(2) (direction=direction()) ] + [ LOOKAHEAD(2) <K_NOCOPY> ] argumentDataType=typeSpec() [ defaultAssignment=argumentDefaultAssignment() ] + { + // may need to strip off schema/catalog name + if (argumentDataType.getTypeName().contains(".")) { + String argumentDataTypeName = argumentDataType.getTypeName(); + int dotIdx = argumentDataTypeName.indexOf("."); + String namePart1 = argumentDataTypeName.substring(0, dotIdx); + String namePart2 = argumentDataTypeName.substring(dotIdx+1, argumentDataTypeName.length()); + if (namePart1.equals(procedureType.getCatalogName()) || namePart1.equals(procedureType.getSchema())) { + argumentDataType.setTypeName(namePart2); + } else if (schemaPatterns != null) { + for (String possibleSchemaName : schemaPatterns) { + if (namePart1.equals(possibleSchemaName)) { + argumentDataType.setTypeName(namePart2); + break; + } + } + } + } + argumentType = new ArgumentType(s); + argumentType.setEnclosedType(argumentDataType); + if (argumentDataType instanceof UnresolvedType) { + ((UnresolvedType)argumentDataType).setOwningType(argumentType); + } + if (direction != null) { + if ("OUT".equals(direction)) { + argDirection = ArgumentTypeDirection.OUT; + } + else if ("IN OUT".equals(direction)) { + argDirection = ArgumentTypeDirection.INOUT; + } + } + argumentType.setDirection(argDirection); + if (defaultAssignment) { + argumentType.setOptional(); + } + procedureType.addArgument(argumentType); + } +} + +boolean argumentDefaultAssignment(): +{} +{ + ( <O_ASSIGN> | <R_DEFAULT> ) skipToNextArg() + { + return true; + } +} + +void exceptionDeclaration() : +{} +{ + <S_IDENTIFIER> <R_EXCEPTION> <O_SEMICOLON> +} + +void pragmaDeclaration() : +{} +{ + <K_PRAGMA> skipToSemiColon() +} + +void orReplace(): +{ +} +{ + <R_OR> <K_REPLACE> +} + +void invokerRights(): +{ +} +{ + <K_AUTHID> (<K_CURRENT_USER> | <K_DEFINER>) +} + +void as(): +{ +} +{ + <R_AS> | <R_IS> +} + +void onCommit(): +{ +} +{ + ( <R_ON> <K_COMMIT> ( <K_DELETE> | <K_PRESERVE> ) <K_ROWS> ) +} + +boolean notNull(): +{ +} +{ + <R_NOT> <R_NULL> [ <K_ENABLE> ] + { + return true; + } +} + +String direction(): +{String dir = ""; +} +{ + ( + LOOKAHEAD(2) + <R_IN> {dir = "IN";} [ LOOKAHEAD(2) <K_OUT> {dir += " OUT";} ] + | <K_OUT> {dir = "OUT";} + ) + { + return dir; + } +} + +String OracleObjectName(): +{String keyword=null;} +{ + LOOKAHEAD(2) + keyword=keywords() {return keyword;} + | <S_IDENTIFIER> {return token.image;} + | <S_QUOTED_IDENTIFIER> { return removeQuotes(token.image);} +} + +String OracleObjectNamePossiblyDotted(): +{String possiblyDottedName = ""; + String afterDot = null; +} +{ + possiblyDottedName=OracleObjectName() [ <O_DOT> afterDot=OracleObjectName() ] + { + if (afterDot != null) { + possiblyDottedName += "." + afterDot; + } + return possiblyDottedName; + } +} + +void skipToSemiColon(): +{} +{ + { + Token t = getNextToken(); + while (t.kind != O_SEMICOLON) { + t = getNextToken(); + } + token_source.input_stream.backup(1); + } +} + +void skipToClosingParen(): +{} +{ + { + Token t = getNextToken(); + while (t.kind != O_CLOSEPAREN) { + t = getNextToken(); + } + token_source.input_stream.backup(1); + } +} + +void skipToNextArg(): +{} +{ + { + Token t = getNextToken(); + while (t.kind != O_COMMA && t.kind != O_CLOSEPAREN) { + t = getNextToken(); + } + token_source.input_stream.backup(1); + } +} + +void skipToEnd(): +{} +{ + { + /** skip through all the tokens. */ + Token t = getNextToken(); + while (t.kind != EOF) { + t = getNextToken(); + } + } +} + +void skipToReturn(): +{} +{ + { + Token t = getNextToken(); + while (t.kind != K_RETURN) { + t = getNextToken(); + } + } +} + +void constructor(): +{ Token t = token; +} +{ + < K_CONSTRUCTOR > + { + + token = t; + } +} \ No newline at end of file
diff --git a/oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/util/transforms.properties b/oracleddlparser/src/main/resources/org/eclipse/persistence/tools/oracleddl/util/transforms.properties similarity index 100% rename from oracleddlparser/src/main/java/org/eclipse/persistence/tools/oracleddl/util/transforms.properties rename to oracleddlparser/src/main/resources/org/eclipse/persistence/tools/oracleddl/util/transforms.properties