All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openxma.dsl.ddl.services.DdlDslGrammarAccess Maven / Gradle / Ivy

The newest version!
/*
* generated by Xtext
*/

package org.openxma.dsl.ddl.services;

import com.google.inject.Singleton;
import com.google.inject.Inject;

import org.eclipse.xtext.*;
import org.eclipse.xtext.service.GrammarProvider;
import org.eclipse.xtext.service.AbstractElementFinder.*;

import org.eclipse.xtext.common.services.TerminalsGrammarAccess;

@Singleton
public class DdlDslGrammarAccess extends AbstractGrammarElementFinder {
	
	
	public class DdlElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Ddl");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Action cDdlAction_0 = (Action)cGroup.eContents().get(0);
		private final Assignment cStatementsAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cStatementsDdlStatementParserRuleCall_1_0 = (RuleCall)cStatementsAssignment_1.eContents().get(0);
		
		////http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_1001.htm#sthref3207
		//Ddl:
		//	{Ddl} statements+=DdlStatement*;
		public ParserRule getRule() { return rule; }

		//{Ddl} statements+=DdlStatement*
		public Group getGroup() { return cGroup; }

		//{Ddl}
		public Action getDdlAction_0() { return cDdlAction_0; }

		//statements+=DdlStatement*
		public Assignment getStatementsAssignment_1() { return cStatementsAssignment_1; }

		//DdlStatement
		public RuleCall getStatementsDdlStatementParserRuleCall_1_0() { return cStatementsDdlStatementParserRuleCall_1_0; }
	}

	public class DdlStatementElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DdlStatement");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cAlterParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cCreateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		private final RuleCall cDropParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
		private final RuleCall cCommentParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
		private final RuleCall cOtherStatementParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
		
		//DdlStatement:
		//	Alter | Create | Drop | Comment | OtherStatement;
		public ParserRule getRule() { return rule; }

		//Alter | Create | Drop | Comment | OtherStatement
		public Alternatives getAlternatives() { return cAlternatives; }

		//Alter
		public RuleCall getAlterParserRuleCall_0() { return cAlterParserRuleCall_0; }

		//Create
		public RuleCall getCreateParserRuleCall_1() { return cCreateParserRuleCall_1; }

		//Drop
		public RuleCall getDropParserRuleCall_2() { return cDropParserRuleCall_2; }

		//Comment
		public RuleCall getCommentParserRuleCall_3() { return cCommentParserRuleCall_3; }

		//OtherStatement
		public RuleCall getOtherStatementParserRuleCall_4() { return cOtherStatementParserRuleCall_4; }
	}

	public class OtherStatementElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OtherStatement");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final RuleCall cOtherParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
		private final Keyword cSemicolonKeyword_1 = (Keyword)cGroup.eContents().get(1);
		
		//OtherStatement:
		//	Other* ";";
		public ParserRule getRule() { return rule; }

		//Other* ";"
		public Group getGroup() { return cGroup; }

		//Other*
		public RuleCall getOtherParserRuleCall_0() { return cOtherParserRuleCall_0; }

		//";"
		public Keyword getSemicolonKeyword_1() { return cSemicolonKeyword_1; }
	}

	public class AlterElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Alter");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cALTERKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Keyword cTABLEKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Assignment cTableAssignment_2 = (Assignment)cGroup.eContents().get(2);
		private final CrossReference cTableCreateTableCrossReference_2_0 = (CrossReference)cTableAssignment_2.eContents().get(0);
		private final RuleCall cTableCreateTableQIDParserRuleCall_2_0_1 = (RuleCall)cTableCreateTableCrossReference_2_0.eContents().get(1);
		private final Assignment cActionAssignment_3 = (Assignment)cGroup.eContents().get(3);
		private final RuleCall cActionAlterTableActionParserRuleCall_3_0 = (RuleCall)cActionAssignment_3.eContents().get(0);
		private final RuleCall cOtherParserRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
		private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5);
		
		//Alter:
		//	"ALTER" "TABLE" table=[CreateTable|QID] action=AlterTableAction Other* ";";
		public ParserRule getRule() { return rule; }

		//"ALTER" "TABLE" table=[CreateTable|QID] action=AlterTableAction Other* ";"
		public Group getGroup() { return cGroup; }

		//"ALTER"
		public Keyword getALTERKeyword_0() { return cALTERKeyword_0; }

		//"TABLE"
		public Keyword getTABLEKeyword_1() { return cTABLEKeyword_1; }

		//table=[CreateTable|QID]
		public Assignment getTableAssignment_2() { return cTableAssignment_2; }

		//[CreateTable|QID]
		public CrossReference getTableCreateTableCrossReference_2_0() { return cTableCreateTableCrossReference_2_0; }

		//QID
		public RuleCall getTableCreateTableQIDParserRuleCall_2_0_1() { return cTableCreateTableQIDParserRuleCall_2_0_1; }

		//action=AlterTableAction
		public Assignment getActionAssignment_3() { return cActionAssignment_3; }

		//AlterTableAction
		public RuleCall getActionAlterTableActionParserRuleCall_3_0() { return cActionAlterTableActionParserRuleCall_3_0; }

		//Other*
		public RuleCall getOtherParserRuleCall_4() { return cOtherParserRuleCall_4; }

		//";"
		public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; }
	}

	public class AlterTableActionElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AlterTableAction");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cAddTableConstraintParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cDropTableConstraintParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		private final RuleCall cAlterTableActionOtherParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
		
		//AlterTableAction:
		//	AddTableConstraint | DropTableConstraint | AlterTableActionOther;
		public ParserRule getRule() { return rule; }

		//AddTableConstraint | DropTableConstraint | AlterTableActionOther
		public Alternatives getAlternatives() { return cAlternatives; }

		//AddTableConstraint
		public RuleCall getAddTableConstraintParserRuleCall_0() { return cAddTableConstraintParserRuleCall_0; }

		//DropTableConstraint
		public RuleCall getDropTableConstraintParserRuleCall_1() { return cDropTableConstraintParserRuleCall_1; }

		//AlterTableActionOther
		public RuleCall getAlterTableActionOtherParserRuleCall_2() { return cAlterTableActionOtherParserRuleCall_2; }
	}

	public class AlterTableActionOtherElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AlterTableActionOther");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Keyword cADDKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
		private final Keyword cALTERKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
		private final Keyword cDROPKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
		
		//AlterTableActionOther:
		//	"ADD" | "ALTER" | "DROP";
		public ParserRule getRule() { return rule; }

		//"ADD" | "ALTER" | "DROP"
		public Alternatives getAlternatives() { return cAlternatives; }

		//"ADD"
		public Keyword getADDKeyword_0() { return cADDKeyword_0; }

		//"ALTER"
		public Keyword getALTERKeyword_1() { return cALTERKeyword_1; }

		//"DROP"
		public Keyword getDROPKeyword_2() { return cDROPKeyword_2; }
	}

	public class DropTableConstraintElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DropTableConstraint");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cDROPKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Keyword cCONSTRAINTKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
		private final Assignment cConstraintRefAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0);
		private final CrossReference cConstraintRefConstraintCrossReference_2_0_0 = (CrossReference)cConstraintRefAssignment_2_0.eContents().get(0);
		private final RuleCall cConstraintRefConstraintIDTerminalRuleCall_2_0_0_1 = (RuleCall)cConstraintRefConstraintCrossReference_2_0_0.eContents().get(1);
		private final Assignment cConstraintAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1);
		private final RuleCall cConstraintConstraintParserRuleCall_2_1_0 = (RuleCall)cConstraintAssignment_2_1.eContents().get(0);
		
		//DropTableConstraint:
		//	"DROP" "CONSTRAINT"? (constraintRef=[Constraint] | constraint=Constraint);
		public ParserRule getRule() { return rule; }

		//"DROP" "CONSTRAINT"? (constraintRef=[Constraint] | constraint=Constraint)
		public Group getGroup() { return cGroup; }

		//"DROP"
		public Keyword getDROPKeyword_0() { return cDROPKeyword_0; }

		//"CONSTRAINT"?
		public Keyword getCONSTRAINTKeyword_1() { return cCONSTRAINTKeyword_1; }

		//constraintRef=[Constraint] | constraint=Constraint
		public Alternatives getAlternatives_2() { return cAlternatives_2; }

		//constraintRef=[Constraint]
		public Assignment getConstraintRefAssignment_2_0() { return cConstraintRefAssignment_2_0; }

		//[Constraint]
		public CrossReference getConstraintRefConstraintCrossReference_2_0_0() { return cConstraintRefConstraintCrossReference_2_0_0; }

		//ID
		public RuleCall getConstraintRefConstraintIDTerminalRuleCall_2_0_0_1() { return cConstraintRefConstraintIDTerminalRuleCall_2_0_0_1; }

		//constraint=Constraint
		public Assignment getConstraintAssignment_2_1() { return cConstraintAssignment_2_1; }

		//Constraint
		public RuleCall getConstraintConstraintParserRuleCall_2_1_0() { return cConstraintConstraintParserRuleCall_2_1_0; }
	}

	public class CommentElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Comment");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cTableCommentParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cColumnCommentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		
		//Comment:
		//	TableComment | ColumnComment;
		public ParserRule getRule() { return rule; }

		//TableComment | ColumnComment
		public Alternatives getAlternatives() { return cAlternatives; }

		//TableComment
		public RuleCall getTableCommentParserRuleCall_0() { return cTableCommentParserRuleCall_0; }

		//ColumnComment
		public RuleCall getColumnCommentParserRuleCall_1() { return cColumnCommentParserRuleCall_1; }
	}

	public class TableCommentElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TableComment");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cCOMMENTKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Keyword cONKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Keyword cTABLEKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Assignment cTableAssignment_3 = (Assignment)cGroup.eContents().get(3);
		private final CrossReference cTableCreateTableCrossReference_3_0 = (CrossReference)cTableAssignment_3.eContents().get(0);
		private final RuleCall cTableCreateTableQIDParserRuleCall_3_0_1 = (RuleCall)cTableCreateTableCrossReference_3_0.eContents().get(1);
		private final Keyword cIsKeyword_4 = (Keyword)cGroup.eContents().get(4);
		private final Assignment cCommentAssignment_5 = (Assignment)cGroup.eContents().get(5);
		private final RuleCall cCommentSTRINGTerminalRuleCall_5_0 = (RuleCall)cCommentAssignment_5.eContents().get(0);
		private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6);
		
		//TableComment:
		//	"COMMENT" "ON" "TABLE" table=[CreateTable|QID] "is" comment=STRING ";";
		public ParserRule getRule() { return rule; }

		//"COMMENT" "ON" "TABLE" table=[CreateTable|QID] "is" comment=STRING ";"
		public Group getGroup() { return cGroup; }

		//"COMMENT"
		public Keyword getCOMMENTKeyword_0() { return cCOMMENTKeyword_0; }

		//"ON"
		public Keyword getONKeyword_1() { return cONKeyword_1; }

		//"TABLE"
		public Keyword getTABLEKeyword_2() { return cTABLEKeyword_2; }

		//table=[CreateTable|QID]
		public Assignment getTableAssignment_3() { return cTableAssignment_3; }

		//[CreateTable|QID]
		public CrossReference getTableCreateTableCrossReference_3_0() { return cTableCreateTableCrossReference_3_0; }

		//QID
		public RuleCall getTableCreateTableQIDParserRuleCall_3_0_1() { return cTableCreateTableQIDParserRuleCall_3_0_1; }

		//"is"
		public Keyword getIsKeyword_4() { return cIsKeyword_4; }

		//comment=STRING
		public Assignment getCommentAssignment_5() { return cCommentAssignment_5; }

		//STRING
		public RuleCall getCommentSTRINGTerminalRuleCall_5_0() { return cCommentSTRINGTerminalRuleCall_5_0; }

		//";"
		public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; }
	}

	public class ColumnCommentElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ColumnComment");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cCOMMENTKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Keyword cONKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Keyword cCOLUMNKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Assignment cColumnAssignment_3 = (Assignment)cGroup.eContents().get(3);
		private final CrossReference cColumnColumnCrossReference_3_0 = (CrossReference)cColumnAssignment_3.eContents().get(0);
		private final RuleCall cColumnColumnQIDParserRuleCall_3_0_1 = (RuleCall)cColumnColumnCrossReference_3_0.eContents().get(1);
		private final Keyword cIsKeyword_4 = (Keyword)cGroup.eContents().get(4);
		private final Assignment cCommentAssignment_5 = (Assignment)cGroup.eContents().get(5);
		private final RuleCall cCommentSTRINGTerminalRuleCall_5_0 = (RuleCall)cCommentAssignment_5.eContents().get(0);
		private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6);
		
		//ColumnComment:
		//	"COMMENT" "ON" "COLUMN" column=[Column|QID] "is" comment=STRING ";";
		public ParserRule getRule() { return rule; }

		//"COMMENT" "ON" "COLUMN" column=[Column|QID] "is" comment=STRING ";"
		public Group getGroup() { return cGroup; }

		//"COMMENT"
		public Keyword getCOMMENTKeyword_0() { return cCOMMENTKeyword_0; }

		//"ON"
		public Keyword getONKeyword_1() { return cONKeyword_1; }

		//"COLUMN"
		public Keyword getCOLUMNKeyword_2() { return cCOLUMNKeyword_2; }

		//column=[Column|QID]
		public Assignment getColumnAssignment_3() { return cColumnAssignment_3; }

		//[Column|QID]
		public CrossReference getColumnColumnCrossReference_3_0() { return cColumnColumnCrossReference_3_0; }

		//QID
		public RuleCall getColumnColumnQIDParserRuleCall_3_0_1() { return cColumnColumnQIDParserRuleCall_3_0_1; }

		//"is"
		public Keyword getIsKeyword_4() { return cIsKeyword_4; }

		//comment=STRING
		public Assignment getCommentAssignment_5() { return cCommentAssignment_5; }

		//STRING
		public RuleCall getCommentSTRINGTerminalRuleCall_5_0() { return cCommentSTRINGTerminalRuleCall_5_0; }

		//";"
		public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; }
	}

	public class AddTableConstraintElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AddTableConstraint");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cADDKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Keyword cCONSTRAINTKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
		private final RuleCall cNameQIDParserRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0);
		private final Assignment cConstraintAssignment_4 = (Assignment)cGroup.eContents().get(4);
		private final RuleCall cConstraintConstraintParserRuleCall_4_0 = (RuleCall)cConstraintAssignment_4.eContents().get(0);
		
		//AddTableConstraint:
		//	"ADD" "("? "CONSTRAINT" name=QID constraint=Constraint;
		public ParserRule getRule() { return rule; }

		//"ADD" "("? "CONSTRAINT" name=QID constraint=Constraint
		public Group getGroup() { return cGroup; }

		//"ADD"
		public Keyword getADDKeyword_0() { return cADDKeyword_0; }

		//"("?
		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }

		//"CONSTRAINT"
		public Keyword getCONSTRAINTKeyword_2() { return cCONSTRAINTKeyword_2; }

		//name=QID
		public Assignment getNameAssignment_3() { return cNameAssignment_3; }

		//QID
		public RuleCall getNameQIDParserRuleCall_3_0() { return cNameQIDParserRuleCall_3_0; }

		//constraint=Constraint
		public Assignment getConstraintAssignment_4() { return cConstraintAssignment_4; }

		//Constraint
		public RuleCall getConstraintConstraintParserRuleCall_4_0() { return cConstraintConstraintParserRuleCall_4_0; }
	}

	public class CreateElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Create");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cCreateTableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cCreateIndexParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		private final RuleCall cCreateOtherParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
		
		//Create:
		//	CreateTable | CreateIndex | CreateOther;
		public ParserRule getRule() { return rule; }

		//CreateTable | CreateIndex | CreateOther
		public Alternatives getAlternatives() { return cAlternatives; }

		//CreateTable
		public RuleCall getCreateTableParserRuleCall_0() { return cCreateTableParserRuleCall_0; }

		//CreateIndex
		public RuleCall getCreateIndexParserRuleCall_1() { return cCreateIndexParserRuleCall_1; }

		//CreateOther
		public RuleCall getCreateOtherParserRuleCall_2() { return cCreateOtherParserRuleCall_2; }
	}

	public class CreateTableElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CreateTable");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cCREATEKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cGLOBALKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Keyword cTEMPORARYKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
		private final Keyword cTABLEKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
		private final RuleCall cNameQIDParserRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0);
		private final Keyword cLeftParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
		private final Assignment cPropertiesAssignment_5 = (Assignment)cGroup.eContents().get(5);
		private final RuleCall cPropertiesTablePropertyParserRuleCall_5_0 = (RuleCall)cPropertiesAssignment_5.eContents().get(0);
		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
		private final Keyword cCommaKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
		private final Assignment cPropertiesAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1);
		private final RuleCall cPropertiesTablePropertyParserRuleCall_6_1_0 = (RuleCall)cPropertiesAssignment_6_1.eContents().get(0);
		private final Keyword cRightParenthesisKeyword_7 = (Keyword)cGroup.eContents().get(7);
		private final RuleCall cOtherParserRuleCall_8 = (RuleCall)cGroup.eContents().get(8);
		private final Keyword cSemicolonKeyword_9 = (Keyword)cGroup.eContents().get(9);
		
		//CreateTable:
		//	"CREATE" ("GLOBAL" "TEMPORARY")? "TABLE" name=QID "(" properties+=TableProperty ("," properties+=TableProperty)* ")"
		//	Other* ";";
		public ParserRule getRule() { return rule; }

		//"CREATE" ("GLOBAL" "TEMPORARY")? "TABLE" name=QID "(" properties+=TableProperty ("," properties+=TableProperty)* ")"
		//Other* ";"
		public Group getGroup() { return cGroup; }

		//"CREATE"
		public Keyword getCREATEKeyword_0() { return cCREATEKeyword_0; }

		//("GLOBAL" "TEMPORARY")?
		public Group getGroup_1() { return cGroup_1; }

		//"GLOBAL"
		public Keyword getGLOBALKeyword_1_0() { return cGLOBALKeyword_1_0; }

		//"TEMPORARY"
		public Keyword getTEMPORARYKeyword_1_1() { return cTEMPORARYKeyword_1_1; }

		//"TABLE"
		public Keyword getTABLEKeyword_2() { return cTABLEKeyword_2; }

		//name=QID
		public Assignment getNameAssignment_3() { return cNameAssignment_3; }

		//QID
		public RuleCall getNameQIDParserRuleCall_3_0() { return cNameQIDParserRuleCall_3_0; }

		//"("
		public Keyword getLeftParenthesisKeyword_4() { return cLeftParenthesisKeyword_4; }

		//properties+=TableProperty
		public Assignment getPropertiesAssignment_5() { return cPropertiesAssignment_5; }

		//TableProperty
		public RuleCall getPropertiesTablePropertyParserRuleCall_5_0() { return cPropertiesTablePropertyParserRuleCall_5_0; }

		//("," properties+=TableProperty)*
		public Group getGroup_6() { return cGroup_6; }

		//","
		public Keyword getCommaKeyword_6_0() { return cCommaKeyword_6_0; }

		//properties+=TableProperty
		public Assignment getPropertiesAssignment_6_1() { return cPropertiesAssignment_6_1; }

		//TableProperty
		public RuleCall getPropertiesTablePropertyParserRuleCall_6_1_0() { return cPropertiesTablePropertyParserRuleCall_6_1_0; }

		//")"
		public Keyword getRightParenthesisKeyword_7() { return cRightParenthesisKeyword_7; }

		//Other*
		public RuleCall getOtherParserRuleCall_8() { return cOtherParserRuleCall_8; }

		//";"
		public Keyword getSemicolonKeyword_9() { return cSemicolonKeyword_9; }
	}

	public class CreateIndexElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CreateIndex");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cCREATEKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Assignment cUniqueAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final Keyword cUniqueUNIQUEKeyword_1_0 = (Keyword)cUniqueAssignment_1.eContents().get(0);
		private final Keyword cINDEXKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Assignment cNameAssignment_3 = (Assignment)cGroup.eContents().get(3);
		private final RuleCall cNameQIDParserRuleCall_3_0 = (RuleCall)cNameAssignment_3.eContents().get(0);
		private final Keyword cONKeyword_4 = (Keyword)cGroup.eContents().get(4);
		private final Assignment cTableAssignment_5 = (Assignment)cGroup.eContents().get(5);
		private final CrossReference cTableCreateTableCrossReference_5_0 = (CrossReference)cTableAssignment_5.eContents().get(0);
		private final RuleCall cTableCreateTableQIDParserRuleCall_5_0_1 = (RuleCall)cTableCreateTableCrossReference_5_0.eContents().get(1);
		private final Keyword cLeftParenthesisKeyword_6 = (Keyword)cGroup.eContents().get(6);
		private final Assignment cColumnsAssignment_7 = (Assignment)cGroup.eContents().get(7);
		private final CrossReference cColumnsColumnCrossReference_7_0 = (CrossReference)cColumnsAssignment_7.eContents().get(0);
		private final RuleCall cColumnsColumnIDTerminalRuleCall_7_0_1 = (RuleCall)cColumnsColumnCrossReference_7_0.eContents().get(1);
		private final Assignment cSortOrdersAssignment_8 = (Assignment)cGroup.eContents().get(8);
		private final RuleCall cSortOrdersSortDirectionEnumEnumRuleCall_8_0 = (RuleCall)cSortOrdersAssignment_8.eContents().get(0);
		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
		private final Keyword cCommaKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
		private final Assignment cColumnsAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1);
		private final CrossReference cColumnsColumnCrossReference_9_1_0 = (CrossReference)cColumnsAssignment_9_1.eContents().get(0);
		private final RuleCall cColumnsColumnIDTerminalRuleCall_9_1_0_1 = (RuleCall)cColumnsColumnCrossReference_9_1_0.eContents().get(1);
		private final Assignment cSortOrdersAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2);
		private final RuleCall cSortOrdersSortDirectionEnumEnumRuleCall_9_2_0 = (RuleCall)cSortOrdersAssignment_9_2.eContents().get(0);
		private final Keyword cRightParenthesisKeyword_10 = (Keyword)cGroup.eContents().get(10);
		private final RuleCall cOtherParserRuleCall_11 = (RuleCall)cGroup.eContents().get(11);
		private final Keyword cSemicolonKeyword_12 = (Keyword)cGroup.eContents().get(12);
		
		//CreateIndex:
		//	"CREATE" unique?="UNIQUE"? "INDEX" name=QID "ON" table=[CreateTable|QID] "(" columns+=[Column]
		//	sortOrders+=SortDirectionEnum? ("," columns+=[Column] sortOrders+=SortDirectionEnum?)* ")" Other* ";";
		public ParserRule getRule() { return rule; }

		//"CREATE" unique?="UNIQUE"? "INDEX" name=QID "ON" table=[CreateTable|QID] "(" columns+=[Column]
		//sortOrders+=SortDirectionEnum? ("," columns+=[Column] sortOrders+=SortDirectionEnum?)* ")" Other* ";"
		public Group getGroup() { return cGroup; }

		//"CREATE"
		public Keyword getCREATEKeyword_0() { return cCREATEKeyword_0; }

		//unique?="UNIQUE"?
		public Assignment getUniqueAssignment_1() { return cUniqueAssignment_1; }

		//"UNIQUE"
		public Keyword getUniqueUNIQUEKeyword_1_0() { return cUniqueUNIQUEKeyword_1_0; }

		//"INDEX"
		public Keyword getINDEXKeyword_2() { return cINDEXKeyword_2; }

		//name=QID
		public Assignment getNameAssignment_3() { return cNameAssignment_3; }

		//QID
		public RuleCall getNameQIDParserRuleCall_3_0() { return cNameQIDParserRuleCall_3_0; }

		//"ON"
		public Keyword getONKeyword_4() { return cONKeyword_4; }

		//table=[CreateTable|QID]
		public Assignment getTableAssignment_5() { return cTableAssignment_5; }

		//[CreateTable|QID]
		public CrossReference getTableCreateTableCrossReference_5_0() { return cTableCreateTableCrossReference_5_0; }

		//QID
		public RuleCall getTableCreateTableQIDParserRuleCall_5_0_1() { return cTableCreateTableQIDParserRuleCall_5_0_1; }

		//"("
		public Keyword getLeftParenthesisKeyword_6() { return cLeftParenthesisKeyword_6; }

		//columns+=[Column]
		public Assignment getColumnsAssignment_7() { return cColumnsAssignment_7; }

		//[Column]
		public CrossReference getColumnsColumnCrossReference_7_0() { return cColumnsColumnCrossReference_7_0; }

		//ID
		public RuleCall getColumnsColumnIDTerminalRuleCall_7_0_1() { return cColumnsColumnIDTerminalRuleCall_7_0_1; }

		//sortOrders+=SortDirectionEnum?
		public Assignment getSortOrdersAssignment_8() { return cSortOrdersAssignment_8; }

		//SortDirectionEnum
		public RuleCall getSortOrdersSortDirectionEnumEnumRuleCall_8_0() { return cSortOrdersSortDirectionEnumEnumRuleCall_8_0; }

		//("," columns+=[Column] sortOrders+=SortDirectionEnum?)*
		public Group getGroup_9() { return cGroup_9; }

		//","
		public Keyword getCommaKeyword_9_0() { return cCommaKeyword_9_0; }

		//columns+=[Column]
		public Assignment getColumnsAssignment_9_1() { return cColumnsAssignment_9_1; }

		//[Column]
		public CrossReference getColumnsColumnCrossReference_9_1_0() { return cColumnsColumnCrossReference_9_1_0; }

		//ID
		public RuleCall getColumnsColumnIDTerminalRuleCall_9_1_0_1() { return cColumnsColumnIDTerminalRuleCall_9_1_0_1; }

		//sortOrders+=SortDirectionEnum?
		public Assignment getSortOrdersAssignment_9_2() { return cSortOrdersAssignment_9_2; }

		//SortDirectionEnum
		public RuleCall getSortOrdersSortDirectionEnumEnumRuleCall_9_2_0() { return cSortOrdersSortDirectionEnumEnumRuleCall_9_2_0; }

		//")"
		public Keyword getRightParenthesisKeyword_10() { return cRightParenthesisKeyword_10; }

		//Other*
		public RuleCall getOtherParserRuleCall_11() { return cOtherParserRuleCall_11; }

		//";"
		public Keyword getSemicolonKeyword_12() { return cSemicolonKeyword_12; }
	}

	public class TablePropertyElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TableProperty");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cColumnParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cConstraintParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		
		//TableProperty:
		//	Column | Constraint;
		public ParserRule getRule() { return rule; }

		//Column | Constraint
		public Alternatives getAlternatives() { return cAlternatives; }

		//Column
		public RuleCall getColumnParserRuleCall_0() { return cColumnParserRuleCall_0; }

		//Constraint
		public RuleCall getConstraintParserRuleCall_1() { return cConstraintParserRuleCall_1; }
	}

	public class ColumnElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Column");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
		private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cTypeSqlDataTypeParserRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0);
		private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
		private final Assignment cSortedAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0);
		private final Keyword cSortedSORTKeyword_2_0_0 = (Keyword)cSortedAssignment_2_0.eContents().get(0);
		private final Assignment cConstraintAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1);
		private final RuleCall cConstraintConstraintParserRuleCall_2_1_0 = (RuleCall)cConstraintAssignment_2_1.eContents().get(0);
		private final Assignment cDefaultAssignment_2_2 = (Assignment)cAlternatives_2.eContents().get(2);
		private final RuleCall cDefaultColumnDefaultParserRuleCall_2_2_0 = (RuleCall)cDefaultAssignment_2_2.eContents().get(0);
		private final Assignment cReferenceAssignment_2_3 = (Assignment)cAlternatives_2.eContents().get(3);
		private final RuleCall cReferenceReferenceClauseParserRuleCall_2_3_0 = (RuleCall)cReferenceAssignment_2_3.eContents().get(0);
		
		//Column:
		//	name=ID type=SqlDataType (sorted?="SORT" | constraint=Constraint | default=ColumnDefault |
		//	reference=ReferenceClause)*;
		public ParserRule getRule() { return rule; }

		//name=ID type=SqlDataType (sorted?="SORT" | constraint=Constraint | default=ColumnDefault | reference=ReferenceClause)*
		public Group getGroup() { return cGroup; }

		//name=ID
		public Assignment getNameAssignment_0() { return cNameAssignment_0; }

		//ID
		public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }

		//type=SqlDataType
		public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }

		//SqlDataType
		public RuleCall getTypeSqlDataTypeParserRuleCall_1_0() { return cTypeSqlDataTypeParserRuleCall_1_0; }

		//(sorted?="SORT" | constraint=Constraint | default=ColumnDefault | reference=ReferenceClause)*
		public Alternatives getAlternatives_2() { return cAlternatives_2; }

		//sorted?="SORT"
		public Assignment getSortedAssignment_2_0() { return cSortedAssignment_2_0; }

		//"SORT"
		public Keyword getSortedSORTKeyword_2_0_0() { return cSortedSORTKeyword_2_0_0; }

		//constraint=Constraint
		public Assignment getConstraintAssignment_2_1() { return cConstraintAssignment_2_1; }

		//Constraint
		public RuleCall getConstraintConstraintParserRuleCall_2_1_0() { return cConstraintConstraintParserRuleCall_2_1_0; }

		//default=ColumnDefault
		public Assignment getDefaultAssignment_2_2() { return cDefaultAssignment_2_2; }

		//ColumnDefault
		public RuleCall getDefaultColumnDefaultParserRuleCall_2_2_0() { return cDefaultColumnDefaultParserRuleCall_2_2_0; }

		//reference=ReferenceClause
		public Assignment getReferenceAssignment_2_3() { return cReferenceAssignment_2_3; }

		//ReferenceClause
		public RuleCall getReferenceReferenceClauseParserRuleCall_2_3_0() { return cReferenceReferenceClauseParserRuleCall_2_3_0; }
	}

	public class ColumnDefaultElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ColumnDefault");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cDEFAULTKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final RuleCall cOtherParserRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
		
		//ColumnDefault:
		//	"DEFAULT" Other*;
		public ParserRule getRule() { return rule; }

		//"DEFAULT" Other*
		public Group getGroup() { return cGroup; }

		//"DEFAULT"
		public Keyword getDEFAULTKeyword_0() { return cDEFAULTKeyword_0; }

		//Other*
		public RuleCall getOtherParserRuleCall_1() { return cOtherParserRuleCall_1; }
	}

	public class CreateOtherElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CreateOther");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cCREATEKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final RuleCall cOtherParserRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
		private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
		
		//CreateOther:
		//	"CREATE" Other* ";";
		public ParserRule getRule() { return rule; }

		//"CREATE" Other* ";"
		public Group getGroup() { return cGroup; }

		//"CREATE"
		public Keyword getCREATEKeyword_0() { return cCREATEKeyword_0; }

		//Other*
		public RuleCall getOtherParserRuleCall_1() { return cOtherParserRuleCall_1; }

		//";"
		public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
	}

	public class DropElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Drop");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cDROPKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Assignment cObjectAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cObjectDataBaseObjectParserRuleCall_1_0 = (RuleCall)cObjectAssignment_1.eContents().get(0);
		private final RuleCall cOtherParserRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
		private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3);
		
		//Drop:
		//	"DROP" object=DataBaseObject Other* ";";
		public ParserRule getRule() { return rule; }

		//"DROP" object=DataBaseObject Other* ";"
		public Group getGroup() { return cGroup; }

		//"DROP"
		public Keyword getDROPKeyword_0() { return cDROPKeyword_0; }

		//object=DataBaseObject
		public Assignment getObjectAssignment_1() { return cObjectAssignment_1; }

		//DataBaseObject
		public RuleCall getObjectDataBaseObjectParserRuleCall_1_0() { return cObjectDataBaseObjectParserRuleCall_1_0; }

		//Other*
		public RuleCall getOtherParserRuleCall_2() { return cOtherParserRuleCall_2; }

		//";"
		public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; }
	}

	public class QIDElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QID");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
		
		//QID:
		//	ID ("." ID)*;
		public ParserRule getRule() { return rule; }

		//ID ("." ID)*
		public Group getGroup() { return cGroup; }

		//ID
		public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }

		//("." ID)*
		public Group getGroup_1() { return cGroup_1; }

		//"."
		public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }

		//ID
		public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; }
	}

	public class OtherElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Other");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cANY_OTHERTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		private final RuleCall cIDTerminalRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
		private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
		private final Keyword cLeftParenthesisKeyword_4 = (Keyword)cAlternatives.eContents().get(4);
		private final Keyword cRightParenthesisKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
		private final Keyword cFullStopKeyword_6 = (Keyword)cAlternatives.eContents().get(6);
		private final Keyword cCommaKeyword_7 = (Keyword)cAlternatives.eContents().get(7);
		private final Keyword cONKeyword_8 = (Keyword)cAlternatives.eContents().get(8);
		private final Keyword cTOKeyword_9 = (Keyword)cAlternatives.eContents().get(9);
		private final Keyword cCASCADEKeyword_10 = (Keyword)cAlternatives.eContents().get(10);
		private final RuleCall cDataBaseObjectParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
		
		//Other:
		//	STRING | ANY_OTHER | ID | INT | "(" | ")" | "." | "," | "ON" | "TO" | "CASCADE" | DataBaseObject;
		public ParserRule getRule() { return rule; }

		//STRING | ANY_OTHER | ID | INT | "(" | ")" | "." | "," | "ON" | "TO" | "CASCADE" | DataBaseObject
		public Alternatives getAlternatives() { return cAlternatives; }

		//STRING
		public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; }

		//ANY_OTHER
		public RuleCall getANY_OTHERTerminalRuleCall_1() { return cANY_OTHERTerminalRuleCall_1; }

		//ID
		public RuleCall getIDTerminalRuleCall_2() { return cIDTerminalRuleCall_2; }

		//INT
		public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; }

		//"("
		public Keyword getLeftParenthesisKeyword_4() { return cLeftParenthesisKeyword_4; }

		//")"
		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }

		//"."
		public Keyword getFullStopKeyword_6() { return cFullStopKeyword_6; }

		//","
		public Keyword getCommaKeyword_7() { return cCommaKeyword_7; }

		//"ON"
		public Keyword getONKeyword_8() { return cONKeyword_8; }

		//"TO"
		public Keyword getTOKeyword_9() { return cTOKeyword_9; }

		//"CASCADE"
		public Keyword getCASCADEKeyword_10() { return cCASCADEKeyword_10; }

		//DataBaseObject
		public RuleCall getDataBaseObjectParserRuleCall_11() { return cDataBaseObjectParserRuleCall_11; }
	}

	public class ConstraintElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Constraint");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
		private final RuleCall cNullableConstraintParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0);
		private final RuleCall cUniqueKeyConstraintParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1);
		private final RuleCall cPrimaryKeyConstraintParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2);
		private final RuleCall cForeignKeyConstraintParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3);
		private final RuleCall cCheckConstraintParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4);
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		
		//Constraint:
		//	(NullableConstraint | UniqueKeyConstraint | PrimaryKeyConstraint | ForeignKeyConstraint | CheckConstraint) name=ID?;
		public ParserRule getRule() { return rule; }

		//(NullableConstraint | UniqueKeyConstraint | PrimaryKeyConstraint | ForeignKeyConstraint | CheckConstraint) name=ID?
		public Group getGroup() { return cGroup; }

		//NullableConstraint | UniqueKeyConstraint | PrimaryKeyConstraint | ForeignKeyConstraint | CheckConstraint
		public Alternatives getAlternatives_0() { return cAlternatives_0; }

		//NullableConstraint
		public RuleCall getNullableConstraintParserRuleCall_0_0() { return cNullableConstraintParserRuleCall_0_0; }

		//UniqueKeyConstraint
		public RuleCall getUniqueKeyConstraintParserRuleCall_0_1() { return cUniqueKeyConstraintParserRuleCall_0_1; }

		//PrimaryKeyConstraint
		public RuleCall getPrimaryKeyConstraintParserRuleCall_0_2() { return cPrimaryKeyConstraintParserRuleCall_0_2; }

		//ForeignKeyConstraint
		public RuleCall getForeignKeyConstraintParserRuleCall_0_3() { return cForeignKeyConstraintParserRuleCall_0_3; }

		//CheckConstraint
		public RuleCall getCheckConstraintParserRuleCall_0_4() { return cCheckConstraintParserRuleCall_0_4; }

		//name=ID?
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }

		//ID
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
	}

	public class NullableConstraintElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NullableConstraint");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
		private final Keyword cCONSTRAINTKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
		private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
		private final Assignment cNotAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final Keyword cNotNOTKeyword_1_0 = (Keyword)cNotAssignment_1.eContents().get(0);
		private final Keyword cNULLKeyword_2 = (Keyword)cGroup.eContents().get(2);
		
		//NullableConstraint:
		//	("CONSTRAINT" name=ID)? not?="NOT"? "NULL";
		public ParserRule getRule() { return rule; }

		//("CONSTRAINT" name=ID)? not?="NOT"? "NULL"
		public Group getGroup() { return cGroup; }

		//("CONSTRAINT" name=ID)?
		public Group getGroup_0() { return cGroup_0; }

		//"CONSTRAINT"
		public Keyword getCONSTRAINTKeyword_0_0() { return cCONSTRAINTKeyword_0_0; }

		//name=ID
		public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }

		//ID
		public RuleCall getNameIDTerminalRuleCall_0_1_0() { return cNameIDTerminalRuleCall_0_1_0; }

		//not?="NOT"?
		public Assignment getNotAssignment_1() { return cNotAssignment_1; }

		//"NOT"
		public Keyword getNotNOTKeyword_1_0() { return cNotNOTKeyword_1_0; }

		//"NULL"
		public Keyword getNULLKeyword_2() { return cNULLKeyword_2; }
	}

	public class UniqueKeyConstraintElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UniqueKeyConstraint");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
		private final Keyword cCONSTRAINTKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
		private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
		private final Keyword cUNIQUEKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Keyword cKEYKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
		private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cColumnsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final CrossReference cColumnsColumnCrossReference_3_1_0 = (CrossReference)cColumnsAssignment_3_1.eContents().get(0);
		private final RuleCall cColumnsColumnQIDParserRuleCall_3_1_0_1 = (RuleCall)cColumnsColumnCrossReference_3_1_0.eContents().get(1);
		private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
		private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
		private final Assignment cColumnsAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
		private final CrossReference cColumnsColumnCrossReference_3_2_1_0 = (CrossReference)cColumnsAssignment_3_2_1.eContents().get(0);
		private final RuleCall cColumnsColumnQIDParserRuleCall_3_2_1_0_1 = (RuleCall)cColumnsColumnCrossReference_3_2_1_0.eContents().get(1);
		private final Keyword cRightParenthesisKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3);
		
		//UniqueKeyConstraint:
		//	("CONSTRAINT" name=ID)? "UNIQUE" "KEY"? ("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")?;
		public ParserRule getRule() { return rule; }

		//("CONSTRAINT" name=ID)? "UNIQUE" "KEY"? ("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")?
		public Group getGroup() { return cGroup; }

		//("CONSTRAINT" name=ID)?
		public Group getGroup_0() { return cGroup_0; }

		//"CONSTRAINT"
		public Keyword getCONSTRAINTKeyword_0_0() { return cCONSTRAINTKeyword_0_0; }

		//name=ID
		public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }

		//ID
		public RuleCall getNameIDTerminalRuleCall_0_1_0() { return cNameIDTerminalRuleCall_0_1_0; }

		//"UNIQUE"
		public Keyword getUNIQUEKeyword_1() { return cUNIQUEKeyword_1; }

		//"KEY"?
		public Keyword getKEYKeyword_2() { return cKEYKeyword_2; }

		//("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")?
		public Group getGroup_3() { return cGroup_3; }

		//"("
		public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; }

		//columns+=[Column|QID]
		public Assignment getColumnsAssignment_3_1() { return cColumnsAssignment_3_1; }

		//[Column|QID]
		public CrossReference getColumnsColumnCrossReference_3_1_0() { return cColumnsColumnCrossReference_3_1_0; }

		//QID
		public RuleCall getColumnsColumnQIDParserRuleCall_3_1_0_1() { return cColumnsColumnQIDParserRuleCall_3_1_0_1; }

		//("," columns+=[Column|QID])*
		public Group getGroup_3_2() { return cGroup_3_2; }

		//","
		public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }

		//columns+=[Column|QID]
		public Assignment getColumnsAssignment_3_2_1() { return cColumnsAssignment_3_2_1; }

		//[Column|QID]
		public CrossReference getColumnsColumnCrossReference_3_2_1_0() { return cColumnsColumnCrossReference_3_2_1_0; }

		//QID
		public RuleCall getColumnsColumnQIDParserRuleCall_3_2_1_0_1() { return cColumnsColumnQIDParserRuleCall_3_2_1_0_1; }

		//")"
		public Keyword getRightParenthesisKeyword_3_3() { return cRightParenthesisKeyword_3_3; }
	}

	public class PrimaryKeyConstraintElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PrimaryKeyConstraint");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
		private final Keyword cCONSTRAINTKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
		private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
		private final Keyword cPRIMARYKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Keyword cKEYKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
		private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cColumnsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final CrossReference cColumnsColumnCrossReference_3_1_0 = (CrossReference)cColumnsAssignment_3_1.eContents().get(0);
		private final RuleCall cColumnsColumnQIDParserRuleCall_3_1_0_1 = (RuleCall)cColumnsColumnCrossReference_3_1_0.eContents().get(1);
		private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
		private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
		private final Assignment cColumnsAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1);
		private final CrossReference cColumnsColumnCrossReference_3_2_1_0 = (CrossReference)cColumnsAssignment_3_2_1.eContents().get(0);
		private final RuleCall cColumnsColumnQIDParserRuleCall_3_2_1_0_1 = (RuleCall)cColumnsColumnCrossReference_3_2_1_0.eContents().get(1);
		private final Keyword cRightParenthesisKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3);
		
		//PrimaryKeyConstraint:
		//	("CONSTRAINT" name=ID)? "PRIMARY" "KEY" ("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")?;
		public ParserRule getRule() { return rule; }

		//("CONSTRAINT" name=ID)? "PRIMARY" "KEY" ("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")?
		public Group getGroup() { return cGroup; }

		//("CONSTRAINT" name=ID)?
		public Group getGroup_0() { return cGroup_0; }

		//"CONSTRAINT"
		public Keyword getCONSTRAINTKeyword_0_0() { return cCONSTRAINTKeyword_0_0; }

		//name=ID
		public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }

		//ID
		public RuleCall getNameIDTerminalRuleCall_0_1_0() { return cNameIDTerminalRuleCall_0_1_0; }

		//"PRIMARY"
		public Keyword getPRIMARYKeyword_1() { return cPRIMARYKeyword_1; }

		//"KEY"
		public Keyword getKEYKeyword_2() { return cKEYKeyword_2; }

		//("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")?
		public Group getGroup_3() { return cGroup_3; }

		//"("
		public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; }

		//columns+=[Column|QID]
		public Assignment getColumnsAssignment_3_1() { return cColumnsAssignment_3_1; }

		//[Column|QID]
		public CrossReference getColumnsColumnCrossReference_3_1_0() { return cColumnsColumnCrossReference_3_1_0; }

		//QID
		public RuleCall getColumnsColumnQIDParserRuleCall_3_1_0_1() { return cColumnsColumnQIDParserRuleCall_3_1_0_1; }

		//("," columns+=[Column|QID])*
		public Group getGroup_3_2() { return cGroup_3_2; }

		//","
		public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }

		//columns+=[Column|QID]
		public Assignment getColumnsAssignment_3_2_1() { return cColumnsAssignment_3_2_1; }

		//[Column|QID]
		public CrossReference getColumnsColumnCrossReference_3_2_1_0() { return cColumnsColumnCrossReference_3_2_1_0; }

		//QID
		public RuleCall getColumnsColumnQIDParserRuleCall_3_2_1_0_1() { return cColumnsColumnQIDParserRuleCall_3_2_1_0_1; }

		//")"
		public Keyword getRightParenthesisKeyword_3_3() { return cRightParenthesisKeyword_3_3; }
	}

	public class CheckConstraintElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CheckConstraint");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cCHECKKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final RuleCall cOtherParserRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
		
		//CheckConstraint:
		//	"CHECK" Other*;
		public ParserRule getRule() { return rule; }

		//"CHECK" Other*
		public Group getGroup() { return cGroup; }

		//"CHECK"
		public Keyword getCHECKKeyword_0() { return cCHECKKeyword_0; }

		//Other*
		public RuleCall getOtherParserRuleCall_1() { return cOtherParserRuleCall_1; }
	}

	public class ForeignKeyConstraintElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ForeignKeyConstraint");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cFOREIGNKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Keyword cKEYKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Assignment cColumnsAssignment_3 = (Assignment)cGroup.eContents().get(3);
		private final CrossReference cColumnsColumnCrossReference_3_0 = (CrossReference)cColumnsAssignment_3.eContents().get(0);
		private final RuleCall cColumnsColumnQIDParserRuleCall_3_0_1 = (RuleCall)cColumnsColumnCrossReference_3_0.eContents().get(1);
		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
		private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
		private final Assignment cColumnsAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
		private final CrossReference cColumnsColumnCrossReference_4_1_0 = (CrossReference)cColumnsAssignment_4_1.eContents().get(0);
		private final RuleCall cColumnsColumnQIDParserRuleCall_4_1_0_1 = (RuleCall)cColumnsColumnCrossReference_4_1_0.eContents().get(1);
		private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
		private final Assignment cReferenceAssignment_6 = (Assignment)cGroup.eContents().get(6);
		private final RuleCall cReferenceReferenceClauseParserRuleCall_6_0 = (RuleCall)cReferenceAssignment_6.eContents().get(0);
		
		//ForeignKeyConstraint:
		//	"FOREIGN" "KEY" "(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")" reference=ReferenceClause;
		public ParserRule getRule() { return rule; }

		//"FOREIGN" "KEY" "(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")" reference=ReferenceClause
		public Group getGroup() { return cGroup; }

		//"FOREIGN"
		public Keyword getFOREIGNKeyword_0() { return cFOREIGNKeyword_0; }

		//"KEY"
		public Keyword getKEYKeyword_1() { return cKEYKeyword_1; }

		//"("
		public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }

		//columns+=[Column|QID]
		public Assignment getColumnsAssignment_3() { return cColumnsAssignment_3; }

		//[Column|QID]
		public CrossReference getColumnsColumnCrossReference_3_0() { return cColumnsColumnCrossReference_3_0; }

		//QID
		public RuleCall getColumnsColumnQIDParserRuleCall_3_0_1() { return cColumnsColumnQIDParserRuleCall_3_0_1; }

		//("," columns+=[Column|QID])*
		public Group getGroup_4() { return cGroup_4; }

		//","
		public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; }

		//columns+=[Column|QID]
		public Assignment getColumnsAssignment_4_1() { return cColumnsAssignment_4_1; }

		//[Column|QID]
		public CrossReference getColumnsColumnCrossReference_4_1_0() { return cColumnsColumnCrossReference_4_1_0; }

		//QID
		public RuleCall getColumnsColumnQIDParserRuleCall_4_1_0_1() { return cColumnsColumnQIDParserRuleCall_4_1_0_1; }

		//")"
		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }

		//reference=ReferenceClause
		public Assignment getReferenceAssignment_6() { return cReferenceAssignment_6; }

		//ReferenceClause
		public RuleCall getReferenceReferenceClauseParserRuleCall_6_0() { return cReferenceReferenceClauseParserRuleCall_6_0; }
	}

	public class ReferenceClauseElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ReferenceClause");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Keyword cREFERENCESKeyword_0 = (Keyword)cGroup.eContents().get(0);
		private final Assignment cTableAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final CrossReference cTableCreateTableCrossReference_1_0 = (CrossReference)cTableAssignment_1.eContents().get(0);
		private final RuleCall cTableCreateTableQIDParserRuleCall_1_0_1 = (RuleCall)cTableCreateTableCrossReference_1_0.eContents().get(1);
		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
		private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Assignment cColumnsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
		private final CrossReference cColumnsColumnCrossReference_2_1_0 = (CrossReference)cColumnsAssignment_2_1.eContents().get(0);
		private final RuleCall cColumnsColumnQIDParserRuleCall_2_1_0_1 = (RuleCall)cColumnsColumnCrossReference_2_1_0.eContents().get(1);
		private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2);
		private final Keyword cCommaKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0);
		private final Assignment cColumnsAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1);
		private final CrossReference cColumnsColumnCrossReference_2_2_1_0 = (CrossReference)cColumnsAssignment_2_2_1.eContents().get(0);
		private final RuleCall cColumnsColumnQIDParserRuleCall_2_2_1_0_1 = (RuleCall)cColumnsColumnCrossReference_2_2_1_0.eContents().get(1);
		private final Keyword cRightParenthesisKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3);
		private final RuleCall cOtherParserRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
		
		//ReferenceClause:
		//	"REFERENCES" table=[CreateTable|QID] ("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")? Other*;
		public ParserRule getRule() { return rule; }

		//"REFERENCES" table=[CreateTable|QID] ("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")? Other*
		public Group getGroup() { return cGroup; }

		//"REFERENCES"
		public Keyword getREFERENCESKeyword_0() { return cREFERENCESKeyword_0; }

		//table=[CreateTable|QID]
		public Assignment getTableAssignment_1() { return cTableAssignment_1; }

		//[CreateTable|QID]
		public CrossReference getTableCreateTableCrossReference_1_0() { return cTableCreateTableCrossReference_1_0; }

		//QID
		public RuleCall getTableCreateTableQIDParserRuleCall_1_0_1() { return cTableCreateTableQIDParserRuleCall_1_0_1; }

		//("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")?
		public Group getGroup_2() { return cGroup_2; }

		//"("
		public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; }

		//columns+=[Column|QID]
		public Assignment getColumnsAssignment_2_1() { return cColumnsAssignment_2_1; }

		//[Column|QID]
		public CrossReference getColumnsColumnCrossReference_2_1_0() { return cColumnsColumnCrossReference_2_1_0; }

		//QID
		public RuleCall getColumnsColumnQIDParserRuleCall_2_1_0_1() { return cColumnsColumnQIDParserRuleCall_2_1_0_1; }

		//("," columns+=[Column|QID])*
		public Group getGroup_2_2() { return cGroup_2_2; }

		//","
		public Keyword getCommaKeyword_2_2_0() { return cCommaKeyword_2_2_0; }

		//columns+=[Column|QID]
		public Assignment getColumnsAssignment_2_2_1() { return cColumnsAssignment_2_2_1; }

		//[Column|QID]
		public CrossReference getColumnsColumnCrossReference_2_2_1_0() { return cColumnsColumnCrossReference_2_2_1_0; }

		//QID
		public RuleCall getColumnsColumnQIDParserRuleCall_2_2_1_0_1() { return cColumnsColumnQIDParserRuleCall_2_2_1_0_1; }

		//")"
		public Keyword getRightParenthesisKeyword_2_3() { return cRightParenthesisKeyword_2_3; }

		//Other*
		public RuleCall getOtherParserRuleCall_3() { return cOtherParserRuleCall_3; }
	}

	public class SqlDataTypeElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SqlDataType");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
		private final RuleCall cSqlCharacterParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0);
		private final RuleCall cSqlNumberParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1);
		private final RuleCall cLongRawParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2);
		private final RuleCall cSqlDateTimeParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3);
		private final RuleCall cLargeObjectTypeParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4);
		private final RuleCall cRowIdTypeParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5);
		private final RuleCall cSqlBooleanParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6);
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
		
		//SqlDataType:
		//	(SqlCharacter | SqlNumber | LongRaw | SqlDateTime | LargeObjectType | RowIdType | SqlBoolean) name=ID?;
		public ParserRule getRule() { return rule; }

		//(SqlCharacter | SqlNumber | LongRaw | SqlDateTime | LargeObjectType | RowIdType | SqlBoolean) name=ID?
		public Group getGroup() { return cGroup; }

		//SqlCharacter | SqlNumber | LongRaw | SqlDateTime | LargeObjectType | RowIdType | SqlBoolean
		public Alternatives getAlternatives_0() { return cAlternatives_0; }

		//SqlCharacter
		public RuleCall getSqlCharacterParserRuleCall_0_0() { return cSqlCharacterParserRuleCall_0_0; }

		//SqlNumber
		public RuleCall getSqlNumberParserRuleCall_0_1() { return cSqlNumberParserRuleCall_0_1; }

		//LongRaw
		public RuleCall getLongRawParserRuleCall_0_2() { return cLongRawParserRuleCall_0_2; }

		//SqlDateTime
		public RuleCall getSqlDateTimeParserRuleCall_0_3() { return cSqlDateTimeParserRuleCall_0_3; }

		//LargeObjectType
		public RuleCall getLargeObjectTypeParserRuleCall_0_4() { return cLargeObjectTypeParserRuleCall_0_4; }

		//RowIdType
		public RuleCall getRowIdTypeParserRuleCall_0_5() { return cRowIdTypeParserRuleCall_0_5; }

		//SqlBoolean
		public RuleCall getSqlBooleanParserRuleCall_0_6() { return cSqlBooleanParserRuleCall_0_6; }

		//name=ID?
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }

		//ID
		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
	}

	public class SqlCharacterElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SqlCharacter");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNationalAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final Keyword cNationalNATIONALKeyword_0_0 = (Keyword)cNationalAssignment_0.eContents().get(0);
		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final Alternatives cNameAlternatives_1_0 = (Alternatives)cNameAssignment_1.eContents().get(0);
		private final Keyword cNameCHARKeyword_1_0_0 = (Keyword)cNameAlternatives_1_0.eContents().get(0);
		private final Keyword cNameVARCHAR2Keyword_1_0_1 = (Keyword)cNameAlternatives_1_0.eContents().get(1);
		private final Keyword cNameVARCHARKeyword_1_0_2 = (Keyword)cNameAlternatives_1_0.eContents().get(2);
		private final Keyword cNameCHARACTERKeyword_1_0_3 = (Keyword)cNameAlternatives_1_0.eContents().get(3);
		private final Keyword cNameNCHARKeyword_1_0_4 = (Keyword)cNameAlternatives_1_0.eContents().get(4);
		private final Keyword cNameNVARCHAR2Keyword_1_0_5 = (Keyword)cNameAlternatives_1_0.eContents().get(5);
		private final Keyword cVARYINGKeyword_2 = (Keyword)cGroup.eContents().get(2);
		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
		private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
		private final Assignment cSizeAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
		private final RuleCall cSizeINTTerminalRuleCall_3_1_0 = (RuleCall)cSizeAssignment_3_1.eContents().get(0);
		private final Alternatives cAlternatives_3_2 = (Alternatives)cGroup_3.eContents().get(2);
		private final Keyword cBYTEKeyword_3_2_0 = (Keyword)cAlternatives_3_2.eContents().get(0);
		private final Keyword cCHARKeyword_3_2_1 = (Keyword)cAlternatives_3_2.eContents().get(1);
		private final Keyword cRightParenthesisKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3);
		
		//SqlCharacter:
		//	national?="NATIONAL"? name=("CHAR" | "VARCHAR2" | "VARCHAR" | "CHARACTER" | "NCHAR" | "NVARCHAR2") "VARYING"? ("("
		//	size=INT ("BYTE" | "CHAR")? ")")?;
		public ParserRule getRule() { return rule; }

		//national?="NATIONAL"? name=("CHAR" | "VARCHAR2" | "VARCHAR" | "CHARACTER" | "NCHAR" | "NVARCHAR2") "VARYING"? ("("
		//size=INT ("BYTE" | "CHAR")? ")")?
		public Group getGroup() { return cGroup; }

		//national?="NATIONAL"?
		public Assignment getNationalAssignment_0() { return cNationalAssignment_0; }

		//"NATIONAL"
		public Keyword getNationalNATIONALKeyword_0_0() { return cNationalNATIONALKeyword_0_0; }

		//name=("CHAR" | "VARCHAR2" | "VARCHAR" | "CHARACTER" | "NCHAR" | "NVARCHAR2")
		public Assignment getNameAssignment_1() { return cNameAssignment_1; }

		//"CHAR" | "VARCHAR2" | "VARCHAR" | "CHARACTER" | "NCHAR" | "NVARCHAR2"
		public Alternatives getNameAlternatives_1_0() { return cNameAlternatives_1_0; }

		//"CHAR"
		public Keyword getNameCHARKeyword_1_0_0() { return cNameCHARKeyword_1_0_0; }

		//"VARCHAR2"
		public Keyword getNameVARCHAR2Keyword_1_0_1() { return cNameVARCHAR2Keyword_1_0_1; }

		//"VARCHAR"
		public Keyword getNameVARCHARKeyword_1_0_2() { return cNameVARCHARKeyword_1_0_2; }

		//"CHARACTER"
		public Keyword getNameCHARACTERKeyword_1_0_3() { return cNameCHARACTERKeyword_1_0_3; }

		//"NCHAR"
		public Keyword getNameNCHARKeyword_1_0_4() { return cNameNCHARKeyword_1_0_4; }

		//"NVARCHAR2"
		public Keyword getNameNVARCHAR2Keyword_1_0_5() { return cNameNVARCHAR2Keyword_1_0_5; }

		//"VARYING"?
		public Keyword getVARYINGKeyword_2() { return cVARYINGKeyword_2; }

		//("(" size=INT ("BYTE" | "CHAR")? ")")?
		public Group getGroup_3() { return cGroup_3; }

		//"("
		public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; }

		//size=INT
		public Assignment getSizeAssignment_3_1() { return cSizeAssignment_3_1; }

		//INT
		public RuleCall getSizeINTTerminalRuleCall_3_1_0() { return cSizeINTTerminalRuleCall_3_1_0; }

		//("BYTE" | "CHAR")?
		public Alternatives getAlternatives_3_2() { return cAlternatives_3_2; }

		//"BYTE"
		public Keyword getBYTEKeyword_3_2_0() { return cBYTEKeyword_3_2_0; }

		//"CHAR"
		public Keyword getCHARKeyword_3_2_1() { return cCHARKeyword_3_2_1; }

		//")"
		public Keyword getRightParenthesisKeyword_3_3() { return cRightParenthesisKeyword_3_3; }
	}

	public class SqlNumberElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SqlNumber");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final Alternatives cNameAlternatives_0_0 = (Alternatives)cNameAssignment_0.eContents().get(0);
		private final Keyword cNameNUMBERKeyword_0_0_0 = (Keyword)cNameAlternatives_0_0.eContents().get(0);
		private final Keyword cNameNUMERICKeyword_0_0_1 = (Keyword)cNameAlternatives_0_0.eContents().get(1);
		private final Keyword cNameDECIMALKeyword_0_0_2 = (Keyword)cNameAlternatives_0_0.eContents().get(2);
		private final Keyword cNameDECKeyword_0_0_3 = (Keyword)cNameAlternatives_0_0.eContents().get(3);
		private final Keyword cNameINTEGERKeyword_0_0_4 = (Keyword)cNameAlternatives_0_0.eContents().get(4);
		private final Keyword cNameINTKeyword_0_0_5 = (Keyword)cNameAlternatives_0_0.eContents().get(5);
		private final Keyword cNameSMALLINTKeyword_0_0_6 = (Keyword)cNameAlternatives_0_0.eContents().get(6);
		private final Keyword cNameBIGINTKeyword_0_0_7 = (Keyword)cNameAlternatives_0_0.eContents().get(7);
		private final Keyword cNameFLOATKeyword_0_0_8 = (Keyword)cNameAlternatives_0_0.eContents().get(8);
		private final Keyword cNameDOUBLEKeyword_0_0_9 = (Keyword)cNameAlternatives_0_0.eContents().get(9);
		private final Keyword cNameREALKeyword_0_0_10 = (Keyword)cNameAlternatives_0_0.eContents().get(10);
		private final Keyword cNameBINARY_FLOATKeyword_0_0_11 = (Keyword)cNameAlternatives_0_0.eContents().get(11);
		private final Keyword cNameBINARY_DOUBLEKeyword_0_0_12 = (Keyword)cNameAlternatives_0_0.eContents().get(12);
		private final Assignment cHasPrecisionAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final Keyword cHasPrecisionPRECISIONKeyword_1_0 = (Keyword)cHasPrecisionAssignment_1.eContents().get(0);
		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
		private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Assignment cPrecisionAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
		private final RuleCall cPrecisionINTTerminalRuleCall_2_1_0 = (RuleCall)cPrecisionAssignment_2_1.eContents().get(0);
		private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2);
		private final Keyword cCommaKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0);
		private final Assignment cScaleAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1);
		private final RuleCall cScaleINTTerminalRuleCall_2_2_1_0 = (RuleCall)cScaleAssignment_2_2_1.eContents().get(0);
		private final Keyword cRightParenthesisKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3);
		
		//SqlNumber:
		//	name=("NUMBER" | "NUMERIC" | "DECIMAL" | "DEC" | "INTEGER" | "INT" | "SMALLINT" | "BIGINT" | "FLOAT" | "DOUBLE" |
		//	"REAL" | "BINARY_FLOAT" | "BINARY_DOUBLE") hasPrecision?="PRECISION"? ("(" precision=INT ("," scale=INT)? ")")?;
		public ParserRule getRule() { return rule; }

		//name=("NUMBER" | "NUMERIC" | "DECIMAL" | "DEC" | "INTEGER" | "INT" | "SMALLINT" | "BIGINT" | "FLOAT" | "DOUBLE" | "REAL"
		//| "BINARY_FLOAT" | "BINARY_DOUBLE") hasPrecision?="PRECISION"? ("(" precision=INT ("," scale=INT)? ")")?
		public Group getGroup() { return cGroup; }

		//name=("NUMBER" | "NUMERIC" | "DECIMAL" | "DEC" | "INTEGER" | "INT" | "SMALLINT" | "BIGINT" | "FLOAT" | "DOUBLE" | "REAL"
		//| "BINARY_FLOAT" | "BINARY_DOUBLE")
		public Assignment getNameAssignment_0() { return cNameAssignment_0; }

		//"NUMBER" | "NUMERIC" | "DECIMAL" | "DEC" | "INTEGER" | "INT" | "SMALLINT" | "BIGINT" | "FLOAT" | "DOUBLE" | "REAL" |
		//"BINARY_FLOAT" | "BINARY_DOUBLE"
		public Alternatives getNameAlternatives_0_0() { return cNameAlternatives_0_0; }

		//"NUMBER"
		public Keyword getNameNUMBERKeyword_0_0_0() { return cNameNUMBERKeyword_0_0_0; }

		//"NUMERIC"
		public Keyword getNameNUMERICKeyword_0_0_1() { return cNameNUMERICKeyword_0_0_1; }

		//"DECIMAL"
		public Keyword getNameDECIMALKeyword_0_0_2() { return cNameDECIMALKeyword_0_0_2; }

		//"DEC"
		public Keyword getNameDECKeyword_0_0_3() { return cNameDECKeyword_0_0_3; }

		//"INTEGER"
		public Keyword getNameINTEGERKeyword_0_0_4() { return cNameINTEGERKeyword_0_0_4; }

		//"INT"
		public Keyword getNameINTKeyword_0_0_5() { return cNameINTKeyword_0_0_5; }

		//"SMALLINT"
		public Keyword getNameSMALLINTKeyword_0_0_6() { return cNameSMALLINTKeyword_0_0_6; }

		//"BIGINT"
		public Keyword getNameBIGINTKeyword_0_0_7() { return cNameBIGINTKeyword_0_0_7; }

		//"FLOAT"
		public Keyword getNameFLOATKeyword_0_0_8() { return cNameFLOATKeyword_0_0_8; }

		//"DOUBLE"
		public Keyword getNameDOUBLEKeyword_0_0_9() { return cNameDOUBLEKeyword_0_0_9; }

		//"REAL"
		public Keyword getNameREALKeyword_0_0_10() { return cNameREALKeyword_0_0_10; }

		//"BINARY_FLOAT"
		public Keyword getNameBINARY_FLOATKeyword_0_0_11() { return cNameBINARY_FLOATKeyword_0_0_11; }

		//"BINARY_DOUBLE"
		public Keyword getNameBINARY_DOUBLEKeyword_0_0_12() { return cNameBINARY_DOUBLEKeyword_0_0_12; }

		//hasPrecision?="PRECISION"?
		public Assignment getHasPrecisionAssignment_1() { return cHasPrecisionAssignment_1; }

		//"PRECISION"
		public Keyword getHasPrecisionPRECISIONKeyword_1_0() { return cHasPrecisionPRECISIONKeyword_1_0; }

		//("(" precision=INT ("," scale=INT)? ")")?
		public Group getGroup_2() { return cGroup_2; }

		//"("
		public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; }

		//precision=INT
		public Assignment getPrecisionAssignment_2_1() { return cPrecisionAssignment_2_1; }

		//INT
		public RuleCall getPrecisionINTTerminalRuleCall_2_1_0() { return cPrecisionINTTerminalRuleCall_2_1_0; }

		//("," scale=INT)?
		public Group getGroup_2_2() { return cGroup_2_2; }

		//","
		public Keyword getCommaKeyword_2_2_0() { return cCommaKeyword_2_2_0; }

		//scale=INT
		public Assignment getScaleAssignment_2_2_1() { return cScaleAssignment_2_2_1; }

		//INT
		public RuleCall getScaleINTTerminalRuleCall_2_2_1_0() { return cScaleINTTerminalRuleCall_2_2_1_0; }

		//")"
		public Keyword getRightParenthesisKeyword_2_3() { return cRightParenthesisKeyword_2_3; }
	}

	public class LongRawElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LongRaw");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cLongParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cRawParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		
		//LongRaw:
		//	Long | Raw;
		public ParserRule getRule() { return rule; }

		//Long | Raw
		public Alternatives getAlternatives() { return cAlternatives; }

		//Long
		public RuleCall getLongParserRuleCall_0() { return cLongParserRuleCall_0; }

		//Raw
		public RuleCall getRawParserRuleCall_1() { return cRawParserRuleCall_1; }
	}

	public class LongElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Long");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final Keyword cNameLONGKeyword_0_0 = (Keyword)cNameAssignment_0.eContents().get(0);
		private final Assignment cRawAssignment_1 = (Assignment)cGroup.eContents().get(1);
		private final Keyword cRawRAWKeyword_1_0 = (Keyword)cRawAssignment_1.eContents().get(0);
		
		//Long:
		//	name="LONG" raw?="RAW";
		public ParserRule getRule() { return rule; }

		//name="LONG" raw?="RAW"
		public Group getGroup() { return cGroup; }

		//name="LONG"
		public Assignment getNameAssignment_0() { return cNameAssignment_0; }

		//"LONG"
		public Keyword getNameLONGKeyword_0_0() { return cNameLONGKeyword_0_0; }

		//raw?="RAW"
		public Assignment getRawAssignment_1() { return cRawAssignment_1; }

		//"RAW"
		public Keyword getRawRAWKeyword_1_0() { return cRawRAWKeyword_1_0; }
	}

	public class RawElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Raw");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final Keyword cNameRAWKeyword_0_0 = (Keyword)cNameAssignment_0.eContents().get(0);
		private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
		private final Assignment cSizeAssignment_2 = (Assignment)cGroup.eContents().get(2);
		private final RuleCall cSizeINTTerminalRuleCall_2_0 = (RuleCall)cSizeAssignment_2.eContents().get(0);
		private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
		
		//Raw:
		//	name="RAW" "(" size=INT ")";
		public ParserRule getRule() { return rule; }

		//name="RAW" "(" size=INT ")"
		public Group getGroup() { return cGroup; }

		//name="RAW"
		public Assignment getNameAssignment_0() { return cNameAssignment_0; }

		//"RAW"
		public Keyword getNameRAWKeyword_0_0() { return cNameRAWKeyword_0_0; }

		//"("
		public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }

		//size=INT
		public Assignment getSizeAssignment_2() { return cSizeAssignment_2; }

		//INT
		public RuleCall getSizeINTTerminalRuleCall_2_0() { return cSizeINTTerminalRuleCall_2_0; }

		//")"
		public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
	}

	public class SqlDateTimeElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SqlDateTime");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final RuleCall cSqlDateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
		private final RuleCall cSqlTimeStampParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
		private final RuleCall cSqlIntervalParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
		
		//SqlDateTime:
		//	SqlDate | SqlTimeStamp | SqlInterval;
		public ParserRule getRule() { return rule; }

		//SqlDate | SqlTimeStamp | SqlInterval
		public Alternatives getAlternatives() { return cAlternatives; }

		//SqlDate
		public RuleCall getSqlDateParserRuleCall_0() { return cSqlDateParserRuleCall_0; }

		//SqlTimeStamp
		public RuleCall getSqlTimeStampParserRuleCall_1() { return cSqlTimeStampParserRuleCall_1; }

		//SqlInterval
		public RuleCall getSqlIntervalParserRuleCall_2() { return cSqlIntervalParserRuleCall_2; }
	}

	public class SqlDateElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SqlDate");
		private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
		private final Keyword cNameDATEKeyword_0 = (Keyword)cNameAssignment.eContents().get(0);
		
		//SqlDate:
		//	name="DATE";
		public ParserRule getRule() { return rule; }

		//name="DATE"
		public Assignment getNameAssignment() { return cNameAssignment; }

		//"DATE"
		public Keyword getNameDATEKeyword_0() { return cNameDATEKeyword_0; }
	}

	public class SqlTimeStampElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SqlTimeStamp");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final Keyword cNameTIMESTAMPKeyword_0_0 = (Keyword)cNameAssignment_0.eContents().get(0);
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Assignment cPrecisionAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
		private final RuleCall cPrecisionINTTerminalRuleCall_1_1_0 = (RuleCall)cPrecisionAssignment_1_1.eContents().get(0);
		private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
		private final Keyword cWITHKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Keyword cLOCALKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
		private final Keyword cTIMEKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
		private final Keyword cZONEKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3);
		
		//SqlTimeStamp:
		//	name="TIMESTAMP" ("(" precision=INT ")")? ("WITH" "LOCAL"? "TIME" "ZONE")?;
		public ParserRule getRule() { return rule; }

		//name="TIMESTAMP" ("(" precision=INT ")")? ("WITH" "LOCAL"? "TIME" "ZONE")?
		public Group getGroup() { return cGroup; }

		//name="TIMESTAMP"
		public Assignment getNameAssignment_0() { return cNameAssignment_0; }

		//"TIMESTAMP"
		public Keyword getNameTIMESTAMPKeyword_0_0() { return cNameTIMESTAMPKeyword_0_0; }

		//("(" precision=INT ")")?
		public Group getGroup_1() { return cGroup_1; }

		//"("
		public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; }

		//precision=INT
		public Assignment getPrecisionAssignment_1_1() { return cPrecisionAssignment_1_1; }

		//INT
		public RuleCall getPrecisionINTTerminalRuleCall_1_1_0() { return cPrecisionINTTerminalRuleCall_1_1_0; }

		//")"
		public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; }

		//("WITH" "LOCAL"? "TIME" "ZONE")?
		public Group getGroup_2() { return cGroup_2; }

		//"WITH"
		public Keyword getWITHKeyword_2_0() { return cWITHKeyword_2_0; }

		//"LOCAL"?
		public Keyword getLOCALKeyword_2_1() { return cLOCALKeyword_2_1; }

		//"TIME"
		public Keyword getTIMEKeyword_2_2() { return cTIMEKeyword_2_2; }

		//"ZONE"
		public Keyword getZONEKeyword_2_3() { return cZONEKeyword_2_3; }
	}

	public class SqlIntervalElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SqlInterval");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
		private final Assignment cNameAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
		private final Keyword cNameINTERVALKeyword_0_0_0 = (Keyword)cNameAssignment_0_0.eContents().get(0);
		private final Assignment cYearAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
		private final Keyword cYearYEARKeyword_0_1_0 = (Keyword)cYearAssignment_0_1.eContents().get(0);
		private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
		private final Assignment cDayAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
		private final Keyword cDayDAYKeyword_1_0_0 = (Keyword)cDayAssignment_1_0.eContents().get(0);
		private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1);
		private final Keyword cLeftParenthesisKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
		private final Assignment cPrecisionAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
		private final RuleCall cPrecisionINTTerminalRuleCall_1_1_1_0 = (RuleCall)cPrecisionAssignment_1_1_1.eContents().get(0);
		private final Keyword cRightParenthesisKeyword_1_1_2 = (Keyword)cGroup_1_1.eContents().get(2);
		private final Keyword cTOKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
		private final Keyword cMONTHKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3);
		private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
		private final Keyword cSECONDKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
		private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
		private final Keyword cLeftParenthesisKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
		private final Assignment cSecondsPrecisionAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
		private final RuleCall cSecondsPrecisionINTTerminalRuleCall_2_1_1_0 = (RuleCall)cSecondsPrecisionAssignment_2_1_1.eContents().get(0);
		private final Keyword cRightParenthesisKeyword_2_1_2 = (Keyword)cGroup_2_1.eContents().get(2);
		
		//SqlInterval:
		//	name="INTERVAL" year?="YEAR" | day?="DAY" ("(" precision=INT ")")? "TO" "MONTH" | "SECOND" ("(" secondsPrecision=INT
		//	")")?;
		public ParserRule getRule() { return rule; }

		//name="INTERVAL" year?="YEAR" | day?="DAY" ("(" precision=INT ")")? "TO" "MONTH" | "SECOND" ("(" secondsPrecision=INT
		//")")?
		public Alternatives getAlternatives() { return cAlternatives; }

		//name="INTERVAL" year?="YEAR"
		public Group getGroup_0() { return cGroup_0; }

		//name="INTERVAL"
		public Assignment getNameAssignment_0_0() { return cNameAssignment_0_0; }

		//"INTERVAL"
		public Keyword getNameINTERVALKeyword_0_0_0() { return cNameINTERVALKeyword_0_0_0; }

		//year?="YEAR"
		public Assignment getYearAssignment_0_1() { return cYearAssignment_0_1; }

		//"YEAR"
		public Keyword getYearYEARKeyword_0_1_0() { return cYearYEARKeyword_0_1_0; }

		//day?="DAY" ("(" precision=INT ")")? "TO" "MONTH"
		public Group getGroup_1() { return cGroup_1; }

		//day?="DAY"
		public Assignment getDayAssignment_1_0() { return cDayAssignment_1_0; }

		//"DAY"
		public Keyword getDayDAYKeyword_1_0_0() { return cDayDAYKeyword_1_0_0; }

		//("(" precision=INT ")")?
		public Group getGroup_1_1() { return cGroup_1_1; }

		//"("
		public Keyword getLeftParenthesisKeyword_1_1_0() { return cLeftParenthesisKeyword_1_1_0; }

		//precision=INT
		public Assignment getPrecisionAssignment_1_1_1() { return cPrecisionAssignment_1_1_1; }

		//INT
		public RuleCall getPrecisionINTTerminalRuleCall_1_1_1_0() { return cPrecisionINTTerminalRuleCall_1_1_1_0; }

		//")"
		public Keyword getRightParenthesisKeyword_1_1_2() { return cRightParenthesisKeyword_1_1_2; }

		//"TO"
		public Keyword getTOKeyword_1_2() { return cTOKeyword_1_2; }

		//"MONTH"
		public Keyword getMONTHKeyword_1_3() { return cMONTHKeyword_1_3; }

		//"SECOND" ("(" secondsPrecision=INT ")")?
		public Group getGroup_2() { return cGroup_2; }

		//"SECOND"
		public Keyword getSECONDKeyword_2_0() { return cSECONDKeyword_2_0; }

		//("(" secondsPrecision=INT ")")?
		public Group getGroup_2_1() { return cGroup_2_1; }

		//"("
		public Keyword getLeftParenthesisKeyword_2_1_0() { return cLeftParenthesisKeyword_2_1_0; }

		//secondsPrecision=INT
		public Assignment getSecondsPrecisionAssignment_2_1_1() { return cSecondsPrecisionAssignment_2_1_1; }

		//INT
		public RuleCall getSecondsPrecisionINTTerminalRuleCall_2_1_1_0() { return cSecondsPrecisionINTTerminalRuleCall_2_1_1_0; }

		//")"
		public Keyword getRightParenthesisKeyword_2_1_2() { return cRightParenthesisKeyword_2_1_2; }
	}

	public class LargeObjectTypeElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LargeObjectType");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final Alternatives cNameAlternatives_0_0 = (Alternatives)cNameAssignment_0.eContents().get(0);
		private final Keyword cNameBLOBKeyword_0_0_0 = (Keyword)cNameAlternatives_0_0.eContents().get(0);
		private final Keyword cNameCLOBKeyword_0_0_1 = (Keyword)cNameAlternatives_0_0.eContents().get(1);
		private final Keyword cNameNCLOBKeyword_0_0_2 = (Keyword)cNameAlternatives_0_0.eContents().get(2);
		private final Keyword cNameBFILEKeyword_0_0_3 = (Keyword)cNameAlternatives_0_0.eContents().get(3);
		private final Keyword cNameVARBINARYKeyword_0_0_4 = (Keyword)cNameAlternatives_0_0.eContents().get(4);
		private final Keyword cNameLONGVARBINARYKeyword_0_0_5 = (Keyword)cNameAlternatives_0_0.eContents().get(5);
		private final Keyword cNameBINARYKeyword_0_0_6 = (Keyword)cNameAlternatives_0_0.eContents().get(6);
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Assignment cSizeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
		private final RuleCall cSizeINTTerminalRuleCall_1_1_0 = (RuleCall)cSizeAssignment_1_1.eContents().get(0);
		private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
		
		//LargeObjectType:
		//	name=("BLOB" | "CLOB" | "NCLOB" | "BFILE" | "VARBINARY" | "LONGVARBINARY" | "BINARY") ("(" size=INT ")")?;
		public ParserRule getRule() { return rule; }

		//name=("BLOB" | "CLOB" | "NCLOB" | "BFILE" | "VARBINARY" | "LONGVARBINARY" | "BINARY") ("(" size=INT ")")?
		public Group getGroup() { return cGroup; }

		//name=("BLOB" | "CLOB" | "NCLOB" | "BFILE" | "VARBINARY" | "LONGVARBINARY" | "BINARY")
		public Assignment getNameAssignment_0() { return cNameAssignment_0; }

		//"BLOB" | "CLOB" | "NCLOB" | "BFILE" | "VARBINARY" | "LONGVARBINARY" | "BINARY"
		public Alternatives getNameAlternatives_0_0() { return cNameAlternatives_0_0; }

		//"BLOB"
		public Keyword getNameBLOBKeyword_0_0_0() { return cNameBLOBKeyword_0_0_0; }

		//"CLOB"
		public Keyword getNameCLOBKeyword_0_0_1() { return cNameCLOBKeyword_0_0_1; }

		//"NCLOB"
		public Keyword getNameNCLOBKeyword_0_0_2() { return cNameNCLOBKeyword_0_0_2; }

		//"BFILE"
		public Keyword getNameBFILEKeyword_0_0_3() { return cNameBFILEKeyword_0_0_3; }

		//"VARBINARY"
		public Keyword getNameVARBINARYKeyword_0_0_4() { return cNameVARBINARYKeyword_0_0_4; }

		//"LONGVARBINARY"
		public Keyword getNameLONGVARBINARYKeyword_0_0_5() { return cNameLONGVARBINARYKeyword_0_0_5; }

		//"BINARY"
		public Keyword getNameBINARYKeyword_0_0_6() { return cNameBINARYKeyword_0_0_6; }

		//("(" size=INT ")")?
		public Group getGroup_1() { return cGroup_1; }

		//"("
		public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; }

		//size=INT
		public Assignment getSizeAssignment_1_1() { return cSizeAssignment_1_1; }

		//INT
		public RuleCall getSizeINTTerminalRuleCall_1_1_0() { return cSizeINTTerminalRuleCall_1_1_0; }

		//")"
		public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; }
	}

	public class RowIdTypeElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RowIdType");
		private final Group cGroup = (Group)rule.eContents().get(1);
		private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
		private final Alternatives cNameAlternatives_0_0 = (Alternatives)cNameAssignment_0.eContents().get(0);
		private final Keyword cNameROWIDKeyword_0_0_0 = (Keyword)cNameAlternatives_0_0.eContents().get(0);
		private final Keyword cNameUROWIDKeyword_0_0_1 = (Keyword)cNameAlternatives_0_0.eContents().get(1);
		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
		private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
		private final Assignment cSizeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
		private final RuleCall cSizeINTTerminalRuleCall_1_1_0 = (RuleCall)cSizeAssignment_1_1.eContents().get(0);
		private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
		
		//RowIdType:
		//	name=("ROWID" | "UROWID") ("(" size=INT ")")?;
		public ParserRule getRule() { return rule; }

		//name=("ROWID" | "UROWID") ("(" size=INT ")")?
		public Group getGroup() { return cGroup; }

		//name=("ROWID" | "UROWID")
		public Assignment getNameAssignment_0() { return cNameAssignment_0; }

		//"ROWID" | "UROWID"
		public Alternatives getNameAlternatives_0_0() { return cNameAlternatives_0_0; }

		//"ROWID"
		public Keyword getNameROWIDKeyword_0_0_0() { return cNameROWIDKeyword_0_0_0; }

		//"UROWID"
		public Keyword getNameUROWIDKeyword_0_0_1() { return cNameUROWIDKeyword_0_0_1; }

		//("(" size=INT ")")?
		public Group getGroup_1() { return cGroup_1; }

		//"("
		public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; }

		//size=INT
		public Assignment getSizeAssignment_1_1() { return cSizeAssignment_1_1; }

		//INT
		public RuleCall getSizeINTTerminalRuleCall_1_1_0() { return cSizeINTTerminalRuleCall_1_1_0; }

		//")"
		public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; }
	}

	public class SqlBooleanElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SqlBoolean");
		private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
		private final Alternatives cNameAlternatives_0 = (Alternatives)cNameAssignment.eContents().get(0);
		private final Keyword cNameBITKeyword_0_0 = (Keyword)cNameAlternatives_0.eContents().get(0);
		private final Keyword cNameBOOLEANKeyword_0_1 = (Keyword)cNameAlternatives_0.eContents().get(1);
		
		//SqlBoolean:
		//	name=("BIT" | "BOOLEAN");
		public ParserRule getRule() { return rule; }

		//name=("BIT" | "BOOLEAN")
		public Assignment getNameAssignment() { return cNameAssignment; }

		//"BIT" | "BOOLEAN"
		public Alternatives getNameAlternatives_0() { return cNameAlternatives_0; }

		//"BIT"
		public Keyword getNameBITKeyword_0_0() { return cNameBITKeyword_0_0; }

		//"BOOLEAN"
		public Keyword getNameBOOLEANKeyword_0_1() { return cNameBOOLEANKeyword_0_1; }
	}

	public class DataBaseObjectElements extends AbstractParserRuleElementFinder {
		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DataBaseObject");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final Keyword cTABLEKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
		private final Keyword cVIEWKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
		private final Keyword cTABLESPACEKeyword_2 = (Keyword)cAlternatives.eContents().get(2);
		private final Keyword cINDEXKeyword_3 = (Keyword)cAlternatives.eContents().get(3);
		private final Keyword cSEQUENCEKeyword_4 = (Keyword)cAlternatives.eContents().get(4);
		private final Keyword cDATABASEKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
		private final Keyword cINDEXKeyword_6 = (Keyword)cAlternatives.eContents().get(6);
		
		//DataBaseObject:
		//	"TABLE" | "VIEW" | "TABLESPACE" | "INDEX" | "SEQUENCE" | "DATABASE" | "INDEX";
		public ParserRule getRule() { return rule; }

		//"TABLE" | "VIEW" | "TABLESPACE" | "INDEX" | "SEQUENCE" | "DATABASE" | "INDEX"
		public Alternatives getAlternatives() { return cAlternatives; }

		//"TABLE"
		public Keyword getTABLEKeyword_0() { return cTABLEKeyword_0; }

		//"VIEW"
		public Keyword getVIEWKeyword_1() { return cVIEWKeyword_1; }

		//"TABLESPACE"
		public Keyword getTABLESPACEKeyword_2() { return cTABLESPACEKeyword_2; }

		//"INDEX"
		public Keyword getINDEXKeyword_3() { return cINDEXKeyword_3; }

		//"SEQUENCE"
		public Keyword getSEQUENCEKeyword_4() { return cSEQUENCEKeyword_4; }

		//"DATABASE"
		public Keyword getDATABASEKeyword_5() { return cDATABASEKeyword_5; }

		//"INDEX"
		public Keyword getINDEXKeyword_6() { return cINDEXKeyword_6; }
	}
	
	
	public class SortDirectionEnumElements extends AbstractEnumRuleElementFinder {
		private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "SortDirectionEnum");
		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
		private final EnumLiteralDeclaration cASCEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
		private final Keyword cASCASCKeyword_0_0 = (Keyword)cASCEnumLiteralDeclaration_0.eContents().get(0);
		private final EnumLiteralDeclaration cDESCEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
		private final Keyword cDESCDESCKeyword_1_0 = (Keyword)cDESCEnumLiteralDeclaration_1.eContents().get(0);
		
		//enum SortDirectionEnum:
		//	ASC | DESC;
		public EnumRule getRule() { return rule; }

		//ASC | DESC
		public Alternatives getAlternatives() { return cAlternatives; }

		//ASC
		public EnumLiteralDeclaration getASCEnumLiteralDeclaration_0() { return cASCEnumLiteralDeclaration_0; }

		//"ASC"
		public Keyword getASCASCKeyword_0_0() { return cASCASCKeyword_0_0; }

		//DESC
		public EnumLiteralDeclaration getDESCEnumLiteralDeclaration_1() { return cDESCEnumLiteralDeclaration_1; }

		//"DESC"
		public Keyword getDESCDESCKeyword_1_0() { return cDESCDESCKeyword_1_0; }
	}
	
	private DdlElements pDdl;
	private DdlStatementElements pDdlStatement;
	private OtherStatementElements pOtherStatement;
	private AlterElements pAlter;
	private AlterTableActionElements pAlterTableAction;
	private AlterTableActionOtherElements pAlterTableActionOther;
	private DropTableConstraintElements pDropTableConstraint;
	private CommentElements pComment;
	private TableCommentElements pTableComment;
	private ColumnCommentElements pColumnComment;
	private AddTableConstraintElements pAddTableConstraint;
	private CreateElements pCreate;
	private CreateTableElements pCreateTable;
	private CreateIndexElements pCreateIndex;
	private TablePropertyElements pTableProperty;
	private ColumnElements pColumn;
	private ColumnDefaultElements pColumnDefault;
	private CreateOtherElements pCreateOther;
	private DropElements pDrop;
	private QIDElements pQID;
	private OtherElements pOther;
	private ConstraintElements pConstraint;
	private NullableConstraintElements pNullableConstraint;
	private UniqueKeyConstraintElements pUniqueKeyConstraint;
	private PrimaryKeyConstraintElements pPrimaryKeyConstraint;
	private CheckConstraintElements pCheckConstraint;
	private ForeignKeyConstraintElements pForeignKeyConstraint;
	private ReferenceClauseElements pReferenceClause;
	private SqlDataTypeElements pSqlDataType;
	private SqlCharacterElements pSqlCharacter;
	private SqlNumberElements pSqlNumber;
	private LongRawElements pLongRaw;
	private LongElements pLong;
	private RawElements pRaw;
	private SqlDateTimeElements pSqlDateTime;
	private SqlDateElements pSqlDate;
	private SqlTimeStampElements pSqlTimeStamp;
	private SqlIntervalElements pSqlInterval;
	private LargeObjectTypeElements pLargeObjectType;
	private RowIdTypeElements pRowIdType;
	private SqlBooleanElements pSqlBoolean;
	private DataBaseObjectElements pDataBaseObject;
	private SortDirectionEnumElements unknownRuleSortDirectionEnum;
	
	private final GrammarProvider grammarProvider;

	private TerminalsGrammarAccess gaTerminals;

	@Inject
	public DdlDslGrammarAccess(GrammarProvider grammarProvider,
		TerminalsGrammarAccess gaTerminals) {
		this.grammarProvider = grammarProvider;
		this.gaTerminals = gaTerminals;
	}
	
	public Grammar getGrammar() {	
		return grammarProvider.getGrammar(this);
	}
	

	public TerminalsGrammarAccess getTerminalsGrammarAccess() {
		return gaTerminals;
	}

	
	////http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_1001.htm#sthref3207
	//Ddl:
	//	{Ddl} statements+=DdlStatement*;
	public DdlElements getDdlAccess() {
		return (pDdl != null) ? pDdl : (pDdl = new DdlElements());
	}
	
	public ParserRule getDdlRule() {
		return getDdlAccess().getRule();
	}

	//DdlStatement:
	//	Alter | Create | Drop | Comment | OtherStatement;
	public DdlStatementElements getDdlStatementAccess() {
		return (pDdlStatement != null) ? pDdlStatement : (pDdlStatement = new DdlStatementElements());
	}
	
	public ParserRule getDdlStatementRule() {
		return getDdlStatementAccess().getRule();
	}

	//OtherStatement:
	//	Other* ";";
	public OtherStatementElements getOtherStatementAccess() {
		return (pOtherStatement != null) ? pOtherStatement : (pOtherStatement = new OtherStatementElements());
	}
	
	public ParserRule getOtherStatementRule() {
		return getOtherStatementAccess().getRule();
	}

	//Alter:
	//	"ALTER" "TABLE" table=[CreateTable|QID] action=AlterTableAction Other* ";";
	public AlterElements getAlterAccess() {
		return (pAlter != null) ? pAlter : (pAlter = new AlterElements());
	}
	
	public ParserRule getAlterRule() {
		return getAlterAccess().getRule();
	}

	//AlterTableAction:
	//	AddTableConstraint | DropTableConstraint | AlterTableActionOther;
	public AlterTableActionElements getAlterTableActionAccess() {
		return (pAlterTableAction != null) ? pAlterTableAction : (pAlterTableAction = new AlterTableActionElements());
	}
	
	public ParserRule getAlterTableActionRule() {
		return getAlterTableActionAccess().getRule();
	}

	//AlterTableActionOther:
	//	"ADD" | "ALTER" | "DROP";
	public AlterTableActionOtherElements getAlterTableActionOtherAccess() {
		return (pAlterTableActionOther != null) ? pAlterTableActionOther : (pAlterTableActionOther = new AlterTableActionOtherElements());
	}
	
	public ParserRule getAlterTableActionOtherRule() {
		return getAlterTableActionOtherAccess().getRule();
	}

	//DropTableConstraint:
	//	"DROP" "CONSTRAINT"? (constraintRef=[Constraint] | constraint=Constraint);
	public DropTableConstraintElements getDropTableConstraintAccess() {
		return (pDropTableConstraint != null) ? pDropTableConstraint : (pDropTableConstraint = new DropTableConstraintElements());
	}
	
	public ParserRule getDropTableConstraintRule() {
		return getDropTableConstraintAccess().getRule();
	}

	//Comment:
	//	TableComment | ColumnComment;
	public CommentElements getCommentAccess() {
		return (pComment != null) ? pComment : (pComment = new CommentElements());
	}
	
	public ParserRule getCommentRule() {
		return getCommentAccess().getRule();
	}

	//TableComment:
	//	"COMMENT" "ON" "TABLE" table=[CreateTable|QID] "is" comment=STRING ";";
	public TableCommentElements getTableCommentAccess() {
		return (pTableComment != null) ? pTableComment : (pTableComment = new TableCommentElements());
	}
	
	public ParserRule getTableCommentRule() {
		return getTableCommentAccess().getRule();
	}

	//ColumnComment:
	//	"COMMENT" "ON" "COLUMN" column=[Column|QID] "is" comment=STRING ";";
	public ColumnCommentElements getColumnCommentAccess() {
		return (pColumnComment != null) ? pColumnComment : (pColumnComment = new ColumnCommentElements());
	}
	
	public ParserRule getColumnCommentRule() {
		return getColumnCommentAccess().getRule();
	}

	//AddTableConstraint:
	//	"ADD" "("? "CONSTRAINT" name=QID constraint=Constraint;
	public AddTableConstraintElements getAddTableConstraintAccess() {
		return (pAddTableConstraint != null) ? pAddTableConstraint : (pAddTableConstraint = new AddTableConstraintElements());
	}
	
	public ParserRule getAddTableConstraintRule() {
		return getAddTableConstraintAccess().getRule();
	}

	//Create:
	//	CreateTable | CreateIndex | CreateOther;
	public CreateElements getCreateAccess() {
		return (pCreate != null) ? pCreate : (pCreate = new CreateElements());
	}
	
	public ParserRule getCreateRule() {
		return getCreateAccess().getRule();
	}

	//CreateTable:
	//	"CREATE" ("GLOBAL" "TEMPORARY")? "TABLE" name=QID "(" properties+=TableProperty ("," properties+=TableProperty)* ")"
	//	Other* ";";
	public CreateTableElements getCreateTableAccess() {
		return (pCreateTable != null) ? pCreateTable : (pCreateTable = new CreateTableElements());
	}
	
	public ParserRule getCreateTableRule() {
		return getCreateTableAccess().getRule();
	}

	//CreateIndex:
	//	"CREATE" unique?="UNIQUE"? "INDEX" name=QID "ON" table=[CreateTable|QID] "(" columns+=[Column]
	//	sortOrders+=SortDirectionEnum? ("," columns+=[Column] sortOrders+=SortDirectionEnum?)* ")" Other* ";";
	public CreateIndexElements getCreateIndexAccess() {
		return (pCreateIndex != null) ? pCreateIndex : (pCreateIndex = new CreateIndexElements());
	}
	
	public ParserRule getCreateIndexRule() {
		return getCreateIndexAccess().getRule();
	}

	//TableProperty:
	//	Column | Constraint;
	public TablePropertyElements getTablePropertyAccess() {
		return (pTableProperty != null) ? pTableProperty : (pTableProperty = new TablePropertyElements());
	}
	
	public ParserRule getTablePropertyRule() {
		return getTablePropertyAccess().getRule();
	}

	//Column:
	//	name=ID type=SqlDataType (sorted?="SORT" | constraint=Constraint | default=ColumnDefault |
	//	reference=ReferenceClause)*;
	public ColumnElements getColumnAccess() {
		return (pColumn != null) ? pColumn : (pColumn = new ColumnElements());
	}
	
	public ParserRule getColumnRule() {
		return getColumnAccess().getRule();
	}

	//ColumnDefault:
	//	"DEFAULT" Other*;
	public ColumnDefaultElements getColumnDefaultAccess() {
		return (pColumnDefault != null) ? pColumnDefault : (pColumnDefault = new ColumnDefaultElements());
	}
	
	public ParserRule getColumnDefaultRule() {
		return getColumnDefaultAccess().getRule();
	}

	//CreateOther:
	//	"CREATE" Other* ";";
	public CreateOtherElements getCreateOtherAccess() {
		return (pCreateOther != null) ? pCreateOther : (pCreateOther = new CreateOtherElements());
	}
	
	public ParserRule getCreateOtherRule() {
		return getCreateOtherAccess().getRule();
	}

	//Drop:
	//	"DROP" object=DataBaseObject Other* ";";
	public DropElements getDropAccess() {
		return (pDrop != null) ? pDrop : (pDrop = new DropElements());
	}
	
	public ParserRule getDropRule() {
		return getDropAccess().getRule();
	}

	//QID:
	//	ID ("." ID)*;
	public QIDElements getQIDAccess() {
		return (pQID != null) ? pQID : (pQID = new QIDElements());
	}
	
	public ParserRule getQIDRule() {
		return getQIDAccess().getRule();
	}

	//Other:
	//	STRING | ANY_OTHER | ID | INT | "(" | ")" | "." | "," | "ON" | "TO" | "CASCADE" | DataBaseObject;
	public OtherElements getOtherAccess() {
		return (pOther != null) ? pOther : (pOther = new OtherElements());
	}
	
	public ParserRule getOtherRule() {
		return getOtherAccess().getRule();
	}

	//Constraint:
	//	(NullableConstraint | UniqueKeyConstraint | PrimaryKeyConstraint | ForeignKeyConstraint | CheckConstraint) name=ID?;
	public ConstraintElements getConstraintAccess() {
		return (pConstraint != null) ? pConstraint : (pConstraint = new ConstraintElements());
	}
	
	public ParserRule getConstraintRule() {
		return getConstraintAccess().getRule();
	}

	//NullableConstraint:
	//	("CONSTRAINT" name=ID)? not?="NOT"? "NULL";
	public NullableConstraintElements getNullableConstraintAccess() {
		return (pNullableConstraint != null) ? pNullableConstraint : (pNullableConstraint = new NullableConstraintElements());
	}
	
	public ParserRule getNullableConstraintRule() {
		return getNullableConstraintAccess().getRule();
	}

	//UniqueKeyConstraint:
	//	("CONSTRAINT" name=ID)? "UNIQUE" "KEY"? ("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")?;
	public UniqueKeyConstraintElements getUniqueKeyConstraintAccess() {
		return (pUniqueKeyConstraint != null) ? pUniqueKeyConstraint : (pUniqueKeyConstraint = new UniqueKeyConstraintElements());
	}
	
	public ParserRule getUniqueKeyConstraintRule() {
		return getUniqueKeyConstraintAccess().getRule();
	}

	//PrimaryKeyConstraint:
	//	("CONSTRAINT" name=ID)? "PRIMARY" "KEY" ("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")?;
	public PrimaryKeyConstraintElements getPrimaryKeyConstraintAccess() {
		return (pPrimaryKeyConstraint != null) ? pPrimaryKeyConstraint : (pPrimaryKeyConstraint = new PrimaryKeyConstraintElements());
	}
	
	public ParserRule getPrimaryKeyConstraintRule() {
		return getPrimaryKeyConstraintAccess().getRule();
	}

	//CheckConstraint:
	//	"CHECK" Other*;
	public CheckConstraintElements getCheckConstraintAccess() {
		return (pCheckConstraint != null) ? pCheckConstraint : (pCheckConstraint = new CheckConstraintElements());
	}
	
	public ParserRule getCheckConstraintRule() {
		return getCheckConstraintAccess().getRule();
	}

	//ForeignKeyConstraint:
	//	"FOREIGN" "KEY" "(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")" reference=ReferenceClause;
	public ForeignKeyConstraintElements getForeignKeyConstraintAccess() {
		return (pForeignKeyConstraint != null) ? pForeignKeyConstraint : (pForeignKeyConstraint = new ForeignKeyConstraintElements());
	}
	
	public ParserRule getForeignKeyConstraintRule() {
		return getForeignKeyConstraintAccess().getRule();
	}

	//ReferenceClause:
	//	"REFERENCES" table=[CreateTable|QID] ("(" columns+=[Column|QID] ("," columns+=[Column|QID])* ")")? Other*;
	public ReferenceClauseElements getReferenceClauseAccess() {
		return (pReferenceClause != null) ? pReferenceClause : (pReferenceClause = new ReferenceClauseElements());
	}
	
	public ParserRule getReferenceClauseRule() {
		return getReferenceClauseAccess().getRule();
	}

	//SqlDataType:
	//	(SqlCharacter | SqlNumber | LongRaw | SqlDateTime | LargeObjectType | RowIdType | SqlBoolean) name=ID?;
	public SqlDataTypeElements getSqlDataTypeAccess() {
		return (pSqlDataType != null) ? pSqlDataType : (pSqlDataType = new SqlDataTypeElements());
	}
	
	public ParserRule getSqlDataTypeRule() {
		return getSqlDataTypeAccess().getRule();
	}

	//SqlCharacter:
	//	national?="NATIONAL"? name=("CHAR" | "VARCHAR2" | "VARCHAR" | "CHARACTER" | "NCHAR" | "NVARCHAR2") "VARYING"? ("("
	//	size=INT ("BYTE" | "CHAR")? ")")?;
	public SqlCharacterElements getSqlCharacterAccess() {
		return (pSqlCharacter != null) ? pSqlCharacter : (pSqlCharacter = new SqlCharacterElements());
	}
	
	public ParserRule getSqlCharacterRule() {
		return getSqlCharacterAccess().getRule();
	}

	//SqlNumber:
	//	name=("NUMBER" | "NUMERIC" | "DECIMAL" | "DEC" | "INTEGER" | "INT" | "SMALLINT" | "BIGINT" | "FLOAT" | "DOUBLE" |
	//	"REAL" | "BINARY_FLOAT" | "BINARY_DOUBLE") hasPrecision?="PRECISION"? ("(" precision=INT ("," scale=INT)? ")")?;
	public SqlNumberElements getSqlNumberAccess() {
		return (pSqlNumber != null) ? pSqlNumber : (pSqlNumber = new SqlNumberElements());
	}
	
	public ParserRule getSqlNumberRule() {
		return getSqlNumberAccess().getRule();
	}

	//LongRaw:
	//	Long | Raw;
	public LongRawElements getLongRawAccess() {
		return (pLongRaw != null) ? pLongRaw : (pLongRaw = new LongRawElements());
	}
	
	public ParserRule getLongRawRule() {
		return getLongRawAccess().getRule();
	}

	//Long:
	//	name="LONG" raw?="RAW";
	public LongElements getLongAccess() {
		return (pLong != null) ? pLong : (pLong = new LongElements());
	}
	
	public ParserRule getLongRule() {
		return getLongAccess().getRule();
	}

	//Raw:
	//	name="RAW" "(" size=INT ")";
	public RawElements getRawAccess() {
		return (pRaw != null) ? pRaw : (pRaw = new RawElements());
	}
	
	public ParserRule getRawRule() {
		return getRawAccess().getRule();
	}

	//SqlDateTime:
	//	SqlDate | SqlTimeStamp | SqlInterval;
	public SqlDateTimeElements getSqlDateTimeAccess() {
		return (pSqlDateTime != null) ? pSqlDateTime : (pSqlDateTime = new SqlDateTimeElements());
	}
	
	public ParserRule getSqlDateTimeRule() {
		return getSqlDateTimeAccess().getRule();
	}

	//SqlDate:
	//	name="DATE";
	public SqlDateElements getSqlDateAccess() {
		return (pSqlDate != null) ? pSqlDate : (pSqlDate = new SqlDateElements());
	}
	
	public ParserRule getSqlDateRule() {
		return getSqlDateAccess().getRule();
	}

	//SqlTimeStamp:
	//	name="TIMESTAMP" ("(" precision=INT ")")? ("WITH" "LOCAL"? "TIME" "ZONE")?;
	public SqlTimeStampElements getSqlTimeStampAccess() {
		return (pSqlTimeStamp != null) ? pSqlTimeStamp : (pSqlTimeStamp = new SqlTimeStampElements());
	}
	
	public ParserRule getSqlTimeStampRule() {
		return getSqlTimeStampAccess().getRule();
	}

	//SqlInterval:
	//	name="INTERVAL" year?="YEAR" | day?="DAY" ("(" precision=INT ")")? "TO" "MONTH" | "SECOND" ("(" secondsPrecision=INT
	//	")")?;
	public SqlIntervalElements getSqlIntervalAccess() {
		return (pSqlInterval != null) ? pSqlInterval : (pSqlInterval = new SqlIntervalElements());
	}
	
	public ParserRule getSqlIntervalRule() {
		return getSqlIntervalAccess().getRule();
	}

	//LargeObjectType:
	//	name=("BLOB" | "CLOB" | "NCLOB" | "BFILE" | "VARBINARY" | "LONGVARBINARY" | "BINARY") ("(" size=INT ")")?;
	public LargeObjectTypeElements getLargeObjectTypeAccess() {
		return (pLargeObjectType != null) ? pLargeObjectType : (pLargeObjectType = new LargeObjectTypeElements());
	}
	
	public ParserRule getLargeObjectTypeRule() {
		return getLargeObjectTypeAccess().getRule();
	}

	//RowIdType:
	//	name=("ROWID" | "UROWID") ("(" size=INT ")")?;
	public RowIdTypeElements getRowIdTypeAccess() {
		return (pRowIdType != null) ? pRowIdType : (pRowIdType = new RowIdTypeElements());
	}
	
	public ParserRule getRowIdTypeRule() {
		return getRowIdTypeAccess().getRule();
	}

	//SqlBoolean:
	//	name=("BIT" | "BOOLEAN");
	public SqlBooleanElements getSqlBooleanAccess() {
		return (pSqlBoolean != null) ? pSqlBoolean : (pSqlBoolean = new SqlBooleanElements());
	}
	
	public ParserRule getSqlBooleanRule() {
		return getSqlBooleanAccess().getRule();
	}

	//DataBaseObject:
	//	"TABLE" | "VIEW" | "TABLESPACE" | "INDEX" | "SEQUENCE" | "DATABASE" | "INDEX";
	public DataBaseObjectElements getDataBaseObjectAccess() {
		return (pDataBaseObject != null) ? pDataBaseObject : (pDataBaseObject = new DataBaseObjectElements());
	}
	
	public ParserRule getDataBaseObjectRule() {
		return getDataBaseObjectAccess().getRule();
	}

	//enum SortDirectionEnum:
	//	ASC | DESC;
	public SortDirectionEnumElements getSortDirectionEnumAccess() {
		return (unknownRuleSortDirectionEnum != null) ? unknownRuleSortDirectionEnum : (unknownRuleSortDirectionEnum = new SortDirectionEnumElements());
	}
	
	public EnumRule getSortDirectionEnumRule() {
		return getSortDirectionEnumAccess().getRule();
	}

	//terminal ID:
	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
	public TerminalRule getIDRule() {
		return gaTerminals.getIDRule();
	} 

	//terminal INT returns ecore::EInt:
	//	"0".."9"+;
	public TerminalRule getINTRule() {
		return gaTerminals.getINTRule();
	} 

	//terminal STRING:
	//	"\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
	//	"n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
	public TerminalRule getSTRINGRule() {
		return gaTerminals.getSTRINGRule();
	} 

	//terminal ML_COMMENT:
	//	"/ *"->"* /";
	public TerminalRule getML_COMMENTRule() {
		return gaTerminals.getML_COMMENTRule();
	} 

	//terminal SL_COMMENT:
	//	"//" !("\n" | "\r")* ("\r"? "\n")?;
	public TerminalRule getSL_COMMENTRule() {
		return gaTerminals.getSL_COMMENTRule();
	} 

	//terminal WS:
	//	(" " | "\t" | "\r" | "\n")+;
	public TerminalRule getWSRule() {
		return gaTerminals.getWSRule();
	} 

	//terminal ANY_OTHER:
	//	.;
	public TerminalRule getANY_OTHERRule() {
		return gaTerminals.getANY_OTHERRule();
	} 
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy