This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 9c4283461ed1346132c49d632a9668a235ecf0b3
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Thu Aug 26 11:29:33 2021 +0200

    Regen
---
 .../camel/catalog/components/google-pubsub.json    |    6 +-
 .../sql/stored/template/generated/SSPTParser.java  |  833 ++++++-------
 .../template/generated/SSPTParserConstants.java    |  110 +-
 .../template/generated/SSPTParserTokenManager.java | 1222 ++++++++++----------
 4 files changed, 1097 insertions(+), 1074 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-pubsub.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-pubsub.json
index 184efd4..9578fe4 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-pubsub.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-pubsub.json
@@ -22,8 +22,9 @@
     "lenientProperties": false
   },
   "componentProperties": {
+    "authenticate": { "kind": "property", "displayName": "Authenticate", 
"group": "common", "label": "common", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": true, "description": "Use Credentials when interacting 
with PubSub service (no authentication is required when using emulator)." },
     "endpoint": { "kind": "property", "displayName": "Endpoint", "group": 
"common", "label": "common", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Endpoint to use with local Pub\/Sub emulator." },
-    "serviceAccountKey": { "kind": "property", "displayName": "Service Account 
Key", "group": "common", "label": "common", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "The Service account key that can be used as 
credentials for the PubSub publisher\/subscriber. It can be loaded by default 
from classpath, but you can prefix with classpath:, file:, or http: to load the 
resource from different s [...]
+    "serviceAccountKey": { "kind": "property", "displayName": "Service Account 
Key", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "The Service account key that can be 
used as credentials for the PubSub publisher\/subscriber. It can be loaded by 
default from classpath, but you can prefix with classpath:, file:, or http: to 
load the resource from different  [...]
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a me [...]
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
     "publisherCacheSize": { "kind": "property", "displayName": "Publisher 
Cache Size", "group": "producer", "label": "producer", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "description": "Maximum number of producers to cache. This 
could be increased if you have producers for lots of different topics." },
@@ -35,10 +36,11 @@
     "projectId": { "kind": "path", "displayName": "Project Id", "group": 
"common", "label": "common", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The Google Cloud PubSub Project Id" },
     "destinationName": { "kind": "path", "displayName": "Destination Name", 
"group": "common", "label": "common", "required": true, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The Destination Name. For 
the consumer this will be the subscription name, while for the producer this 
will be the topic name." },
     "ackMode": { "kind": "parameter", "displayName": "Ack Mode", "group": 
"common", "label": "", "required": false, "type": "object", "javaType": 
"org.apache.camel.component.google.pubsub.GooglePubsubConstants.AckMode", 
"enum": [ "AUTO", "NONE" ], "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": "AUTO", "description": "AUTO = exchange gets 
ack'ed\/nack'ed on completion. NONE = downstream process has to ack\/nack 
explicitly" },
+    "authenticate": { "kind": "parameter", "displayName": "Authenticate", 
"group": "common", "label": "common", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": true, "description": "Use Credentials when interacting 
with PubSub service (no authentication is required when using emulator)." },
     "concurrentConsumers": { "kind": "parameter", "displayName": "Concurrent 
Consumers", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1", "description": "The number of 
parallel streams consuming from the subscription" },
     "loggerId": { "kind": "parameter", "displayName": "Logger Id", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "Logger ID to use when a match to the parent route required" },
     "maxMessagesPerPoll": { "kind": "parameter", "displayName": "Max Messages 
Per Poll", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1", "description": "The max number of 
messages to receive from the server in a single API call" },
-    "serviceAccountKey": { "kind": "parameter", "displayName": "Service 
Account Key", "group": "common", "label": "common", "required": true, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
Service account key that can be used as credentials for the PubSub 
publisher\/subscriber. It can be loaded by default from classpath, but you can 
prefix with classpath:, file:, or http: to load the r [...]
+    "serviceAccountKey": { "kind": "parameter", "displayName": "Service 
Account Key", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "The Service account key that can be 
used as credentials for the PubSub publisher\/subscriber. It can be loaded by 
default from classpath, but you can prefix with classpath:, file:, or http: to 
load the resource from different [...]
     "synchronousPull": { "kind": "parameter", "displayName": "Synchronous 
Pull", "group": "common", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Synchronously pull batches of 
messages" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a m [...]
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By default the 
con [...]
diff --git 
a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
 
b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
index 13c79f5..319202c 100644
--- 
a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
+++ 
b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParser.java
@@ -3,419 +3,476 @@ package 
org.apache.camel.component.sql.stored.template.generated;
 
 import java.io.Reader;
 
-import org.apache.camel.spi.ClassResolver;
 import org.apache.camel.component.sql.stored.template.ast.*;
+import org.apache.camel.spi.ClassResolver;
 
 public class SSPTParser implements SSPTParserConstants {
-   int parameterNameCounter = 0;
-
-   ClassResolver classResolver;
-
-   public SSPTParser(Reader reader, ClassResolver classResolver) {
-     this(reader);
-     this.classResolver = classResolver;
-   }
-
-   String createNextParameterName() {
-      return "_"+(parameterNameCounter++);
-   }
-
-  final public Template parse() throws ParseException {
-    Token procedureName;
-    Template template = new Template();
-    Object parameter = null;
-    procedureName = jj_consume_token(IDENTIFIER);
-    jj_consume_token(PROCEDURE_BEGIN);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case 2:
-    case 3:
-    case NUMBER:
-    case PARAMETER_NAME:
-    case IDENTIFIER:
-      parameter = Parameter();
-                                                                               
template.addParameter(parameter);
-      label_1:
-      while (true) {
-        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-        case SEPARATOR:
-          ;
-          break;
-        default:
-          jj_la1[0] = jj_gen;
-          break label_1;
-        }
-        jj_consume_token(SEPARATOR);
-        parameter = Parameter();
-                template.addParameter(parameter);
-      }
-      break;
-    default:
-      jj_la1[1] = jj_gen;
-      ;
+    int parameterNameCounter = 0;
+
+    ClassResolver classResolver;
+
+    public SSPTParser(Reader reader, ClassResolver classResolver) {
+        this(reader);
+        this.classResolver = classResolver;
     }
-    jj_consume_token(PROCEDURE_END);
-    jj_consume_token(0);
-   template.setProcedureName(procedureName.toString());
-   {if (true) return template;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Object Parameter() throws ParseException {
-    Object param;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case NUMBER:
-    case PARAMETER_NAME:
-    case IDENTIFIER:
-      param = InParameter();
-                             {if (true) return param;}
-      break;
-    case 2:
-      param = OutParameter();
-                                                                       {if 
(true) return param;}
-      break;
-    case 3:
-      param = InOutParameter();
-                                                                               
                                    {if (true) return param;}
-      break;
-    default:
-      jj_la1[2] = jj_gen;
-      jj_consume_token(-1);
-      throw new ParseException();
+
+    String createNextParameterName() {
+        return "_" + (parameterNameCounter++);
     }
-    throw new Error("Missing return statement in function");
-  }
-
-  final public InParameter InParameter() throws ParseException {
-     Token sqlTypeToken;
-     String name = null;
-     Token valueSrcToken;
-     Integer scale = null;
-     String typeName = null;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case PARAMETER_NAME:
-      name = ParameterName();
-      jj_consume_token(1);
-      break;
-    default:
-      jj_la1[3] = jj_gen;
-      ;
+
+    final public Template parse() throws ParseException {
+        Token procedureName;
+        Template template = new Template();
+        Object parameter = null;
+        procedureName = jj_consume_token(IDENTIFIER);
+        jj_consume_token(PROCEDURE_BEGIN);
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case 2:
+            case 3:
+            case NUMBER:
+            case PARAMETER_NAME:
+            case IDENTIFIER:
+                parameter = Parameter();
+                template.addParameter(parameter);
+                label_1: while (true) {
+                    switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+                        case SEPARATOR:
+                            ;
+                            break;
+                        default:
+                            jj_la1[0] = jj_gen;
+                            break label_1;
+                    }
+                    jj_consume_token(SEPARATOR);
+                    parameter = Parameter();
+                    template.addParameter(parameter);
+                }
+                break;
+            default:
+                jj_la1[1] = jj_gen;
+                ;
+        }
+        jj_consume_token(PROCEDURE_END);
+        jj_consume_token(0);
+        template.setProcedureName(procedureName.toString());
+        {
+            if (true)
+                return template;
+        }
+        throw new Error("Missing return statement in function");
     }
-    sqlTypeToken = ParameterSqlType();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SCALE:
-      scale = Scale();
-      break;
-    default:
-      jj_la1[4] = jj_gen;
-      ;
+
+    final public Object Parameter() throws ParseException {
+        Object param;
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case NUMBER:
+            case PARAMETER_NAME:
+            case IDENTIFIER:
+                param = InParameter(); {
+                if (true)
+                    return param;
+            }
+                break;
+            case 2:
+                param = OutParameter(); {
+                if (true)
+                    return param;
+            }
+                break;
+            case 3:
+                param = InOutParameter(); {
+                if (true)
+                    return param;
+            }
+                break;
+            default:
+                jj_la1[2] = jj_gen;
+                jj_consume_token(-1);
+                throw new ParseException();
+        }
+        throw new Error("Missing return statement in function");
     }
-    jj_consume_token(1);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case PARAMETER_NAME:
-      typeName = ParameterName();
-      jj_consume_token(1);
-      break;
-    default:
-      jj_la1[5] = jj_gen;
-      ;
+
+    final public InParameter InParameter() throws ParseException {
+        Token sqlTypeToken;
+        String name = null;
+        Token valueSrcToken;
+        Integer scale = null;
+        String typeName = null;
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case PARAMETER_NAME:
+                name = ParameterName();
+                jj_consume_token(1);
+                break;
+            default:
+                jj_la1[3] = jj_gen;
+                ;
+        }
+        sqlTypeToken = ParameterSqlType();
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case SCALE:
+                scale = Scale();
+                break;
+            default:
+                jj_la1[4] = jj_gen;
+                ;
+        }
+        jj_consume_token(1);
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case PARAMETER_NAME:
+                typeName = ParameterName();
+                jj_consume_token(1);
+                break;
+            default:
+                jj_la1[5] = jj_gen;
+                ;
+        }
+        valueSrcToken = InParameterSrc();
+        int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);
+
+        {
+            if (true)
+                return new InParameter(
+                        name == null ? createNextParameterName() : name, 
sqlType, valueSrcToken, scale, typeName);
+        }
+        throw new Error("Missing return statement in function");
     }
-    valueSrcToken = InParameterSrc();
+
+    final public OutParameter OutParameter() throws ParseException {
+        Token sqlTypeToken;
+        String outValueMapKey;
+        Integer scale = null;
+        String typeName = null;
+        jj_consume_token(2);
+        sqlTypeToken = ParameterSqlType();
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case SCALE:
+                scale = Scale();
+                break;
+            default:
+                jj_la1[6] = jj_gen;
+                ;
+        }
+        jj_consume_token(1);
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case PARAMETER_NAME:
+                typeName = ParameterName();
+                jj_consume_token(1);
+                break;
+            default:
+                jj_la1[7] = jj_gen;
+                ;
+        }
+        outValueMapKey = OutHeader();
+        {
+            if (true)
+                return new OutParameter(ParseHelper.parseSqlType(sqlTypeToken, 
classResolver), outValueMapKey, scale, typeName);
+        }
+        throw new Error("Missing return statement in function");
+    }
+
+    final public InOutParameter InOutParameter() throws ParseException {
+        Token sqlTypeToken;
+        Token valueSrcToken;
+        Integer scale = null;
+        String typeName = null;
+        String outValueMapKey;
+        jj_consume_token(3);
+        sqlTypeToken = ParameterSqlType();
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case SCALE:
+                scale = Scale();
+                break;
+            default:
+                jj_la1[8] = jj_gen;
+                ;
+        }
+        jj_consume_token(1);
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case PARAMETER_NAME:
+                typeName = ParameterName();
+                jj_consume_token(1);
+                break;
+            default:
+                jj_la1[9] = jj_gen;
+                ;
+        }
+        valueSrcToken = InParameterSrc();
+        jj_consume_token(1);
+        outValueMapKey = OutHeader();
         int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);
 
-        {if (true) return new InParameter(name == null ? 
createNextParameterName() : name, sqlType, valueSrcToken, scale, typeName);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public OutParameter OutParameter() throws ParseException {
-     Token sqlTypeToken;
-     String outValueMapKey;
-     Integer scale = null;
-     String typeName = null;
-    jj_consume_token(2);
-    sqlTypeToken = ParameterSqlType();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SCALE:
-      scale = Scale();
-      break;
-    default:
-      jj_la1[6] = jj_gen;
-      ;
+        {
+            if (true)
+                return new InOutParameter(sqlType, valueSrcToken, scale, 
typeName, outValueMapKey);
+        }
+        throw new Error("Missing return statement in function");
     }
-    jj_consume_token(1);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case PARAMETER_NAME:
-      typeName = ParameterName();
-      jj_consume_token(1);
-      break;
-    default:
-      jj_la1[7] = jj_gen;
-      ;
+
+    final public String ParameterName() throws ParseException {
+        Token t = null;
+        t = jj_consume_token(PARAMETER_NAME);
+        {
+            if (true)
+                return ParseHelper.removeQuotes(t.toString());
+        }
+        throw new Error("Missing return statement in function");
     }
-    outValueMapKey = OutHeader();
-        {if (true) return new 
OutParameter(ParseHelper.parseSqlType(sqlTypeToken, classResolver), 
outValueMapKey, scale, typeName);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public InOutParameter InOutParameter() throws ParseException {
-     Token sqlTypeToken;
-     Token valueSrcToken;
-     Integer scale = null;
-     String typeName = null;
-     String outValueMapKey;
-    jj_consume_token(3);
-    sqlTypeToken = ParameterSqlType();
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SCALE:
-      scale = Scale();
-      break;
-    default:
-      jj_la1[8] = jj_gen;
-      ;
+
+    final public Integer Scale() throws ParseException {
+        Token t;
+        t = jj_consume_token(SCALE);
+        {
+            if (true)
+                return ParseHelper.parseScale(t);
+        }
+        throw new Error("Missing return statement in function");
     }
-    jj_consume_token(1);
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case PARAMETER_NAME:
-      typeName = ParameterName();
-      jj_consume_token(1);
-      break;
-    default:
-      jj_la1[9] = jj_gen;
-      ;
+
+    final public Token ParameterSqlType() throws ParseException {
+        Token t;
+        Token scaleToken;
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case NUMBER:
+                t = jj_consume_token(NUMBER);
+                break;
+            case IDENTIFIER:
+                t = jj_consume_token(IDENTIFIER);
+                break;
+            default:
+                jj_la1[10] = jj_gen;
+                jj_consume_token(-1);
+                throw new ParseException();
+        }
+        {
+            if (true)
+                return t;
+        }
+        throw new Error("Missing return statement in function");
     }
-    valueSrcToken = InParameterSrc();
-    jj_consume_token(1);
-    outValueMapKey = OutHeader();
-        int sqlType = ParseHelper.parseSqlType(sqlTypeToken, classResolver);
 
-        {if (true) return new InOutParameter(sqlType, valueSrcToken, scale, 
typeName, outValueMapKey);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public String ParameterName() throws ParseException {
-    Token t = null;
-    t = jj_consume_token(PARAMETER_NAME);
-        {if (true) return ParseHelper.removeQuotes(t.toString()) ;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Integer Scale() throws ParseException {
-    Token t;
-    t = jj_consume_token(SCALE);
-        {if (true) return ParseHelper.parseScale(t);}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Token ParameterSqlType() throws ParseException {
-    Token t;
-    Token scaleToken;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case NUMBER:
-      t = jj_consume_token(NUMBER);
-      break;
-    case IDENTIFIER:
-      t = jj_consume_token(IDENTIFIER);
-      break;
-    default:
-      jj_la1[10] = jj_gen;
-      jj_consume_token(-1);
-      throw new ParseException();
+    final public String OutHeader() throws ParseException {
+        Token token;
+        token = jj_consume_token(IDENTIFIER);
+        {
+            if (true)
+                return token.toString();
+        }
+        throw new Error("Missing return statement in function");
+    }
+
+    final public Token InParameterSrc() throws ParseException {
+        Token ret = null;
+        switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) {
+            case SIMPLE_EXP_TOKEN:
+                ret = jj_consume_token(SIMPLE_EXP_TOKEN); {
+                if (true)
+                    return ret;
+            }
+                break;
+            case PARAMETER_POS_TOKEN:
+                ret = jj_consume_token(PARAMETER_POS_TOKEN); {
+                if (true)
+                    return ret;
+            }
+                break;
+            default:
+                jj_la1[11] = jj_gen;
+                jj_consume_token(-1);
+                throw new ParseException();
+        }
+        throw new Error("Missing return statement in function");
+    }
+
+    /** Generated Token Manager. */
+    public SSPTParserTokenManager token_source;
+    SimpleCharStream jj_input_stream;
+    /** Current token. */
+    public Token token;
+    /** Next token. */
+    public Token jj_nt;
+    private int jj_ntk;
+    private int jj_gen;
+    final private int[] jj_la1 = new int[12];
+    static private int[] jj_la1_0;
+    static {
+        jj_la1_init_0();
+    }
+
+    private static void jj_la1_init_0() {
+        jj_la1_0 = new int[] {
+                0x800, 0x3002c, 0x3002c, 0x10000, 0x10, 0x10000, 0x10, 
0x10000, 0x10, 0x10000, 0x20020, 0xc000, };
+    }
+
+    /** Constructor with InputStream. */
+    public SSPTParser(java.io.InputStream stream) {
+        this(stream, null);
+    }
+
+    /** Constructor with InputStream and supplied encoding */
+    public SSPTParser(java.io.InputStream stream, String encoding) {
+        try {
+            jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1);
+        } catch (java.io.UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
+        token_source = new SSPTParserTokenManager(jj_input_stream);
+        token = new Token();
+        jj_ntk = -1;
+        jj_gen = 0;
+        for (int i = 0; i < 12; i++)
+            jj_la1[i] = -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;
+        jj_gen = 0;
+        for (int i = 0; i < 12; i++)
+            jj_la1[i] = -1;
     }
-        {if (true) return t;}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public String OutHeader() throws ParseException {
- Token token;
-    token = jj_consume_token(IDENTIFIER);
-        {if (true) return token.toString();}
-    throw new Error("Missing return statement in function");
-  }
-
-  final public Token InParameterSrc() throws ParseException {
-    Token ret = null;
-    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
-    case SIMPLE_EXP_TOKEN:
-      ret = jj_consume_token(SIMPLE_EXP_TOKEN);
-        {if (true) return ret;}
-      break;
-    case PARAMETER_POS_TOKEN:
-      ret = jj_consume_token(PARAMETER_POS_TOKEN);
-            {if (true) return ret;}
-      break;
-    default:
-      jj_la1[11] = jj_gen;
-      jj_consume_token(-1);
-      throw new ParseException();
+
+    /** Constructor. */
+    public SSPTParser(java.io.Reader stream) {
+        jj_input_stream = new SimpleCharStream(stream, 1, 1);
+        token_source = new SSPTParserTokenManager(jj_input_stream);
+        token = new Token();
+        jj_ntk = -1;
+        jj_gen = 0;
+        for (int i = 0; i < 12; i++)
+            jj_la1[i] = -1;
     }
-    throw new Error("Missing return statement in function");
-  }
-
-  /** Generated Token Manager. */
-  public SSPTParserTokenManager token_source;
-  SimpleCharStream jj_input_stream;
-  /** Current token. */
-  public Token token;
-  /** Next token. */
-  public Token jj_nt;
-  private int jj_ntk;
-  private int jj_gen;
-  final private int[] jj_la1 = new int[12];
-  static private int[] jj_la1_0;
-  static {
-      jj_la1_init_0();
-   }
-   private static void jj_la1_init_0() {
-      jj_la1_0 = new int[] 
{0x800,0x3002c,0x3002c,0x10000,0x10,0x10000,0x10,0x10000,0x10,0x10000,0x20020,0xc000,};
-   }
-
-  /** Constructor with InputStream. */
-  public SSPTParser(java.io.InputStream stream) {
-     this(stream, null);
-  }
-  /** Constructor with InputStream and supplied encoding */
-  public SSPTParser(java.io.InputStream stream, String encoding) {
-    try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } 
catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
-    token_source = new SSPTParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -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;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
-  }
-
-  /** Constructor. */
-  public SSPTParser(java.io.Reader stream) {
-    jj_input_stream = new SimpleCharStream(stream, 1, 1);
-    token_source = new SSPTParserTokenManager(jj_input_stream);
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -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;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
-  }
-
-  /** Constructor with generated Token Manager. */
-  public SSPTParser(SSPTParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
-  }
-
-  /** Reinitialise. */
-  public void ReInit(SSPTParserTokenManager tm) {
-    token_source = tm;
-    token = new Token();
-    jj_ntk = -1;
-    jj_gen = 0;
-    for (int i = 0; i < 12; i++) jj_la1[i] = -1;
-  }
-
-  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) {
-      jj_gen++;
-      return token;
+
+    /** 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;
+        jj_gen = 0;
+        for (int i = 0; i < 12; i++)
+            jj_la1[i] = -1;
     }
-    token = oldToken;
-    jj_kind = kind;
-    throw generateParseException();
-  }
-
-
-/** 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;
-    jj_gen++;
-    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();
+
+    /** Constructor with generated Token Manager. */
+    public SSPTParser(SSPTParserTokenManager tm) {
+        token_source = tm;
+        token = new Token();
+        jj_ntk = -1;
+        jj_gen = 0;
+        for (int i = 0; i < 12; i++)
+            jj_la1[i] = -1;
+    }
+
+    /** Reinitialise. */
+    public void ReInit(SSPTParserTokenManager tm) {
+        token_source = tm;
+        token = new Token();
+        jj_ntk = -1;
+        jj_gen = 0;
+        for (int i = 0; i < 12; i++)
+            jj_la1[i] = -1;
     }
-    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);
-  }
-
-  private java.util.List<int[]> jj_expentries = new 
java.util.ArrayList<int[]>();
-  private int[] jj_expentry;
-  private int jj_kind = -1;
-
-  /** Generate ParseException. */
-  public ParseException generateParseException() {
-    jj_expentries.clear();
-    boolean[] la1tokens = new boolean[18];
-    if (jj_kind >= 0) {
-      la1tokens[jj_kind] = true;
-      jj_kind = -1;
+
+    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) {
+            jj_gen++;
+            return token;
+        }
+        token = oldToken;
+        jj_kind = kind;
+        throw generateParseException();
+    }
+
+    /** 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;
+        jj_gen++;
+        return token;
     }
-    for (int i = 0; i < 12; i++) {
-      if (jj_la1[i] == jj_gen) {
-        for (int j = 0; j < 32; j++) {
-          if ((jj_la1_0[i] & (1<<j)) != 0) {
-            la1tokens[j] = true;
-          }
+
+    /** 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;
     }
-    for (int i = 0; i < 18; i++) {
-      if (la1tokens[i]) {
-        jj_expentry = new int[1];
-        jj_expentry[0] = i;
-        jj_expentries.add(jj_expentry);
-      }
+
+    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);
     }
-    int[][] exptokseq = new int[jj_expentries.size()][];
-    for (int i = 0; i < jj_expentries.size(); i++) {
-      exptokseq[i] = jj_expentries.get(i);
+
+    private java.util.List<int[]> jj_expentries = new 
java.util.ArrayList<int[]>();
+    private int[] jj_expentry;
+    private int jj_kind = -1;
+
+    /** Generate ParseException. */
+    public ParseException generateParseException() {
+        jj_expentries.clear();
+        boolean[] la1tokens = new boolean[18];
+        if (jj_kind >= 0) {
+            la1tokens[jj_kind] = true;
+            jj_kind = -1;
+        }
+        for (int i = 0; i < 12; i++) {
+            if (jj_la1[i] == jj_gen) {
+                for (int j = 0; j < 32; j++) {
+                    if ((jj_la1_0[i] & (1 << j)) != 0) {
+                        la1tokens[j] = true;
+                    }
+                }
+            }
+        }
+        for (int i = 0; i < 18; i++) {
+            if (la1tokens[i]) {
+                jj_expentry = new int[1];
+                jj_expentry[0] = i;
+                jj_expentries.add(jj_expentry);
+            }
+        }
+        int[][] exptokseq = new int[jj_expentries.size()][];
+        for (int i = 0; i < jj_expentries.size(); i++) {
+            exptokseq[i] = jj_expentries.get(i);
+        }
+        return new ParseException(token, exptokseq, tokenImage);
     }
-    return new ParseException(token, exptokseq, tokenImage);
-  }
 
-  /** Enable tracing. */
-  final public void enable_tracing() {
-  }
+    /** Enable tracing. */
+    final public void enable_tracing() {
+    }
 
-  /** Disable tracing. */
-  final public void disable_tracing() {
-  }
+    /** Disable tracing. */
+    final public void disable_tracing() {
+    }
 
 }
diff --git 
a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserConstants.java
 
b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserConstants.java
index f48d31d..b3363d9 100644
--- 
a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserConstants.java
+++ 
b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserConstants.java
@@ -1,67 +1,65 @@
 /* Generated By:JavaCC: Do not edit this line. SSPTParserConstants.java */
 package org.apache.camel.component.sql.stored.template.generated;
 
-
 /**
- * Token literal values and constants.
- * Generated by org.javacc.parser.OtherFilesGen#start()
+ * Token literal values and constants. Generated by 
org.javacc.parser.OtherFilesGen#start()
  */
 public interface SSPTParserConstants {
 
-  /** End of File. */
-  int EOF = 0;
-  /** RegularExpression Id. */
-  int SCALE = 4;
-  /** RegularExpression Id. */
-  int NUMBER = 5;
-  /** RegularExpression Id. */
-  int DIGIT = 6;
-  /** RegularExpression Id. */
-  int LETTER = 7;
-  /** RegularExpression Id. */
-  int SPECIAL = 8;
-  /** RegularExpression Id. */
-  int WHITESPACE = 9;
-  /** RegularExpression Id. */
-  int COMMA = 10;
-  /** RegularExpression Id. */
-  int SEPARATOR = 11;
-  /** RegularExpression Id. */
-  int PROCEDURE_BEGIN = 12;
-  /** RegularExpression Id. */
-  int PROCEDURE_END = 13;
-  /** RegularExpression Id. */
-  int SIMPLE_EXP_TOKEN = 14;
-  /** RegularExpression Id. */
-  int PARAMETER_POS_TOKEN = 15;
-  /** RegularExpression Id. */
-  int PARAMETER_NAME = 16;
-  /** RegularExpression Id. */
-  int IDENTIFIER = 17;
+    /** End of File. */
+    int EOF = 0;
+    /** RegularExpression Id. */
+    int SCALE = 4;
+    /** RegularExpression Id. */
+    int NUMBER = 5;
+    /** RegularExpression Id. */
+    int DIGIT = 6;
+    /** RegularExpression Id. */
+    int LETTER = 7;
+    /** RegularExpression Id. */
+    int SPECIAL = 8;
+    /** RegularExpression Id. */
+    int WHITESPACE = 9;
+    /** RegularExpression Id. */
+    int COMMA = 10;
+    /** RegularExpression Id. */
+    int SEPARATOR = 11;
+    /** RegularExpression Id. */
+    int PROCEDURE_BEGIN = 12;
+    /** RegularExpression Id. */
+    int PROCEDURE_END = 13;
+    /** RegularExpression Id. */
+    int SIMPLE_EXP_TOKEN = 14;
+    /** RegularExpression Id. */
+    int PARAMETER_POS_TOKEN = 15;
+    /** RegularExpression Id. */
+    int PARAMETER_NAME = 16;
+    /** RegularExpression Id. */
+    int IDENTIFIER = 17;
 
-  /** Lexical state. */
-  int DEFAULT = 0;
+    /** Lexical state. */
+    int DEFAULT = 0;
 
-  /** Literal token values. */
-  String[] tokenImage = {
-    "<EOF>",
-    "\" \"",
-    "\"OUT \"",
-    "\"INOUT \"",
-    "<SCALE>",
-    "<NUMBER>",
-    "<DIGIT>",
-    "<LETTER>",
-    "<SPECIAL>",
-    "<WHITESPACE>",
-    "\",\"",
-    "<SEPARATOR>",
-    "<PROCEDURE_BEGIN>",
-    "<PROCEDURE_END>",
-    "<SIMPLE_EXP_TOKEN>",
-    "<PARAMETER_POS_TOKEN>",
-    "<PARAMETER_NAME>",
-    "<IDENTIFIER>",
-  };
+    /** Literal token values. */
+    String[] tokenImage = {
+            "<EOF>",
+            "\" \"",
+            "\"OUT \"",
+            "\"INOUT \"",
+            "<SCALE>",
+            "<NUMBER>",
+            "<DIGIT>",
+            "<LETTER>",
+            "<SPECIAL>",
+            "<WHITESPACE>",
+            "\",\"",
+            "<SEPARATOR>",
+            "<PROCEDURE_BEGIN>",
+            "<PROCEDURE_END>",
+            "<SIMPLE_EXP_TOKEN>",
+            "<PARAMETER_POS_TOKEN>",
+            "<PARAMETER_NAME>",
+            "<IDENTIFIER>",
+    };
 
 }
diff --git 
a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
 
b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
index ba002be..db7f99c 100644
--- 
a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
+++ 
b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/generated/SSPTParserTokenManager.java
@@ -1,646 +1,612 @@
 /* Generated By:JavaCC: Do not edit this line. SSPTParserTokenManager.java */
 package org.apache.camel.component.sql.stored.template.generated;
-import java.io.Reader;
-import org.apache.camel.spi.ClassResolver;
+
 import org.apache.camel.component.sql.stored.template.ast.*;
 
 /** Token Manager. */
-public class SSPTParserTokenManager implements SSPTParserConstants
-{
-
-  /** Debug output. */
-  public  java.io.PrintStream debugStream = System.out;
-  /** Set debug output. */
-  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
-private final int jjStopStringLiteralDfa_0(int pos, long active0)
-{
-   switch (pos)
-   {
-      case 0:
-         if ((active0 & 0xcL) != 0L)
-         {
-            jjmatchedKind = 17;
-            return 15;
-         }
-         if ((active0 & 0x2L) != 0L)
-            return 25;
-         return -1;
-      case 1:
-         if ((active0 & 0xcL) != 0L)
-         {
-            jjmatchedKind = 17;
-            jjmatchedPos = 1;
-            return 15;
-         }
-         return -1;
-      case 2:
-         if ((active0 & 0xcL) != 0L)
-         {
-            jjmatchedKind = 17;
-            jjmatchedPos = 2;
-            return 15;
-         }
-         return -1;
-      case 3:
-         if ((active0 & 0x8L) != 0L)
-         {
-            jjmatchedKind = 17;
-            jjmatchedPos = 3;
-            return 15;
-         }
-         return -1;
-      case 4:
-         if ((active0 & 0x8L) != 0L)
-         {
-            jjmatchedKind = 17;
-            jjmatchedPos = 4;
-            return 15;
-         }
-         return -1;
-      default :
-         return -1;
-   }
-}
-private final int jjStartNfa_0(int pos, long active0)
-{
-   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
-}
-private int jjStopAtPos(int pos, int kind)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   return pos + 1;
-}
-private int jjMoveStringLiteralDfa0_0()
-{
-   switch(curChar)
-   {
-      case 32:
-         return jjStartNfaWithStates_0(0, 1, 25);
-      case 73:
-         return jjMoveStringLiteralDfa1_0(0x8L);
-      case 79:
-         return jjMoveStringLiteralDfa1_0(0x4L);
-      default :
-         return jjMoveNfa_0(8, 0);
-   }
-}
-private int jjMoveStringLiteralDfa1_0(long active0)
-{
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(0, active0);
-      return 1;
-   }
-   switch(curChar)
-   {
-      case 78:
-         return jjMoveStringLiteralDfa2_0(active0, 0x8L);
-      case 85:
-         return jjMoveStringLiteralDfa2_0(active0, 0x4L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(0, active0);
-}
-private int jjMoveStringLiteralDfa2_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(0, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(1, active0);
-      return 2;
-   }
-   switch(curChar)
-   {
-      case 79:
-         return jjMoveStringLiteralDfa3_0(active0, 0x8L);
-      case 84:
-         return jjMoveStringLiteralDfa3_0(active0, 0x4L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(1, active0);
-}
-private int jjMoveStringLiteralDfa3_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(1, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(2, active0);
-      return 3;
-   }
-   switch(curChar)
-   {
-      case 32:
-         if ((active0 & 0x4L) != 0L)
-            return jjStopAtPos(3, 2);
-         break;
-      case 85:
-         return jjMoveStringLiteralDfa4_0(active0, 0x8L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(2, active0);
-}
-private int jjMoveStringLiteralDfa4_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(2, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(3, active0);
-      return 4;
-   }
-   switch(curChar)
-   {
-      case 84:
-         return jjMoveStringLiteralDfa5_0(active0, 0x8L);
-      default :
-         break;
-   }
-   return jjStartNfa_0(3, active0);
-}
-private int jjMoveStringLiteralDfa5_0(long old0, long active0)
-{
-   if (((active0 &= old0)) == 0L)
-      return jjStartNfa_0(3, old0);
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) {
-      jjStopStringLiteralDfa_0(4, active0);
-      return 5;
-   }
-   switch(curChar)
-   {
-      case 32:
-         if ((active0 & 0x8L) != 0L)
-            return jjStopAtPos(5, 3);
-         break;
-      default :
-         break;
-   }
-   return jjStartNfa_0(4, active0);
-}
-private int jjStartNfaWithStates_0(int pos, int kind, int state)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) { return pos + 1; }
-   return jjMoveNfa_0(state, pos + 1);
-}
-private int jjMoveNfa_0(int startState, int curPos)
-{
-   int startsAt = 0;
-   jjnewStateCnt = 25;
-   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 8:
-                  if ((0x7ff609c00000000L & l) != 0L)
-                  {
-                     if (kind > 17)
-                        kind = 17;
-                     jjCheckNAdd(15);
-                  }
-                  else if ((0x100002600L & l) != 0L)
-                  {
-                     if (kind > 9)
-                        kind = 9;
-                     jjCheckNAddStates(0, 5);
-                  }
-                  else if (curChar == 40)
-                  {
-                     if (kind > 12)
-                        kind = 12;
-                     jjCheckNAddTwoStates(17, 19);
-                  }
-                  else if (curChar == 41)
-                  {
-                     if (kind > 13)
-                        kind = 13;
-                     jjCheckNAdd(4);
-                  }
-                  else if (curChar == 44)
-                  {
-                     if (kind > 11)
-                        kind = 11;
-                     jjCheckNAdd(2);
-                  }
-                  if ((0x3ff200000000000L & l) != 0L)
-                  {
-                     if (kind > 5)
-                        kind = 5;
-                     jjCheckNAdd(0);
-                  }
-                  else if (curChar == 39)
-                     jjCheckNAdd(13);
-                  else if (curChar == 58)
-                     jjstateSet[jjnewStateCnt++] = 9;
-                  else if (curChar == 36)
-                     jjstateSet[jjnewStateCnt++] = 5;
-                  break;
-               case 25:
-                  if ((0x100002600L & l) != 0L)
-                     jjCheckNAddTwoStates(24, 3);
-                  else if (curChar == 41)
-                  {
-                     if (kind > 13)
-                        kind = 13;
-                     jjCheckNAdd(4);
-                  }
-                  else if (curChar == 40)
-                  {
-                     if (kind > 12)
-                        kind = 12;
-                     jjCheckNAdd(19);
-                  }
-                  else if (curChar == 44)
-                  {
-                     if (kind > 11)
-                        kind = 11;
-                     jjCheckNAdd(2);
-                  }
-                  if ((0x100002600L & l) != 0L)
-                     jjCheckNAddTwoStates(22, 23);
-                  if ((0x100002600L & l) != 0L)
-                     jjCheckNAddTwoStates(21, 1);
-                  break;
-               case 0:
-                  if ((0x3ff200000000000L & l) == 0L)
-                     break;
-                  if (kind > 5)
-                     kind = 5;
-                  jjCheckNAdd(0);
-                  break;
-               case 1:
-                  if (curChar != 44)
-                     break;
-                  kind = 11;
-                  jjCheckNAdd(2);
-                  break;
-               case 2:
-                  if ((0x100002600L & l) == 0L)
-                     break;
-                  if (kind > 11)
-                     kind = 11;
-                  jjCheckNAdd(2);
-                  break;
-               case 3:
-                  if (curChar != 41)
-                     break;
-                  if (kind > 13)
-                     kind = 13;
-                  jjCheckNAdd(4);
-                  break;
-               case 4:
-                  if ((0x100002600L & l) == 0L)
-                     break;
-                  if (kind > 13)
-                     kind = 13;
-                  jjCheckNAdd(4);
-                  break;
-               case 6:
-                  if ((0x7ff609d00000000L & l) != 0L)
-                     jjAddStates(6, 7);
-                  break;
-               case 9:
-                  if (curChar == 35)
-                     jjCheckNAdd(10);
-                  break;
-               case 10:
-                  if ((0x7ff609c00000000L & l) == 0L)
-                     break;
-                  if (kind > 15)
-                     kind = 15;
-                  jjCheckNAdd(10);
-                  break;
-               case 11:
-                  if (curChar == 58)
-                     jjstateSet[jjnewStateCnt++] = 9;
-                  break;
-               case 12:
-                  if (curChar == 39)
-                     jjCheckNAdd(13);
-                  break;
-               case 13:
-                  if ((0x7ff609c00000000L & l) != 0L)
-                     jjCheckNAddTwoStates(13, 14);
-                  break;
-               case 14:
-                  if (curChar == 39 && kind > 16)
-                     kind = 16;
-                  break;
-               case 15:
-                  if ((0x7ff609c00000000L & l) == 0L)
-                     break;
-                  if (kind > 17)
-                     kind = 17;
-                  jjCheckNAdd(15);
-                  break;
-               case 16:
-                  if (curChar != 40)
-                     break;
-                  if (kind > 12)
-                     kind = 12;
-                  jjCheckNAddTwoStates(17, 19);
-                  break;
-               case 17:
-                  if ((0x3ff200000000000L & l) != 0L)
-                     jjCheckNAddTwoStates(17, 18);
-                  break;
-               case 18:
-                  if (curChar == 41 && kind > 4)
-                     kind = 4;
-                  break;
-               case 19:
-                  if ((0x100002600L & l) == 0L)
-                     break;
-                  if (kind > 12)
-                     kind = 12;
-                  jjCheckNAdd(19);
-                  break;
-               case 20:
-                  if ((0x100002600L & l) == 0L)
-                     break;
-                  if (kind > 9)
-                     kind = 9;
-                  jjCheckNAddStates(0, 5);
-                  break;
-               case 21:
-                  if ((0x100002600L & l) != 0L)
-                     jjCheckNAddTwoStates(21, 1);
-                  break;
-               case 22:
-                  if ((0x100002600L & l) != 0L)
-                     jjCheckNAddTwoStates(22, 23);
-                  break;
-               case 23:
-                  if (curChar != 40)
-                     break;
-                  if (kind > 12)
-                     kind = 12;
-                  jjCheckNAdd(19);
-                  break;
-               case 24:
-                  if ((0x100002600L & l) != 0L)
-                     jjCheckNAddTwoStates(24, 3);
-                  break;
-               default : break;
+public class SSPTParserTokenManager implements SSPTParserConstants {
+
+    /** Debug output. */
+    public java.io.PrintStream debugStream = System.out;
+
+    /** Set debug output. */
+    public void setDebugStream(java.io.PrintStream ds) {
+        debugStream = ds;
+    }
+
+    private final int jjStopStringLiteralDfa_0(int pos, long active0) {
+        switch (pos) {
+            case 0:
+                if ((active0 & 0xcL) != 0L) {
+                    jjmatchedKind = 17;
+                    return 15;
+                }
+                if ((active0 & 0x2L) != 0L)
+                    return 25;
+                return -1;
+            case 1:
+                if ((active0 & 0xcL) != 0L) {
+                    jjmatchedKind = 17;
+                    jjmatchedPos = 1;
+                    return 15;
+                }
+                return -1;
+            case 2:
+                if ((active0 & 0xcL) != 0L) {
+                    jjmatchedKind = 17;
+                    jjmatchedPos = 2;
+                    return 15;
+                }
+                return -1;
+            case 3:
+                if ((active0 & 0x8L) != 0L) {
+                    jjmatchedKind = 17;
+                    jjmatchedPos = 3;
+                    return 15;
+                }
+                return -1;
+            case 4:
+                if ((active0 & 0x8L) != 0L) {
+                    jjmatchedKind = 17;
+                    jjmatchedPos = 4;
+                    return 15;
+                }
+                return -1;
+            default:
+                return -1;
+        }
+    }
+
+    private final int jjStartNfa_0(int pos, long active0) {
+        return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
+    }
+
+    private int jjStopAtPos(int pos, int kind) {
+        jjmatchedKind = kind;
+        jjmatchedPos = pos;
+        return pos + 1;
+    }
+
+    private int jjMoveStringLiteralDfa0_0() {
+        switch (curChar) {
+            case 32:
+                return jjStartNfaWithStates_0(0, 1, 25);
+            case 73:
+                return jjMoveStringLiteralDfa1_0(0x8L);
+            case 79:
+                return jjMoveStringLiteralDfa1_0(0x4L);
+            default:
+                return jjMoveNfa_0(8, 0);
+        }
+    }
+
+    private int jjMoveStringLiteralDfa1_0(long active0) {
+        try {
+            curChar = input_stream.readChar();
+        } catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(0, active0);
+            return 1;
+        }
+        switch (curChar) {
+            case 78:
+                return jjMoveStringLiteralDfa2_0(active0, 0x8L);
+            case 85:
+                return jjMoveStringLiteralDfa2_0(active0, 0x4L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(0, active0);
+    }
+
+    private int jjMoveStringLiteralDfa2_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(0, old0);
+        try {
+            curChar = input_stream.readChar();
+        } catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(1, active0);
+            return 2;
+        }
+        switch (curChar) {
+            case 79:
+                return jjMoveStringLiteralDfa3_0(active0, 0x8L);
+            case 84:
+                return jjMoveStringLiteralDfa3_0(active0, 0x4L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(1, active0);
+    }
+
+    private int jjMoveStringLiteralDfa3_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(1, old0);
+        try {
+            curChar = input_stream.readChar();
+        } catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(2, active0);
+            return 3;
+        }
+        switch (curChar) {
+            case 32:
+                if ((active0 & 0x4L) != 0L)
+                    return jjStopAtPos(3, 2);
+                break;
+            case 85:
+                return jjMoveStringLiteralDfa4_0(active0, 0x8L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(2, active0);
+    }
+
+    private int jjMoveStringLiteralDfa4_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(2, old0);
+        try {
+            curChar = input_stream.readChar();
+        } catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(3, active0);
+            return 4;
+        }
+        switch (curChar) {
+            case 84:
+                return jjMoveStringLiteralDfa5_0(active0, 0x8L);
+            default:
+                break;
+        }
+        return jjStartNfa_0(3, active0);
+    }
+
+    private int jjMoveStringLiteralDfa5_0(long old0, long active0) {
+        if (((active0 &= old0)) == 0L)
+            return jjStartNfa_0(3, old0);
+        try {
+            curChar = input_stream.readChar();
+        } catch (java.io.IOException e) {
+            jjStopStringLiteralDfa_0(4, active0);
+            return 5;
+        }
+        switch (curChar) {
+            case 32:
+                if ((active0 & 0x8L) != 0L)
+                    return jjStopAtPos(5, 3);
+                break;
+            default:
+                break;
+        }
+        return jjStartNfa_0(4, active0);
+    }
+
+    private int jjStartNfaWithStates_0(int pos, int kind, int state) {
+        jjmatchedKind = kind;
+        jjmatchedPos = pos;
+        try {
+            curChar = input_stream.readChar();
+        } catch (java.io.IOException e) {
+            return pos + 1;
+        }
+        return jjMoveNfa_0(state, pos + 1);
+    }
+
+    private int jjMoveNfa_0(int startState, int curPos) {
+        int startsAt = 0;
+        jjnewStateCnt = 25;
+        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 8:
+                            if ((0x7ff609c00000000L & l) != 0L) {
+                                if (kind > 17)
+                                    kind = 17;
+                                jjCheckNAdd(15);
+                            } else if ((0x100002600L & l) != 0L) {
+                                if (kind > 9)
+                                    kind = 9;
+                                jjCheckNAddStates(0, 5);
+                            } else if (curChar == 40) {
+                                if (kind > 12)
+                                    kind = 12;
+                                jjCheckNAddTwoStates(17, 19);
+                            } else if (curChar == 41) {
+                                if (kind > 13)
+                                    kind = 13;
+                                jjCheckNAdd(4);
+                            } else if (curChar == 44) {
+                                if (kind > 11)
+                                    kind = 11;
+                                jjCheckNAdd(2);
+                            }
+                            if ((0x3ff200000000000L & l) != 0L) {
+                                if (kind > 5)
+                                    kind = 5;
+                                jjCheckNAdd(0);
+                            } else if (curChar == 39)
+                                jjCheckNAdd(13);
+                            else if (curChar == 58)
+                                jjstateSet[jjnewStateCnt++] = 9;
+                            else if (curChar == 36)
+                                jjstateSet[jjnewStateCnt++] = 5;
+                            break;
+                        case 25:
+                            if ((0x100002600L & l) != 0L)
+                                jjCheckNAddTwoStates(24, 3);
+                            else if (curChar == 41) {
+                                if (kind > 13)
+                                    kind = 13;
+                                jjCheckNAdd(4);
+                            } else if (curChar == 40) {
+                                if (kind > 12)
+                                    kind = 12;
+                                jjCheckNAdd(19);
+                            } else if (curChar == 44) {
+                                if (kind > 11)
+                                    kind = 11;
+                                jjCheckNAdd(2);
+                            }
+                            if ((0x100002600L & l) != 0L)
+                                jjCheckNAddTwoStates(22, 23);
+                            if ((0x100002600L & l) != 0L)
+                                jjCheckNAddTwoStates(21, 1);
+                            break;
+                        case 0:
+                            if ((0x3ff200000000000L & l) == 0L)
+                                break;
+                            if (kind > 5)
+                                kind = 5;
+                            jjCheckNAdd(0);
+                            break;
+                        case 1:
+                            if (curChar != 44)
+                                break;
+                            kind = 11;
+                            jjCheckNAdd(2);
+                            break;
+                        case 2:
+                            if ((0x100002600L & l) == 0L)
+                                break;
+                            if (kind > 11)
+                                kind = 11;
+                            jjCheckNAdd(2);
+                            break;
+                        case 3:
+                            if (curChar != 41)
+                                break;
+                            if (kind > 13)
+                                kind = 13;
+                            jjCheckNAdd(4);
+                            break;
+                        case 4:
+                            if ((0x100002600L & l) == 0L)
+                                break;
+                            if (kind > 13)
+                                kind = 13;
+                            jjCheckNAdd(4);
+                            break;
+                        case 6:
+                            if ((0x7ff609d00000000L & l) != 0L)
+                                jjAddStates(6, 7);
+                            break;
+                        case 9:
+                            if (curChar == 35)
+                                jjCheckNAdd(10);
+                            break;
+                        case 10:
+                            if ((0x7ff609c00000000L & l) == 0L)
+                                break;
+                            if (kind > 15)
+                                kind = 15;
+                            jjCheckNAdd(10);
+                            break;
+                        case 11:
+                            if (curChar == 58)
+                                jjstateSet[jjnewStateCnt++] = 9;
+                            break;
+                        case 12:
+                            if (curChar == 39)
+                                jjCheckNAdd(13);
+                            break;
+                        case 13:
+                            if ((0x7ff609c00000000L & l) != 0L)
+                                jjCheckNAddTwoStates(13, 14);
+                            break;
+                        case 14:
+                            if (curChar == 39 && kind > 16)
+                                kind = 16;
+                            break;
+                        case 15:
+                            if ((0x7ff609c00000000L & l) == 0L)
+                                break;
+                            if (kind > 17)
+                                kind = 17;
+                            jjCheckNAdd(15);
+                            break;
+                        case 16:
+                            if (curChar != 40)
+                                break;
+                            if (kind > 12)
+                                kind = 12;
+                            jjCheckNAddTwoStates(17, 19);
+                            break;
+                        case 17:
+                            if ((0x3ff200000000000L & l) != 0L)
+                                jjCheckNAddTwoStates(17, 18);
+                            break;
+                        case 18:
+                            if (curChar == 41 && kind > 4)
+                                kind = 4;
+                            break;
+                        case 19:
+                            if ((0x100002600L & l) == 0L)
+                                break;
+                            if (kind > 12)
+                                kind = 12;
+                            jjCheckNAdd(19);
+                            break;
+                        case 20:
+                            if ((0x100002600L & l) == 0L)
+                                break;
+                            if (kind > 9)
+                                kind = 9;
+                            jjCheckNAddStates(0, 5);
+                            break;
+                        case 21:
+                            if ((0x100002600L & l) != 0L)
+                                jjCheckNAddTwoStates(21, 1);
+                            break;
+                        case 22:
+                            if ((0x100002600L & l) != 0L)
+                                jjCheckNAddTwoStates(22, 23);
+                            break;
+                        case 23:
+                            if (curChar != 40)
+                                break;
+                            if (kind > 12)
+                                kind = 12;
+                            jjCheckNAdd(19);
+                            break;
+                        case 24:
+                            if ((0x100002600L & l) != 0L)
+                                jjCheckNAddTwoStates(24, 3);
+                            break;
+                        default:
+                            break;
+                    }
+                } while (i != startsAt);
+            } else if (curChar < 128) {
+                long l = 1L << (curChar & 077);
+                do {
+                    switch (jjstateSet[--i]) {
+                        case 8:
+                        case 15:
+                            if ((0x2ffffffeaffffffeL & l) == 0L)
+                                break;
+                            if (kind > 17)
+                                kind = 17;
+                            jjCheckNAdd(15);
+                            break;
+                        case 5:
+                            if (curChar == 123)
+                                jjCheckNAdd(6);
+                            break;
+                        case 6:
+                            if ((0x2ffffffeaffffffeL & l) != 0L)
+                                jjCheckNAddTwoStates(6, 7);
+                            break;
+                        case 7:
+                            if (curChar == 125 && kind > 14)
+                                kind = 14;
+                            break;
+                        case 10:
+                            if ((0x2ffffffeaffffffeL & l) == 0L)
+                                break;
+                            if (kind > 15)
+                                kind = 15;
+                            jjstateSet[jjnewStateCnt++] = 10;
+                            break;
+                        case 13:
+                            if ((0x2ffffffeaffffffeL & l) != 0L)
+                                jjAddStates(8, 9);
+                            break;
+                        default:
+                            break;
+                    }
+                } while (i != startsAt);
+            } else {
+                int i2 = (curChar & 0xff) >> 6;
+                long l2 = 1L << (curChar & 077);
+                do {
+                    switch (jjstateSet[--i]) {
+                        default:
+                            break;
+                    }
+                } while (i != startsAt);
             }
-         } while(i != startsAt);
-      }
-      else if (curChar < 128)
-      {
-         long l = 1L << (curChar & 077);
-         do
-         {
-            switch(jjstateSet[--i])
-            {
-               case 8:
-               case 15:
-                  if ((0x2ffffffeaffffffeL & l) == 0L)
-                     break;
-                  if (kind > 17)
-                     kind = 17;
-                  jjCheckNAdd(15);
-                  break;
-               case 5:
-                  if (curChar == 123)
-                     jjCheckNAdd(6);
-                  break;
-               case 6:
-                  if ((0x2ffffffeaffffffeL & l) != 0L)
-                     jjCheckNAddTwoStates(6, 7);
-                  break;
-               case 7:
-                  if (curChar == 125 && kind > 14)
-                     kind = 14;
-                  break;
-               case 10:
-                  if ((0x2ffffffeaffffffeL & l) == 0L)
-                     break;
-                  if (kind > 15)
-                     kind = 15;
-                  jjstateSet[jjnewStateCnt++] = 10;
-                  break;
-               case 13:
-                  if ((0x2ffffffeaffffffeL & l) != 0L)
-                     jjAddStates(8, 9);
-                  break;
-               default : break;
+            if (kind != 0x7fffffff) {
+                jjmatchedKind = kind;
+                jjmatchedPos = curPos;
+                kind = 0x7fffffff;
             }
-         } while(i != startsAt);
-      }
-      else
-      {
-         int i2 = (curChar & 0xff) >> 6;
-         long l2 = 1L << (curChar & 077);
-         do
-         {
-            switch(jjstateSet[--i])
-            {
-               default : break;
+            ++curPos;
+            if ((i = jjnewStateCnt) == (startsAt = 25 - (jjnewStateCnt = 
startsAt)))
+                return curPos;
+            try {
+                curChar = input_stream.readChar();
+            } catch (java.io.IOException e) {
+                return curPos;
             }
-         } while(i != startsAt);
-      }
-      if (kind != 0x7fffffff)
-      {
-         jjmatchedKind = kind;
-         jjmatchedPos = curPos;
-         kind = 0x7fffffff;
-      }
-      ++curPos;
-      if ((i = jjnewStateCnt) == (startsAt = 25 - (jjnewStateCnt = startsAt)))
-         return curPos;
-      try { curChar = input_stream.readChar(); }
-      catch(java.io.IOException e) { return curPos; }
-   }
-}
-static final int[] jjnextStates = {
-   21, 1, 22, 23, 24, 3, 6, 7, 13, 14, 
-};
-
-/** Token literal values. */
-public static final String[] jjstrLiteralImages = {
-"", "\40", "\117\125\124\40", "\111\116\117\125\124\40", null, null, null, 
-null, null, null, null, null, null, null, null, null, null, null, };
-
-/** Lexer state names. */
-public static final String[] lexStateNames = {
-   "DEFAULT",
-};
-protected SimpleCharStream input_stream;
-private final int[] jjrounds = new int[25];
-private final int[] jjstateSet = new int[50];
-protected char curChar;
-/** Constructor. */
-public SSPTParserTokenManager(SimpleCharStream stream){
-   if (SimpleCharStream.staticFlag)
-      throw new Error("ERROR: Cannot use a static CharStream class with a 
non-static lexical analyzer.");
-   input_stream = stream;
-}
+        }
+    }
 
-/** Constructor. */
-public SSPTParserTokenManager(SimpleCharStream stream, int lexState){
-   this(stream);
-   SwitchTo(lexState);
-}
+    static final int[] jjnextStates = {
+            21, 1, 22, 23, 24, 3, 6, 7, 13, 14,
+    };
 
-/** Reinitialise parser. */
-public void ReInit(SimpleCharStream stream)
-{
-   jjmatchedPos = jjnewStateCnt = 0;
-   curLexState = defaultLexState;
-   input_stream = stream;
-   ReInitRounds();
-}
-private void ReInitRounds()
-{
-   int i;
-   jjround = 0x80000001;
-   for (i = 25; i-- > 0;)
-      jjrounds[i] = 0x80000000;
-}
+    /** Token literal values. */
+    public static final String[] jjstrLiteralImages = {
+            "", "\40", "\117\125\124\40", "\111\116\117\125\124\40", null, 
null, null,
+            null, null, null, null, null, null, null, null, null, null, null, 
};
 
-/** Reinitialise parser. */
-public void ReInit(SimpleCharStream stream, int lexState)
-{
-   ReInit(stream);
-   SwitchTo(lexState);
-}
+    /** Lexer state names. */
+    public static final String[] lexStateNames = {
+            "DEFAULT",
+    };
+    protected SimpleCharStream input_stream;
+    private final int[] jjrounds = new int[25];
+    private final int[] jjstateSet = new int[50];
+    protected char curChar;
 
-/** 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;
-}
+    /** Constructor. */
+    public SSPTParserTokenManager(SimpleCharStream stream) {
+        if (SimpleCharStream.staticFlag)
+            throw new Error("ERROR: Cannot use a static CharStream class with 
a non-static lexical analyzer.");
+        input_stream = stream;
+    }
 
-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;
-}
+    /** Constructor. */
+    public SSPTParserTokenManager(SimpleCharStream stream, int lexState) {
+        this(stream);
+        SwitchTo(lexState);
+    }
 
-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);
-         matchedToken = jjFillToken();
-         return matchedToken;
-   }
-   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);
-  }
-}
+    /** Reinitialise parser. */
+    public void ReInit(SimpleCharStream stream) {
+        jjmatchedPos = jjnewStateCnt = 0;
+        curLexState = defaultLexState;
+        input_stream = stream;
+        ReInitRounds();
+    }
 
-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 ReInitRounds() {
+        int i;
+        jjround = 0x80000001;
+        for (i = 25; i-- > 0;)
+            jjrounds[i] = 0x80000000;
+    }
 
-private void jjCheckNAddStates(int start, int end)
-{
-   do {
-      jjCheckNAdd(jjnextStates[start]);
-   } while (start++ != end);
-}
+    /** Reinitialise parser. */
+    public void ReInit(SimpleCharStream 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);
+                matchedToken = jjFillToken();
+                return matchedToken;
+            }
+            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);
+    }
 
 }

Reply via email to