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