Updated with tha latest OCL/QVT grammar.
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/ast/NamespaceImport.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/ast/NamespaceImport.java
index 82c40a3..4834b9f 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/ast/NamespaceImport.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/ast/NamespaceImport.java
@@ -18,12 +18,7 @@
public NamespaceImport(int start, int end, int line, StringLiteralExpCS importCS) {
super(start, end, line);
// FIXME for complete care, look at AbstractOCLAnalyzer#processStringEscapes
- String quotedImport = importCS.getStringSymbol();
- if (quotedImport.length() <= 2) {
- importString = "";
- } else {
- importString = quotedImport.substring(1, quotedImport.length() -1);
- }
+ importString = importCS.getStringSymbol();
}
public String getImportString() {
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/AbstractOCLParser.gi b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/AbstractOCLParser.gi
index 5ef6e17..7103341 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/AbstractOCLParser.gi
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/AbstractOCLParser.gi
@@ -314,5 +314,134 @@
result.setExpression(oclExpressionCS);
return result;
}
+
+ private String unescape(IToken stringLiteral) {
+ String rawString = stringLiteral.toString();
+ int rawStringLength = rawString.length();
+ if (rawStringLength <= 2) {
+ return ""; //$NON-NLS-1$
+ }
+ StringBuilder unescapedStringBuilder = null;
+ boolean isBackslashEscapeProcessingUsed = true; //getEnvironment().isEnabled(ParsingOptions.USE_BACKSLASH_ESCAPE_PROCESSING);
+ boolean isNonStdSQEscapingUsed = false;
+ int n = rawStringLength - 1;
+ for (int i = 1; i < n; i++) {
+ char ch = rawString.charAt(i);
+ if ((isBackslashEscapeProcessingUsed && (ch == '\\'))
+ || ((ch == '\'') && isNonStdSQSupported())) {
+ if (unescapedStringBuilder == null) {
+ unescapedStringBuilder = new StringBuilder(rawString
+ .substring(1, i));
+ }
+ i++;
+ if (i >= n) {
+ reportError(
+ ParseErrorCodes.INVALID_CODE,
+ "", stringLiteral.getTokenIndex(), stringLiteral.getTokenIndex(), //$NON-NLS-1$
+ "String literal not properly closed");
+ }
+ char nextCh = rawString.charAt(i);
+ if (ch == '\\') {
+ switch (nextCh) {
+ case 'b' :
+ unescapedStringBuilder.append('\b');
+ break;
+ case 't' :
+ unescapedStringBuilder.append('\t');
+ break;
+ case 'n' :
+ unescapedStringBuilder.append('\n');
+ break;
+ case 'f' :
+ unescapedStringBuilder.append('\f');
+ break;
+ case 'r' :
+ unescapedStringBuilder.append('\r');
+ break;
+ case '\"' :
+ unescapedStringBuilder.append('\"');
+ break;
+ case '\'' :
+ unescapedStringBuilder.append('\'');
+ break;
+ case '\\' :
+ unescapedStringBuilder.append('\\');
+ break;
+ default :
+ // octal escape check
+ int unescapedChar = -1;
+ if ((nextCh >= '\u0030') && (nextCh <= '\u0037')) { // octal
+ // digit
+ unescapedChar = Character
+ .getNumericValue(nextCh);
+ if (i + 1 < n) {
+ char tmpCh = rawString.charAt(i + 1);
+ if ((tmpCh >= '\u0030')
+ && (tmpCh <= '\u0037')) { // octal digit
+ unescapedChar = 8 * unescapedChar
+ + Character.getNumericValue(tmpCh);
+ i++;
+ if (i + 1 < n) {
+ tmpCh = rawString.charAt(i + 1);
+ if ((tmpCh >= '\u0030')
+ && (tmpCh <= '\u0037') // octal
+ // digit
+ && (nextCh <= '\u0033')) { // most-significant
+ // digit
+ // in
+ // range
+ // 0..2
+ unescapedChar = 8
+ * unescapedChar
+ + Character
+ .getNumericValue(tmpCh);
+ i++;
+ }
+ }
+ }
+ }
+ unescapedStringBuilder
+ .append((char) unescapedChar);
+ }
+ if (unescapedChar < 0) {
+ reportError(
+ ParseErrorCodes.INVALID_CODE,
+ "", stringLiteral.getTokenIndex(), stringLiteral.getTokenIndex(), //$NON-NLS-1$
+ "Invalid escape sequence (valid ones are \\b \\t \\n \\f \\r \\\" \\\' \\\\)");
+ }
+ break;
+ }
+ } else { // non-std '' escaping
+ unescapedStringBuilder.append('\'');
+ isNonStdSQEscapingUsed = true;
+ assert nextCh == '\'' : "Unexpected escape sequence in string literal: " + rawString; //$NON-NLS-1$
+ }
+ } else if (unescapedStringBuilder != null) {
+ unescapedStringBuilder.append(ch);
+ }
+ }
+ if (isNonStdSQEscapingUsed) {
+ // Should not be called - isNonStdSQSupported returns false
+
+ // // check settings for using non-standard closure iterator
+ // ProblemHandler.Severity sev = getEnvironment().getValue(
+ // ProblemOption.STRING_SINGLE_QUOTE_ESCAPE);
+ // if ((sev != null) && (sev != ProblemHandler.Severity.OK)) {
+ // getEnvironment().problem(
+ // sev,
+ // ProblemHandler.Phase.PARSER,
+ // OCLMessages.bind(OCLMessages.NonStd_SQuote_Escape_,
+ // stringLiteral), "STRING_LITERAL", //$NON-NLS-1$
+ // null);
+ // }
+ }
+ return (unescapedStringBuilder == null)
+ ? rawString.substring(1, n)
+ : unescapedStringBuilder.toString();
+ }
+
+ private boolean isNonStdSQSupported() {
+ return false;
+ }
./
$End
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/AbstractQVTParser.gi b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/AbstractQVTParser.gi
index 3aa628f..abc0b4d 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/AbstractQVTParser.gi
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/AbstractQVTParser.gi
@@ -1,6 +1,25 @@
-- Copy of QVT CST factory methods from AbstractQVTParser
-- Only required (reused) methods were copied, hence private visibility to make sure we use all them
-- XXX ask QVT guys to split factory out of AbstractOCLParser.java
+$Globals
+ /.
+ import org.eclipse.m2m.internal.qvt.oml.cst.CompleteSignatureCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.LibraryImportCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.ExpressionStatementCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.TransformationHeaderCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.ModuleUsageCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.TransformationRefineCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.RenameCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.ListTypeCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.DictLiteralExpCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.DictionaryTypeCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.DictLiteralPartCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.VariableInitializationCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.InstantiationExpCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.StatementCS;
+ ./
+$End
+
$Headers
/.
private ImperativeIterateExpCS createImperativeIterateExpCS(
@@ -25,15 +44,49 @@
return result;
}
- private InstantiationExpCS createNewRuleCallExpCS(PathNameCS pathNameCS, List<OCLExpressionCS> arguments) {
- InstantiationExpCS call = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createInstantiationExpCS();
- call.setTypeSpecCS(createTypeSpecCS(pathNameCS, null)); //call.setScopedIdentifier(pathNameCS);
- call.getArguments().addAll(arguments);
- return call;
- }
-
- // FIXME this method is only temp solution until we regenerate with new ImperativeOCL.g
- private final TypeSpecCS createTypeSpecCS(TypeCS typeCS, IToken extentLocation) {
+ protected final CSTNode createCompleteSignatureCS(SimpleSignatureCS simpleSignatureCS, EList<ParameterDeclarationCS> resultList) {
+ CompleteSignatureCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createCompleteSignatureCS();
+ result.setSimpleSignature(simpleSignatureCS);
+ result.getResultParams().addAll(resultList);
+ return result;
+ }
+
+ protected final SimpleSignatureCS createSimpleSignatureCS(EList<ParameterDeclarationCS> paramsCS) {
+ SimpleSignatureCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createSimpleSignatureCS();
+ result.getParams().addAll(paramsCS);
+ return result;
+ }
+
+ protected final ParameterDeclarationCS createParameterDeclarationCS(DirectionKindCS sym, IToken tokenText, TypeSpecCS typeSpecCS) {
+ ParameterDeclarationCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createParameterDeclarationCS();
+ SimpleNameCS nameCS = null;
+ if (tokenText != null) {
+ nameCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, tokenText.toString());
+ setOffsets(nameCS, tokenText);
+ } else {
+ //nameCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, ""); //$NON-NLS-1$
+ }
+ result.setSimpleNameCS(nameCS);
+ result.setTypeSpecCS(typeSpecCS);
+ if (sym != null) {
+ result.setDirectionKind(sym.getDirectionKind());
+ }
+ return result;
+ }
+
+ protected final CSTNode createLibraryImportCS(PathNameCS sym) {
+ LibraryImportCS imp = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createLibraryImportCS();
+ imp.setPathNameCS(sym);
+ return imp;
+ }
+
+ protected final CSTNode createDirectionKindCS(DirectionKindEnum kind) {
+ DirectionKindCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createDirectionKindCS();
+ result.setDirectionKind(kind);
+ return result;
+ }
+
+ protected final TypeSpecCS createTypeSpecCS(TypeCS typeCS, IToken extentLocation) {
TypeSpecCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createTypeSpecCS();
result.setTypeCS(typeCS);
setOffsets(result, typeCS);
@@ -45,6 +98,114 @@
}
return result;
}
+
+ private final ScopedNameCS createScopedNameCS(TypeCS typeCS, String name) {
+ ScopedNameCS result = TempFactory.eINSTANCE.createScopedNameCS();
+ result.setTypeCS(typeCS);
+ result.setName(name);
+ if(typeCS != null) {
+ result.setStartOffset(typeCS.getStartOffset());
+ result.setEndOffset(typeCS.getEndOffset());
+ if(name != null) {
+ result.setEndOffset(result.getEndOffset() + name.length());
+ }
+ }
+ return result;
+ }
+
+ private final CSTNode createExpressionStatementCS(OCLExpressionCS sym) {
+ ExpressionStatementCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createExpressionStatementCS();
+ result.setOclExpressionCS(sym);
+ return result;
+ }
+
+ private final TransformationHeaderCS createTransformationHeaderCS(EList<StringLiteralExpCS> qualifiers,
+ PathNameCS pathNameCS, SimpleSignatureCS simpleSignatureCS, EList<ModuleUsageCS> transfUsages,
+ TransformationRefineCS transfRefineCS) {
+ TransformationHeaderCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createTransformationHeaderCS();
+ result.getQualifiers().addAll(qualifiers);
+ result.getParameters().addAll(simpleSignatureCS.getParams());
+ result.getModuleUsages().addAll(transfUsages);
+ result.setTransformationRefineCS(transfRefineCS);
+ result.setPathNameCS(pathNameCS);
+ return result;
+ }
+
+ private final CSTNode createRenameCS(TypeCS sym, IToken tokenText, StringLiteralExpCS sym2) {
+ RenameCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createRenameCS();
+ SimpleNameCS nameCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, tokenText.toString());
+ setOffsets(nameCS, tokenText);
+ result.setSimpleNameCS(nameCS);
+ result.setTypeCS(sym);
+ result.setOriginalName(sym2);
+ return result;
+ }
+
+ private ListTypeCS createListTypeCS(TypeCS typeCS) {
+ ListTypeCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createListTypeCS();
+ result.setTypeCS(typeCS);
+ return result;
+ }
+
+ private DictLiteralExpCS createDictLiteralExpCS(EList<DictLiteralPartCS> parts) {
+ DictLiteralExpCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createDictLiteralExpCS();
+ result.getParts().addAll(parts);
+ return result;
+ }
+
+ private DictionaryTypeCS createDictTypeCS(TypeCS keyTypeCS, TypeCS valueTypeCS) {
+ DictionaryTypeCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createDictionaryTypeCS();
+ result.setKey(keyTypeCS);
+ result.setValue(valueTypeCS);
+ return result;
+ }
+
+ private DictLiteralPartCS createDictLiteralPartCS(LiteralExpCS keyLiteralCS, OCLExpressionCS valueExpCS) {
+ DictLiteralPartCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createDictLiteralPartCS();
+ result.setKey(keyLiteralCS);
+ result.setValue(valueExpCS);
+ return result;
+ }
+
+ private final CSTNode createVariableInitializationCS(IToken identifier, TypeCS typeCS, OCLExpressionCS initExpressionCS, boolean withResult) {
+ VariableInitializationCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createVariableInitializationCS();
+ SimpleNameCS nameCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, identifier.toString());
+ setOffsets(nameCS, identifier);
+ result.setSimpleNameCS(nameCS);
+ result.setTypeCS(typeCS);
+ result.setOclExpressionCS(initExpressionCS);
+ result.setWithResult(withResult);
+ return result;
+ }
+
+ private InstantiationExpCS createNewRuleCallExpCS(TypeSpecCS typeSpecCS, List<OCLExpressionCS> arguments) {
+ InstantiationExpCS call = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createInstantiationExpCS();
+ call.setTypeSpecCS(typeSpecCS);
+ call.getArguments().addAll(arguments);
+ return call;
+ }
+
+ private final StatementCS createBreakCS() {
+ StatementCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createBreakExpCS();
+ return result;
+ }
+
+ private final StatementCS createContinueCS() {
+ StatementCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createContinueExpCS();
+ return result;
+ }
+
+ private final int getEndOffset(int ensuredOffset, EList<? extends CSTNode>... listOpt) {
+ int offset = ensuredOffset;
+ for (EList<? extends CSTNode> list : listOpt) {
+ if (list.size() == 0) {
+ continue;
+ }
+ CSTNode node = list.get(list.size()-1);
+ offset = node.getEndOffset();
+ }
+ return offset;
+ }
private boolean isTokenOfType(IToken token, int kind) {
return (token != null) && (token.getKind() == kind);
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexer.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexer.java
index 51c0c01..1c42f9b 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexer.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexer.java
@@ -9,14 +9,15 @@
* committers of openArchitectureWare - Xpand language syntax
* Artem Tikhomirov (Borland) - LALR grammar
* - Migration to OCL expressions
- */package org.eclipse.gmf.internal.xpand.parser;
+ */
+package org.eclipse.gmf.internal.xpand.parser;
public class XpandKWLexer extends XpandKWLexerprs implements XpandParsersym
{
private char[] inputChars;
- private final int keywordKind[] = new int[108 + 1];
+ private final int keywordKind[] = new int[136 + 1];
public int[] getKeywordKinds() { return keywordKind; }
@@ -455,282 +456,450 @@
//
- // Rule 58: QVTKeyWord ::= n e w
+ // Rule 58: QVTKeyWord ::= o p p o s i t e s
//
- keywordKind[58] = (TK_new);
+ keywordKind[58] = (TK_opposites);
//
- // Rule 59: QVTKeyWord ::= w i t h
+ // Rule 59: QVTKeyWord ::= c l a s s
//
- keywordKind[59] = (TK_with);
+ keywordKind[59] = (TK_class);
//
- // Rule 60: QVTKeyWord ::= r e s o l v e
+ // Rule 60: QVTKeyWord ::= n e w
//
- keywordKind[60] = (TK_resolve);
+ keywordKind[60] = (TK_new);
//
- // Rule 61: QVTKeyWord ::= r e s o l v e o n e
+ // Rule 61: QVTKeyWord ::= w i t h
//
- keywordKind[61] = (TK_resolveone);
+ keywordKind[61] = (TK_with);
//
- // Rule 62: QVTKeyWord ::= r e s o l v e I n
+ // Rule 62: QVTKeyWord ::= r e s o l v e
//
- keywordKind[62] = (TK_resolveIn);
+ keywordKind[62] = (TK_resolve);
//
- // Rule 63: QVTKeyWord ::= r e s o l v e o n e I n
+ // Rule 63: QVTKeyWord ::= r e s o l v e o n e
//
- keywordKind[63] = (TK_resolveoneIn);
+ keywordKind[63] = (TK_resolveone);
//
- // Rule 64: QVTKeyWord ::= i n v r e s o l v e
+ // Rule 64: QVTKeyWord ::= r e s o l v e I n
//
- keywordKind[64] = (TK_invresolve);
+ keywordKind[64] = (TK_resolveIn);
//
- // Rule 65: QVTKeyWord ::= i n v r e s o l v e o n e
+ // Rule 65: QVTKeyWord ::= r e s o l v e o n e I n
//
- keywordKind[65] = (TK_invresolveone);
+ keywordKind[65] = (TK_resolveoneIn);
//
- // Rule 66: QVTKeyWord ::= i n v r e s o l v e I n
+ // Rule 66: QVTKeyWord ::= i n v r e s o l v e
//
- keywordKind[66] = (TK_invresolveIn);
+ keywordKind[66] = (TK_invresolve);
//
- // Rule 67: QVTKeyWord ::= i n v r e s o l v e o n e I n
+ // Rule 67: QVTKeyWord ::= i n v r e s o l v e o n e
//
- keywordKind[67] = (TK_invresolveoneIn);
+ keywordKind[67] = (TK_invresolveone);
//
- // Rule 68: QVTKeyWord ::= w h e r e
+ // Rule 68: QVTKeyWord ::= i n v r e s o l v e I n
//
- keywordKind[68] = (TK_where);
+ keywordKind[68] = (TK_invresolveIn);
//
- // Rule 69: QVTKeyWord ::= t h i s
+ // Rule 69: QVTKeyWord ::= i n v r e s o l v e o n e I n
//
- keywordKind[69] = (TK_this);
+ keywordKind[69] = (TK_invresolveoneIn);
//
- // Rule 70: QVTKeyWord ::= s w i t c h
+ // Rule 70: QVTKeyWord ::= w h e r e
//
- keywordKind[70] = (TK_switch);
+ keywordKind[70] = (TK_where);
//
- // Rule 71: QVTKeyWord ::= c a s e
+ // Rule 71: QVTKeyWord ::= t h i s
//
- keywordKind[71] = (TK_case);
+ keywordKind[71] = (TK_this);
//
- // Rule 72: QVTKeyWord ::= x s e l e c t
+ // Rule 72: QVTKeyWord ::= s w i t c h
//
- keywordKind[72] = (TK_xselect);
+ keywordKind[72] = (TK_switch);
//
- // Rule 73: QVTKeyWord ::= x c o l l e c t
+ // Rule 73: QVTKeyWord ::= c a s e
//
- keywordKind[73] = (TK_xcollect);
+ keywordKind[73] = (TK_case);
//
- // Rule 74: QVTKeyWord ::= s e l e c t O n e
+ // Rule 74: QVTKeyWord ::= x s e l e c t
//
- keywordKind[74] = (TK_selectOne);
+ keywordKind[74] = (TK_xselect);
//
- // Rule 75: QVTKeyWord ::= c o l l e c t O n e
+ // Rule 75: QVTKeyWord ::= x c o l l e c t
//
- keywordKind[75] = (TK_collectOne);
+ keywordKind[75] = (TK_xcollect);
//
- // Rule 76: QVTKeyWord ::= c o l l e c t s e l e c t
+ // Rule 76: QVTKeyWord ::= s e l e c t O n e
//
- keywordKind[76] = (TK_collectselect);
+ keywordKind[76] = (TK_selectOne);
//
- // Rule 77: QVTKeyWord ::= c o l l e c t s e l e c t O n e
+ // Rule 77: QVTKeyWord ::= c o l l e c t O n e
//
- keywordKind[77] = (TK_collectselectOne);
+ keywordKind[77] = (TK_collectOne);
//
- // Rule 78: QVTKeyWord ::= f o r E a c h
+ // Rule 78: QVTKeyWord ::= c o l l e c t s e l e c t
//
- keywordKind[78] = (TK_forEach);
+ keywordKind[78] = (TK_collectselect);
//
- // Rule 79: QVTKeyWord ::= f o r O n e
+ // Rule 79: QVTKeyWord ::= c o l l e c t s e l e c t O n e
//
- keywordKind[79] = (TK_forOne);
+ keywordKind[79] = (TK_collectselectOne);
//
- // Rule 80: QVTKeyWord ::= c o m p u t e
+ // Rule 80: QVTKeyWord ::= f o r E a c h
//
- keywordKind[80] = (TK_compute);
+ keywordKind[80] = (TK_forEach);
//
- // Rule 81: KeyWord ::= I M P O R T
+ // Rule 81: QVTKeyWord ::= f o r O n e
//
- keywordKind[81] = (TK_IMPORT);
+ keywordKind[81] = (TK_forOne);
+
//
- // Rule 82: KeyWord ::= E X T E N S I O N
+ // Rule 82: QVTKeyWord ::= c o m p u t e
//
- keywordKind[82] = (TK_EXTENSION);
+ keywordKind[82] = (TK_compute);
+
//
- // Rule 83: KeyWord ::= A R O U N D
+ // Rule 83: QVTKeyWord ::= D i c t
//
- keywordKind[83] = (TK_AROUND);
+ keywordKind[83] = (TK_Dict);
+
//
- // Rule 84: KeyWord ::= E N D A R O U N D
+ // Rule 84: QVTKeyWord ::= L i s t
//
- keywordKind[84] = (TK_ENDAROUND);
+ keywordKind[84] = (TK_List);
+
//
- // Rule 85: KeyWord ::= D E F I N E
+ // Rule 85: QVTKeyWord ::= b r e a k
//
- keywordKind[85] = (TK_DEFINE);
+ keywordKind[85] = (TK_break);
+
//
- // Rule 86: KeyWord ::= E N D D E F I N E
+ // Rule 86: QVTKeyWord ::= c o m p o s e s
//
- keywordKind[86] = (TK_ENDDEFINE);
+ keywordKind[86] = (TK_composes);
+
//
- // Rule 87: KeyWord ::= E R R O R
+ // Rule 87: QVTKeyWord ::= c o n s t r u c t o r
//
- keywordKind[87] = (TK_ERROR);
+ keywordKind[87] = (TK_constructor);
+
//
- // Rule 88: KeyWord ::= E X P A N D
+ // Rule 88: QVTKeyWord ::= c o n t i n u e
//
- keywordKind[88] = (TK_EXPAND);
+ keywordKind[88] = (TK_continue);
+
//
- // Rule 89: KeyWord ::= F O R
+ // Rule 89: QVTKeyWord ::= d a t a t y p e
//
- keywordKind[89] = (TK_FOR);
+ keywordKind[89] = (TK_datatype);
+
//
- // Rule 90: KeyWord ::= S E P A R A T O R
+ // Rule 90: QVTKeyWord ::= d e f a u l t
//
- keywordKind[90] = (TK_SEPARATOR);
+ keywordKind[90] = (TK_default);
+
//
- // Rule 91: KeyWord ::= A S
+ // Rule 91: QVTKeyWord ::= d e r i v e d
//
- keywordKind[91] = (TK_AS);
+ keywordKind[91] = (TK_derived);
+
//
- // Rule 92: KeyWord ::= I T E R A T O R
+ // Rule 92: QVTKeyWord ::= d o
//
- keywordKind[92] = (TK_ITERATOR);
+ keywordKind[92] = (TK_do);
+
//
- // Rule 93: KeyWord ::= F O R E A C H
+ // Rule 93: QVTKeyWord ::= e l i f
//
- keywordKind[93] = (TK_FOREACH);
+ keywordKind[93] = (TK_elif);
+
//
- // Rule 94: KeyWord ::= E N D F O R E A C H
+ // Rule 94: QVTKeyWord ::= e n u m
//
- keywordKind[94] = (TK_ENDFOREACH);
+ keywordKind[94] = (TK_enum);
+
//
- // Rule 95: KeyWord ::= F I L E
+ // Rule 95: QVTKeyWord ::= e x c e p t
//
- keywordKind[95] = (TK_FILE);
+ keywordKind[95] = (TK_except);
+
//
- // Rule 96: KeyWord ::= E N D F I L E
+ // Rule 96: QVTKeyWord ::= e x c e p t i o n
//
- keywordKind[96] = (TK_ENDFILE);
+ keywordKind[96] = (TK_exception);
+
//
- // Rule 97: KeyWord ::= I F
+ // Rule 97: QVTKeyWord ::= f r o m
//
- keywordKind[97] = (TK_IF);
+ keywordKind[97] = (TK_from);
+
//
- // Rule 98: KeyWord ::= E L S E I F
+ // Rule 98: QVTKeyWord ::= l i t e r a l
//
- keywordKind[98] = (TK_ELSEIF);
+ keywordKind[98] = (TK_literal);
+
//
- // Rule 99: KeyWord ::= E L S E
+ // Rule 99: QVTKeyWord ::= o r d e r e d
//
- keywordKind[99] = (TK_ELSE);
+ keywordKind[99] = (TK_ordered);
+
//
- // Rule 100: KeyWord ::= E N D I F
+ // Rule 100: QVTKeyWord ::= p r i m i t i v e
//
- keywordKind[100] = (TK_ENDIF);
+ keywordKind[100] = (TK_primitive);
+
//
- // Rule 101: KeyWord ::= L E T
+ // Rule 101: QVTKeyWord ::= r a i s e
//
- keywordKind[101] = (TK_LET);
+ keywordKind[101] = (TK_raise);
+
//
- // Rule 102: KeyWord ::= E N D L E T
+ // Rule 102: QVTKeyWord ::= r e a d o n l y
//
- keywordKind[102] = (TK_ENDLET);
+ keywordKind[102] = (TK_readonly);
+
//
- // Rule 103: KeyWord ::= P R O T E C T
+ // Rule 103: QVTKeyWord ::= r e f e r e n c e s
//
- keywordKind[103] = (TK_PROTECT);
+ keywordKind[103] = (TK_references);
+
//
- // Rule 104: KeyWord ::= C S T A R T
+ // Rule 104: QVTKeyWord ::= t a g
//
- keywordKind[104] = (TK_CSTART);
+ keywordKind[104] = (TK_tag);
+
//
- // Rule 105: KeyWord ::= C E N D
+ // Rule 105: QVTKeyWord ::= t r y
//
- keywordKind[105] = (TK_CEND);
+ keywordKind[105] = (TK_try);
+
//
- // Rule 106: KeyWord ::= I D
+ // Rule 106: QVTKeyWord ::= t y p e d e f
//
- keywordKind[106] = (TK_ID);
+ keywordKind[106] = (TK_typedef);
+
//
- // Rule 107: KeyWord ::= D I S A B L E
+ // Rule 107: QVTKeyWord ::= u n l i m i t e d
//
- keywordKind[107] = (TK_DISABLE);
+ keywordKind[107] = (TK_unlimited);
+
//
- // Rule 108: KeyWord ::= E N D P R O T E C T
+ // Rule 108: QVTKeyWord ::= i n v a l i d
//
- keywordKind[108] = (TK_ENDPROTECT);
+ keywordKind[108] = (TK_invalid);
+
+
+ //
+ // Rule 109: KeyWord ::= I M P O R T
+ //
+ keywordKind[109] = (TK_IMPORT);
+
+ //
+ // Rule 110: KeyWord ::= E X T E N S I O N
+ //
+ keywordKind[110] = (TK_EXTENSION);
+
+ //
+ // Rule 111: KeyWord ::= A R O U N D
+ //
+ keywordKind[111] = (TK_AROUND);
+
+ //
+ // Rule 112: KeyWord ::= E N D A R O U N D
+ //
+ keywordKind[112] = (TK_ENDAROUND);
+
+ //
+ // Rule 113: KeyWord ::= D E F I N E
+ //
+ keywordKind[113] = (TK_DEFINE);
+
+ //
+ // Rule 114: KeyWord ::= E N D D E F I N E
+ //
+ keywordKind[114] = (TK_ENDDEFINE);
+
+ //
+ // Rule 115: KeyWord ::= E R R O R
+ //
+ keywordKind[115] = (TK_ERROR);
+
+ //
+ // Rule 116: KeyWord ::= E X P A N D
+ //
+ keywordKind[116] = (TK_EXPAND);
+
+ //
+ // Rule 117: KeyWord ::= F O R
+ //
+ keywordKind[117] = (TK_FOR);
+
+ //
+ // Rule 118: KeyWord ::= S E P A R A T O R
+ //
+ keywordKind[118] = (TK_SEPARATOR);
+
+ //
+ // Rule 119: KeyWord ::= A S
+ //
+ keywordKind[119] = (TK_AS);
+
+ //
+ // Rule 120: KeyWord ::= I T E R A T O R
+ //
+ keywordKind[120] = (TK_ITERATOR);
+
+ //
+ // Rule 121: KeyWord ::= F O R E A C H
+ //
+ keywordKind[121] = (TK_FOREACH);
+
+ //
+ // Rule 122: KeyWord ::= E N D F O R E A C H
+ //
+ keywordKind[122] = (TK_ENDFOREACH);
+
+ //
+ // Rule 123: KeyWord ::= F I L E
+ //
+ keywordKind[123] = (TK_FILE);
+
+ //
+ // Rule 124: KeyWord ::= E N D F I L E
+ //
+ keywordKind[124] = (TK_ENDFILE);
+
+ //
+ // Rule 125: KeyWord ::= I F
+ //
+ keywordKind[125] = (TK_IF);
+
+ //
+ // Rule 126: KeyWord ::= E L S E I F
+ //
+ keywordKind[126] = (TK_ELSEIF);
+
+ //
+ // Rule 127: KeyWord ::= E L S E
+ //
+ keywordKind[127] = (TK_ELSE);
+
+ //
+ // Rule 128: KeyWord ::= E N D I F
+ //
+ keywordKind[128] = (TK_ENDIF);
+
+ //
+ // Rule 129: KeyWord ::= L E T
+ //
+ keywordKind[129] = (TK_LET);
+
+ //
+ // Rule 130: KeyWord ::= E N D L E T
+ //
+ keywordKind[130] = (TK_ENDLET);
+
+ //
+ // Rule 131: KeyWord ::= P R O T E C T
+ //
+ keywordKind[131] = (TK_PROTECT);
+
+ //
+ // Rule 132: KeyWord ::= C S T A R T
+ //
+ keywordKind[132] = (TK_CSTART);
+
+ //
+ // Rule 133: KeyWord ::= C E N D
+ //
+ keywordKind[133] = (TK_CEND);
+
+ //
+ // Rule 134: KeyWord ::= I D
+ //
+ keywordKind[134] = (TK_ID);
+
+ //
+ // Rule 135: KeyWord ::= D I S A B L E
+ //
+ keywordKind[135] = (TK_DISABLE);
+
+ //
+ // Rule 136: KeyWord ::= E N D P R O T E C T
+ //
+ keywordKind[136] = (TK_ENDPROTECT);
for (int i = 0; i < keywordKind.length; i++)
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexerprs.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexerprs.java
index a9ecf7c..ad3e91c 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexerprs.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexerprs.java
@@ -34,12 +34,15 @@
7,6,6,8,3,3,7,6,6,13,
8,7,11,11,9,8,14,12,12,12,
6,7,16,4,7,5,6,7,7,10,
- 4,10,1,5,6,4,3,3,4,7,
- 10,9,12,10,13,12,15,5,4,6,
- 4,7,8,9,10,13,16,7,6,7,
- 6,9,6,9,6,9,5,6,3,9,
- 2,8,7,10,4,7,2,6,4,5,
- 3,6,7,6,4,2,7,10
+ 4,10,1,5,6,4,3,9,5,3,
+ 4,7,10,9,12,10,13,12,15,5,
+ 4,6,4,7,8,9,10,13,16,7,
+ 6,7,4,4,5,8,11,8,8,7,
+ 7,2,4,4,6,9,4,7,7,9,
+ 5,8,10,3,3,7,9,7,6,9,
+ 6,9,6,9,5,6,3,9,2,8,
+ 7,10,4,7,2,6,4,5,3,6,
+ 7,6,4,2,7,10
};
};
public final static byte baseCheck[] = BaseCheck.baseCheck;
@@ -57,50 +60,64 @@
2,2,2,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,2,2,2,2,2,2,2,2,2,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,1,1,2,
2,2,2,2,2,2,2,2,2,2,
- 2,2,2,2,2,2,2,2,2,1,
- 112,53,17,113,35,179,192,120,123,119,
- 56,182,194,180,40,196,84,124,91,19,
- 102,132,202,58,87,63,144,105,20,45,
- 115,198,200,89,205,206,53,208,207,209,
- 210,214,212,216,135,215,220,217,223,224,
- 145,37,227,231,151,237,234,225,238,244,
- 245,240,247,248,152,249,256,259,251,264,
- 265,257,270,260,252,274,278,280,138,275,
- 283,285,268,157,286,291,289,155,294,293,
- 295,296,159,301,298,302,304,307,308,305,
- 314,310,27,312,320,323,326,331,330,332,
- 333,334,338,345,349,347,339,341,71,353,
- 351,355,356,357,360,361,362,110,363,373,
- 374,378,364,160,379,382,383,369,384,386,
- 392,393,388,397,394,398,400,405,169,410,
- 412,408,403,406,414,416,417,419,421,418,
- 422,173,423,424,426,427,436,429,431,439,
- 440,443,447,450,451,452,454,456,457,464,
- 465,460,466,476,478,467,469,482,484,485,
- 486,489,491,495,492,497,498,505,506,499,
- 501,500,511,512,514,515,518,519,520,522,
- 524,523,527,525,529,528,532,534,537,535,
- 536,550,539,552,559,540,538,560,562,566,
- 568,563,569,571,572,578,573,581,576,582,
- 583,584,589,591,592,595,597,598,601,54,
- 605,606,604,608,613,617,607,618,619,620,
- 621,624,625,629,630,627,626,628,642,643,
- 632,645,649,652,654,659,647,661,662,664,
- 665,667,668,672,671,673,675,674,686,687,
- 676,681,682,691,692,693,696,698,699,704,
- 700,703,705,706,710,713,715,164,121,717,
- 716,721,722,727,730,732,726,167,733,737,
- 738,740,739,744,750,741,751,746,747,755,
- 757,756,763,758,764,759,768,772,778,766,
- 780,782,783,785,787,790,788,793,795,800,
- 796,801,805,804,806,807,810,813,816,809,
- 817,822,827,823,829,815,828,833,834,838,
- 835,840,847,845,850,852,853,842,855,856,
- 176,861,860,862,866,868,870,872,871,878,
- 879,873,880,883,887,889,885,893,891,894,
- 895,897,903,908,911,517,517
+ 2,2,2,2,2,2,2,2,2,2,
+ 2,2,2,2,2,2,2,1,140,53,
+ 160,242,251,96,254,20,153,245,154,31,
+ 99,108,53,30,120,261,39,164,115,170,
+ 119,173,125,132,184,129,136,46,172,71,
+ 86,58,134,89,264,41,155,248,267,268,
+ 186,271,272,59,222,274,273,276,279,278,
+ 277,280,281,177,283,285,293,282,286,188,
+ 301,70,307,192,148,297,299,308,310,311,
+ 312,202,287,315,194,316,320,329,322,331,
+ 317,334,336,330,340,335,342,344,345,346,
+ 349,350,195,95,197,198,352,354,200,211,
+ 355,356,358,208,360,361,364,366,368,370,
+ 377,378,380,362,220,386,374,391,395,396,
+ 382,397,399,372,398,402,24,403,404,406,
+ 414,413,412,419,422,423,420,430,425,428,
+ 433,438,436,440,219,441,444,73,448,443,
+ 445,450,451,452,455,456,457,149,458,465,
+ 468,469,474,475,478,215,480,476,485,482,
+ 461,489,491,492,495,497,499,500,502,501,
+ 507,227,512,513,516,236,503,517,79,508,
+ 519,520,523,526,528,530,531,532,533,535,
+ 538,539,534,536,226,543,541,542,545,557,
+ 544,547,559,568,550,572,567,560,577,576,
+ 578,581,583,589,238,585,590,592,595,596,
+ 597,599,601,606,603,608,609,611,613,616,
+ 621,617,623,627,624,629,631,632,633,635,
+ 634,642,636,643,645,647,646,649,657,648,
+ 660,662,663,664,669,671,665,667,672,676,
+ 675,677,678,679,680,681,682,683,686,684,
+ 689,685,691,695,712,693,715,702,700,718,
+ 713,719,724,725,726,727,729,730,734,733,
+ 740,737,735,742,743,744,748,754,747,757,
+ 759,762,764,745,765,768,69,769,771,772,
+ 776,778,780,781,785,787,788,789,790,791,
+ 795,796,798,802,799,805,803,810,807,812,
+ 813,814,806,815,809,817,816,827,832,831,
+ 837,840,833,842,844,846,849,848,852,853,
+ 854,860,857,856,865,866,867,868,869,873,
+ 874,877,878,883,880,885,888,887,886,892,
+ 893,894,899,901,900,902,904,906,908,913,
+ 915,916,919,920,918,921,925,924,923,243,
+ 928,932,936,150,941,926,945,947,948,949,
+ 951,954,956,241,957,958,959,960,962,963,
+ 965,968,973,974,975,981,976,979,983,984,
+ 986,987,988,990,998,991,999,1009,1003,1001,
+ 1011,1014,1012,1016,1017,1018,1020,1025,1026,1028,
+ 1024,1033,1035,1030,1041,1038,1036,1043,1044,1045,
+ 1047,1048,1057,1049,1053,1059,1064,1061,1067,1068,
+ 1069,1070,1072,1073,1077,1075,1079,1080,1086,1090,
+ 1094,1095,1097,1081,1091,1098,244,1103,1104,1106,
+ 1109,1112,1114,1115,1116,1121,1123,1118,1126,1120,
+ 1131,1133,1129,1136,1138,1139,1140,1141,1142,1151,
+ 1143,653,653
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -111,97 +128,121 @@
public interface TermCheck {
public final static byte termCheck[] = {0,
0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,0,17,0,0,
- 20,21,22,23,24,25,0,9,10,29,
- 30,31,13,33,0,35,0,11,38,0,
- 6,5,3,17,0,26,20,3,4,5,
- 24,25,0,0,15,0,30,0,1,20,
- 26,45,0,24,11,3,22,10,15,14,
- 0,18,36,18,12,13,19,25,34,40,
- 25,11,0,0,31,2,0,17,0,1,
- 0,5,9,10,6,42,10,7,12,44,
- 10,0,1,41,0,4,2,3,7,0,
- 40,21,0,43,0,1,7,8,0,0,
- 0,9,0,0,10,5,17,8,8,7,
- 11,0,14,11,0,12,13,0,18,21,
- 9,10,38,0,0,2,3,33,4,15,
- 0,0,2,16,0,4,0,1,0,0,
- 6,3,6,0,30,28,0,23,0,1,
- 11,13,0,10,11,0,17,23,0,0,
- 8,0,3,11,34,10,11,21,37,23,
- 22,0,14,0,1,0,1,0,7,0,
- 19,0,1,4,0,0,0,0,0,0,
- 13,0,8,0,0,0,0,8,2,0,
- 15,14,0,0,0,14,0,21,9,7,
- 0,5,24,0,21,20,0,0,2,0,
- 10,27,18,0,0,2,0,0,0,16,
- 0,0,15,30,10,0,0,2,0,0,
- 13,13,4,0,0,2,10,0,4,0,
- 1,32,13,0,0,2,30,0,1,0,
- 6,2,0,33,0,0,19,36,0,5,
- 0,1,0,0,0,0,2,0,16,6,
- 0,0,2,0,0,13,0,0,7,0,
- 7,0,15,0,0,27,31,8,11,0,
- 7,26,0,17,2,0,7,2,17,0,
- 0,0,0,0,1,31,6,0,0,8,
- 0,9,2,14,0,1,0,10,0,1,
- 0,5,0,1,0,0,0,2,2,0,
- 0,0,0,0,1,27,6,5,0,1,
- 20,17,0,0,2,2,17,0,0,2,
- 19,0,0,0,1,0,5,0,6,11,
- 5,0,0,0,3,3,0,0,2,0,
- 13,4,0,4,0,0,13,0,4,0,
- 1,0,1,0,7,0,0,0,0,17,
- 0,0,0,0,7,0,0,11,0,7,
- 0,18,14,18,14,0,1,14,0,0,
- 35,2,0,18,18,24,0,17,2,0,
- 0,0,14,0,1,0,0,1,3,0,
- 0,12,34,0,0,0,0,3,0,19,
- 19,3,13,10,32,0,1,0,1,14,
- 14,0,1,0,0,0,3,2,0,1,
- 0,0,2,9,0,1,0,0,0,0,
- 0,5,5,12,0,0,6,3,9,4,
- 0,0,1,0,0,1,6,0,0,0,
- 22,0,0,0,0,12,0,0,0,12,
- 7,0,8,0,0,0,0,0,0,0,
- 1,0,20,15,8,14,25,29,29,0,
- 24,0,25,15,20,6,21,24,0,0,
- 23,0,0,4,6,0,15,0,0,4,
- 0,0,0,5,13,0,6,0,1,12,
- 0,0,0,0,9,23,3,15,0,1,
- 0,0,12,2,0,1,0,0,17,28,
- 0,4,12,0,0,0,0,0,12,5,
- 5,4,0,1,32,15,0,0,0,0,
- 0,5,4,0,0,0,0,0,0,0,
- 7,0,26,16,15,7,7,11,11,15,
- 37,0,0,0,0,4,0,16,0,1,
- 8,0,1,0,1,9,31,13,0,39,
- 0,0,4,0,0,5,0,0,4,3,
- 0,0,0,0,0,0,1,16,4,16,
- 0,0,15,12,12,0,0,6,3,3,
- 0,0,0,1,4,0,26,0,0,0,
- 5,28,0,0,0,0,7,10,28,0,
- 19,8,0,1,0,0,0,8,2,17,
- 0,0,18,18,9,0,0,6,14,0,
- 1,0,0,35,8,4,0,0,0,0,
- 0,21,3,0,1,0,0,9,16,0,
- 0,2,27,3,0,0,0,0,0,1,
- 3,7,0,0,27,0,3,0,28,33,
- 3,0,1,18,29,29,20,0,16,0,
- 1,0,0,6,0,1,0,0,1,0,
- 4,10,0,1,0,0,14,32,9,0,
- 0,1,3,0,0,0,0,1,0,0,
- 16,2,0,1,0,0,0,1,23,15,
- 5,0,0,18,16,4,0,0,0,3,
- 2,9,0,0,0,8,22,0,1,0,
- 8,0,39,9,0,12,0,1,4,0,
- 11,0,0,4,0,0,1,6,6,0,
- 0,0,3,22,4,0,1,0,1,0,
- 0,0,0,12,3,5,22,0,0,0,
- 3,3,0,4,0,16,0,1,0,1,
- 0,19,0,0,0,0,0,13,16,3,
- 8,0,0,9,11,3,16,0,0,2,
- 0,1,0,0,0,0,0,0,0,0,
+ 10,11,12,13,14,15,16,17,18,0,
+ 20,21,22,0,24,25,7,27,28,0,
+ 0,31,32,33,34,35,36,14,0,39,
+ 0,18,4,13,14,0,17,24,8,4,
+ 27,28,0,8,16,32,11,0,0,2,
+ 20,4,24,6,6,27,21,15,0,0,
+ 0,19,0,3,4,6,7,20,0,41,
+ 28,36,14,26,16,0,14,19,0,20,
+ 18,3,7,8,0,0,1,45,0,5,
+ 22,33,7,5,9,11,37,0,23,39,
+ 12,43,14,41,0,30,44,3,0,0,
+ 1,7,15,9,0,1,2,9,0,1,
+ 12,0,25,0,1,0,12,9,7,8,
+ 9,6,9,25,9,17,11,0,0,0,
+ 3,4,0,0,0,6,2,5,5,0,
+ 12,13,13,0,1,12,18,34,19,0,
+ 7,0,0,26,3,4,0,8,0,7,
+ 11,9,30,0,1,0,1,0,5,2,
+ 5,0,16,0,0,2,0,0,7,0,
+ 9,0,5,6,10,46,10,0,32,22,
+ 0,1,5,17,0,5,17,23,0,0,
+ 2,0,23,4,6,0,0,8,14,22,
+ 29,38,18,7,8,0,1,0,13,14,
+ 0,0,0,0,0,4,9,0,1,28,
+ 0,9,9,0,17,20,14,14,8,15,
+ 0,8,22,0,4,25,0,0,5,2,
+ 0,0,0,0,8,0,0,0,0,0,
+ 0,0,0,13,0,0,0,16,15,11,
+ 13,7,0,12,15,3,0,25,0,3,
+ 0,25,27,21,24,5,0,0,10,0,
+ 0,0,6,3,0,0,0,32,32,0,
+ 9,0,8,2,9,16,19,8,0,0,
+ 0,3,2,0,0,0,3,2,9,0,
+ 1,0,8,0,0,0,1,3,0,0,
+ 34,0,3,0,0,0,1,0,10,0,
+ 0,0,21,0,5,0,3,0,8,0,
+ 5,0,21,0,5,0,0,0,21,0,
+ 37,0,29,7,7,0,7,33,3,16,
+ 0,30,2,26,0,0,0,0,0,18,
+ 2,0,0,0,33,0,12,12,3,12,
+ 14,0,0,0,13,12,3,5,0,0,
+ 18,0,0,1,0,6,15,0,7,0,
+ 1,13,0,1,10,0,9,0,1,0,
+ 0,6,0,0,0,6,3,0,1,0,
+ 0,0,3,3,0,0,0,0,0,5,
+ 0,21,18,6,0,1,24,0,0,18,
+ 3,3,17,0,0,0,3,0,1,0,
+ 1,0,26,9,0,1,26,6,0,14,
+ 0,0,1,5,0,1,0,1,0,0,
+ 0,0,0,4,6,4,0,0,8,3,
+ 20,0,0,2,2,0,0,2,0,0,
+ 2,5,0,1,17,0,1,0,26,0,
+ 0,0,0,0,0,0,0,0,0,12,
+ 0,0,0,0,0,12,0,18,14,0,
+ 19,19,15,15,12,15,0,1,0,0,
+ 19,42,27,19,18,35,0,0,9,26,
+ 3,0,1,15,8,0,0,0,29,3,
+ 0,0,0,6,0,1,11,5,0,0,
+ 2,0,1,4,0,0,0,17,0,4,
+ 0,1,0,9,8,0,1,0,0,1,
+ 0,4,0,15,4,0,0,15,3,7,
+ 0,1,0,0,8,3,0,1,0,6,
+ 0,0,0,0,0,0,6,6,4,11,
+ 8,0,0,2,0,0,0,0,0,5,
+ 5,3,10,7,21,20,0,1,11,0,
+ 1,0,0,0,0,2,0,5,0,1,
+ 0,0,11,3,0,0,0,0,0,0,
+ 0,0,0,0,0,0,12,23,0,5,
+ 0,13,0,1,0,16,15,31,13,0,
+ 24,0,31,28,27,4,16,24,28,27,
+ 16,0,0,25,0,1,5,0,0,2,
+ 8,22,4,0,0,0,0,2,0,0,
+ 6,8,0,0,0,6,0,11,5,0,
+ 1,0,0,0,0,11,0,0,7,5,
+ 22,4,16,0,1,23,0,11,0,3,
+ 18,0,1,0,0,7,2,0,0,1,
+ 0,0,29,2,11,0,6,0,1,0,
+ 0,6,2,16,0,1,0,0,0,0,
+ 0,5,2,6,0,0,2,0,0,10,
+ 5,0,0,2,0,0,0,10,0,0,
+ 2,0,0,0,0,0,0,38,30,21,
+ 16,12,16,12,12,10,0,14,14,13,
+ 0,0,0,3,8,4,0,1,33,0,
+ 1,0,40,0,1,0,1,0,0,17,
+ 2,0,0,0,7,0,0,6,17,0,
+ 4,2,10,10,0,0,0,0,0,3,
+ 2,16,0,0,2,11,0,0,11,0,
+ 4,4,0,1,0,0,0,0,2,5,
+ 5,0,0,0,1,30,23,10,0,0,
+ 0,0,23,0,6,0,1,0,9,17,
+ 10,20,0,1,0,0,13,0,0,0,
+ 0,1,0,0,0,0,12,0,1,22,
+ 13,0,7,18,11,0,35,19,19,15,
+ 0,6,11,3,0,23,0,0,0,1,
+ 0,5,2,0,1,0,0,0,0,0,
+ 13,0,0,4,0,1,10,0,7,25,
+ 3,9,0,0,0,0,21,4,0,21,
+ 0,1,0,0,10,0,0,0,1,0,
+ 0,34,2,4,12,23,10,0,0,1,
+ 0,4,0,1,19,5,31,24,0,31,
+ 0,0,4,0,1,0,0,0,1,0,
+ 9,2,6,0,0,0,1,0,1,0,
+ 15,7,0,10,0,0,4,0,4,29,
+ 0,1,0,0,0,1,0,0,0,6,
+ 3,22,0,16,6,9,0,1,0,1,
+ 0,19,10,0,4,2,0,0,0,0,
+ 3,0,0,7,0,40,0,1,0,0,
+ 0,7,13,11,13,0,1,8,20,0,
+ 0,2,14,0,0,2,0,0,1,5,
+ 20,5,0,0,2,0,0,4,0,1,
+ 20,0,1,0,0,0,11,0,4,0,
+ 0,6,0,10,4,0,4,2,0,10,
+ 0,1,0,1,17,0,8,0,0,0,
+ 0,0,0,1,4,4,7,10,13,0,
+ 0,0,14,3,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -214,98 +255,122 @@
public interface TermAction {
public final static char termAction[] = {0,
- 517,137,132,133,138,140,139,120,127,136,
- 135,124,126,125,122,121,517,119,517,517,
- 118,130,131,113,117,116,517,171,170,128,
- 115,123,192,114,517,129,517,270,134,517,
- 142,222,160,273,517,193,272,197,195,194,
- 271,269,517,517,158,517,268,517,178,623,
- 143,516,517,614,398,186,520,180,401,152,
- 517,400,223,153,185,525,179,205,196,159,
- 151,287,517,517,399,163,517,290,517,202,
- 517,182,162,164,203,402,183,167,181,154,
- 169,517,174,184,517,173,191,190,172,517,
- 288,168,517,289,517,200,299,298,517,517,
- 27,141,517,517,199,445,300,147,446,149,
- 146,517,150,148,517,165,166,517,447,608,
- 176,175,189,517,517,187,188,198,221,214,
- 517,517,227,524,13,533,517,250,517,517,
- 255,573,249,60,213,542,517,220,517,316,
- 306,259,517,444,443,64,305,254,517,517,
- 326,517,157,325,226,500,499,454,236,455,
- 518,517,144,517,156,517,161,517,145,517,
- 155,517,177,201,517,517,517,517,517,517,
- 574,517,204,517,517,517,517,209,217,517,
- 618,206,517,517,517,211,517,207,216,218,
- 517,224,208,517,210,212,517,517,228,517,
- 225,215,230,517,517,232,517,517,517,229,
- 517,517,231,219,233,517,517,238,517,517,
- 235,237,529,517,517,239,240,517,527,517,
- 241,534,526,517,517,243,234,517,543,517,
- 245,244,517,575,517,517,248,242,517,247,
- 517,252,517,517,517,517,258,517,246,256,
- 517,517,260,89,517,257,517,517,612,517,
- 262,517,261,517,517,253,251,267,264,517,
- 266,576,517,263,276,517,275,561,274,517,
- 517,517,517,517,281,265,277,517,517,279,
- 517,280,286,278,517,283,517,282,517,588,
- 517,284,517,291,517,517,517,293,294,517,
- 517,517,517,517,304,285,296,301,517,522,
- 622,292,517,517,568,302,295,517,517,303,
- 297,517,517,517,531,517,308,517,309,307,
- 586,517,517,517,521,310,517,517,312,517,
- 311,519,517,314,517,517,313,517,315,517,
- 585,517,571,517,317,517,99,517,517,318,
- 517,517,517,517,324,517,517,322,517,327,
- 517,320,604,321,323,517,563,328,517,517,
- 319,334,517,329,330,617,517,332,336,517,
- 517,517,333,517,340,517,517,342,341,517,
- 517,337,331,517,517,517,517,344,517,338,
- 339,350,345,343,335,517,347,517,348,346,
- 349,517,351,517,517,517,352,354,517,532,
- 517,517,355,353,517,356,517,517,517,517,
- 517,358,359,357,517,517,362,360,363,361,
- 517,517,365,517,517,367,364,517,517,517,
- 523,517,517,517,517,366,517,517,517,368,
- 602,517,372,517,517,517,517,517,517,517,
- 381,517,600,619,376,374,371,369,370,517,
- 615,517,373,379,605,378,377,375,517,517,
- 382,517,517,546,380,517,598,517,517,384,
- 517,517,517,387,383,517,388,517,389,385,
- 517,517,517,517,391,386,393,621,517,596,
- 517,517,390,539,517,395,517,517,392,564,
- 517,572,394,517,517,517,517,517,396,403,
- 540,405,517,406,558,397,517,517,517,517,
- 517,407,409,517,517,517,517,517,517,517,
- 624,517,587,408,620,613,411,412,414,410,
- 404,517,517,517,517,415,517,566,517,417,
- 416,517,549,517,597,419,413,559,517,610,
- 517,517,418,517,517,420,517,517,422,562,
- 517,517,517,517,517,517,429,565,589,421,
- 517,517,423,424,425,517,517,431,427,428,
- 517,517,517,538,432,517,595,517,517,517,
- 528,426,517,28,517,517,437,434,430,517,
- 433,436,517,442,517,517,517,441,448,438,
- 517,517,439,440,449,517,517,451,609,517,
- 535,517,517,435,452,590,517,517,517,517,
- 517,450,458,517,541,517,517,459,456,517,
- 517,460,453,461,517,517,517,517,517,466,
- 579,603,517,517,457,517,465,517,548,553,
- 467,517,468,599,462,463,601,517,464,517,
- 471,517,517,469,517,552,517,517,475,517,
- 473,472,517,476,517,517,607,470,474,517,
- 517,591,478,517,517,517,517,481,517,517,
- 477,482,517,592,517,517,517,567,479,625,
- 483,517,517,480,569,537,517,517,517,536,
- 485,484,517,517,517,487,486,517,490,61,
- 488,517,611,491,517,489,517,493,494,517,
- 492,517,517,495,517,517,498,496,497,517,
- 517,517,580,551,501,517,503,517,556,517,
- 517,517,517,502,504,557,550,517,517,517,
- 583,505,517,507,517,555,517,508,517,509,
- 517,506,76,65,517,517,517,510,547,514,
- 511,517,517,513,512,584,554,517,517,560,
- 517,594
+ 653,169,170,164,165,171,172,168,157,167,
+ 143,158,152,159,156,154,153,141,151,653,
+ 163,142,145,653,150,162,178,149,148,653,
+ 653,160,147,155,146,161,144,343,653,166,
+ 653,346,199,185,184,653,194,345,249,229,
+ 344,342,653,230,197,341,228,653,653,241,
+ 250,243,787,240,257,778,226,191,653,653,
+ 653,192,653,235,234,279,278,656,653,198,
+ 190,227,511,242,514,653,366,513,653,277,
+ 369,247,237,238,653,653,175,193,653,309,
+ 404,512,176,188,745,308,280,653,236,233,
+ 187,515,186,367,653,239,368,203,653,653,
+ 195,202,189,204,653,214,213,209,653,220,
+ 207,653,772,653,246,653,212,222,217,215,
+ 216,224,245,208,225,221,223,653,653,27,
+ 286,284,653,653,653,576,251,179,183,653,
+ 378,377,577,653,201,182,379,244,578,653,
+ 200,653,653,285,231,232,653,206,653,211,
+ 205,210,180,653,219,653,254,653,218,275,
+ 255,653,268,653,653,669,653,653,282,653,
+ 283,653,312,313,660,652,311,13,267,274,
+ 653,317,322,310,653,316,315,678,653,653,
+ 362,653,758,709,363,653,653,332,387,321,
+ 670,295,386,397,398,653,401,653,416,415,
+ 653,653,62,66,653,173,433,653,252,258,
+ 653,574,636,653,434,654,573,635,174,181,
+ 653,177,587,653,196,586,653,653,248,253,
+ 653,653,653,653,710,653,653,653,653,653,
+ 653,653,653,256,653,653,653,782,259,262,
+ 263,270,653,272,265,271,653,260,653,287,
+ 653,264,261,269,266,276,653,653,288,653,
+ 653,653,281,291,653,653,653,273,293,653,
+ 292,653,294,299,296,290,289,297,653,653,
+ 653,298,665,653,653,653,300,663,301,653,
+ 302,653,662,653,653,653,679,305,8,653,
+ 713,653,307,653,653,653,319,653,306,653,
+ 653,653,303,653,323,653,325,653,324,653,
+ 326,653,314,653,328,653,653,653,320,653,
+ 304,653,757,329,330,653,331,318,333,334,
+ 653,714,737,327,653,117,653,653,653,336,
+ 736,653,653,653,338,653,776,335,349,339,
+ 337,653,653,653,340,348,697,350,653,653,
+ 347,653,653,354,653,355,351,653,353,653,
+ 356,352,653,359,357,653,358,653,726,653,
+ 653,360,653,653,653,361,365,653,370,653,
+ 653,653,372,373,653,653,653,653,653,375,
+ 653,364,371,380,653,381,786,653,653,374,
+ 704,382,376,653,653,653,383,653,385,653,
+ 388,653,750,384,653,390,747,391,653,389,
+ 653,653,658,392,653,393,653,667,653,653,
+ 653,653,653,657,724,394,653,653,395,396,
+ 746,653,653,655,399,653,653,400,653,653,
+ 406,403,653,723,405,653,707,653,402,653,
+ 653,653,653,653,127,653,653,653,653,407,
+ 653,653,653,653,653,414,653,408,412,653,
+ 410,411,768,413,417,418,653,699,653,653,
+ 419,738,781,420,422,409,653,653,427,421,
+ 424,653,754,423,426,653,653,653,425,428,
+ 653,653,653,712,653,435,429,431,653,653,
+ 432,653,437,436,653,653,653,430,653,439,
+ 653,442,653,438,440,653,443,653,653,446,
+ 653,445,653,441,447,653,653,444,449,448,
+ 653,668,653,653,450,451,653,452,653,453,
+ 653,653,653,653,653,653,455,456,458,454,
+ 457,653,653,460,653,653,653,653,653,462,
+ 464,465,461,463,459,659,653,466,467,653,
+ 468,653,653,653,653,471,653,470,653,472,
+ 653,653,469,473,653,653,653,653,653,653,
+ 653,653,653,653,653,653,766,474,653,484,
+ 653,478,653,487,653,783,480,475,482,653,
+ 764,653,476,477,779,489,485,769,479,481,
+ 762,653,653,483,653,488,486,653,653,682,
+ 491,490,492,653,653,653,653,495,653,653,
+ 494,493,653,653,653,498,653,496,499,653,
+ 500,653,653,653,653,501,653,653,502,509,
+ 497,504,785,653,734,700,653,505,653,675,
+ 503,653,507,653,653,506,708,653,653,516,
+ 653,653,694,518,508,653,517,653,519,653,
+ 653,676,521,510,653,522,653,653,653,653,
+ 653,523,526,524,653,653,527,653,653,525,
+ 528,653,653,743,653,653,653,744,653,653,
+ 535,653,653,653,653,653,653,520,725,529,
+ 784,788,530,777,531,702,653,532,534,536,
+ 653,653,653,538,695,537,653,539,533,653,
+ 685,653,774,653,542,653,735,653,653,540,
+ 543,653,653,653,544,653,653,545,541,653,
+ 698,547,701,546,653,653,653,653,653,751,
+ 727,548,653,653,551,549,653,653,550,653,
+ 553,554,653,555,653,95,653,653,558,557,
+ 559,653,653,653,674,733,552,752,653,653,
+ 653,653,556,28,664,653,564,653,561,560,
+ 761,759,653,742,653,653,563,653,653,653,
+ 653,571,653,653,653,653,566,653,741,565,
+ 570,653,580,567,572,653,562,568,569,773,
+ 653,739,575,579,653,755,653,653,653,671,
+ 653,582,728,653,584,653,653,653,653,653,
+ 583,653,653,590,653,677,588,653,591,581,
+ 593,592,653,653,653,653,585,594,653,589,
+ 653,753,653,653,760,653,653,653,598,653,
+ 653,689,600,717,767,684,597,653,653,601,
+ 653,599,653,603,763,604,595,765,653,596,
+ 653,653,602,653,606,653,653,653,688,653,
+ 607,608,711,653,653,653,610,653,611,653,
+ 771,609,653,612,653,653,613,653,749,605,
+ 653,729,653,653,653,616,653,653,653,756,
+ 618,614,653,789,619,617,653,730,653,703,
+ 653,615,705,653,672,673,653,653,653,653,
+ 621,653,653,620,653,775,653,626,63,653,
+ 653,627,623,625,624,653,629,740,622,653,
+ 653,630,628,653,653,631,653,653,634,632,
+ 687,633,653,653,637,653,653,718,653,639,
+ 686,653,692,653,653,653,638,653,640,653,
+ 653,693,653,691,721,653,641,643,653,683,
+ 653,644,653,645,642,78,646,653,67,653,
+ 653,653,653,732,650,722,649,690,647,653,
+ 653,653,648,696
};
};
public final static char termAction[] = TermAction.termAction;
@@ -331,20 +396,20 @@
public final int getMaxNameLength() { return 0; }
public final static int
- NUM_STATES = 404,
+ NUM_STATES = 512,
NT_OFFSET = 54,
- LA_STATE_OFFSET = 625,
+ LA_STATE_OFFSET = 789,
MAX_LA = 1,
- NUM_RULES = 108,
+ NUM_RULES = 136,
NUM_NONTERMINALS = 3,
NUM_SYMBOLS = 57,
SEGMENT_SIZE = 8192,
- START_STATE = 109,
+ START_STATE = 137,
IDENTIFIER_SYMBOL = 0,
- EOFT_SYMBOL = 45,
+ EOFT_SYMBOL = 46,
EOLT_SYMBOL = 55,
- ACCEPT_ACTION = 516,
- ERROR_ACTION = 517;
+ ACCEPT_ACTION = 652,
+ ERROR_ACTION = 653;
public final static boolean BACKTRACK = false;
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexersym.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexersym.java
index 4a410ae..f9e0407 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexersym.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandKWLexersym.java
@@ -14,110 +14,110 @@
public interface XpandKWLexersym {
public final static int
- Char_DollarSign = 46,
- Char_a = 9,
- Char_b = 41,
- Char_c = 12,
- Char_d = 16,
+ Char_DollarSign = 47,
+ Char_a = 7,
+ Char_b = 36,
+ Char_c = 11,
+ Char_d = 10,
Char_e = 1,
- Char_f = 22,
- Char_g = 32,
- Char_h = 26,
- Char_i = 6,
- Char_j = 36,
- Char_k = 47,
- Char_l = 2,
- Char_m = 34,
- Char_n = 3,
- Char_o = 10,
- Char_p = 27,
- Char_q = 37,
- Char_r = 13,
- Char_s = 5,
- Char_t = 4,
- Char_u = 19,
- Char_v = 23,
- Char_w = 33,
- Char_x = 38,
- Char_y = 28,
+ Char_f = 20,
+ Char_g = 29,
+ Char_h = 30,
+ Char_i = 5,
+ Char_j = 37,
+ Char_k = 42,
+ Char_l = 3,
+ Char_m = 26,
+ Char_n = 4,
+ Char_o = 9,
+ Char_p = 21,
+ Char_q = 38,
+ Char_r = 8,
+ Char_s = 6,
+ Char_t = 2,
+ Char_u = 17,
+ Char_v = 22,
+ Char_w = 34,
+ Char_x = 39,
+ Char_y = 23,
Char_z = 48,
- Char_A = 17,
+ Char_A = 18,
Char_B = 35,
- Char_C = 29,
- Char_D = 20,
- Char_E = 7,
- Char_F = 24,
+ Char_C = 31,
+ Char_D = 24,
+ Char_E = 12,
+ Char_F = 27,
Char_G = 49,
- Char_H = 39,
- Char_I = 11,
+ Char_H = 40,
+ Char_I = 14,
Char_J = 50,
- Char_K = 42,
- Char_L = 25,
- Char_M = 40,
- Char_N = 18,
- Char_O = 8,
- Char_P = 30,
+ Char_K = 43,
+ Char_L = 28,
+ Char_M = 41,
+ Char_N = 19,
+ Char_O = 13,
+ Char_P = 32,
Char_Q = 51,
- Char_R = 14,
- Char_S = 21,
- Char_T = 15,
- Char_U = 31,
- Char_V = 43,
+ Char_R = 15,
+ Char_S = 25,
+ Char_T = 16,
+ Char_U = 33,
+ Char_V = 44,
Char_W = 52,
- Char_X = 44,
+ Char_X = 45,
Char_Y = 53,
Char_Z = 54,
- Char_EOF = 45;
+ Char_EOF = 46;
public final static String orderedTerminalSymbols[] = {
"",
"e",
+ "t",
"l",
"n",
- "t",
- "s",
"i",
+ "s",
+ "a",
+ "r",
+ "o",
+ "d",
+ "c",
"E",
"O",
- "a",
- "o",
"I",
- "c",
- "r",
"R",
"T",
- "d",
+ "u",
"A",
"N",
- "u",
+ "f",
+ "p",
+ "v",
+ "y",
"D",
"S",
- "f",
- "v",
+ "m",
"F",
"L",
+ "g",
"h",
- "p",
- "y",
"C",
"P",
"U",
- "g",
"w",
- "m",
"B",
+ "b",
"j",
"q",
"x",
"H",
"M",
- "b",
+ "k",
"K",
"V",
"X",
"EOF",
"DollarSign",
- "k",
"z",
"G",
"J",
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexer.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexer.java
index 22652df..0aaf7fe 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexer.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexer.java
@@ -20,6 +20,10 @@
import org.eclipse.gmf.internal.xpand.Activator;
import org.eclipse.gmf.internal.xpand.util.ParserException.ErrorLocationInfo;
+import org.eclipse.ocl.Environment;
+import org.eclipse.ocl.lpg.BasicEnvironment;
+import org.eclipse.ocl.util.OCLUtil;
+import org.eclipse.ocl.parser.OCLKWLexer;
public class XpandLexer extends LpgLexStream implements XpandParsersym, XpandLexersym, RuleAction {
private static ParseTable prs = new XpandLexerprs();
@@ -648,71 +652,111 @@
}
//
- // Rule 326: Token ::= QuotedName
+ // Rule 305: Token ::= : =
//
- case 326: {
- makeToken(TK_QUOTE_STRING_LITERAL);
- break;
- }
-
- //
- // Rule 327: Token ::= : =
- //
- case 327: {
+ case 305: {
makeToken(TK_RESET_ASSIGN);
break;
}
//
- // Rule 328: Token ::= + =
+ // Rule 306: Token ::= + =
//
- case 328: {
+ case 306: {
makeToken(TK_ADD_ASSIGN);
break;
}
//
- // Rule 329: Token ::= @
+ // Rule 307: Token ::= @
//
- case 329: {
+ case 307: {
makeToken(TK_AT_SIGN);
break;
}
//
- // Rule 330: Token ::= !
+ // Rule 308: Token ::= !
//
- case 330: {
+ case 308: {
makeToken(TK_EXCLAMATION_MARK);
break;
}
//
- // Rule 331: Token ::= ! =
+ // Rule 309: Token ::= ! =
//
- case 331: {
+ case 309: {
makeToken(TK_NOT_EQUAL_EXEQ);
break;
}
//
- // Rule 335: Token ::= LG
+ // Rule 310: Token ::= < <
//
- case 335: {
+ case 310: {
+ makeToken(TK_STEREOTYPE_QUALIFIER_OPEN);
+ break;
+ }
+
+ //
+ // Rule 311: Token ::= > >
+ //
+ case 311: {
+ makeToken(TK_STEREOTYPE_QUALIFIER_CLOSE);
+ break;
+ }
+
+ //
+ // Rule 312: Token ::= . . .
+ //
+ case 312: {
+ makeToken(TK_MULTIPLICITY_RANGE);
+ break;
+ }
+
+ //
+ // Rule 313: Token ::= ~
+ //
+ case 313: {
+ makeToken(TK_TILDE_SIGN);
+ break;
+ }
+
+ //
+ // Rule 314: Token ::= : : =
+ //
+ case 314: {
+ makeToken(TK_COLONCOLONEQUAL);
+ break;
+ }
+
+ //
+ // Rule 322: Token ::= DoubleQuote SLNotDQOpt DoubleQuote
+ //
+ case 322: {
+ makeToken(TK_STRING_LITERAL);
+ break;
+ }
+
+ //
+ // Rule 325: Token ::= LG
+ //
+ case 325: {
makeToken(TK_LG);
break;
}
//
- // Rule 336: Token ::= RG textAny lgOpt
+ // Rule 326: Token ::= RG textAny lgOpt
//
- case 336: {
+ case 326: {
makeToken(TK_TEXT);
break;
}
//
- // Rule 346: Token ::= R E M RG commentAny lgPlus E N D R E M
+ // Rule 336: Token ::= R E M RG commentAny lgPlus E N D R E M
//
- case 346: {
+ case 336: {
skipToken();
break;
}
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexerprs.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexerprs.java
index 34ba75f..2743755 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexerprs.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexerprs.java
@@ -60,14 +60,13 @@
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
+ 1,2,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,2,2,1,2,
+ 1,1,1,1,1,1,1,2,1,2,
1,2,0,1,3,3,3,3,3,3,
- 3,4,4,3,3,1,2,2,1,1,
- 2,1,1,1,1,3,0,2,1,1,
+ 4,4,3,3,2,2,1,1,2,2,
+ 2,3,1,3,1,1,1,1,1,1,
+ 1,3,0,1,1,3,0,2,1,1,
1,1,1,0,1,12,0,2,3,4,
5,6,7,8,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
@@ -89,71 +88,72 @@
23,23,23,23,23,23,23,23,23,23,
23,23,23,23,23,23,23,23,23,23,
23,23,23,23,23,23,23,23,23,23,
- 23,24,25,25,25,29,29,29,29,30,
- 30,28,28,10,10,48,48,32,17,17,
- 17,5,5,5,5,5,4,4,4,4,
+ 23,25,26,26,26,30,30,30,30,31,
+ 31,29,29,11,11,51,51,33,18,18,
+ 18,5,5,5,5,5,4,4,4,4,
2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,3,3,3,3,
3,3,3,3,3,3,3,3,3,3,
3,3,3,3,3,3,3,3,3,3,
3,3,1,1,1,1,1,1,1,1,
- 1,1,50,50,50,50,50,50,50,50,
- 51,51,51,51,51,51,51,51,51,51,
- 51,51,49,49,52,52,52,18,18,53,
- 53,31,31,15,15,15,15,34,34,34,
- 34,34,34,34,34,34,34,34,34,34,
- 34,34,34,34,34,34,34,34,34,34,
- 34,34,34,34,34,34,34,6,6,6,
+ 1,1,53,53,53,53,53,53,53,53,
+ 54,54,54,54,54,54,54,54,54,54,
+ 54,54,52,52,55,55,55,19,19,56,
+ 56,32,32,16,16,16,16,35,35,35,
+ 35,35,35,35,35,35,35,35,35,35,
+ 35,35,35,35,35,35,35,35,35,35,
+ 35,35,35,35,35,35,35,6,6,6,
6,6,6,6,6,6,6,6,6,6,
6,6,6,6,6,6,6,6,6,6,
- 6,6,6,6,6,6,19,19,19,19,
- 19,19,19,19,19,19,19,19,19,19,
- 19,19,19,19,19,19,19,19,19,19,
- 19,19,19,19,19,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,11,11,11,11,11,
- 11,11,11,11,11,14,14,14,14,33,
- 33,33,33,33,33,33,33,20,20,20,
- 20,20,12,12,12,12,12,8,21,35,
- 35,13,13,16,16,36,26,26,26,26,
- 26,26,26,26,26,27,23,23,23,23,
- 23,23,12,12,12,23,23,37,37,39,
- 39,39,39,39,38,38,23,40,40,40,
- 40,40,40,40,40,42,42,7,7,7,
- 7,7,7,7,7,7,7,22,22,22,
- 22,22,22,43,43,43,43,43,43,44,
- 44,44,44,44,44,45,45,45,45,45,
- 45,46,46,46,46,46,46,9,9,9,
- 9,9,9,9,9,9,9,9,9,9,
- 9,9,9,9,9,9,9,9,41,41,
- 2076,53,66,67,163,161,101,2634,2,1761,
- 454,2710,162,2551,54,667,1355,286,66,67,
- 285,288,287,429,6,7,8,9,646,2386,
- 47,427,462,2362,2641,54,326,1561,303,66,
- 67,302,2708,491,521,306,568,2567,304,311,
- 542,44,521,577,1561,303,66,67,302,43,
- 521,2704,306,2671,54,304,311,542,2682,54,
- 586,1,286,66,67,285,288,287,2285,298,
- 66,67,297,417,534,340,2706,2182,298,66,
- 67,297,1767,303,66,67,302,299,309,301,
- 306,2655,53,304,311,555,299,310,301,336,
- 338,433,436,507,106,358,365,356,2714,360,
- 359,355,1870,303,66,67,302,2693,54,2715,
- 306,2465,53,304,312,1973,303,66,67,302,
- 2383,488,2476,306,2168,2385,304,312,1458,286,
- 66,67,285,288,287,624,348,208,211,358,
- 365,2669,45,360,359,367,1866,368,315,358,
- 365,2384,2711,360,359,373,2460,374,2549,2717,
- 349,419,358,365,2465,53,360,359,379,2728,
- 380,523,358,365,547,2712,360,359,385,1662,
- 386,627,358,365,2709,2545,360,359,367,2548,
- 368,350,1147,358,365,1145,2730,360,359,391,
- 2636,392,683,353,683,351,1664,290,66,67,
- 289,2388,53,66,67,163,352,683,683,683,
- 683,483,683,683,683,683,672,2478,165,66,
- 67,164,2568,165,66,67,164,683,354,52,
- 293,683,683
+ 6,6,6,6,6,6,7,7,7,7,
+ 7,7,7,7,7,7,7,7,7,7,
+ 7,7,7,7,7,7,7,7,7,7,
+ 7,7,7,7,20,20,12,12,36,36,
+ 36,36,8,15,15,15,15,34,34,34,
+ 34,34,34,34,34,37,37,37,37,21,
+ 21,21,21,13,13,13,13,13,24,38,
+ 38,14,14,17,17,27,27,27,27,27,
+ 27,27,27,27,28,23,23,23,23,23,
+ 23,23,23,23,23,13,13,13,21,21,
+ 21,21,23,39,39,23,23,40,40,42,
+ 42,42,42,42,41,41,23,43,43,43,
+ 43,43,43,43,43,45,45,9,9,9,
+ 9,9,9,9,9,9,9,22,22,22,
+ 22,22,22,46,46,46,46,46,46,47,
+ 47,47,47,47,47,48,48,48,48,48,
+ 48,49,49,49,49,49,49,10,10,10,
+ 10,10,10,10,10,10,10,10,10,10,
+ 10,10,10,10,10,10,10,10,44,44,
+ 1862,53,66,67,163,161,1660,284,66,67,
+ 283,431,2809,256,287,2061,565,2716,285,291,
+ 526,2704,54,425,2,6,7,8,9,656,
+ 43,459,518,422,1968,280,66,67,279,44,
+ 459,254,321,2471,2069,284,66,67,283,2732,
+ 53,256,287,2550,281,289,285,291,509,2623,
+ 524,611,2069,284,66,67,283,2743,53,256,
+ 287,2802,499,595,285,291,509,2800,562,612,
+ 1,264,66,67,263,266,265,2743,53,2170,
+ 280,66,67,279,2804,330,254,321,582,2271,
+ 284,66,67,283,102,2718,256,287,2727,281,
+ 290,285,292,162,2754,54,1761,284,66,67,
+ 283,326,328,256,287,2765,54,2551,285,292,
+ 1355,264,66,67,263,266,265,106,348,355,
+ 346,2806,350,349,490,47,345,2372,276,66,
+ 67,275,2776,54,277,2552,165,66,67,164,
+ 415,572,1456,264,66,67,263,266,265,211,
+ 348,355,2787,54,350,349,2813,45,357,358,
+ 519,627,338,262,258,2370,2808,315,348,355,
+ 540,339,350,349,2699,2805,363,364,419,348,
+ 355,206,1860,350,349,2811,2829,369,370,523,
+ 348,355,2831,2832,350,349,1658,2619,375,376,
+ 627,348,355,547,2702,350,349,2448,2815,357,
+ 358,2830,2833,340,1147,348,355,696,696,350,
+ 349,696,343,381,382,341,1557,268,66,67,
+ 267,2473,53,66,67,163,696,342,696,696,
+ 696,696,535,696,696,696,696,678,2631,165,
+ 66,67,164,696,696,696,696,696,696,696,
+ 52,271,696,344,696,696
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -173,7 +173,7 @@
70,71,72,73,74,75,76,77,78,79,
80,81,82,83,84,85,86,87,88,89,
90,91,92,93,94,95,96,97,98,99,
- 0,101,102,103,104,0,1,2,3,4,
+ 100,0,102,103,104,0,1,2,3,4,
5,6,7,8,9,10,11,12,13,14,
15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,
@@ -183,7 +183,7 @@
65,66,67,68,69,70,71,72,73,74,
75,76,77,78,79,80,81,82,83,84,
85,86,87,88,89,90,91,92,93,94,
- 95,96,97,98,99,100,101,0,103,104,
+ 95,96,97,98,99,0,101,102,103,104,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
@@ -194,7 +194,7 @@
70,71,72,73,74,75,76,77,78,79,
80,81,82,83,84,85,86,87,88,89,
90,91,92,93,94,95,96,97,98,99,
- 100,101,105,103,0,1,2,3,4,5,
+ 105,101,102,103,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
@@ -204,7 +204,7 @@
66,67,68,69,70,71,72,73,74,75,
76,77,78,79,80,81,82,83,84,85,
86,87,88,89,90,91,92,93,94,95,
- 96,97,98,99,100,101,0,103,0,1,
+ 96,97,98,99,0,101,102,103,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
@@ -214,8 +214,8 @@
62,63,64,65,66,67,68,69,70,71,
72,73,74,75,76,77,78,79,80,81,
82,83,84,85,86,87,88,89,90,91,
- 92,93,94,95,96,97,98,99,100,101,
- 0,103,0,1,2,3,4,5,6,7,
+ 92,93,94,95,96,97,98,99,0,101,
+ 102,103,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
@@ -225,7 +225,7 @@
68,69,70,71,72,73,74,75,76,77,
78,79,80,81,82,83,84,85,86,87,
88,89,90,91,92,93,94,95,96,97,
- 98,99,100,101,0,103,0,1,2,3,
+ 98,99,0,101,102,103,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
@@ -235,7 +235,7 @@
64,65,66,67,68,69,70,71,72,73,
74,75,76,77,78,79,80,81,82,83,
84,85,86,87,88,89,90,91,92,93,
- 94,95,96,97,98,99,100,101,0,103,
+ 94,95,96,97,98,99,0,101,102,103,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
@@ -246,7 +246,7 @@
70,71,72,73,74,75,76,77,78,79,
80,81,82,83,84,85,86,87,88,89,
90,91,92,93,94,95,96,97,98,99,
- 100,101,0,103,0,1,2,3,4,5,
+ 0,101,102,103,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
@@ -256,7 +256,7 @@
66,67,68,69,70,71,72,73,74,75,
76,77,78,79,80,81,82,83,84,85,
86,87,88,89,90,91,92,93,94,95,
- 96,97,98,99,100,101,0,103,0,1,
+ 96,97,98,99,0,101,102,103,0,1,
2,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
@@ -266,8 +266,8 @@
62,63,64,65,66,67,68,69,70,71,
72,73,74,75,76,77,78,79,80,81,
82,83,84,85,86,87,88,89,90,91,
- 92,93,94,95,96,97,98,99,100,101,
- 0,103,0,1,2,3,4,5,6,7,
+ 92,93,94,95,96,97,98,99,0,101,
+ 102,103,0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
@@ -277,9 +277,9 @@
68,69,70,71,72,73,74,75,76,77,
78,79,80,81,82,83,84,85,86,87,
88,89,90,91,92,93,94,95,96,97,
- 98,99,100,101,0,103,0,1,2,3,
+ 98,99,0,101,102,103,0,1,2,3,
4,5,6,7,8,9,10,11,12,13,
- 14,15,16,19,18,19,20,21,22,23,
+ 14,15,16,0,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,32,33,
34,35,36,37,38,39,40,41,42,43,
44,45,46,47,48,49,50,51,52,53,
@@ -287,7 +287,7 @@
64,65,66,67,68,69,70,71,72,73,
74,75,76,77,78,79,80,81,82,83,
84,85,86,87,88,89,90,91,92,93,
- 94,95,96,97,98,99,100,101,0,103,
+ 94,95,96,97,98,99,0,101,102,103,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,0,18,19,
20,21,22,23,24,25,26,27,28,29,
@@ -298,7 +298,7 @@
70,71,72,73,74,75,76,77,78,79,
80,81,82,83,84,85,86,87,88,89,
90,91,92,93,94,95,96,97,98,99,
- 100,101,0,103,0,1,2,3,4,5,
+ 0,101,102,103,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
@@ -308,17 +308,37 @@
66,67,68,69,70,71,72,73,74,75,
76,77,78,79,80,81,82,83,84,85,
86,87,88,89,90,91,92,93,94,95,
- 96,97,98,99,0,0,102,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,60,61,62,
- 63,64,65,66,67,68,69,70,71,72,
- 73,74,75,76,77,78,79,80,81,82,
- 83,84,85,86,87,88,89,90,91,92,
- 93,94,95,96,97,98,99,0,0,102,
+ 96,97,98,99,100,0,1,2,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
+ 35,36,37,38,39,40,41,42,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,58,59,60,61,62,63,64,
+ 65,66,67,68,69,70,71,72,73,74,
+ 75,76,77,78,79,80,81,82,83,84,
+ 85,86,87,88,89,90,91,92,93,94,
+ 95,96,97,98,99,100,0,1,2,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,56,57,58,59,60,61,62,63,
+ 64,65,66,67,68,69,70,71,72,73,
+ 74,75,76,77,78,79,80,81,82,83,
+ 84,85,86,87,88,89,90,0,0,93,
+ 94,95,96,97,98,99,100,0,102,0,
+ 1,2,3,4,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,30,
+ 31,32,33,34,35,36,37,38,39,40,
+ 41,42,43,44,45,46,47,48,49,50,
+ 51,52,53,54,55,56,57,58,59,60,
+ 61,62,63,64,65,66,67,68,69,70,
+ 71,72,73,74,75,76,77,78,79,80,
+ 81,82,83,84,85,86,87,88,89,90,
+ 91,92,93,94,95,96,97,98,101,100,
0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,
@@ -329,27 +349,37 @@
70,71,72,73,74,75,76,77,78,79,
80,81,82,83,84,85,86,87,88,89,
90,91,92,93,94,95,96,97,98,0,
- 0,0,102,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,62,63,64,65,66,
- 67,68,69,70,71,72,73,74,75,76,
- 77,78,79,80,81,82,83,84,85,86,
- 87,88,89,90,91,92,93,94,95,96,
- 0,100,99,0,101,102,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,41,42,43,
- 44,45,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,60,61,62,63,
- 64,65,66,67,68,69,70,71,72,73,
- 74,75,76,77,78,79,80,81,82,83,
- 84,85,86,87,88,89,90,91,92,93,
- 94,95,96,97,98,0,106,0,102,0,
+ 100,0,1,2,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,30,31,32,33,34,35,36,37,38,
+ 39,40,41,42,43,44,45,46,47,48,
+ 49,50,51,52,53,54,55,56,57,58,
+ 59,60,61,62,63,64,65,66,67,68,
+ 69,70,71,0,73,74,75,76,77,78,
+ 79,80,81,82,83,84,85,86,87,88,
+ 89,90,91,92,93,0,0,0,0,98,
+ 99,100,101,0,105,104,105,0,1,2,
+ 3,4,5,6,7,8,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,25,26,27,28,29,30,31,32,
+ 33,34,35,36,37,38,39,40,41,42,
+ 43,44,45,46,47,48,49,50,51,52,
+ 53,54,55,56,57,58,59,60,61,62,
+ 63,64,65,66,67,68,69,70,71,72,
+ 73,74,75,76,77,78,79,80,81,82,
+ 83,84,85,86,87,88,89,90,91,92,
+ 0,94,95,96,97,98,0,100,0,1,
+ 2,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,56,57,58,59,60,61,
+ 62,63,64,65,66,67,68,69,70,71,
+ 72,73,74,75,76,77,78,79,80,81,
+ 82,83,84,85,86,87,88,89,90,91,
+ 92,93,94,95,96,97,106,101,100,0,
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
@@ -359,92 +389,72 @@
61,62,63,64,65,66,67,68,69,70,
71,72,73,74,75,76,77,78,79,80,
81,82,83,84,85,86,87,88,89,90,
- 91,92,93,94,95,96,97,98,0,0,
- 105,102,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,63,64,65,66,67,
- 68,69,70,71,72,73,74,75,76,77,
- 78,79,80,81,82,83,84,85,86,87,
- 88,89,90,91,92,93,94,95,96,97,
- 98,0,0,0,102,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 65,66,67,68,69,70,71,0,73,74,
- 75,76,77,78,79,80,81,82,83,84,
- 85,86,87,88,89,90,91,0,0,0,
- 0,100,97,98,99,100,0,102,11,104,
- 105,0,1,2,3,4,5,6,7,8,
+ 91,92,0,94,95,96,97,98,0,100,
+ 0,1,2,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,59,
+ 60,61,62,63,64,65,66,67,68,69,
+ 70,71,72,73,74,75,76,77,78,79,
+ 80,81,82,83,84,85,86,87,88,89,
+ 90,91,92,93,94,95,96,97,0,0,
+ 100,0,1,2,3,4,5,6,7,8,
9,10,11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,28,
29,30,31,32,33,34,35,36,37,38,
39,40,41,42,43,44,45,46,47,48,
49,50,51,52,53,54,55,56,57,58,
59,60,61,62,63,64,65,66,67,68,
- 69,70,71,72,73,74,75,76,77,78,
+ 69,70,71,72,73,74,75,0,77,78,
79,80,81,82,83,84,85,86,87,88,
- 89,90,0,92,93,94,95,96,0,0,
- 0,0,0,102,0,1,2,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,41,42,43,44,45,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,58,59,60,61,62,63,64,65,
- 66,67,68,69,70,71,72,73,74,75,
- 76,0,78,79,80,81,82,83,84,85,
- 86,87,88,89,90,14,92,93,94,95,
- 96,0,0,0,0,0,102,0,1,2,
- 3,4,5,6,7,8,9,10,11,15,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,60,61,62,
- 63,64,70,66,67,68,69,70,73,0,
- 77,0,75,76,0,1,2,3,4,5,
- 6,7,8,9,10,0,17,0,1,2,
- 3,4,5,6,7,8,9,10,11,102,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,60,61,62,
- 63,64,67,68,0,0,0,0,0,72,
+ 89,90,93,16,93,94,95,96,97,98,
+ 0,100,0,1,2,3,4,5,6,7,
+ 8,9,10,11,0,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,56,57,
+ 58,59,60,61,62,63,64,65,66,67,
+ 68,69,70,73,0,0,0,75,0,0,
+ 0,0,1,2,3,4,5,6,7,8,
+ 9,10,11,14,13,14,15,16,17,18,
+ 19,0,100,22,23,24,25,26,27,28,
+ 29,30,31,32,33,34,35,36,37,38,
+ 39,40,41,42,43,44,45,46,47,48,
+ 49,50,51,52,53,54,55,56,57,58,
+ 59,60,61,62,63,64,65,66,0,0,
+ 70,0,0,72,0,0,0,0,0,11,
0,1,2,3,4,5,6,7,8,9,
- 10,13,18,16,0,0,0,0,1,2,
- 3,4,5,6,7,8,9,10,11,102,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,60,61,62,
- 63,64,66,0,0,0,0,0,0,72,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,17,13,0,1,2,3,4,5,
- 6,7,8,9,10,0,0,0,0,102,
- 0,1,2,3,4,5,6,7,8,9,
- 10,0,1,2,3,4,5,6,7,8,
+ 10,11,20,13,14,15,16,17,18,19,
+ 0,100,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,59,
+ 60,61,62,63,64,65,66,0,0,0,
+ 0,0,72,0,1,2,3,4,5,6,
+ 7,8,9,10,11,0,13,0,20,18,
+ 0,0,104,20,0,0,0,12,0,12,
+ 100,0,1,2,3,4,5,6,7,8,
9,10,0,1,2,3,4,5,6,7,
- 8,9,10,0,71,0,66,0,0,0,
- 0,0,0,0,0,12,0,12,11,11,
- 13,12,68,69,91,12,12,0,12,0,
- 97,98,99,65,0,0,0,0,0,12,
- 11,0,0,0,0,0,0,0,0,0,
+ 8,9,10,0,1,2,3,4,5,6,
+ 7,8,9,10,0,1,2,3,4,5,
+ 6,7,8,9,10,0,1,2,3,4,
+ 5,6,7,8,9,10,0,1,2,3,
+ 4,5,6,7,8,9,10,71,67,0,
+ 69,0,76,0,0,0,0,0,0,0,
+ 0,12,0,12,0,12,12,91,92,11,
+ 21,13,15,11,21,99,21,17,0,0,
+ 0,0,0,19,0,0,0,0,0,0,
+ 11,13,12,12,0,0,0,0,0,17,
0,17,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,67,0,0,65,65,74,0,0,
+ 0,0,0,0,0,0,0,68,0,0,
+ 0,0,67,0,0,74,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,104,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0
@@ -455,288 +465,294 @@
public interface TermAction {
public final static char termAction[] = {0,
- 344,805,806,807,808,809,810,811,812,813,
- 814,783,906,757,768,770,782,791,792,796,
- 753,754,755,756,758,759,760,761,762,763,
- 764,765,766,767,769,771,772,773,774,775,
- 776,777,778,751,779,780,781,784,785,786,
- 787,788,789,790,793,794,795,797,798,799,
- 800,801,802,803,804,894,903,905,881,880,
- 1024,744,908,891,892,904,1025,884,896,885,
- 886,887,893,897,898,899,900,901,902,882,
- 883,747,889,888,907,890,895,745,746,748,
- 337,1026,752,1022,1028,683,805,806,807,808,
- 809,810,811,812,813,814,783,906,757,768,
- 770,782,791,792,796,753,754,755,756,758,
- 759,760,761,762,763,764,765,766,767,769,
- 771,772,773,774,775,776,777,778,1049,779,
- 780,781,784,785,786,787,788,789,790,793,
- 794,795,797,798,799,800,801,802,803,804,
- 894,903,905,881,880,1045,744,908,891,892,
- 904,1046,884,896,885,886,887,893,897,898,
- 899,900,901,902,882,883,747,889,888,907,
- 890,895,745,746,748,1044,1047,683,1040,578,
- 418,805,806,807,808,809,810,811,812,813,
- 814,2145,906,757,768,770,1053,1055,1052,1054,
- 753,754,755,756,758,759,760,761,762,763,
- 764,765,766,767,769,771,772,773,774,775,
- 776,777,778,1049,1080,1081,1082,1083,1084,1085,
- 1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,
- 1096,1097,1098,1099,1100,894,903,905,881,880,
- 1045,744,908,891,892,904,1046,884,896,885,
- 886,887,893,897,898,899,900,901,902,882,
- 883,747,889,888,907,890,895,745,746,748,
- 1044,1047,688,1040,683,805,806,807,808,809,
- 810,811,812,813,814,1058,906,757,768,770,
- 1059,1061,601,1060,753,754,755,756,758,759,
- 760,761,762,763,764,765,766,767,769,771,
- 772,773,774,775,776,777,778,1049,1080,1081,
- 1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,
- 1092,1093,1094,1095,1096,1097,1098,1099,1100,894,
- 903,905,881,880,1045,744,908,891,892,904,
- 1046,884,896,885,886,887,893,897,898,899,
- 900,901,902,882,883,747,889,888,907,890,
- 895,745,746,748,1044,1047,48,1040,683,805,
- 806,807,808,809,810,811,812,813,814,1064,
- 906,757,768,770,611,1067,1065,1066,753,754,
- 755,756,758,759,760,761,762,763,764,765,
- 766,767,769,771,772,773,774,775,776,777,
- 778,1049,1080,1081,1082,1083,1084,1085,1086,1087,
- 1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,
- 1098,1099,1100,894,903,905,881,880,1045,744,
- 908,891,892,904,1046,884,896,885,886,887,
- 893,897,898,899,900,901,902,882,883,747,
- 889,888,907,890,895,745,746,748,1044,1047,
- 347,1040,683,805,806,807,808,809,810,811,
- 812,813,814,1070,906,757,768,770,1072,1073,
- 1071,621,753,754,755,756,758,759,760,761,
- 762,763,764,765,766,767,769,771,772,773,
- 774,775,776,777,778,1049,1080,1081,1082,1083,
- 1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,
- 1094,1095,1096,1097,1098,1099,1100,894,903,905,
- 881,880,1045,744,908,891,892,904,1046,884,
- 896,885,886,887,893,897,898,899,900,901,
- 902,882,883,747,889,888,907,890,895,745,
- 746,748,1044,1047,683,1040,683,805,806,807,
- 808,809,810,811,812,813,814,632,906,757,
- 768,770,1053,1055,1052,1054,753,754,755,756,
- 758,759,760,761,762,763,764,765,766,767,
- 769,771,772,773,774,775,776,777,778,1049,
- 1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,
- 1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,
- 1100,894,903,905,881,880,1045,744,908,891,
- 892,904,1046,884,896,885,886,887,893,897,
- 898,899,900,901,902,882,883,747,889,888,
- 907,890,895,745,746,748,1044,1047,683,1040,
- 683,588,588,588,588,588,588,588,588,588,
- 588,2353,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,683,588,683,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,1833,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,683,588,683,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,1937,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 683,588,683,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 2041,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,683,588,683,805,806,807,
- 808,809,810,811,812,813,814,1076,906,757,
- 768,770,1078,636,1077,1079,753,754,755,756,
- 758,759,760,761,762,763,764,765,766,767,
- 769,771,772,773,774,775,776,777,778,1049,
- 1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,
- 1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,
- 1100,894,903,905,881,880,1045,744,908,891,
- 892,904,1046,884,896,885,886,887,893,897,
- 898,899,900,901,902,882,883,747,889,888,
- 907,890,895,745,746,748,1044,1047,683,1040,
- 418,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,683,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,588,588,588,588,588,588,588,588,
- 588,588,683,588,683,805,806,807,808,809,
- 810,811,812,813,814,783,906,757,768,770,
- 782,791,792,796,753,754,755,756,758,759,
- 760,761,762,763,764,765,766,767,769,771,
- 772,773,774,775,776,777,778,751,779,780,
- 781,784,785,786,787,788,789,790,793,794,
- 795,797,798,799,800,801,802,803,804,894,
- 903,905,881,880,732,744,908,891,892,904,
- 729,884,896,885,886,887,893,897,898,899,
- 900,901,902,882,883,747,889,888,907,890,
- 895,745,746,748,683,683,752,683,805,806,
- 807,808,809,810,811,812,813,814,783,906,
- 757,768,770,782,791,792,796,753,754,755,
- 756,758,759,760,761,762,763,764,765,766,
- 767,769,771,772,773,774,775,776,777,778,
- 751,779,780,781,784,785,786,787,788,789,
- 790,793,794,795,797,798,799,800,801,802,
- 803,804,894,903,905,881,880,733,744,908,
- 891,892,904,694,884,896,885,886,887,893,
- 897,898,899,900,901,902,882,883,747,889,
- 888,907,890,895,745,746,748,683,683,752,
- 313,805,806,807,808,809,810,811,812,813,
- 814,783,965,757,768,770,782,791,792,796,
- 753,754,755,756,758,759,760,761,762,763,
- 764,765,766,767,769,771,772,773,774,775,
- 776,777,778,751,779,780,781,784,785,786,
- 787,788,789,790,793,794,795,797,798,799,
- 800,801,802,803,804,581,962,964,939,938,
- 943,988,967,950,951,963,940,953,954,944,
- 945,946,952,955,956,958,959,960,961,941,
- 942,1015,948,947,966,949,957,1016,1017,683,
- 683,683,752,10,805,806,807,808,809,810,
- 811,812,813,814,783,877,757,768,770,782,
- 791,792,796,753,754,755,756,758,759,760,
- 761,762,763,764,765,766,767,769,771,772,
- 773,774,775,776,777,778,751,779,780,781,
- 784,785,786,787,788,789,790,793,794,795,
- 797,798,799,800,801,802,803,804,865,874,
- 876,851,850,975,974,879,862,863,875,852,
- 855,867,856,857,858,864,868,869,870,871,
- 872,873,853,854,977,860,859,878,861,866,
- 683,464,978,683,979,752,683,805,806,807,
- 808,809,810,811,812,813,814,783,965,757,
- 768,770,782,791,792,796,753,754,755,756,
- 758,759,760,761,762,763,764,765,766,767,
- 769,771,772,773,774,775,776,777,778,751,
- 779,780,781,784,785,786,787,788,789,790,
- 793,794,795,797,798,799,800,801,802,803,
- 804,592,962,964,939,938,943,988,967,950,
- 951,963,940,953,954,944,945,946,952,955,
- 956,958,959,960,961,941,942,1015,948,947,
- 966,949,957,1016,1017,683,682,683,752,314,
- 805,806,807,808,809,810,811,812,813,814,
- 783,965,757,768,770,782,791,792,796,753,
- 754,755,756,758,759,760,761,762,763,764,
- 765,766,767,769,771,772,773,774,775,776,
- 777,778,751,779,780,781,784,785,786,787,
- 788,789,790,793,794,795,797,798,799,800,
- 801,802,803,804,581,962,964,939,938,943,
- 988,967,950,951,963,940,953,954,944,945,
- 946,952,955,956,958,959,960,961,941,942,
- 1015,948,947,966,949,957,1016,1017,683,683,
- 687,752,683,805,806,807,808,809,810,811,
- 812,813,814,783,965,757,768,770,782,791,
- 792,796,753,754,755,756,758,759,760,761,
- 762,763,764,765,766,767,769,771,772,773,
- 774,775,776,777,778,751,779,780,781,784,
- 785,786,787,788,789,790,793,794,795,797,
- 798,799,800,801,802,803,804,615,962,964,
- 939,938,943,988,967,950,951,963,940,953,
- 954,944,945,946,952,955,956,958,959,960,
- 961,941,942,1015,948,947,966,949,957,1016,
- 1017,113,683,683,752,683,805,806,807,808,
- 809,810,811,812,813,814,783,704,757,768,
- 770,782,791,792,564,753,754,755,756,758,
- 759,760,761,762,763,764,765,766,767,769,
- 771,772,773,774,775,776,777,778,751,779,
- 780,781,784,785,786,787,788,789,790,793,
- 794,795,797,798,799,800,801,802,803,804,
- 512,467,538,562,549,698,744,683,449,481,
- 506,560,498,713,431,453,457,717,710,711,
- 708,709,723,714,700,701,747,113,683,683,
- 683,596,745,746,748,426,683,752,3837,1018,
- 474,683,805,806,807,808,809,810,811,812,
- 813,814,783,935,757,768,770,782,791,792,
- 796,753,754,755,756,758,759,760,761,762,
- 763,764,765,766,767,769,771,772,773,774,
- 775,776,777,778,751,779,780,781,784,785,
- 786,787,788,789,790,793,794,795,797,798,
- 799,800,801,802,803,804,924,932,934,910,
- 909,914,983,937,921,922,933,911,998,925,
- 915,916,917,923,926,927,928,929,930,931,
- 912,913,683,919,918,936,920,591,683,683,
- 683,683,683,752,683,805,806,807,808,809,
- 810,811,812,813,814,783,935,757,768,770,
- 782,791,792,796,753,754,755,756,758,759,
- 760,761,762,763,764,765,766,767,769,771,
- 772,773,774,775,776,777,778,751,779,780,
- 781,784,785,786,787,788,789,790,793,794,
- 795,797,798,799,800,801,802,803,804,924,
- 932,934,910,909,914,983,937,921,922,933,
- 911,329,925,915,916,917,923,926,927,928,
- 929,930,931,912,913,565,919,918,936,920,
- 591,683,16,683,683,38,752,683,805,806,
- 807,808,809,810,811,812,813,814,783,598,
- 757,768,770,782,791,792,796,753,754,755,
- 756,758,759,760,761,762,763,764,765,766,
- 767,769,771,772,773,774,775,776,777,778,
- 751,779,780,781,784,785,786,787,788,789,
- 790,793,794,795,797,798,799,800,801,802,
- 803,804,503,1008,599,1001,1000,1002,722,683,
- 991,683,609,1003,683,805,806,807,808,809,
- 810,811,812,813,814,14,619,1,805,806,
- 807,808,809,810,811,812,813,814,783,752,
- 757,768,770,782,791,792,796,753,754,755,
- 756,758,759,760,761,762,763,764,765,766,
- 767,769,771,772,773,774,775,776,777,778,
- 751,779,780,781,784,785,786,787,788,789,
- 790,793,794,795,797,798,799,800,801,802,
- 803,804,712,734,683,683,683,683,683,849,
- 58,805,806,807,808,809,810,811,812,813,
- 814,720,629,635,683,683,35,316,805,806,
- 807,808,809,810,811,812,813,814,783,752,
- 757,768,770,782,791,792,796,753,754,755,
- 756,758,759,760,761,762,763,764,765,766,
- 767,769,771,772,773,774,775,776,777,778,
- 751,779,780,781,784,785,786,787,788,789,
- 790,793,794,795,797,798,799,800,801,802,
- 803,804,719,12,683,683,683,683,683,849,
- 41,805,806,807,808,809,810,811,812,813,
- 814,840,1029,841,683,805,806,807,808,809,
- 810,811,812,813,814,683,683,683,683,752,
- 57,805,806,807,808,809,810,811,812,813,
- 814,60,805,806,807,808,809,810,811,812,
- 813,814,59,805,806,807,808,809,810,811,
- 812,813,814,32,744,20,651,42,683,330,
- 307,3,683,19,13,1010,324,706,840,625,
- 841,1014,604,551,747,705,1011,321,1006,683,
- 745,746,748,990,113,683,683,683,683,1005,
- 640,683,683,683,683,683,683,683,683,683,
- 683,3174,683,683,683,683,683,683,683,683,
- 683,683,683,683,683,683,683,683,683,683,
- 683,683,707,683,683,990,990,716,683,683,
- 683,683,683,683,683,683,683,683,683,683,
- 683,683,683,683,683,683,683,683,683,683,
- 683,683,683,683,683,683,683,683,683,683,
- 683,683,1102
+ 334,818,819,820,821,822,823,824,825,826,
+ 827,796,919,770,781,783,795,804,805,809,
+ 916,918,766,767,768,769,771,772,773,774,
+ 775,776,777,778,779,780,782,784,785,786,
+ 787,788,789,790,791,764,792,793,794,797,
+ 798,799,800,801,802,803,806,807,808,810,
+ 811,812,813,814,815,816,817,894,917,893,
+ 1027,757,921,904,905,1028,760,909,898,899,
+ 900,901,906,910,911,912,913,914,915,895,
+ 896,758,759,897,902,920,903,908,907,761,
+ 765,327,1029,1025,1031,696,818,819,820,821,
+ 822,823,824,825,826,827,796,919,770,781,
+ 783,795,804,805,809,916,918,766,767,768,
+ 769,771,772,773,774,775,776,777,778,779,
+ 780,782,784,785,786,787,788,789,790,791,
+ 1052,792,793,794,797,798,799,800,801,802,
+ 803,806,807,808,810,811,812,813,814,815,
+ 816,817,894,917,893,1048,757,921,904,905,
+ 1049,760,909,898,899,900,901,906,910,911,
+ 912,913,914,915,895,896,758,759,897,902,
+ 920,903,908,907,761,696,1047,1050,1043,579,
+ 408,818,819,820,821,822,823,824,825,826,
+ 827,2148,919,770,781,783,1056,1058,1055,1057,
+ 916,918,766,767,768,769,771,772,773,774,
+ 775,776,777,778,779,780,782,784,785,786,
+ 787,788,789,790,791,1052,1083,1084,1085,1086,
+ 1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,
+ 1097,1098,1099,1100,1101,1102,1103,894,917,893,
+ 1048,757,921,904,905,1049,760,909,898,899,
+ 900,901,906,910,911,912,913,914,915,895,
+ 896,758,759,897,902,920,903,908,907,761,
+ 701,1047,1050,1043,696,818,819,820,821,822,
+ 823,824,825,826,827,1061,919,770,781,783,
+ 1062,1064,608,1063,916,918,766,767,768,769,
+ 771,772,773,774,775,776,777,778,779,780,
+ 782,784,785,786,787,788,789,790,791,1052,
+ 1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,
+ 1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,
+ 1103,894,917,893,1048,757,921,904,905,1049,
+ 760,909,898,899,900,901,906,910,911,912,
+ 913,914,915,895,896,758,759,897,902,920,
+ 903,908,907,761,48,1047,1050,1043,696,818,
+ 819,820,821,822,823,824,825,826,827,1067,
+ 919,770,781,783,619,1070,1068,1069,916,918,
+ 766,767,768,769,771,772,773,774,775,776,
+ 777,778,779,780,782,784,785,786,787,788,
+ 789,790,791,1052,1083,1084,1085,1086,1087,1088,
+ 1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,
+ 1099,1100,1101,1102,1103,894,917,893,1048,757,
+ 921,904,905,1049,760,909,898,899,900,901,
+ 906,910,911,912,913,914,915,895,896,758,
+ 759,897,902,920,903,908,907,761,337,1047,
+ 1050,1043,696,818,819,820,821,822,823,824,
+ 825,826,827,1073,919,770,781,783,1075,1076,
+ 1074,630,916,918,766,767,768,769,771,772,
+ 773,774,775,776,777,778,779,780,782,784,
+ 785,786,787,788,789,790,791,1052,1083,1084,
+ 1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,
+ 1095,1096,1097,1098,1099,1100,1101,1102,1103,894,
+ 917,893,1048,757,921,904,905,1049,760,909,
+ 898,899,900,901,906,910,911,912,913,914,
+ 915,895,896,758,759,897,902,920,903,908,
+ 907,761,696,1047,1050,1043,696,818,819,820,
+ 821,822,823,824,825,826,827,644,919,770,
+ 781,783,1056,1058,1055,1057,916,918,766,767,
+ 768,769,771,772,773,774,775,776,777,778,
+ 779,780,782,784,785,786,787,788,789,790,
+ 791,1052,1083,1084,1085,1086,1087,1088,1089,1090,
+ 1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,
+ 1101,1102,1103,894,917,893,1048,757,921,904,
+ 905,1049,760,909,898,899,900,901,906,910,
+ 911,912,913,914,915,895,896,758,759,897,
+ 902,920,903,908,907,761,696,1047,1050,1043,
+ 696,597,597,597,597,597,597,597,597,597,
+ 597,2356,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 696,597,597,597,696,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,1836,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,696,597,597,597,696,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,1940,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,696,597,
+ 597,597,696,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 2044,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,696,597,597,597,696,818,819,820,
+ 821,822,823,824,825,826,827,1079,919,770,
+ 781,783,1081,696,1080,1082,916,918,766,767,
+ 768,769,771,772,773,774,775,776,777,778,
+ 779,780,782,784,785,786,787,788,789,790,
+ 791,1052,1083,1084,1085,1086,1087,1088,1089,1090,
+ 1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,
+ 1101,1102,1103,894,917,893,1048,757,921,904,
+ 905,1049,760,909,898,899,900,901,906,910,
+ 911,912,913,914,915,895,896,758,759,897,
+ 902,920,903,908,907,761,696,1047,1050,1043,
+ 408,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,696,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 597,597,597,597,597,597,597,597,597,597,
+ 696,597,597,597,696,818,819,820,821,822,
+ 823,824,825,826,827,796,919,770,781,783,
+ 795,804,805,809,916,918,766,767,768,769,
+ 771,772,773,774,775,776,777,778,779,780,
+ 782,784,785,786,787,788,789,790,791,764,
+ 792,793,794,797,798,799,800,801,802,803,
+ 806,807,808,810,811,812,813,814,815,816,
+ 817,894,917,893,745,757,921,904,905,742,
+ 760,909,898,899,900,901,906,910,911,912,
+ 913,914,915,895,896,758,759,897,902,920,
+ 903,908,907,761,765,696,818,819,820,821,
+ 822,823,824,825,826,827,796,919,770,781,
+ 783,795,804,805,809,916,918,766,767,768,
+ 769,771,772,773,774,775,776,777,778,779,
+ 780,782,784,785,786,787,788,789,790,791,
+ 764,792,793,794,797,798,799,800,801,802,
+ 803,806,807,808,810,811,812,813,814,815,
+ 816,817,894,917,893,746,757,921,904,905,
+ 707,760,909,898,899,900,901,906,910,911,
+ 912,913,914,915,895,896,758,759,897,902,
+ 920,903,908,907,761,765,10,818,819,820,
+ 821,822,823,824,825,826,827,796,890,770,
+ 781,783,795,804,805,809,887,889,766,767,
+ 768,769,771,772,773,774,775,776,777,778,
+ 779,780,782,784,785,786,787,788,789,790,
+ 791,764,792,793,794,797,798,799,800,801,
+ 802,803,806,807,808,810,811,812,813,814,
+ 815,816,817,864,888,863,966,965,892,875,
+ 876,865,968,880,869,870,871,872,877,881,
+ 882,883,884,885,886,866,867,696,696,868,
+ 873,891,874,879,878,969,765,696,970,696,
+ 818,819,820,821,822,823,824,825,826,827,
+ 796,947,770,781,783,795,804,805,809,944,
+ 946,766,767,768,769,771,772,773,774,775,
+ 776,777,778,779,780,782,784,785,786,787,
+ 788,789,790,791,764,792,793,794,797,798,
+ 799,800,801,802,803,806,807,808,810,811,
+ 812,813,814,815,816,817,923,945,922,927,
+ 982,949,934,935,924,1011,937,928,929,930,
+ 931,936,938,939,940,941,942,943,925,926,
+ 1012,1013,953,932,948,933,557,984,590,765,
+ 696,818,819,820,821,822,823,824,825,826,
+ 827,796,947,770,781,783,795,804,805,809,
+ 944,946,766,767,768,769,771,772,773,774,
+ 775,776,777,778,779,780,782,784,785,786,
+ 787,788,789,790,791,764,792,793,794,797,
+ 798,799,800,801,802,803,806,807,808,810,
+ 811,812,813,814,815,816,817,923,945,922,
+ 927,982,949,934,935,924,1011,937,928,929,
+ 930,931,936,938,939,940,941,942,943,925,
+ 926,1012,1013,953,932,948,933,557,699,696,
+ 765,696,818,819,820,821,822,823,824,825,
+ 826,827,796,717,770,781,783,795,804,805,
+ 586,469,504,766,767,768,769,771,772,773,
+ 774,775,776,777,778,779,780,782,784,785,
+ 786,787,788,789,790,791,764,792,793,794,
+ 797,798,799,800,801,802,803,806,807,808,
+ 810,811,812,813,814,815,816,817,551,487,
+ 515,711,757,696,453,481,537,760,726,427,
+ 463,454,1009,730,723,724,721,722,736,727,
+ 713,714,758,759,444,696,696,696,696,416,
+ 761,765,514,696,700,1021,472,323,818,819,
+ 820,821,822,823,824,825,826,827,796,947,
+ 770,781,783,795,804,805,809,944,946,766,
+ 767,768,769,771,772,773,774,775,776,777,
+ 778,779,780,782,784,785,786,787,788,789,
+ 790,791,764,792,793,794,797,798,799,800,
+ 801,802,803,806,807,808,810,811,812,813,
+ 814,815,816,817,923,945,922,927,978,949,
+ 934,935,924,1014,937,928,929,930,931,936,
+ 938,939,940,941,942,943,925,926,1015,1016,
+ 696,932,948,933,557,951,113,765,293,818,
+ 819,820,821,822,823,824,825,826,827,796,
+ 947,770,781,783,795,804,805,809,944,946,
+ 766,767,768,769,771,772,773,774,775,776,
+ 777,778,779,780,782,784,785,786,787,788,
+ 789,790,791,764,792,793,794,797,798,799,
+ 800,801,802,803,806,807,808,810,811,812,
+ 813,814,815,816,817,923,945,922,927,982,
+ 949,934,935,924,1011,937,928,929,930,931,
+ 936,938,939,940,941,942,943,925,926,1012,
+ 1013,953,932,948,933,557,695,615,765,324,
+ 818,819,820,821,822,823,824,825,826,827,
+ 796,947,770,781,783,795,804,805,809,944,
+ 946,766,767,768,769,771,772,773,774,775,
+ 776,777,778,779,780,782,784,785,786,787,
+ 788,789,790,791,764,792,793,794,797,798,
+ 799,800,801,802,803,806,807,808,810,811,
+ 812,813,814,815,816,817,923,945,922,927,
+ 978,949,934,935,924,1014,937,928,929,930,
+ 931,936,938,939,940,941,942,943,925,926,
+ 1015,1016,696,932,948,933,557,951,696,765,
+ 294,818,819,820,821,822,823,824,825,826,
+ 827,796,947,770,781,783,795,804,805,809,
+ 944,946,766,767,768,769,771,772,773,774,
+ 775,776,777,778,779,780,782,784,785,786,
+ 787,788,789,790,791,764,792,793,794,797,
+ 798,799,800,801,802,803,806,807,808,810,
+ 811,812,813,814,815,816,817,923,945,922,
+ 927,982,949,934,935,924,1011,937,928,929,
+ 930,931,936,938,939,940,941,942,943,925,
+ 926,1012,1013,953,932,948,933,557,696,696,
+ 765,696,818,819,820,821,822,823,824,825,
+ 826,827,796,947,770,781,783,795,804,805,
+ 809,944,946,766,767,768,769,771,772,773,
+ 774,775,776,777,778,779,780,782,784,785,
+ 786,787,788,789,790,791,764,792,793,794,
+ 797,798,799,800,801,802,803,806,807,808,
+ 810,811,812,813,814,815,816,817,923,945,
+ 922,927,974,949,934,935,924,696,937,928,
+ 929,930,931,936,938,939,940,941,942,943,
+ 925,926,1018,638,955,932,948,933,957,956,
+ 38,765,696,818,819,820,821,822,823,824,
+ 825,826,827,796,696,770,781,783,795,804,
+ 805,809,1000,622,766,767,768,769,771,772,
+ 773,774,775,776,777,778,779,780,782,784,
+ 785,786,787,788,789,790,791,764,792,793,
+ 794,797,798,799,800,801,802,803,806,807,
+ 808,810,811,812,813,814,815,816,817,993,
+ 623,992,994,735,696,696,696,995,696,307,
+ 16,1,818,819,820,821,822,823,824,825,
+ 826,827,796,596,770,781,783,795,804,805,
+ 809,696,765,766,767,768,769,771,772,773,
+ 774,775,776,777,778,779,780,782,784,785,
+ 786,787,788,789,790,791,764,792,793,794,
+ 797,798,799,800,801,802,803,806,807,808,
+ 810,811,812,813,814,815,816,817,696,696,
+ 570,696,35,862,696,696,696,696,696,634,
+ 295,818,819,820,821,822,823,824,825,826,
+ 827,796,604,770,781,783,795,804,805,809,
+ 696,765,766,767,768,769,771,772,773,774,
+ 775,776,777,778,779,780,782,784,785,786,
+ 787,788,789,790,791,764,792,793,794,797,
+ 798,799,800,801,802,803,806,807,808,810,
+ 811,812,813,814,815,816,817,696,36,696,
+ 696,696,862,41,818,819,820,821,822,823,
+ 824,825,826,827,853,308,854,13,1008,637,
+ 696,696,1105,661,696,696,12,1005,696,1002,
+ 765,696,818,819,820,821,822,823,824,825,
+ 826,827,696,818,819,820,821,822,823,824,
+ 825,826,827,58,818,819,820,821,822,823,
+ 824,825,826,827,57,818,819,820,821,822,
+ 823,824,825,826,827,60,818,819,820,821,
+ 822,823,824,825,826,827,59,818,819,820,
+ 821,822,823,824,825,826,827,757,497,20,
+ 477,32,760,19,33,14,696,696,42,696,
+ 696,719,113,1001,696,718,1010,758,759,853,
+ 720,854,616,3940,1007,761,725,626,696,696,
+ 303,300,696,641,113,696,696,696,696,696,
+ 642,733,998,997,696,696,696,696,696,1032,
+ 696,3172,696,696,696,696,696,696,696,696,
+ 696,696,696,696,696,696,696,1006,696,696,
+ 696,696,747,696,696,605
};
};
public final static char termAction[] = TermAction.termAction;
@@ -764,18 +780,18 @@
public final static int
NUM_STATES = 65,
NT_OFFSET = 106,
- LA_STATE_OFFSET = 1102,
+ LA_STATE_OFFSET = 1105,
MAX_LA = 6,
- NUM_RULES = 419,
- NUM_NONTERMINALS = 53,
- NUM_SYMBOLS = 159,
+ NUM_RULES = 409,
+ NUM_NONTERMINALS = 56,
+ NUM_SYMBOLS = 162,
SEGMENT_SIZE = 8192,
- START_STATE = 420,
+ START_STATE = 410,
IDENTIFIER_SYMBOL = 0,
EOFT_SYMBOL = 106,
EOLT_SYMBOL = 107,
- ACCEPT_ACTION = 682,
- ERROR_ACTION = 683;
+ ACCEPT_ACTION = 695,
+ ERROR_ACTION = 696;
public final static boolean BACKTRACK = false;
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexersym.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexersym.java
index 416b23a..8a4006d 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexersym.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandLexersym.java
@@ -14,64 +14,64 @@
public interface XpandLexersym {
public final static int
- Char_CtlCharNotWS = 101,
- Char_LF = 97,
- Char_CR = 98,
- Char_HT = 91,
+ Char_CtlCharNotWS = 102,
+ Char_LF = 91,
+ Char_CR = 92,
+ Char_HT = 76,
Char_FF = 99,
- Char_a = 20,
- Char_b = 21,
- Char_c = 22,
- Char_d = 23,
+ Char_a = 22,
+ Char_b = 23,
+ Char_c = 24,
+ Char_d = 25,
Char_e = 13,
- Char_f = 24,
- Char_g = 25,
- Char_h = 26,
- Char_i = 27,
- Char_j = 28,
- Char_k = 29,
- Char_l = 30,
- Char_m = 31,
- Char_n = 32,
- Char_o = 33,
+ Char_f = 26,
+ Char_g = 27,
+ Char_h = 28,
+ Char_i = 29,
+ Char_j = 30,
+ Char_k = 31,
+ Char_l = 32,
+ Char_m = 33,
+ Char_n = 34,
+ Char_o = 35,
Char_p = 14,
- Char_q = 34,
+ Char_q = 36,
Char_r = 15,
- Char_s = 35,
- Char_t = 36,
- Char_u = 37,
- Char_v = 38,
- Char_w = 39,
- Char_x = 40,
- Char_y = 41,
- Char_z = 42,
- Char__ = 43,
- Char_A = 44,
- Char_B = 45,
- Char_C = 46,
+ Char_s = 37,
+ Char_t = 38,
+ Char_u = 39,
+ Char_v = 40,
+ Char_w = 41,
+ Char_x = 42,
+ Char_y = 43,
+ Char_z = 44,
+ Char__ = 45,
+ Char_A = 46,
+ Char_B = 47,
+ Char_C = 48,
Char_D = 16,
Char_E = 11,
- Char_F = 47,
- Char_G = 48,
- Char_H = 49,
- Char_I = 50,
- Char_J = 51,
- Char_K = 52,
- Char_L = 53,
+ Char_F = 49,
+ Char_G = 50,
+ Char_H = 51,
+ Char_I = 52,
+ Char_J = 53,
+ Char_K = 54,
+ Char_L = 55,
Char_M = 17,
Char_N = 18,
- Char_O = 54,
- Char_P = 55,
- Char_Q = 56,
+ Char_O = 56,
+ Char_P = 57,
+ Char_Q = 58,
Char_R = 19,
- Char_S = 57,
- Char_T = 58,
- Char_U = 59,
- Char_V = 60,
- Char_W = 61,
- Char_X = 62,
- Char_Y = 63,
- Char_Z = 64,
+ Char_S = 59,
+ Char_T = 60,
+ Char_U = 61,
+ Char_V = 62,
+ Char_W = 63,
+ Char_X = 64,
+ Char_Y = 65,
+ Char_Z = 66,
Char_0 = 1,
Char_1 = 2,
Char_2 = 3,
@@ -82,42 +82,42 @@
Char_7 = 8,
Char_8 = 9,
Char_9 = 10,
- Char_AfterASCIINotAcute = 102,
+ Char_AfterASCIINotAcute = 100,
Char_Space = 71,
- Char_DoubleQuote = 77,
- Char_SingleQuote = 65,
- Char_Percent = 92,
- Char_VerticalBar = 78,
- Char_Exclamation = 79,
- Char_AtSign = 80,
- Char_BackQuote = 81,
+ Char_DoubleQuote = 93,
+ Char_SingleQuote = 98,
+ Char_Percent = 94,
+ Char_VerticalBar = 77,
+ Char_Exclamation = 78,
+ Char_AtSign = 79,
+ Char_BackQuote = 80,
Char_Acute = 105,
- Char_Tilde = 93,
- Char_Sharp = 94,
+ Char_Tilde = 81,
+ Char_Sharp = 95,
Char_DollarSign = 72,
- Char_Ampersand = 95,
+ Char_Ampersand = 96,
Char_Caret = 73,
Char_Colon = 74,
Char_SemiColon = 82,
- Char_BackSlash = 96,
+ Char_BackSlash = 97,
Char_LeftBrace = 83,
Char_RightBrace = 84,
Char_LeftBracket = 85,
Char_RightBracket = 86,
Char_QuestionMark = 87,
Char_Comma = 88,
- Char_Dot = 66,
- Char_LessThan = 75,
- Char_GreaterThan = 67,
+ Char_Dot = 20,
+ Char_LessThan = 68,
+ Char_GreaterThan = 21,
Char_Plus = 69,
- Char_Minus = 68,
- Char_Slash = 76,
+ Char_Minus = 67,
+ Char_Slash = 75,
Char_Star = 70,
Char_LeftParen = 89,
Char_RightParen = 90,
Char_Equal = 12,
Char_LG = 104,
- Char_RG = 100,
+ Char_RG = 101,
Char_AfterASCII = 103,
Char_EOF = 106;
@@ -142,6 +142,8 @@
"M",
"N",
"R",
+ "Dot",
+ "GreaterThan",
"a",
"b",
"c",
@@ -187,23 +189,21 @@
"X",
"Y",
"Z",
- "SingleQuote",
- "Dot",
- "GreaterThan",
"Minus",
+ "LessThan",
"Plus",
"Star",
"Space",
"DollarSign",
"Caret",
"Colon",
- "LessThan",
"Slash",
- "DoubleQuote",
+ "HT",
"VerticalBar",
"Exclamation",
"AtSign",
"BackQuote",
+ "Tilde",
"SemiColon",
"LeftBrace",
"RightBrace",
@@ -213,18 +213,18 @@
"Comma",
"LeftParen",
"RightParen",
- "HT",
+ "LF",
+ "CR",
+ "DoubleQuote",
"Percent",
- "Tilde",
"Sharp",
"Ampersand",
"BackSlash",
- "LF",
- "CR",
+ "SingleQuote",
"FF",
+ "AfterASCIINotAcute",
"RG",
"CtlCharNotWS",
- "AfterASCIINotAcute",
"AfterASCII",
"LG",
"Acute",
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParser.g b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParser.g
index 3c5e2b5..f7950a3 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParser.g
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParser.g
@@ -25,8 +25,16 @@
import org.eclipse.gmf.internal.xpand.ast.*;
import org.eclipse.ocl.cst.*;
import org.eclipse.m2m.internal.qvt.oml.cst.ImperativeIterateExpCS;
- import org.eclipse.m2m.internal.qvt.oml.cst.NewRuleCallExpCS;
import java.util.Collections;
+
+ /* [++] added imports */
+ import org.eclipse.m2m.internal.qvt.oml.cst.SimpleSignatureCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.ParameterDeclarationCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.DirectionKindEnum;
+ import org.eclipse.m2m.internal.qvt.oml.cst.DirectionKindCS;
+ import org.eclipse.m2m.internal.qvt.oml.cst.TypeSpecCS;
+ /* [--] added imports */
+
./
$End
@@ -48,24 +56,19 @@
oclExpCS -> whileExpCS
oclExpCS -> legacyWhileExpCS
oclExpCS -> computeExpCS
+ oclExpCS -> newExpCS
loopExpCS -> iterateSwitchExpCS
loopExpCS -> forExpCS
ifExpBodyCS -> expression_block
+ oclExpressionCS -> assignStatementCS
+ oclExpressionCS ::= primaryOCLExpressionCS
+ oclExpressionCS -> returnExpCS
+ oclExpressionCS -> var_init_exp
$DropSymbols
- statementCS
- variableInitializationCS
- variableInitializationCSCorrect
- assignStatementCS
- primaryOCLExpressionCS
- complianceKindCSOpt
- returnExpCS
logExpCS logWhenExp logWhenExpOpt
assertExpCS assertWithLogExp assertWithLogExpOpt severityKindCS severityKindCSOpt
oclExpressionCSOpt
- statementListOpt
- statementList
- statementInnerList
expressionStatementCS
expression_block
switchExpCS
@@ -84,6 +87,25 @@
forOpCode
forExpDeclaratorList
forExpConditionOpt
+ --
+ assignStatementCS
+ primaryOCLExpressionCS
+ returnExpCS
+ var_init_group_exp
+ var_init_exp
+ expression_list
+ expression_listOpt
+ expression_semi_list
+ expression_semi_list_element
+ var_init_declarator_list
+ var_init_declarator
+ var_init_op
+ newExpCS
+ expression_statement
+ _import
+ transformation_h
+ unit_element
+ renaming
$End
-- FIXME need to fix $Notice section from EssentialOCL.g
@@ -204,7 +226,7 @@
setResult(res);
$EndJava./
- anImport ::= "IMPORT" qvtStringLiteralExpCS TEXT commentTextPairAny
+ anImport ::= "IMPORT" stringLiteralExpCS TEXT commentTextPairAny
/.$BeginJava
setResult(xpandFactory.createNamespaceImport(getLeftIToken(), (StringLiteralExpCS) getRhsSym(2)));
$EndJava./
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParser.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParser.java
index 9a8ace8..df703f6 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParser.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParser.java
@@ -29,6 +29,7 @@
import lpg.lpgjavaruntime.NotDeterministicParseTableException;
import lpg.lpgjavaruntime.NullExportedSymbolsException;
import lpg.lpgjavaruntime.NullTerminalSymbolsException;
+import lpg.lpgjavaruntime.ParseErrorCodes;
import lpg.lpgjavaruntime.ParseTable;
import lpg.lpgjavaruntime.PrsStream;
import lpg.lpgjavaruntime.RuleAction;
@@ -45,9 +46,27 @@
import org.eclipse.gmf.internal.xpand.ast.Template;
import org.eclipse.gmf.internal.xpand.expression.ast.Identifier;
import org.eclipse.gmf.internal.xpand.util.ParserException.ErrorLocationInfo;
+import org.eclipse.m2m.internal.qvt.oml.cst.CompleteSignatureCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.DictLiteralExpCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.DictLiteralPartCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.DictionaryTypeCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.DirectionKindCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.DirectionKindEnum;
+import org.eclipse.m2m.internal.qvt.oml.cst.ExpressionStatementCS;
import org.eclipse.m2m.internal.qvt.oml.cst.ImperativeIterateExpCS;
import org.eclipse.m2m.internal.qvt.oml.cst.InstantiationExpCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.LibraryImportCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.ListTypeCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.ModuleUsageCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.ParameterDeclarationCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.RenameCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.SimpleSignatureCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.StatementCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.TransformationHeaderCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.TransformationRefineCS;
import org.eclipse.m2m.internal.qvt.oml.cst.TypeSpecCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.VariableInitializationCS;
+import org.eclipse.m2m.internal.qvt.oml.cst.temp.ScopedNameCS;
import org.eclipse.m2m.internal.qvt.oml.cst.temp.TempFactory;
import org.eclipse.ocl.cst.BooleanLiteralExpCS;
import org.eclipse.ocl.cst.CSTFactory;
@@ -68,6 +87,7 @@
import org.eclipse.ocl.cst.IterateExpCS;
import org.eclipse.ocl.cst.IteratorExpCS;
import org.eclipse.ocl.cst.LetExpCS;
+import org.eclipse.ocl.cst.LiteralExpCS;
import org.eclipse.ocl.cst.MessageExpCS;
import org.eclipse.ocl.cst.MessageExpKind;
import org.eclipse.ocl.cst.NullLiteralExpCS;
@@ -300,15 +320,49 @@
return result;
}
-private InstantiationExpCS createNewRuleCallExpCS(PathNameCS pathNameCS, List<OCLExpressionCS> arguments) {
- InstantiationExpCS call = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createInstantiationExpCS();
- call.setTypeSpecCS(createTypeSpecCS(pathNameCS, null)); //call.setScopedIdentifier(pathNameCS);
- call.getArguments().addAll(arguments);
- return call;
+protected final CSTNode createCompleteSignatureCS(SimpleSignatureCS simpleSignatureCS, EList<ParameterDeclarationCS> resultList) {
+ CompleteSignatureCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createCompleteSignatureCS();
+ result.setSimpleSignature(simpleSignatureCS);
+ result.getResultParams().addAll(resultList);
+ return result;
}
-// FIXME this method is only temp solution until we regenerate with new ImperativeOCL.g
-private final TypeSpecCS createTypeSpecCS(TypeCS typeCS, IToken extentLocation) {
+protected final SimpleSignatureCS createSimpleSignatureCS(EList<ParameterDeclarationCS> paramsCS) {
+ SimpleSignatureCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createSimpleSignatureCS();
+ result.getParams().addAll(paramsCS);
+ return result;
+}
+
+protected final ParameterDeclarationCS createParameterDeclarationCS(DirectionKindCS sym, IToken tokenText, TypeSpecCS typeSpecCS) {
+ ParameterDeclarationCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createParameterDeclarationCS();
+ SimpleNameCS nameCS = null;
+ if (tokenText != null) {
+ nameCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, tokenText.toString());
+ setOffsets(nameCS, tokenText);
+ } else {
+ //nameCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, ""); //$NON-NLS-1$
+ }
+ result.setSimpleNameCS(nameCS);
+ result.setTypeSpecCS(typeSpecCS);
+ if (sym != null) {
+ result.setDirectionKind(sym.getDirectionKind());
+ }
+ return result;
+}
+
+protected final CSTNode createLibraryImportCS(PathNameCS sym) {
+ LibraryImportCS imp = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createLibraryImportCS();
+ imp.setPathNameCS(sym);
+ return imp;
+}
+
+protected final CSTNode createDirectionKindCS(DirectionKindEnum kind) {
+ DirectionKindCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createDirectionKindCS();
+ result.setDirectionKind(kind);
+ return result;
+}
+
+protected final TypeSpecCS createTypeSpecCS(TypeCS typeCS, IToken extentLocation) {
TypeSpecCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createTypeSpecCS();
result.setTypeCS(typeCS);
setOffsets(result, typeCS);
@@ -321,6 +375,114 @@
return result;
}
+private final ScopedNameCS createScopedNameCS(TypeCS typeCS, String name) {
+ ScopedNameCS result = TempFactory.eINSTANCE.createScopedNameCS();
+ result.setTypeCS(typeCS);
+ result.setName(name);
+ if(typeCS != null) {
+ result.setStartOffset(typeCS.getStartOffset());
+ result.setEndOffset(typeCS.getEndOffset());
+ if(name != null) {
+ result.setEndOffset(result.getEndOffset() + name.length());
+ }
+ }
+ return result;
+}
+
+private final CSTNode createExpressionStatementCS(OCLExpressionCS sym) {
+ ExpressionStatementCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createExpressionStatementCS();
+ result.setOclExpressionCS(sym);
+ return result;
+}
+
+private final TransformationHeaderCS createTransformationHeaderCS(EList<StringLiteralExpCS> qualifiers,
+ PathNameCS pathNameCS, SimpleSignatureCS simpleSignatureCS, EList<ModuleUsageCS> transfUsages,
+ TransformationRefineCS transfRefineCS) {
+ TransformationHeaderCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createTransformationHeaderCS();
+ result.getQualifiers().addAll(qualifiers);
+ result.getParameters().addAll(simpleSignatureCS.getParams());
+ result.getModuleUsages().addAll(transfUsages);
+ result.setTransformationRefineCS(transfRefineCS);
+ result.setPathNameCS(pathNameCS);
+ return result;
+}
+
+private final CSTNode createRenameCS(TypeCS sym, IToken tokenText, StringLiteralExpCS sym2) {
+ RenameCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createRenameCS();
+ SimpleNameCS nameCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, tokenText.toString());
+ setOffsets(nameCS, tokenText);
+ result.setSimpleNameCS(nameCS);
+ result.setTypeCS(sym);
+ result.setOriginalName(sym2);
+ return result;
+}
+
+private ListTypeCS createListTypeCS(TypeCS typeCS) {
+ ListTypeCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createListTypeCS();
+ result.setTypeCS(typeCS);
+ return result;
+}
+
+private DictLiteralExpCS createDictLiteralExpCS(EList<DictLiteralPartCS> parts) {
+ DictLiteralExpCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createDictLiteralExpCS();
+ result.getParts().addAll(parts);
+ return result;
+}
+
+private DictionaryTypeCS createDictTypeCS(TypeCS keyTypeCS, TypeCS valueTypeCS) {
+ DictionaryTypeCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createDictionaryTypeCS();
+ result.setKey(keyTypeCS);
+ result.setValue(valueTypeCS);
+ return result;
+}
+
+private DictLiteralPartCS createDictLiteralPartCS(LiteralExpCS keyLiteralCS, OCLExpressionCS valueExpCS) {
+ DictLiteralPartCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createDictLiteralPartCS();
+ result.setKey(keyLiteralCS);
+ result.setValue(valueExpCS);
+ return result;
+}
+
+private final CSTNode createVariableInitializationCS(IToken identifier, TypeCS typeCS, OCLExpressionCS initExpressionCS, boolean withResult) {
+ VariableInitializationCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createVariableInitializationCS();
+ SimpleNameCS nameCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, identifier.toString());
+ setOffsets(nameCS, identifier);
+ result.setSimpleNameCS(nameCS);
+ result.setTypeCS(typeCS);
+ result.setOclExpressionCS(initExpressionCS);
+ result.setWithResult(withResult);
+ return result;
+}
+
+private InstantiationExpCS createNewRuleCallExpCS(TypeSpecCS typeSpecCS, List<OCLExpressionCS> arguments) {
+ InstantiationExpCS call = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createInstantiationExpCS();
+ call.setTypeSpecCS(typeSpecCS);
+ call.getArguments().addAll(arguments);
+ return call;
+}
+
+private final StatementCS createBreakCS() {
+ StatementCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createBreakExpCS();
+ return result;
+}
+
+private final StatementCS createContinueCS() {
+ StatementCS result = org.eclipse.m2m.internal.qvt.oml.cst.CSTFactory.eINSTANCE.createContinueExpCS();
+ return result;
+}
+
+private final int getEndOffset(int ensuredOffset, EList<? extends CSTNode>... listOpt) {
+ int offset = ensuredOffset;
+ for (EList<? extends CSTNode> list : listOpt) {
+ if (list.size() == 0) {
+ continue;
+ }
+ CSTNode node = list.get(list.size()-1);
+ offset = node.getEndOffset();
+ }
+ return offset;
+}
+
private boolean isTokenOfType(IToken token, int kind) {
return (token != null) && (token.getKind() == kind);
}
@@ -637,6 +799,135 @@
return result;
}
+private String unescape(IToken stringLiteral) {
+ String rawString = stringLiteral.toString();
+ int rawStringLength = rawString.length();
+ if (rawStringLength <= 2) {
+ return ""; //$NON-NLS-1$
+ }
+ StringBuilder unescapedStringBuilder = null;
+ boolean isBackslashEscapeProcessingUsed = false; //getEnvironment().isEnabled(ParsingOptions.USE_BACKSLASH_ESCAPE_PROCESSING);
+ boolean isNonStdSQEscapingUsed = false;
+ int n = rawStringLength - 1;
+ for (int i = 1; i < n; i++) {
+ char ch = rawString.charAt(i);
+ if ((isBackslashEscapeProcessingUsed && (ch == '\\'))
+ || ((ch == '\'') && isNonStdSQSupported())) {
+ if (unescapedStringBuilder == null) {
+ unescapedStringBuilder = new StringBuilder(rawString
+ .substring(1, i));
+ }
+ i++;
+ if (i >= n) {
+ reportError(
+ ParseErrorCodes.INVALID_CODE,
+ "", stringLiteral.getTokenIndex(), stringLiteral.getTokenIndex(), //$NON-NLS-1$
+ "String literal not properly closed");
+ }
+ char nextCh = rawString.charAt(i);
+ if (ch == '\\') {
+ switch (nextCh) {
+ case 'b' :
+ unescapedStringBuilder.append('\b');
+ break;
+ case 't' :
+ unescapedStringBuilder.append('\t');
+ break;
+ case 'n' :
+ unescapedStringBuilder.append('\n');
+ break;
+ case 'f' :
+ unescapedStringBuilder.append('\f');
+ break;
+ case 'r' :
+ unescapedStringBuilder.append('\r');
+ break;
+ case '\"' :
+ unescapedStringBuilder.append('\"');
+ break;
+ case '\'' :
+ unescapedStringBuilder.append('\'');
+ break;
+ case '\\' :
+ unescapedStringBuilder.append('\\');
+ break;
+ default :
+ // octal escape check
+ int unescapedChar = -1;
+ if ((nextCh >= '\u0030') && (nextCh <= '\u0037')) { // octal
+ // digit
+ unescapedChar = Character
+ .getNumericValue(nextCh);
+ if (i + 1 < n) {
+ char tmpCh = rawString.charAt(i + 1);
+ if ((tmpCh >= '\u0030')
+ && (tmpCh <= '\u0037')) { // octal digit
+ unescapedChar = 8 * unescapedChar
+ + Character.getNumericValue(tmpCh);
+ i++;
+ if (i + 1 < n) {
+ tmpCh = rawString.charAt(i + 1);
+ if ((tmpCh >= '\u0030')
+ && (tmpCh <= '\u0037') // octal
+ // digit
+ && (nextCh <= '\u0033')) { // most-significant
+ // digit
+ // in
+ // range
+ // 0..2
+ unescapedChar = 8
+ * unescapedChar
+ + Character
+ .getNumericValue(tmpCh);
+ i++;
+ }
+ }
+ }
+ }
+ unescapedStringBuilder
+ .append((char) unescapedChar);
+ }
+ if (unescapedChar < 0) {
+ reportError(
+ ParseErrorCodes.INVALID_CODE,
+ "", stringLiteral.getTokenIndex(), stringLiteral.getTokenIndex(), //$NON-NLS-1$
+ "Invalid escape sequence (valid ones are \\b \\t \\n \\f \\r \\\" \\\' \\\\)");
+ }
+ break;
+ }
+ } else { // non-std '' escaping
+ unescapedStringBuilder.append('\'');
+ isNonStdSQEscapingUsed = true;
+ assert nextCh == '\'' : "Unexpected escape sequence in string literal: " + rawString; //$NON-NLS-1$
+ }
+ } else if (unescapedStringBuilder != null) {
+ unescapedStringBuilder.append(ch);
+ }
+ }
+ if (isNonStdSQEscapingUsed) {
+// Should not be called - isNonStdSQSupported returns false
+
+// // check settings for using non-standard closure iterator
+// ProblemHandler.Severity sev = getEnvironment().getValue(
+// ProblemOption.STRING_SINGLE_QUOTE_ESCAPE);
+// if ((sev != null) && (sev != ProblemHandler.Severity.OK)) {
+// getEnvironment().problem(
+// sev,
+// ProblemHandler.Phase.PARSER,
+// OCLMessages.bind(OCLMessages.NonStd_SQuote_Escape_,
+// stringLiteral), "STRING_LITERAL", //$NON-NLS-1$
+// null);
+// }
+ }
+ return (unescapedStringBuilder == null)
+ ? rawString.substring(1, n)
+ : unescapedStringBuilder.toString();
+}
+
+private boolean isNonStdSQSupported() {
+ return false;
+}
+
/**
* Sets the start and end offsets of the given <code>CSTNode</code>
* to the start and end offsets of the given <code>IToken</code>
@@ -752,44 +1043,44 @@
//
- // Rule 28: impliesExpCS ::= impliesExpCS implies andOrXorExpCS
+ // Rule 27: impliesExpCS ::= impliesExpCS implies andOrXorExpCS
+ //
+ case 27:
+
+ //
+ // Rule 28: impliesWithLet ::= impliesExpCS implies andOrXorWithLet
//
case 28:
//
- // Rule 29: impliesWithLet ::= impliesExpCS implies andOrXorWithLet
+ // Rule 31: andOrXorExpCS ::= andOrXorExpCS and equalityExpCS
//
- case 29:
+ case 31:
//
- // Rule 32: andOrXorExpCS ::= andOrXorExpCS and equalityExpCS
+ // Rule 32: andOrXorExpCS ::= andOrXorExpCS or equalityExpCS
//
case 32:
//
- // Rule 33: andOrXorExpCS ::= andOrXorExpCS or equalityExpCS
+ // Rule 33: andOrXorExpCS ::= andOrXorExpCS xor equalityExpCS
//
case 33:
//
- // Rule 34: andOrXorExpCS ::= andOrXorExpCS xor equalityExpCS
+ // Rule 34: andOrXorWithLet ::= andOrXorExpCS and equalityWithLet
//
case 34:
//
- // Rule 35: andOrXorWithLet ::= andOrXorExpCS and equalityWithLet
+ // Rule 35: andOrXorWithLet ::= andOrXorExpCS or equalityWithLet
//
case 35:
//
- // Rule 36: andOrXorWithLet ::= andOrXorExpCS or equalityWithLet
+ // Rule 36: andOrXorWithLet ::= andOrXorExpCS xor equalityWithLet
//
- case 36:
-
- //
- // Rule 37: andOrXorWithLet ::= andOrXorExpCS xor equalityWithLet
- //
- case 37: {
+ case 36: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -809,14 +1100,14 @@
}
//
- // Rule 40: equalityExpCS ::= equalityExpCS = relationalExpCS
+ // Rule 39: equalityExpCS ::= equalityExpCS = relationalExpCS
//
- case 40:
+ case 39:
//
- // Rule 41: equalityWithLet ::= equalityExpCS = relationalWithLet
+ // Rule 40: equalityWithLet ::= equalityExpCS = relationalWithLet
//
- case 41: {
+ case 40: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -836,14 +1127,14 @@
}
//
- // Rule 42: equalityExpCS ::= equalityExpCS <> relationalExpCS
+ // Rule 41: equalityExpCS ::= equalityExpCS <> relationalExpCS
//
- case 42:
+ case 41:
//
- // Rule 43: equalityWithLet ::= equalityExpCS <> relationalWithLet
+ // Rule 42: equalityWithLet ::= equalityExpCS <> relationalWithLet
//
- case 43: {
+ case 42: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -863,14 +1154,14 @@
}
//
- // Rule 46: relationalExpCS ::= relationalExpCS > ifExpCSPrec
+ // Rule 45: relationalExpCS ::= relationalExpCS > ifExpCSPrec
//
- case 46:
+ case 45:
//
- // Rule 47: relationalWithLet ::= relationalExpCS > additiveWithLet
+ // Rule 46: relationalWithLet ::= relationalExpCS > additiveWithLet
//
- case 47: {
+ case 46: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -890,14 +1181,14 @@
}
//
- // Rule 48: relationalExpCS ::= relationalExpCS < ifExpCSPrec
+ // Rule 47: relationalExpCS ::= relationalExpCS < ifExpCSPrec
//
- case 48:
+ case 47:
//
- // Rule 49: relationalWithLet ::= relationalExpCS < additiveWithLet
+ // Rule 48: relationalWithLet ::= relationalExpCS < additiveWithLet
//
- case 49: {
+ case 48: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -917,14 +1208,14 @@
}
//
- // Rule 50: relationalExpCS ::= relationalExpCS >= ifExpCSPrec
+ // Rule 49: relationalExpCS ::= relationalExpCS >= ifExpCSPrec
//
- case 50:
+ case 49:
//
- // Rule 51: relationalWithLet ::= relationalExpCS >= additiveWithLet
+ // Rule 50: relationalWithLet ::= relationalExpCS >= additiveWithLet
//
- case 51: {
+ case 50: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -944,14 +1235,14 @@
}
//
- // Rule 52: relationalExpCS ::= relationalExpCS <= ifExpCSPrec
+ // Rule 51: relationalExpCS ::= relationalExpCS <= ifExpCSPrec
//
- case 52:
+ case 51:
//
- // Rule 53: relationalWithLet ::= relationalExpCS <= additiveWithLet
+ // Rule 52: relationalWithLet ::= relationalExpCS <= additiveWithLet
//
- case 53: {
+ case 52: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -971,14 +1262,14 @@
}
//
- // Rule 57: additiveExpCS ::= additiveExpCS + multiplicativeExpCS
+ // Rule 56: additiveExpCS ::= additiveExpCS + multiplicativeExpCS
//
- case 57:
+ case 56:
//
- // Rule 58: additiveWithLet ::= additiveExpCS + multiplicativeWithLet
+ // Rule 57: additiveWithLet ::= additiveExpCS + multiplicativeWithLet
//
- case 58: {
+ case 57: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -998,14 +1289,14 @@
}
//
- // Rule 59: additiveExpCS ::= additiveExpCS - multiplicativeExpCS
+ // Rule 58: additiveExpCS ::= additiveExpCS - multiplicativeExpCS
//
- case 59:
+ case 58:
//
- // Rule 60: additiveWithLet ::= additiveExpCS - multiplicativeWithLet
+ // Rule 59: additiveWithLet ::= additiveExpCS - multiplicativeWithLet
//
- case 60: {
+ case 59: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -1025,14 +1316,14 @@
}
//
- // Rule 63: multiplicativeExpCS ::= multiplicativeExpCS * unaryExpCS
+ // Rule 62: multiplicativeExpCS ::= multiplicativeExpCS * unaryExpCS
//
- case 63:
+ case 62:
//
- // Rule 64: multiplicativeWithLet ::= multiplicativeExpCS * unaryWithLet
+ // Rule 63: multiplicativeWithLet ::= multiplicativeExpCS * unaryWithLet
//
- case 64: {
+ case 63: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -1052,14 +1343,14 @@
}
//
- // Rule 65: multiplicativeExpCS ::= multiplicativeExpCS / unaryExpCS
+ // Rule 64: multiplicativeExpCS ::= multiplicativeExpCS / unaryExpCS
//
- case 65:
+ case 64:
//
- // Rule 66: multiplicativeWithLet ::= multiplicativeExpCS / unaryWithLet
+ // Rule 65: multiplicativeWithLet ::= multiplicativeExpCS / unaryWithLet
//
- case 66: {
+ case 65: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -1079,9 +1370,9 @@
}
//
- // Rule 69: unaryExpCS ::= - unaryExpCS
+ // Rule 68: unaryExpCS ::= - unaryExpCS
//
- case 69: {
+ case 68: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -1099,9 +1390,9 @@
}
//
- // Rule 70: unaryExpCS ::= not unaryExpCS
+ // Rule 69: unaryExpCS ::= not unaryExpCS
//
- case 70: {
+ case 69: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -1119,9 +1410,9 @@
}
//
- // Rule 72: dotArrowExpCS ::= dotArrowExpCS callExpCS
+ // Rule 71: dotArrowExpCS ::= dotArrowExpCS callExpCS
//
- case 72: {
+ case 71: {
CallExpCS result = (CallExpCS)dtParser.getSym(2);
result.setSource((OCLExpressionCS)dtParser.getSym(1));
@@ -1131,9 +1422,9 @@
}
//
- // Rule 73: dotArrowExpCS ::= dotArrowExpCS messageExpCS
+ // Rule 72: dotArrowExpCS ::= dotArrowExpCS messageExpCS
//
- case 73: {
+ case 72: {
MessageExpCS result = (MessageExpCS)dtParser.getSym(2);
result.setTarget((OCLExpressionCS)dtParser.getSym(1));
@@ -1143,9 +1434,9 @@
}
//
- // Rule 74: dotArrowExpCS ::= NUMERIC_OPERATION ( argumentsCSopt )
+ // Rule 73: dotArrowExpCS ::= NUMERIC_OPERATION ( argumentsCSopt )
//
- case 74: {
+ case 73: {
// NUMERIC_OPERATION -> Integer '.' Identifier
String text = getTokenText(dtParser.getToken(1));
@@ -1184,9 +1475,9 @@
}
//
- // Rule 75: dotArrowExpCS ::= pathNameCS :: simpleNameCS ( argumentsCSopt )
+ // Rule 74: dotArrowExpCS ::= pathNameCS :: simpleNameCS ( argumentsCSopt )
//
- case 75: {
+ case 74: {
OperationCallExpCS result = createOperationCallExpCS(
(PathNameCS)dtParser.getSym(1),
@@ -1200,9 +1491,9 @@
}
//
- // Rule 80: oclExpCS ::= ( oclExpressionCS )
+ // Rule 79: oclExpCS ::= ( oclExpressionCS )
//
- case 80: {
+ case 79: {
CSTNode result = (CSTNode)dtParser.getSym(2);
setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(3)));
@@ -1211,9 +1502,9 @@
}
//
- // Rule 81: variableExpCS ::= simpleNameCS isMarkedPreCS
+ // Rule 80: variableExpCS ::= simpleNameCS isMarkedPreCS
//
- case 81: {
+ case 80: {
IsMarkedPreCS isMarkedPreCS = (IsMarkedPreCS)dtParser.getSym(2);
CSTNode result = createVariableExpCS(
@@ -1231,9 +1522,9 @@
}
//
- // Rule 82: variableExpCS ::= keywordAsIdentifier1 isMarkedPreCS
+ // Rule 81: variableExpCS ::= keywordAsIdentifier1 isMarkedPreCS
//
- case 82: {
+ case 81: {
IsMarkedPreCS isMarkedPreCS = (IsMarkedPreCS)dtParser.getSym(2);
SimpleNameCS simpleNameCS = createSimpleNameCS(
@@ -1256,9 +1547,9 @@
}
//
- // Rule 84: simpleNameCS ::= self
+ // Rule 83: simpleNameCS ::= self
//
- case 84: {
+ case 83: {
CSTNode result = createSimpleNameCS(
SimpleTypeEnum.SELF_LITERAL,
@@ -1270,9 +1561,9 @@
}
//
- // Rule 85: simpleNameCS ::= IDENTIFIER
+ // Rule 84: simpleNameCS ::= IDENTIFIER
//
- case 85: {
+ case 84: {
CSTNode result = createSimpleNameCS(
SimpleTypeEnum.IDENTIFIER_LITERAL,
@@ -1284,9 +1575,9 @@
}
//
- // Rule 86: primitiveTypeCS ::= Integer
+ // Rule 85: primitiveTypeCS ::= Integer
//
- case 86: {
+ case 85: {
CSTNode result = createPrimitiveTypeCS(
SimpleTypeEnum.INTEGER_LITERAL,
@@ -1298,9 +1589,9 @@
}
//
- // Rule 87: primitiveTypeCS ::= UnlimitedNatural
+ // Rule 86: primitiveTypeCS ::= UnlimitedNatural
//
- case 87: {
+ case 86: {
CSTNode result = createPrimitiveTypeCS(
SimpleTypeEnum.UNLIMITED_NATURAL_LITERAL,
@@ -1312,9 +1603,9 @@
}
//
- // Rule 88: primitiveTypeCS ::= String
+ // Rule 87: primitiveTypeCS ::= String
//
- case 88: {
+ case 87: {
CSTNode result = createPrimitiveTypeCS(
SimpleTypeEnum.STRING_LITERAL,
@@ -1326,9 +1617,9 @@
}
//
- // Rule 89: primitiveTypeCS ::= Real
+ // Rule 88: primitiveTypeCS ::= Real
//
- case 89: {
+ case 88: {
CSTNode result = createPrimitiveTypeCS(
SimpleTypeEnum.REAL_LITERAL,
@@ -1340,9 +1631,9 @@
}
//
- // Rule 90: primitiveTypeCS ::= Boolean
+ // Rule 89: primitiveTypeCS ::= Boolean
//
- case 90: {
+ case 89: {
CSTNode result = createPrimitiveTypeCS(
SimpleTypeEnum.BOOLEAN_LITERAL,
@@ -1354,9 +1645,9 @@
}
//
- // Rule 91: primitiveTypeCS ::= OclAny
+ // Rule 90: primitiveTypeCS ::= OclAny
//
- case 91: {
+ case 90: {
CSTNode result = createPrimitiveTypeCS(
SimpleTypeEnum.OCL_ANY_LITERAL,
@@ -1368,9 +1659,9 @@
}
//
- // Rule 92: primitiveTypeCS ::= OclVoid
+ // Rule 91: primitiveTypeCS ::= OclVoid
//
- case 92: {
+ case 91: {
CSTNode result = createPrimitiveTypeCS(
SimpleTypeEnum.OCL_VOID_LITERAL,
@@ -1382,9 +1673,9 @@
}
//
- // Rule 93: primitiveTypeCS ::= Invalid
+ // Rule 92: primitiveTypeCS ::= Invalid
//
- case 93: {
+ case 92: {
CSTNode result = createPrimitiveTypeCS(
SimpleTypeEnum.INVALID_LITERAL,
@@ -1396,9 +1687,9 @@
}
//
- // Rule 94: primitiveTypeCS ::= OclMessage
+ // Rule 93: primitiveTypeCS ::= OclMessage
//
- case 94: {
+ case 93: {
CSTNode result = createPrimitiveTypeCS(
SimpleTypeEnum.OCL_MESSAGE_LITERAL,
@@ -1410,9 +1701,9 @@
}
//
- // Rule 95: pathNameCS ::= IDENTIFIER
+ // Rule 94: pathNameCS ::= IDENTIFIER
//
- case 95: {
+ case 94: {
CSTNode result = createPathNameCS(getTokenText(dtParser.getToken(1)));
setOffsets(result, getIToken(dtParser.getToken(1)));
@@ -1421,9 +1712,9 @@
}
//
- // Rule 96: pathNameCS ::= pathNameCS :: simpleNameCS
+ // Rule 95: pathNameCS ::= pathNameCS :: simpleNameCS
//
- case 96: {
+ case 95: {
PathNameCS result = (PathNameCS)dtParser.getSym(1);
result = extendPathNameCS(result, getTokenText(dtParser.getToken(3)));
@@ -1433,9 +1724,9 @@
}
//
- // Rule 97: pathNameCSOpt ::= $Empty
+ // Rule 96: pathNameCSOpt ::= $Empty
//
- case 97: {
+ case 96: {
CSTNode result = createPathNameCS();
dtParser.setSym1(result);
@@ -1443,9 +1734,9 @@
}
//
- // Rule 105: enumLiteralExpCS ::= pathNameCS :: keywordAsIdentifier
+ // Rule 104: enumLiteralExpCS ::= pathNameCS :: keywordAsIdentifier
//
- case 105: {
+ case 104: {
CSTNode result = createEnumLiteralExpCS(
(PathNameCS)dtParser.getSym(1),
@@ -1457,9 +1748,9 @@
}
//
- // Rule 106: enumLiteralExpCS ::= pathNameCS :: simpleNameCS
+ // Rule 105: enumLiteralExpCS ::= pathNameCS :: simpleNameCS
//
- case 106: {
+ case 105: {
CSTNode result = createEnumLiteralExpCS(
(PathNameCS)dtParser.getSym(1),
@@ -1471,9 +1762,9 @@
}
//
- // Rule 107: collectionLiteralExpCS ::= collectionTypeIdentifierCS { collectionLiteralPartsCSopt }
+ // Rule 106: collectionLiteralExpCS ::= collectionTypeIdentifierCS { collectionLiteralPartsCSopt }
//
- case 107: {
+ case 106: {
Object[] objs = (Object[])dtParser.getSym(1);
CSTNode result = createCollectionLiteralExpCS(
@@ -1486,61 +1777,61 @@
}
//
- // Rule 108: collectionTypeIdentifierCS ::= Set
+ // Rule 107: collectionTypeIdentifierCS ::= Set
//
- case 108: {
+ case 107: {
dtParser.setSym1(new Object[]{getIToken(dtParser.getToken(1)), CollectionTypeIdentifierEnum.SET_LITERAL});
break;
}
//
- // Rule 109: collectionTypeIdentifierCS ::= Bag
+ // Rule 108: collectionTypeIdentifierCS ::= Bag
//
- case 109: {
+ case 108: {
dtParser.setSym1(new Object[]{getIToken(dtParser.getToken(1)), CollectionTypeIdentifierEnum.BAG_LITERAL});
break;
}
//
- // Rule 110: collectionTypeIdentifierCS ::= Sequence
+ // Rule 109: collectionTypeIdentifierCS ::= Sequence
//
- case 110: {
+ case 109: {
dtParser.setSym1(new Object[]{getIToken(dtParser.getToken(1)), CollectionTypeIdentifierEnum.SEQUENCE_LITERAL});
break;
}
//
- // Rule 111: collectionTypeIdentifierCS ::= Collection
+ // Rule 110: collectionTypeIdentifierCS ::= Collection
//
- case 111: {
+ case 110: {
dtParser.setSym1(new Object[]{getIToken(dtParser.getToken(1)), CollectionTypeIdentifierEnum.COLLECTION_LITERAL});
break;
}
//
- // Rule 112: collectionTypeIdentifierCS ::= OrderedSet
+ // Rule 111: collectionTypeIdentifierCS ::= OrderedSet
//
- case 112: {
+ case 111: {
dtParser.setSym1(new Object[]{getIToken(dtParser.getToken(1)), CollectionTypeIdentifierEnum.ORDERED_SET_LITERAL});
break;
}
//
- // Rule 113: collectionLiteralPartsCSopt ::= $Empty
+ // Rule 112: collectionLiteralPartsCSopt ::= $Empty
//
- case 113:
+ case 112:
dtParser.setSym1(new BasicEList());
break;
//
- // Rule 115: collectionLiteralPartsCS ::= collectionLiteralPartCS
+ // Rule 114: collectionLiteralPartsCS ::= collectionLiteralPartCS
//
- case 115: {
+ case 114: {
EList result = new BasicEList();
result.add(dtParser.getSym(1));
@@ -1549,9 +1840,9 @@
}
//
- // Rule 116: collectionLiteralPartsCS ::= collectionLiteralPartsCS , collectionLiteralPartCS
+ // Rule 115: collectionLiteralPartsCS ::= collectionLiteralPartsCS , collectionLiteralPartCS
//
- case 116: {
+ case 115: {
EList result = (EList)dtParser.getSym(1);
result.add(dtParser.getSym(3));
@@ -1560,9 +1851,9 @@
}
//
- // Rule 118: collectionLiteralPartCS ::= oclExpressionCS
+ // Rule 117: collectionLiteralPartCS ::= oclExpressionCS
//
- case 118: {
+ case 117: {
CSTNode result = createCollectionLiteralPartCS(
(OCLExpressionCS)dtParser.getSym(1)
@@ -1573,9 +1864,9 @@
}
//
- // Rule 119: collectionRangeCS ::= - INTEGER_RANGE_START oclExpressionCS
+ // Rule 118: collectionRangeCS ::= - INTEGER_RANGE_START oclExpressionCS
//
- case 119: {
+ case 118: {
OCLExpressionCS rangeStart = createRangeStart(
getTokenText(dtParser.getToken(2)), true);
@@ -1589,9 +1880,9 @@
}
//
- // Rule 120: collectionRangeCS ::= INTEGER_RANGE_START oclExpressionCS
+ // Rule 119: collectionRangeCS ::= INTEGER_RANGE_START oclExpressionCS
//
- case 120: {
+ case 119: {
OCLExpressionCS rangeStart = createRangeStart(
getTokenText(dtParser.getToken(1)), false);
@@ -1605,9 +1896,9 @@
}
//
- // Rule 121: collectionRangeCS ::= oclExpressionCS .. oclExpressionCS
+ // Rule 120: collectionRangeCS ::= oclExpressionCS .. oclExpressionCS
//
- case 121: {
+ case 120: {
CSTNode result = createCollectionRangeCS(
(OCLExpressionCS)dtParser.getSym(1),
@@ -1619,9 +1910,9 @@
}
//
- // Rule 127: tupleLiteralExpCS ::= Tuple { variableListCS2 }
+ // Rule 126: tupleLiteralExpCS ::= Tuple { variableListCS2 }
//
- case 127: {
+ case 126: {
CSTNode result = createTupleLiteralExpCS((EList)dtParser.getSym(3));
setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(4)));
@@ -1630,9 +1921,9 @@
}
//
- // Rule 128: integerLiteralExpCS ::= INTEGER_LITERAL
+ // Rule 127: integerLiteralExpCS ::= INTEGER_LITERAL
//
- case 128: {
+ case 127: {
CSTNode result = createIntegerLiteralExpCS(getTokenText(dtParser.getToken(1)));
setOffsets(result, getIToken(dtParser.getToken(1)));
@@ -1641,9 +1932,9 @@
}
//
- // Rule 129: unlimitedNaturalLiteralExpCS ::= *
+ // Rule 128: unlimitedNaturalLiteralExpCS ::= *
//
- case 129: {
+ case 128: {
CSTNode result = createUnlimitedNaturalLiteralExpCS(getTokenText(dtParser.getToken(1)));
setOffsets(result, getIToken(dtParser.getToken(1)));
@@ -1652,9 +1943,9 @@
}
//
- // Rule 130: realLiteralExpCS ::= REAL_LITERAL
+ // Rule 129: realLiteralExpCS ::= REAL_LITERAL
//
- case 130: {
+ case 129: {
CSTNode result = createRealLiteralExpCS(getTokenText(dtParser.getToken(1)));
setOffsets(result, getIToken(dtParser.getToken(1)));
@@ -1663,18 +1954,29 @@
}
//
- // Rule 131: stringLiteralExpCS ::= STRING_LITERAL
+ // Rule 130: stringLiteralExpCS ::= STRING_LITERAL
//
- case 131: {
+ case 130: {
- CSTNode result = createStringLiteralExpCS(getTokenText(dtParser.getToken(1)));
+ CSTNode result = createStringLiteralExpCS(unescape(getIToken((dtParser.getToken(1)))));
setOffsets(result, getIToken(dtParser.getToken(1)));
dtParser.setSym1(result);
break;
}
//
- // Rule 132: booleanLiteralExpCS ::= true
+ // Rule 131: booleanLiteralExpCS ::= true
+ //
+ case 131: {
+
+ CSTNode result = createBooleanLiteralExpCS(getTokenText(dtParser.getToken(1)));
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 132: booleanLiteralExpCS ::= false
//
case 132: {
@@ -1685,21 +1987,10 @@
}
//
- // Rule 133: booleanLiteralExpCS ::= false
+ // Rule 133: nullLiteralExpCS ::= null
//
case 133: {
- CSTNode result = createBooleanLiteralExpCS(getTokenText(dtParser.getToken(1)));
- setOffsets(result, getIToken(dtParser.getToken(1)));
- dtParser.setSym1(result);
- break;
- }
-
- //
- // Rule 134: nullLiteralExpCS ::= null
- //
- case 134: {
-
CSTNode result = createNullLiteralExpCS(getTokenText(dtParser.getToken(1)));
setOffsets(result, getIToken(dtParser.getToken(1)));
dtParser.setSym1(result);
@@ -1707,9 +1998,9 @@
}
//
- // Rule 135: invalidLiteralExpCS ::= OclInvalid
+ // Rule 134: invalidLiteralExpCS ::= OclInvalid
//
- case 135: {
+ case 134: {
CSTNode result = createInvalidLiteralExpCS(getTokenText(dtParser.getToken(1)));
setOffsets(result, getIToken(dtParser.getToken(1)));
@@ -1718,14 +2009,14 @@
}
//
- // Rule 136: callExpCS ::= -> featureCallExpCS
+ // Rule 135: callExpCS ::= -> featureCallExpCS
//
- case 136:
+ case 135:
//
- // Rule 137: callExpCS ::= -> loopExpCS
+ // Rule 136: callExpCS ::= -> loopExpCS
//
- case 137: {
+ case 136: {
CallExpCS result = (CallExpCS)dtParser.getSym(2);
result.setAccessor(DotOrArrowEnum.ARROW_LITERAL);
@@ -1734,14 +2025,14 @@
}
//
- // Rule 138: callExpCS ::= . keywordOperationCallExpCS
+ // Rule 137: callExpCS ::= . keywordOperationCallExpCS
//
- case 138:
+ case 137:
//
- // Rule 139: callExpCS ::= . featureCallExpCS
+ // Rule 138: callExpCS ::= . featureCallExpCS
//
- case 139: {
+ case 138: {
CallExpCS result = (CallExpCS)dtParser.getSym(2);
result.setAccessor(DotOrArrowEnum.DOT_LITERAL);
@@ -1750,9 +2041,81 @@
}
//
- // Rule 142: iterContents ::= oclExpressionCS
+ // Rule 141: iteratorExpCS ::= forAll ( iterContents )
//
- case 142: {
+ case 141:
+
+ //
+ // Rule 142: iteratorExpCS ::= exists ( iterContents )
+ //
+ case 142:
+
+ //
+ // Rule 143: iteratorExpCS ::= isUnique ( iterContents )
+ //
+ case 143:
+
+ //
+ // Rule 144: iteratorExpCS ::= one ( iterContents )
+ //
+ case 144:
+
+ //
+ // Rule 145: iteratorExpCS ::= any ( iterContents )
+ //
+ case 145:
+
+ //
+ // Rule 146: iteratorExpCS ::= collect ( iterContents )
+ //
+ case 146:
+
+ //
+ // Rule 147: iteratorExpCS ::= select ( iterContents )
+ //
+ case 147:
+
+ //
+ // Rule 148: iteratorExpCS ::= reject ( iterContents )
+ //
+ case 148:
+
+ //
+ // Rule 149: iteratorExpCS ::= collectNested ( iterContents )
+ //
+ case 149:
+
+ //
+ // Rule 150: iteratorExpCS ::= sortedBy ( iterContents )
+ //
+ case 150:
+
+ //
+ // Rule 151: iteratorExpCS ::= closure ( iterContents )
+ //
+ case 151: {
+
+ SimpleNameCS simpleNameCS = createSimpleNameCS(
+ SimpleTypeEnum.KEYWORD_LITERAL,
+ getTokenText(dtParser.getToken(1))
+ );
+ setOffsets(simpleNameCS, getIToken(dtParser.getToken(1)));
+ Object[] iterContents = (Object[])dtParser.getSym(3);
+ CSTNode result = createIteratorExpCS(
+ simpleNameCS,
+ (VariableCS)iterContents[0],
+ (VariableCS)iterContents[1],
+ (OCLExpressionCS)iterContents[2]
+ );
+ setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(4)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 152: iterContents ::= oclExpressionCS
+ //
+ case 152: {
dtParser.setSym1(new Object[] {
null,
@@ -1763,9 +2126,9 @@
}
//
- // Rule 143: iterContents ::= variableCS | oclExpressionCS
+ // Rule 153: iterContents ::= variableCS | oclExpressionCS
//
- case 143: {
+ case 153: {
dtParser.setSym1(new Object[] {
dtParser.getSym(1),
@@ -1776,9 +2139,9 @@
}
//
- // Rule 144: iterContents ::= variableCS , variableCS | oclExpressionCS
+ // Rule 154: iterContents ::= variableCS , variableCS | oclExpressionCS
//
- case 144: {
+ case 154: {
dtParser.setSym1(new Object[] {
dtParser.getSym(1),
@@ -1789,9 +2152,9 @@
}
//
- // Rule 145: iterateExpCS ::= iterate ( variableCS | oclExpressionCS )
+ // Rule 155: iterateExpCS ::= iterate ( variableCS | oclExpressionCS )
//
- case 145: {
+ case 155: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.KEYWORD_LITERAL,
@@ -1810,9 +2173,9 @@
}
//
- // Rule 146: iterateExpCS ::= iterate ( variableCS ; variableCS | oclExpressionCS )
+ // Rule 156: iterateExpCS ::= iterate ( variableCS ; variableCS | oclExpressionCS )
//
- case 146: {
+ case 156: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.KEYWORD_LITERAL,
@@ -1831,9 +2194,9 @@
}
//
- // Rule 147: variableCS ::= IDENTIFIER
+ // Rule 157: variableCS ::= IDENTIFIER
//
- case 147: {
+ case 157: {
CSTNode result = createVariableCS(
getTokenText(dtParser.getToken(1)),
@@ -1846,9 +2209,9 @@
}
//
- // Rule 148: variableCS ::= IDENTIFIER : typeCS
+ // Rule 158: variableCS ::= IDENTIFIER : typeCS
//
- case 148: {
+ case 158: {
CSTNode result = createVariableCS(
getTokenText(dtParser.getToken(1)),
@@ -1861,9 +2224,9 @@
}
//
- // Rule 149: variableCS ::= IDENTIFIER : typeCS = oclExpressionCS
+ // Rule 159: variableCS ::= IDENTIFIER : typeCS = oclExpressionCS
//
- case 149: {
+ case 159: {
CSTNode result = createVariableCS(
getTokenText(dtParser.getToken(1)),
@@ -1876,9 +2239,9 @@
}
//
- // Rule 150: variableCS2 ::= IDENTIFIER = oclExpressionCS
+ // Rule 160: variableCS2 ::= IDENTIFIER = oclExpressionCS
//
- case 150: {
+ case 160: {
CSTNode result = createVariableCS(
getTokenText(dtParser.getToken(1)),
@@ -1891,9 +2254,9 @@
}
//
- // Rule 155: collectionTypeCS ::= collectionTypeIdentifierCS ( typeCS )
+ // Rule 165: collectionTypeCS ::= collectionTypeIdentifierCS ( typeCS )
//
- case 155: {
+ case 165: {
Object[] objs = (Object[])dtParser.getSym(1);
CSTNode result = createCollectionTypeCS(
@@ -1906,9 +2269,9 @@
}
//
- // Rule 156: tupleTypeCS ::= Tuple ( variableListCSopt )
+ // Rule 166: tupleTypeCS ::= Tuple ( variableListCSopt )
//
- case 156: {
+ case 166: {
CSTNode result = createTupleTypeCS((EList)dtParser.getSym(3));
setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(4)));
@@ -1917,16 +2280,16 @@
}
//
- // Rule 157: variableListCSopt ::= $Empty
+ // Rule 167: variableListCSopt ::= $Empty
//
- case 157:
+ case 167:
dtParser.setSym1(new BasicEList());
break;
//
- // Rule 159: variableListCS ::= variableCS
+ // Rule 169: variableListCS ::= variableCS
//
- case 159: {
+ case 169: {
EList result = new BasicEList();
result.add(dtParser.getSym(1));
@@ -1935,9 +2298,9 @@
}
//
- // Rule 160: variableListCS ::= variableListCS , variableCS
+ // Rule 170: variableListCS ::= variableListCS , variableCS
//
- case 160: {
+ case 170: {
EList result = (EList)dtParser.getSym(1);
result.add(dtParser.getSym(3));
@@ -1946,14 +2309,14 @@
}
//
- // Rule 161: variableListCS2 ::= variableCS2
+ // Rule 171: variableListCS2 ::= variableCS2
//
- case 161:
+ case 171:
//
- // Rule 162: variableListCS2 ::= variableCS
+ // Rule 172: variableListCS2 ::= variableCS
//
- case 162: {
+ case 172: {
EList result = new BasicEList();
result.add(dtParser.getSym(1));
@@ -1962,14 +2325,14 @@
}
//
- // Rule 163: variableListCS2 ::= variableListCS2 , variableCS2
+ // Rule 173: variableListCS2 ::= variableListCS2 , variableCS2
//
- case 163:
+ case 173:
//
- // Rule 164: variableListCS2 ::= variableListCS2 , variableCS
+ // Rule 174: variableListCS2 ::= variableListCS2 , variableCS
//
- case 164: {
+ case 174: {
EList result = (EList)dtParser.getSym(1);
result.add(dtParser.getSym(3));
@@ -1978,14 +2341,14 @@
}
//
- // Rule 167: featureCallExpCS ::= MINUS isMarkedPreCS ( argumentsCSopt )
+ // Rule 177: featureCallExpCS ::= MINUS isMarkedPreCS ( argumentsCSopt )
//
- case 167:
+ case 177:
//
- // Rule 168: featureCallExpCS ::= not isMarkedPreCS ( argumentsCSopt )
+ // Rule 178: featureCallExpCS ::= not isMarkedPreCS ( argumentsCSopt )
//
- case 168: {
+ case 178: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.IDENTIFIER_LITERAL,
@@ -2003,9 +2366,9 @@
}
//
- // Rule 169: operationCallExpCS ::= simpleNameCS isMarkedPreCS ( argumentsCSopt )
+ // Rule 179: operationCallExpCS ::= simpleNameCS isMarkedPreCS ( argumentsCSopt )
//
- case 169: {
+ case 179: {
CSTNode result = createOperationCallExpCS(
(SimpleNameCS)dtParser.getSym(1),
@@ -2018,84 +2381,84 @@
}
//
- // Rule 170: operationCallExpCS ::= oclIsUndefined isMarkedPreCS ( argumentsCSopt )
- //
- case 170:
-
- //
- // Rule 171: operationCallExpCS ::= oclIsInvalid isMarkedPreCS ( argumentsCSopt )
- //
- case 171:
-
- //
- // Rule 172: operationCallExpCS ::= oclIsNew isMarkedPreCS ( argumentsCSopt )
- //
- case 172:
-
- //
- // Rule 173: operationCallExpCS ::= EQUAL isMarkedPreCS ( argumentsCSopt )
- //
- case 173:
-
- //
- // Rule 174: operationCallExpCS ::= NOT_EQUAL isMarkedPreCS ( argumentsCSopt )
- //
- case 174:
-
- //
- // Rule 175: operationCallExpCS ::= PLUS isMarkedPreCS ( argumentsCSopt )
- //
- case 175:
-
- //
- // Rule 176: operationCallExpCS ::= MULTIPLY isMarkedPreCS ( argumentsCSopt )
- //
- case 176:
-
- //
- // Rule 177: operationCallExpCS ::= DIVIDE isMarkedPreCS ( argumentsCSopt )
- //
- case 177:
-
- //
- // Rule 178: operationCallExpCS ::= GREATER isMarkedPreCS ( argumentsCSopt )
- //
- case 178:
-
- //
- // Rule 179: operationCallExpCS ::= LESS isMarkedPreCS ( argumentsCSopt )
- //
- case 179:
-
- //
- // Rule 180: operationCallExpCS ::= GREATER_EQUAL isMarkedPreCS ( argumentsCSopt )
+ // Rule 180: operationCallExpCS ::= oclIsUndefined isMarkedPreCS ( argumentsCSopt )
//
case 180:
//
- // Rule 181: operationCallExpCS ::= LESS_EQUAL isMarkedPreCS ( argumentsCSopt )
+ // Rule 181: operationCallExpCS ::= oclIsInvalid isMarkedPreCS ( argumentsCSopt )
//
case 181:
//
- // Rule 182: operationCallExpCS ::= and isMarkedPreCS ( argumentsCSopt )
+ // Rule 182: operationCallExpCS ::= oclIsNew isMarkedPreCS ( argumentsCSopt )
//
case 182:
//
- // Rule 183: operationCallExpCS ::= or isMarkedPreCS ( argumentsCSopt )
+ // Rule 183: operationCallExpCS ::= EQUAL isMarkedPreCS ( argumentsCSopt )
//
case 183:
//
- // Rule 184: operationCallExpCS ::= xor isMarkedPreCS ( argumentsCSopt )
+ // Rule 184: operationCallExpCS ::= NOT_EQUAL isMarkedPreCS ( argumentsCSopt )
//
case 184:
//
- // Rule 185: keywordOperationCallExpCS ::= keywordAsIdentifier isMarkedPreCS ( argumentsCSopt )
+ // Rule 185: operationCallExpCS ::= PLUS isMarkedPreCS ( argumentsCSopt )
//
- case 185: {
+ case 185:
+
+ //
+ // Rule 186: operationCallExpCS ::= MULTIPLY isMarkedPreCS ( argumentsCSopt )
+ //
+ case 186:
+
+ //
+ // Rule 187: operationCallExpCS ::= DIVIDE isMarkedPreCS ( argumentsCSopt )
+ //
+ case 187:
+
+ //
+ // Rule 188: operationCallExpCS ::= GREATER isMarkedPreCS ( argumentsCSopt )
+ //
+ case 188:
+
+ //
+ // Rule 189: operationCallExpCS ::= LESS isMarkedPreCS ( argumentsCSopt )
+ //
+ case 189:
+
+ //
+ // Rule 190: operationCallExpCS ::= GREATER_EQUAL isMarkedPreCS ( argumentsCSopt )
+ //
+ case 190:
+
+ //
+ // Rule 191: operationCallExpCS ::= LESS_EQUAL isMarkedPreCS ( argumentsCSopt )
+ //
+ case 191:
+
+ //
+ // Rule 192: operationCallExpCS ::= and isMarkedPreCS ( argumentsCSopt )
+ //
+ case 192:
+
+ //
+ // Rule 193: operationCallExpCS ::= or isMarkedPreCS ( argumentsCSopt )
+ //
+ case 193:
+
+ //
+ // Rule 194: operationCallExpCS ::= xor isMarkedPreCS ( argumentsCSopt )
+ //
+ case 194:
+
+ //
+ // Rule 195: keywordOperationCallExpCS ::= keywordAsIdentifier isMarkedPreCS ( argumentsCSopt )
+ //
+ case 195: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.IDENTIFIER_LITERAL,
@@ -2113,9 +2476,9 @@
}
//
- // Rule 186: operationCallExpCS ::= oclIsInState isMarkedPreCS ( pathNameCSOpt )
+ // Rule 196: operationCallExpCS ::= oclIsInState isMarkedPreCS ( pathNameCSOpt )
//
- case 186: {
+ case 196: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.KEYWORD_LITERAL,
@@ -2138,9 +2501,9 @@
}
//
- // Rule 187: attrOrNavCallExpCS ::= simpleNameCS isMarkedPreCS
+ // Rule 197: attrOrNavCallExpCS ::= simpleNameCS isMarkedPreCS
//
- case 187: {
+ case 197: {
IsMarkedPreCS isMarkedPreCS = (IsMarkedPreCS)dtParser.getSym(2);
CSTNode result = createFeatureCallExpCS(
@@ -2158,9 +2521,9 @@
}
//
- // Rule 188: attrOrNavCallExpCS ::= keywordAsIdentifier isMarkedPreCS
+ // Rule 198: attrOrNavCallExpCS ::= keywordAsIdentifier isMarkedPreCS
//
- case 188: {
+ case 198: {
IsMarkedPreCS isMarkedPreCS = (IsMarkedPreCS)dtParser.getSym(2);
SimpleNameCS simpleNameCS = createSimpleNameCS(
@@ -2183,9 +2546,9 @@
}
//
- // Rule 189: isMarkedPreCS ::= $Empty
+ // Rule 199: isMarkedPreCS ::= $Empty
//
- case 189: {
+ case 199: {
CSTNode result = createIsMarkedPreCS(false);
setOffsets(result, getIToken(dtParser.getToken(1)));
@@ -2194,9 +2557,9 @@
}
//
- // Rule 190: isMarkedPreCS ::= @pre
+ // Rule 200: isMarkedPreCS ::= @pre
//
- case 190: {
+ case 200: {
CSTNode result = createIsMarkedPreCS(true);
setOffsets(result, getIToken(dtParser.getToken(1)));
@@ -2205,16 +2568,16 @@
}
//
- // Rule 191: argumentsCSopt ::= $Empty
+ // Rule 201: argumentsCSopt ::= $Empty
//
- case 191:
+ case 201:
dtParser.setSym1(new BasicEList());
break;
//
- // Rule 193: argumentsCS ::= oclExpressionCS
+ // Rule 203: argumentsCS ::= oclExpressionCS
//
- case 193: {
+ case 203: {
EList result = new BasicEList();
result.add(dtParser.getSym(1));
@@ -2223,9 +2586,9 @@
}
//
- // Rule 194: argumentsCS ::= argumentsCS , oclExpressionCS
+ // Rule 204: argumentsCS ::= argumentsCS , oclExpressionCS
//
- case 194: {
+ case 204: {
EList result = (EList)dtParser.getSym(1);
result.add(dtParser.getSym(3));
@@ -2234,9 +2597,9 @@
}
//
- // Rule 195: letExpCS ::= let variableCS letExpSubCSopt in oclExpressionCS
+ // Rule 205: letExpCS ::= let variableCS letExpSubCSopt in oclExpressionCS
//
- case 195: {
+ case 205: {
EList variables = (EList)dtParser.getSym(3);
variables.add(0, dtParser.getSym(2));
@@ -2250,16 +2613,16 @@
}
//
- // Rule 196: letExpSubCSopt ::= $Empty
+ // Rule 206: letExpSubCSopt ::= $Empty
//
- case 196:
+ case 206:
dtParser.setSym1(new BasicEList());
break;
//
- // Rule 198: letExpSubCS ::= , variableCS
+ // Rule 208: letExpSubCS ::= , variableCS
//
- case 198: {
+ case 208: {
EList result = new BasicEList();
result.add(dtParser.getSym(2));
@@ -2268,9 +2631,9 @@
}
//
- // Rule 199: letExpSubCS ::= letExpSubCS , variableCS
+ // Rule 209: letExpSubCS ::= letExpSubCS , variableCS
//
- case 199: {
+ case 209: {
EList result = (EList)dtParser.getSym(1);
result.add(dtParser.getSym(3));
@@ -2279,14 +2642,14 @@
}
//
- // Rule 200: messageExpCS ::= ^ simpleNameCS ( oclMessageArgumentsCSopt )
+ // Rule 210: messageExpCS ::= ^ simpleNameCS ( oclMessageArgumentsCSopt )
//
- case 200:
+ case 210:
//
- // Rule 201: messageExpCS ::= ^^ simpleNameCS ( oclMessageArgumentsCSopt )
+ // Rule 211: messageExpCS ::= ^^ simpleNameCS ( oclMessageArgumentsCSopt )
//
- case 201: {
+ case 211: {
CSTNode result = createMessageExpCS(
getIToken(dtParser.getToken(1)).getKind() == XpandParsersym.TK_CARET,
@@ -2299,16 +2662,16 @@
}
//
- // Rule 202: oclMessageArgumentsCSopt ::= $Empty
+ // Rule 212: oclMessageArgumentsCSopt ::= $Empty
//
- case 202:
+ case 212:
dtParser.setSym1(new BasicEList());
break;
//
- // Rule 204: oclMessageArgumentsCS ::= oclMessageArgCS
+ // Rule 214: oclMessageArgumentsCS ::= oclMessageArgCS
//
- case 204: {
+ case 214: {
EList result = new BasicEList();
result.add(dtParser.getSym(1));
@@ -2317,9 +2680,9 @@
}
//
- // Rule 205: oclMessageArgumentsCS ::= oclMessageArgumentsCS , oclMessageArgCS
+ // Rule 215: oclMessageArgumentsCS ::= oclMessageArgumentsCS , oclMessageArgCS
//
- case 205: {
+ case 215: {
EList result = (EList)dtParser.getSym(1);
result.add(dtParser.getSym(3));
@@ -2328,9 +2691,9 @@
}
//
- // Rule 206: oclMessageArgCS ::= oclExpressionCS
+ // Rule 216: oclMessageArgCS ::= oclExpressionCS
//
- case 206: {
+ case 216: {
CSTNode result = createOCLMessageArgCS(
null,
@@ -2342,9 +2705,9 @@
}
//
- // Rule 207: oclMessageArgCS ::= ?
+ // Rule 217: oclMessageArgCS ::= ?
//
- case 207: {
+ case 217: {
CSTNode result = createOCLMessageArgCS(
null,
@@ -2356,9 +2719,9 @@
}
//
- // Rule 208: oclMessageArgCS ::= ? : typeCS
+ // Rule 218: oclMessageArgCS ::= ? : typeCS
//
- case 208: {
+ case 218: {
CSTNode result = createOCLMessageArgCS(
(TypeCS)dtParser.getSym(3),
@@ -2370,9 +2733,211 @@
}
//
- // Rule 209: declarator ::= IDENTIFIER : typeCS
+ // Rule 219: qualifierList ::= $Empty
//
- case 209: {
+ case 219:
+ dtParser.setSym1(new BasicEList());
+ break;
+
+ //
+ // Rule 220: qualifierList ::= qualifierList qualifier
+ //
+ case 220: {
+
+ EList result = (EList) dtParser.getSym(1);
+ result.add(dtParser.getSym(2));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 221: qualifier ::= blackbox
+ //
+ case 221:
+
+ //
+ // Rule 222: qualifier ::= abstract
+ //
+ case 222:
+
+ //
+ // Rule 223: qualifier ::= static
+ //
+ case 223: {
+
+ CSTNode result = createSimpleNameCS(SimpleTypeEnum.KEYWORD_LITERAL, getTokenText(dtParser.getToken(1)));
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 224: colon_param_listOpt ::= $Empty
+ //
+ case 224:
+ dtParser.setSym1(new BasicEList());
+ break;
+
+ //
+ // Rule 225: colon_param_listOpt ::= : param_list
+ //
+ case 225: {
+
+ dtParser.setSym1(dtParser.getSym(2));
+ break;
+ }
+
+ //
+ // Rule 226: complete_signature ::= simple_signature colon_param_listOpt
+ //
+ case 226: {
+
+ SimpleSignatureCS simpleSignatureCS = (SimpleSignatureCS)dtParser.getSym(1);
+ EList<ParameterDeclarationCS> resultList = (EList<ParameterDeclarationCS>)dtParser.getSym(2);
+ CSTNode result = createCompleteSignatureCS(simpleSignatureCS, resultList);
+ result.setStartOffset(simpleSignatureCS.getStartOffset());
+ result.setEndOffset(getEndOffset(simpleSignatureCS.getEndOffset(), resultList));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 227: simple_signatureOpt ::= $Empty
+ //
+ case 227:
+ dtParser.setSym1(null);
+ break;
+
+ //
+ // Rule 229: simple_signature ::= ( param_listOpt )
+ //
+ case 229: {
+
+ CSTNode result = createSimpleSignatureCS((EList<ParameterDeclarationCS>)dtParser.getSym(2));
+ setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(3)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 230: param_listOpt ::= $Empty
+ //
+ case 230:
+ dtParser.setSym1(new BasicEList());
+ break;
+
+ //
+ // Rule 232: param_list ::= param_list qvtErrorToken
+ //
+ case 232: {
+
+ EList result = (EList)dtParser.getSym(1);
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 233: param_list ::= param_list , param
+ //
+ case 233: {
+
+ EList result = (EList)dtParser.getSym(1);
+ result.add(dtParser.getSym(3));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 234: param_list ::= param
+ //
+ case 234: {
+
+ EList result = new BasicEList();
+ result.add(dtParser.getSym(1));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 235: param ::= param_directionOpt IDENTIFIER : typespec
+ //
+ case 235: {
+
+ CSTNode result = createParameterDeclarationCS(
+ (DirectionKindCS)dtParser.getSym(1),
+ getIToken(dtParser.getToken(2)),
+ (TypeSpecCS)dtParser.getSym(4)
+ );
+ setOffsets(result, getIToken(dtParser.getToken(2)), (CSTNode)dtParser.getSym(4));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 236: param ::= param_directionOpt typespec
+ //
+ case 236: {
+
+ CSTNode result = createParameterDeclarationCS(
+ (DirectionKindCS)dtParser.getSym(1),
+ null,
+ (TypeSpecCS)dtParser.getSym(2)
+ );
+ setOffsets(result, (CSTNode)dtParser.getSym(2));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 237: param_directionOpt ::= $Empty
+ //
+ case 237:
+ dtParser.setSym1(null);
+ break;
+
+ //
+ // Rule 239: param_direction ::= in
+ //
+ case 239: {
+
+ CSTNode result = createDirectionKindCS(
+ DirectionKindEnum.IN
+ );
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 240: param_direction ::= out
+ //
+ case 240: {
+
+ CSTNode result = createDirectionKindCS(
+ DirectionKindEnum.OUT
+ );
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 241: param_direction ::= inout
+ //
+ case 241: {
+
+ CSTNode result = createDirectionKindCS(
+ DirectionKindEnum.INOUT
+ );
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 244: declarator1 ::= IDENTIFIER : typeCS
+ //
+ case 244: {
CSTNode result = createVariableCS(
getTokenText(dtParser.getToken(1)),
@@ -2385,9 +2950,9 @@
}
//
- // Rule 210: declarator ::= IDENTIFIER : typeCS = oclExpressionCS
+ // Rule 245: declarator1 ::= IDENTIFIER : typeCS = oclExpressionCS
//
- case 210: {
+ case 245: {
CSTNode result = createVariableCS(
getTokenText(dtParser.getToken(1)),
@@ -2400,9 +2965,9 @@
}
//
- // Rule 211: declarator ::= IDENTIFIER : typeCS := oclExpressionCS
+ // Rule 246: declarator1 ::= IDENTIFIER : typeCS := oclExpressionCS
//
- case 211: {
+ case 246: {
CSTNode result = createVariableCS(
getTokenText(dtParser.getToken(1)),
@@ -2415,9 +2980,9 @@
}
//
- // Rule 212: declarator ::= IDENTIFIER := oclExpressionCS
+ // Rule 247: declarator2 ::= IDENTIFIER := oclExpressionCS
//
- case 212: {
+ case 247: {
CSTNode result = createVariableCS(
getTokenText(dtParser.getToken(1)),
@@ -2430,9 +2995,123 @@
}
//
- // Rule 214: letExpSubCS3 ::= variableCS2
+ // Rule 248: typespec ::= typeCS
//
- case 214: {
+ case 248: {
+
+ CSTNode result = createTypeSpecCS(
+ (TypeCS)dtParser.getSym(1),
+ null
+ );
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 249: typespec ::= typeCS @ IDENTIFIER
+ //
+ case 249: {
+
+ CSTNode result = createTypeSpecCS(
+ (TypeCS)dtParser.getSym(1),
+ getIToken(dtParser.getToken(3))
+ );
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 253: scoped_identifier ::= typeCS2 :: IDENTIFIER
+ //
+ case 253: {
+
+ ScopedNameCS result = createScopedNameCS((TypeCS)dtParser.getSym(1), getTokenText(dtParser.getToken(3)));
+ setOffsets(result, (CSTNode) dtParser.getSym(1), getIToken(dtParser.getToken(3)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 254: scoped_identifier ::= typeCS2 :: qvtErrorToken
+ //
+ case 254: {
+
+ ScopedNameCS result = createScopedNameCS((TypeCS)dtParser.getSym(1), ""); //$NON-NLS-1$
+ setOffsets(result, (CSTNode) dtParser.getSym(1), getIToken(dtParser.getToken(2)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 255: scoped_identifier ::= scoped_identifier2
+ //
+ case 255: {
+
+ PathNameCS pathNameCS = (PathNameCS)dtParser.getSym(1);
+ String name = pathNameCS.getSequenceOfNames().remove(pathNameCS.getSequenceOfNames().size() - 1);
+ TypeCS typeCS = pathNameCS.getSequenceOfNames().isEmpty() ? null : pathNameCS;
+
+ ScopedNameCS result = createScopedNameCS(typeCS, name);
+
+ setOffsets(result, pathNameCS);
+
+ // reduce the region by the removed name element
+ pathNameCS.setEndOffset(pathNameCS.getEndOffset() - (name != null ? name.length() : 0) - 2);
+
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 256: scoped_identifier2 ::= IDENTIFIER
+ //
+ case 256: {
+
+ CSTNode result = createPathNameCS(getTokenText(dtParser.getToken(1)));
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 257: scoped_identifier2 ::= main
+ //
+ case 257: {
+
+ CSTNode result = createPathNameCS(getTokenText(dtParser.getToken(1)));
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 258: scoped_identifier2 ::= scoped_identifier2 :: IDENTIFIER
+ //
+ case 258: {
+
+ PathNameCS result = (PathNameCS)dtParser.getSym(1);
+ result = extendPathNameCS(result, getTokenText(dtParser.getToken(3)));
+ setOffsets(result, result, getIToken(dtParser.getToken(3)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 259: scoped_identifier2 ::= scoped_identifier2 :: qvtErrorToken
+ //
+ case 259: {
+
+ PathNameCS result = (PathNameCS)dtParser.getSym(1);
+ result = extendPathNameCS(result, "");
+ setOffsets(result, result, getIToken(dtParser.getToken(2)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 260: scoped_identifier_list ::= scoped_identifier
+ //
+ case 260: {
EList result = new BasicEList();
result.add(dtParser.getSym(1));
@@ -2441,9 +3120,9 @@
}
//
- // Rule 215: letExpSubCS3 ::= letExpSubCS3 , variableCS2
+ // Rule 261: scoped_identifier_list ::= scoped_identifier_list , scoped_identifier
//
- case 215: {
+ case 261: {
EList result = (EList)dtParser.getSym(1);
result.add(dtParser.getSym(3));
@@ -2452,105 +3131,54 @@
}
//
- // Rule 216: letExpCS ::= let letExpSubCS3 in oclExpressionCS
+ // Rule 264: qualifiedNameCS ::= qvtIdentifierCS
//
- case 216: {
+ case 264: {
- EList variables = (EList)dtParser.getSym(2);
- CSTNode result = createLetExpCS(
- variables,
- (OCLExpressionCS)dtParser.getSym(4)
- );
- setOffsets(result, getIToken(dtParser.getToken(1)), (CSTNode)dtParser.getSym(4));
- dtParser.setSym1(result);
- break;
- }
-
- //
- // Rule 217: letExpCS ::= let letExpSubCS3 in qvtErrorToken
- //
- case 217: {
-
- EList variables = (EList)dtParser.getSym(2);
- CSTNode result = createLetExpCS(
- variables,
- createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, "") //$NON-NLS-1$
- );
- setOffsets(result, getIToken(dtParser.getToken(1)), (CSTNode)dtParser.getSym(3));
- dtParser.setSym1(result);
- break;
- }
-
- //
- // Rule 219: qvtStringLiteralExpCS ::= QUOTE_STRING_LITERAL
- //
- case 219: {
-
- CSTNode result = createStringLiteralExpCS("'" + unquote(getTokenText(dtParser.getToken(1))) + "'"); //$NON-NLS-1$ //$NON-NLS-2$
+ CSTNode result = createPathNameCS(getTokenText(dtParser.getToken(1)));
setOffsets(result, getIToken(dtParser.getToken(1)));
dtParser.setSym1(result);
break;
}
//
- // Rule 222: qvtErrorToken ::= ERROR_TOKEN
+ // Rule 265: qualifiedNameCS ::= qualifiedNameCS . qvtIdentifierCS
//
- case 222: {
+ case 265: {
- diagnozeErrorToken(dtParser.getToken(1));
- break;
- }
-
- //
- // Rule 223: iterContents ::= variableCS | qvtErrorToken
- //
- case 223: {
-
- CSTNode fakeCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, ""); //$NON-NLS-1$
- setOffsets(fakeCS, getIToken(dtParser.getToken(3)));
- dtParser.setSym1(new Object[] {
- dtParser.getSym(1),
- null,
- fakeCS
- });
- break;
- }
-
- //
- // Rule 224: callExpCS ::= . qvtErrorToken
- //
- case 224: {
-
- CallExpCS result = TempFactory.eINSTANCE.createErrorCallExpCS();
- result.setAccessor(DotOrArrowEnum.DOT_LITERAL);
- setOffsets(result, getIToken(dtParser.getToken(1)));
+ PathNameCS result = (PathNameCS)dtParser.getSym(1);
+ result = extendPathNameCS(result, getTokenText(dtParser.getToken(3)));
+ setOffsets(result, result, getIToken(dtParser.getToken(3)));
dtParser.setSym1(result);
break;
}
//
- // Rule 225: callExpCS ::= -> qvtErrorToken
+ // Rule 266: qualifiedNameCS ::= qualifiedNameCS . qvtErrorToken
//
- case 225: {
+ case 266: {
- CallExpCS result = TempFactory.eINSTANCE.createErrorCallExpCS();
- result.setAccessor(DotOrArrowEnum.ARROW_LITERAL);
- setOffsets(result, getIToken(dtParser.getToken(1)));
+ PathNameCS result = (PathNameCS)dtParser.getSym(1);
+ result = extendPathNameCS(result, "");
+ setOffsets(result, result, getIToken(dtParser.getToken(2)));
dtParser.setSym1(result);
break;
}
//
- // Rule 226: argumentsCS ::= qvtErrorToken
+ // Rule 267: qualifiedNameCS ::= qualifiedNameCS qvtErrorToken
//
- case 226:
- dtParser.setSym1(new BasicEList());
- break;
-
+ case 267: {
+
+ PathNameCS result = (PathNameCS)dtParser.getSym(1);
+ dtParser.setSym1(result);
+ break;
+ }
+
//
- // Rule 229: ifExpCS ::= if oclExpressionCS then ifExpBodyCS else ifExpBodyCS endif
+ // Rule 269: ifExpCS ::= if oclExpressionCS then ifExpBodyCS else ifExpBodyCS endif
//
- case 229: {
+ case 269: {
CSTNode result = createIfExpCS(
(OCLExpressionCS)dtParser.getSym(2),
@@ -2563,9 +3191,9 @@
}
//
- // Rule 230: ifExpCS ::= if oclExpressionCS then ifExpBodyCS endif
+ // Rule 270: ifExpCS ::= if oclExpressionCS then ifExpBodyCS endif
//
- case 230: {
+ case 270: {
CSTNode result = createIfExpCS(
(OCLExpressionCS)dtParser.getSym(2),
@@ -2578,9 +3206,9 @@
}
//
- // Rule 231: ifExpCS ::= if oclExpressionCS then ifExpBodyCS else ifExpBodyCS qvtErrorToken
+ // Rule 271: ifExpCS ::= if oclExpressionCS then ifExpBodyCS else ifExpBodyCS qvtErrorToken
//
- case 231: {
+ case 271: {
CSTNode result = createIfExpCS(
(OCLExpressionCS)dtParser.getSym(2),
@@ -2593,9 +3221,9 @@
}
//
- // Rule 232: ifExpCS ::= if oclExpressionCS then ifExpBodyCS else qvtErrorToken
+ // Rule 272: ifExpCS ::= if oclExpressionCS then ifExpBodyCS else qvtErrorToken
//
- case 232: {
+ case 272: {
CSTNode result = createIfExpCS(
(OCLExpressionCS)dtParser.getSym(2),
@@ -2608,9 +3236,9 @@
}
//
- // Rule 233: ifExpCS ::= if oclExpressionCS then ifExpBodyCS qvtErrorToken
+ // Rule 273: ifExpCS ::= if oclExpressionCS then ifExpBodyCS qvtErrorToken
//
- case 233: {
+ case 273: {
CSTNode result = createIfExpCS(
(OCLExpressionCS)dtParser.getSym(2),
@@ -2623,9 +3251,9 @@
}
//
- // Rule 234: ifExpCS ::= if oclExpressionCS then qvtErrorToken
+ // Rule 274: ifExpCS ::= if oclExpressionCS then qvtErrorToken
//
- case 234: {
+ case 274: {
CSTNode result = createIfExpCS(
(OCLExpressionCS)dtParser.getSym(2),
@@ -2638,9 +3266,9 @@
}
//
- // Rule 235: ifExpCS ::= if oclExpressionCS qvtErrorToken
+ // Rule 275: ifExpCS ::= if oclExpressionCS qvtErrorToken
//
- case 235: {
+ case 275: {
CSTNode result = createIfExpCS(
(OCLExpressionCS)dtParser.getSym(2),
@@ -2653,9 +3281,9 @@
}
//
- // Rule 236: ifExpCS ::= if qvtErrorToken
+ // Rule 276: ifExpCS ::= if qvtErrorToken
//
- case 236: {
+ case 276: {
CSTNode result = createIfExpCS(
null,
@@ -2668,59 +3296,107 @@
}
//
- // Rule 248: iteratorExpCS ::= iteratorExpCSToken ( iterContents )
+ // Rule 278: letExpSubCS3 ::= variableCS2
//
- case 248: {
+ case 278: {
- SimpleNameCS simpleNameCS = createSimpleNameCS(
- SimpleTypeEnum.KEYWORD_LITERAL,
- getTokenText(dtParser.getToken(1))
- );
- setOffsets(simpleNameCS, getIToken(dtParser.getToken(1)));
- Object[] iterContents = (Object[])dtParser.getSym(3);
- CSTNode result = createIteratorExpCS(
- simpleNameCS,
- (VariableCS)iterContents[0],
- (VariableCS)iterContents[1],
- (OCLExpressionCS)iterContents[2]
- );
- setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(4)));
+ EList result = new BasicEList();
+ result.add(dtParser.getSym(1));
dtParser.setSym1(result);
break;
}
//
- // Rule 249: iteratorExpCS ::= iteratorExpCSToken ( iterContents qvtErrorToken
+ // Rule 279: letExpSubCS3 ::= letExpSubCS3 , variableCS2
//
- case 249: {
+ case 279: {
- SimpleNameCS simpleNameCS = createSimpleNameCS(
- SimpleTypeEnum.KEYWORD_LITERAL,
- getTokenText(dtParser.getToken(1))
- );
- setOffsets(simpleNameCS, getIToken(dtParser.getToken(1)));
- Object[] iterContents = (Object[])dtParser.getSym(3);
- CSTNode result = createIteratorExpCS(
- simpleNameCS,
- (VariableCS)iterContents[0],
- (VariableCS)iterContents[1],
- (OCLExpressionCS)iterContents[2]
- );
- setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(2)));
- for (int i = iterContents.length - 1; i >= 0; i--) {
- if (iterContents[i] instanceof CSTNode) {
- setOffsets(result, getIToken(dtParser.getToken(1)), (CSTNode) iterContents[i]);
- break;
- }
- }
+ EList result = (EList)dtParser.getSym(1);
+ result.add(dtParser.getSym(3));
dtParser.setSym1(result);
break;
}
//
- // Rule 250: iteratorExpCS ::= iteratorExpCSToken ( qvtErrorToken
+ // Rule 280: letExpCS ::= let letExpSubCS3 in oclExpressionCS
//
- case 250: {
+ case 280: {
+
+ EList variables = (EList)dtParser.getSym(2);
+ CSTNode result = createLetExpCS(
+ variables,
+ (OCLExpressionCS)dtParser.getSym(4)
+ );
+ setOffsets(result, getIToken(dtParser.getToken(1)), (CSTNode)dtParser.getSym(4));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 281: letExpCS ::= let letExpSubCS3 in qvtErrorToken
+ //
+ case 281: {
+
+ EList variables = (EList)dtParser.getSym(2);
+ CSTNode result = createLetExpCS(
+ variables,
+ createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, "") //$NON-NLS-1$
+ );
+ setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(3)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 282: iterContents ::= variableCS | qvtErrorToken
+ //
+ case 282: {
+
+ CSTNode fakeCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, ""); //$NON-NLS-1$
+ setOffsets(fakeCS, getIToken(dtParser.getToken(3)));
+ dtParser.setSym1(new Object[] {
+ dtParser.getSym(1),
+ null,
+ fakeCS
+ });
+ break;
+ }
+
+ //
+ // Rule 283: callExpCS ::= . qvtErrorToken
+ //
+ case 283: {
+
+ CallExpCS result = TempFactory.eINSTANCE.createErrorCallExpCS();
+ result.setAccessor(DotOrArrowEnum.DOT_LITERAL);
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 284: callExpCS ::= -> qvtErrorToken
+ //
+ case 284: {
+
+ CallExpCS result = TempFactory.eINSTANCE.createErrorCallExpCS();
+ result.setAccessor(DotOrArrowEnum.ARROW_LITERAL);
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 285: argumentsCS ::= qvtErrorToken
+ //
+ case 285:
+ dtParser.setSym1(new BasicEList());
+ break;
+
+ //
+ // Rule 298: iteratorExpCS ::= iteratorExpCSToken ( qvtErrorToken
+ //
+ case 298: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.KEYWORD_LITERAL,
@@ -2739,19 +3415,19 @@
}
//
- // Rule 251: operationCallExpCS ::= oclAsType isMarkedPreCS ( typeCS )
+ // Rule 299: operationCallExpCS ::= oclAsType isMarkedPreCS ( typeCS )
//
- case 251:
+ case 299:
//
- // Rule 252: operationCallExpCS ::= oclIsKindOf isMarkedPreCS ( typeCS )
+ // Rule 300: operationCallExpCS ::= oclIsKindOf isMarkedPreCS ( typeCS )
//
- case 252:
+ case 300:
//
- // Rule 253: operationCallExpCS ::= oclIsTypeOf isMarkedPreCS ( typeCS )
+ // Rule 301: operationCallExpCS ::= oclIsTypeOf isMarkedPreCS ( typeCS )
//
- case 253: {
+ case 301: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.IDENTIFIER_LITERAL,
@@ -2771,14 +3447,155 @@
}
//
- // Rule 263: imperativeIterateExpCS ::= imperativeIteratorExpCSToken12 ( imperativeIterContents12 )
+ // Rule 304: qvtErrorToken ::= ERROR_TOKEN
//
- case 263:
+ case 304: {
+
+ diagnozeErrorToken(dtParser.getToken(1));
+ break;
+ }
+
+ //
+ // Rule 305: equalityExpCS ::= equalityExpCS != relationalExpCS
+ //
+ case 305:
//
- // Rule 264: imperativeIterateExpCS ::= imperativeIteratorExpCSToken3 ( imperativeIterContents3 )
+ // Rule 306: equalityWithLet ::= equalityExpCS != relationalWithLet
//
- case 264: {
+ case 306: {
+
+ SimpleNameCS simpleNameCS = createSimpleNameCS(
+ SimpleTypeEnum.STRING_LITERAL,
+ OCLStandardLibraryUtil.getOperationName(PredefinedType.NOT_EQUAL)
+ );
+ setOffsets(simpleNameCS, getIToken(dtParser.getToken(2)));
+ EList args = new BasicEList();
+ args.add(dtParser.getSym(3));
+ CSTNode result = createOperationCallExpCS(
+ (OCLExpressionCS)dtParser.getSym(1),
+ simpleNameCS,
+ args
+ );
+ setOffsets(result, (CSTNode)dtParser.getSym(1), (CSTNode)dtParser.getSym(3));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 307: stringLiteralExpCS ::= stringLiteralExpCS STRING_LITERAL
+ //
+ case 307: {
+
+ StringLiteralExpCS result = (StringLiteralExpCS) dtParser.getSym(1);
+ result.setStringSymbol(result.getStringSymbol() + unescape(getIToken((dtParser.getToken(2)))));
+ IToken token = getIToken(dtParser.getToken(2));
+ int tokenLine = token.getLine();
+ setOffsets(result, result, token);
+ IToken prevToken = getParseStream().getTokenAt(token.getTokenIndex() - 1);
+ int prevTokenLine = prevToken.getLine();
+ if (prevTokenLine == tokenLine) {
+ reportError(lpg.lpgjavaruntime.ParseErrorCodes.INVALID_CODE, "", prevToken.getTokenIndex(), token.getTokenIndex(), "Multiline string literals must be located in different lines!"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 309: listTypeCS ::= List ( typeCS )
+ //
+ case 309: {
+
+ CSTNode result = createListTypeCS(
+ (TypeCS)dtParser.getSym(3)
+ );
+ setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(4)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 310: listLiteralCS ::= List { dictLiteralPartListCSopt }
+ //
+ case 310: {
+
+ CSTNode result = createDictLiteralExpCS((EList<DictLiteralPartCS>)dtParser.getSym(3));
+ setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(4)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 312: dictTypeCS ::= Dict ( typeCS , typeCS )
+ //
+ case 312: {
+
+ CSTNode result = createDictTypeCS((TypeCS)dtParser.getSym(3), (TypeCS)dtParser.getSym(5));
+ setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(6)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 313: dictLiteralCS ::= Dict { dictLiteralPartListCSopt }
+ //
+ case 313: {
+
+ CSTNode result = createDictLiteralExpCS((EList<DictLiteralPartCS>)dtParser.getSym(3));
+ setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(4)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 317: dictLiteralPartCS ::= literalSimpleCS = oclExpressionCS
+ //
+ case 317: {
+
+ CSTNode result = createDictLiteralPartCS((LiteralExpCS)dtParser.getSym(1), (OCLExpressionCS)dtParser.getSym(3));
+ setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(3)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 319: dictLiteralPartListCSopt ::= $Empty
+ //
+ case 319:
+ dtParser.setSym1(new BasicEList());
+ break;
+
+ //
+ // Rule 320: dictLiteralPartListCS ::= dictLiteralPartCS
+ //
+ case 320: {
+
+ EList result = new BasicEList();
+ result.add(dtParser.getSym(1));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 321: dictLiteralPartListCS ::= dictLiteralPartListCS , dictLiteralPartCS
+ //
+ case 321: {
+
+ EList result = (EList)dtParser.getSym(1);
+ result.add(dtParser.getSym(3));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 331: imperativeIterateExpCS ::= imperativeIteratorExpCSToken12 ( imperativeIterContents12 )
+ //
+ case 331:
+
+ //
+ // Rule 332: imperativeIterateExpCS ::= imperativeIteratorExpCSToken3 ( imperativeIterContents3 )
+ //
+ case 332: {
String opCode = getTokenText(dtParser.getToken(1));
SimpleNameCS simpleNameCS = createSimpleNameCS(
@@ -2807,9 +3624,9 @@
}
//
- // Rule 265: imperativeIterateExpCS ::= imperativeIteratorExpCSToken qvtErrorToken
+ // Rule 333: imperativeIterateExpCS ::= imperativeIteratorExpCSToken qvtErrorToken
//
- case 265: {
+ case 333: {
SimpleNameCS simpleNameCS = createSimpleNameCS(
SimpleTypeEnum.KEYWORD_LITERAL,
@@ -2829,9 +3646,9 @@
}
//
- // Rule 266: imperativeIterContents12 ::= oclExpressionCS
+ // Rule 334: imperativeIterContents12 ::= oclExpressionCS
//
- case 266: {
+ case 334: {
dtParser.setSym1(new Object[] {
ourEmptyEList,
@@ -2842,9 +3659,9 @@
}
//
- // Rule 267: imperativeIterContents12 ::= variableListCS | oclExpressionCS
+ // Rule 335: imperativeIterContents12 ::= variableListCS | oclExpressionCS
//
- case 267: {
+ case 335: {
dtParser.setSym1(new Object[] {
dtParser.getSym(1),
@@ -2855,9 +3672,9 @@
}
//
- // Rule 268: imperativeIterContents3 ::= variableListCS ; variableCS2 | oclExpressionCS
+ // Rule 336: imperativeIterContents3 ::= variableListCS ; variableCS2 | oclExpressionCS
//
- case 268: {
+ case 336: {
dtParser.setSym1(new Object[] {
dtParser.getSym(1),
@@ -2868,16 +3685,16 @@
}
//
- // Rule 269: exclamationOpt ::= $Empty
+ // Rule 337: exclamationOpt ::= $Empty
//
- case 269:
+ case 337:
dtParser.setSym1(null);
break;
//
- // Rule 271: declarator_vsep ::= IDENTIFIER |
+ // Rule 339: declarator_vsep ::= IDENTIFIER |
//
- case 271: {
+ case 339: {
CSTNode result = createVariableCS(
getTokenText(dtParser.getToken(1)),
@@ -2890,16 +3707,16 @@
}
//
- // Rule 272: declarator_vsepOpt ::= $Empty
+ // Rule 340: declarator_vsepOpt ::= $Empty
//
- case 272:
+ case 340:
dtParser.setSym1(null);
break;
//
- // Rule 274: callExpCS ::= -> featureCallExpCS exclamationOpt [ declarator_vsepOpt oclExpressionCS ]
+ // Rule 342: callExpCS ::= -> featureCallExpCS exclamationOpt [ declarator_vsepOpt oclExpressionCS ]
//
- case 274: {
+ case 342: {
String opCode = isTokenOfType(getIToken(dtParser.getToken(3)), XpandParsersym.TK_EXCLAMATION_MARK) ? "collectselectOne" : "collectselect"; //$NON-NLS-1$ //$NON-NLS-2$
SimpleNameCS simpleNameCS = createSimpleNameCS(
@@ -2921,9 +3738,9 @@
}
//
- // Rule 275: oclExpCS ::= oclExpCS exclamationOpt [ oclExpressionCS ]
+ // Rule 343: oclExpCS ::= oclExpCS exclamationOpt [ oclExpressionCS ]
//
- case 275: {
+ case 343: {
String opCode = isTokenOfType(getIToken(dtParser.getToken(2)), XpandParsersym.TK_EXCLAMATION_MARK) ? "selectOne" : "xselect"; //$NON-NLS-1$ //$NON-NLS-2$
SimpleNameCS simpleNameCS = createSimpleNameCS(
@@ -2945,9 +3762,9 @@
}
//
- // Rule 276: dotArrowExpCS ::= dotArrowExpCS . featureCallExpCS exclamationOpt [ oclExpressionCS ]
+ // Rule 344: dotArrowExpCS ::= dotArrowExpCS . featureCallExpCS exclamationOpt [ oclExpressionCS ]
//
- case 276: {
+ case 344: {
CallExpCS callExpCS = (CallExpCS)dtParser.getSym(3);
callExpCS.setSource((OCLExpressionCS)dtParser.getSym(1));
@@ -2975,55 +3792,39 @@
}
//
- // Rule 277: equalityExpCS ::= equalityExpCS != relationalExpCS
+ // Rule 345: oclExpCS ::= break
//
- case 277:
-
- //
- // Rule 278: equalityWithLet ::= equalityExpCS != relationalWithLet
- //
- case 278: {
+ case 345: {
- SimpleNameCS simpleNameCS = createSimpleNameCS(
- SimpleTypeEnum.STRING_LITERAL,
- OCLStandardLibraryUtil.getOperationName(PredefinedType.NOT_EQUAL)
- );
- setOffsets(simpleNameCS, getIToken(dtParser.getToken(2)));
- EList args = new BasicEList();
- args.add(dtParser.getSym(3));
- CSTNode result = createOperationCallExpCS(
- (OCLExpressionCS)dtParser.getSym(1),
- simpleNameCS,
- args
- );
- setOffsets(result, (CSTNode)dtParser.getSym(1), (CSTNode)dtParser.getSym(3));
- dtParser.setSym1(result);
- break;
- }
-
- //
- // Rule 280: newExpCS ::= new pathNameCS ( argumentsCSopt )
- //
- case 280: {
-
- OCLExpressionCS result = createNewRuleCallExpCS((PathNameCS) dtParser.getSym(2), (EList) dtParser.getSym(4));
- setOffsets(result, getIToken(dtParser.getToken(1)), getIToken(dtParser.getToken(5)));
+ OCLExpressionCS result = createBreakCS();
+ setOffsets(result, getIToken(dtParser.getToken(1)));
dtParser.setSym1(result);
break;
}
//
- // Rule 281: template ::= emptyTemplate
+ // Rule 346: oclExpCS ::= continue
//
- case 281: {
+ case 346: {
+
+ OCLExpressionCS result = createContinueCS();
+ setOffsets(result, getIToken(dtParser.getToken(1)));
+ dtParser.setSym1(result);
+ break;
+ }
+
+ //
+ // Rule 347: template ::= emptyTemplate
+ //
+ case 347: {
setResult(xpandFactory.createTemplate(Collections.EMPTY_LIST, Collections.EMPTY_LIST, Collections.EMPTY_LIST, Collections.EMPTY_LIST, getRightIToken()));
break;
}
//
- // Rule 284: template ::= LG commentTextPairAny imports extensionImports defineOrAroundSeq
+ // Rule 350: template ::= LG commentTextPairAny imports extensionImports defineOrAroundSeq
//
- case 284: {
+ case 350: {
List imports = (List) getRhsSym(3);
List extensionImports = (List) getRhsSym(4);
@@ -3043,9 +3844,9 @@
break;
}
//
- // Rule 285: defineOrAroundSeq ::= define TEXT commentTextPairAny defineOrAroundSuffix
+ // Rule 351: defineOrAroundSeq ::= define TEXT commentTextPairAny defineOrAroundSuffix
//
- case 285: {
+ case 351: {
List result = new LinkedList();
result.add(getRhsSym(1));
@@ -3054,9 +3855,9 @@
break;
}
//
- // Rule 286: defineOrAroundSeq ::= around TEXT commentTextPairAny defineOrAroundSuffix
+ // Rule 352: defineOrAroundSeq ::= around TEXT commentTextPairAny defineOrAroundSuffix
//
- case 286: {
+ case 352: {
List result = new LinkedList();
result.add(getRhsSym(1));
@@ -3065,25 +3866,25 @@
break;
}
//
- // Rule 287: defineOrAroundSuffix ::= $Empty
+ // Rule 353: defineOrAroundSuffix ::= $Empty
//
- case 287: {
+ case 353: {
setResult(Collections.EMPTY_LIST);
break;
}
//
- // Rule 293: imports ::= $Empty
+ // Rule 359: imports ::= $Empty
//
- case 293: {
+ case 359: {
setResult(Collections.EMPTY_LIST);
break;
}
//
- // Rule 294: imports ::= anImport imports
+ // Rule 360: imports ::= anImport imports
//
- case 294: {
+ case 360: {
List res = new LinkedList();
res.add(getRhsSym(1));
@@ -3092,25 +3893,25 @@
break;
}
//
- // Rule 295: anImport ::= IMPORT qvtStringLiteralExpCS TEXT commentTextPairAny
+ // Rule 361: anImport ::= IMPORT stringLiteralExpCS TEXT commentTextPairAny
//
- case 295: {
+ case 361: {
setResult(xpandFactory.createNamespaceImport(getLeftIToken(), (StringLiteralExpCS) getRhsSym(2)));
break;
}
//
- // Rule 296: extensionImports ::= $Empty
+ // Rule 362: extensionImports ::= $Empty
//
- case 296: {
+ case 362: {
setResult(Collections.EMPTY_LIST);
break;
}
//
- // Rule 297: extensionImports ::= anExtensionImport extensionImports
+ // Rule 363: extensionImports ::= anExtensionImport extensionImports
//
- case 297: {
+ case 363: {
List res = new LinkedList();
res.add(getRhsSym(1));
@@ -3119,49 +3920,49 @@
break;
}
//
- // Rule 298: anExtensionImport ::= EXTENSION pathNameCS TEXT commentTextPairAny
+ // Rule 364: anExtensionImport ::= EXTENSION pathNameCS TEXT commentTextPairAny
//
- case 298: {
+ case 364: {
setResult(xpandFactory.createImportDeclaration(getLeftIToken(), (PathNameCS) getRhsSym(2)));
break;
}
//
- // Rule 299: around ::= AROUND pointcut FOR typeCS sequence ENDAROUND
+ // Rule 365: around ::= AROUND pointcut FOR typeCS sequence ENDAROUND
//
- case 299: {
+ case 365: {
setResult(xpandFactory.createAround(getLeftIToken(), getRightIToken(), (Identifier) getRhsSym(2), Collections.<VariableCS>emptyList(), false, (TypeCS) getRhsSym(4), (List) getRhsSym(5)));
break;
}
//
- // Rule 300: around ::= AROUND pointcut LPAREN parametersList RPAREN FOR typeCS sequence ENDAROUND
+ // Rule 366: around ::= AROUND pointcut LPAREN parametersList RPAREN FOR typeCS sequence ENDAROUND
//
- case 300: {
+ case 366: {
setResult(xpandFactory.createAround(getLeftIToken(), getRightIToken(), (Identifier) getRhsSym(2), (List<VariableCS>) getRhsSym(4), false, (TypeCS) getRhsSym(7), (List) getRhsSym(8)));
break;
}
//
- // Rule 301: around ::= AROUND pointcut LPAREN parametersList COMMA MULTIPLY RPAREN FOR typeCS sequence ENDAROUND
+ // Rule 367: around ::= AROUND pointcut LPAREN parametersList COMMA MULTIPLY RPAREN FOR typeCS sequence ENDAROUND
//
- case 301: {
+ case 367: {
setResult(xpandFactory.createAround(getLeftIToken(), getRightIToken(), (Identifier) getRhsSym(2), (List<VariableCS>) getRhsSym(4), true, (TypeCS) getRhsSym(9), (List) getRhsSym(10)));
break;
}
//
- // Rule 302: around ::= AROUND pointcut LPAREN MULTIPLY RPAREN FOR typeCS sequence ENDAROUND
+ // Rule 368: around ::= AROUND pointcut LPAREN MULTIPLY RPAREN FOR typeCS sequence ENDAROUND
//
- case 302: {
+ case 368: {
setResult(xpandFactory.createAround(getLeftIToken(), getRightIToken(), (Identifier) getRhsSym(2), Collections.<VariableCS>emptyList(), true, (TypeCS) getRhsSym(7), (List) getRhsSym(8)));
break;
}
//
- // Rule 303: pointcut ::= MULTIPLY pointcutSuffix
+ // Rule 369: pointcut ::= MULTIPLY pointcutSuffix
//
- case 303: {
+ case 369: {
// FIXME: may use SimpleNameCS here, though need more sophisticated code to update end position
// SimpleNameCS simpleNameCS = createSimpleNameCS(SimpleTypeEnum.IDENTIFIER_LITERAL, getTokenText(getRhsTokenIndex(1)));
@@ -3174,9 +3975,9 @@
break;
}
//
- // Rule 304: pointcut ::= IDENTIFIER pointcutSuffix
+ // Rule 370: pointcut ::= IDENTIFIER pointcutSuffix
//
- case 304: {
+ case 370: {
Identifier res = xpandFactory.createIdentifier(getLeftIToken());
if (getRhsSym(2) != null) {
@@ -3186,17 +3987,17 @@
break;
}
//
- // Rule 305: pointcutSuffix ::= $Empty
+ // Rule 371: pointcutSuffix ::= $Empty
//
- case 305: {
+ case 371: {
setResult(null);
break;
}
//
- // Rule 307: pointcutSuffix ::= COLONCOLON pointcutSuffix
+ // Rule 373: pointcutSuffix ::= COLONCOLON pointcutSuffix
//
- case 307: {
+ case 373: {
Identifier res = xpandFactory.createIdentifier(getLeftIToken());
if (getRhsSym(2) != null) {
@@ -3206,25 +4007,25 @@
break;
}
//
- // Rule 308: define ::= DEFINE IDENTIFIER FOR typeCS sequence ENDDEFINE
+ // Rule 374: define ::= DEFINE IDENTIFIER FOR typeCS sequence ENDDEFINE
//
- case 308: {
+ case 374: {
setResult(xpandFactory.createDefinition(getLeftIToken(), getRightIToken(), getRhsIToken(2), Collections.<VariableCS>emptyList(), (TypeCS) getRhsSym(4), (List) getRhsSym(5)));
break;
}
//
- // Rule 309: define ::= DEFINE IDENTIFIER LPAREN parametersList RPAREN FOR typeCS sequence ENDDEFINE
+ // Rule 375: define ::= DEFINE IDENTIFIER LPAREN parametersList RPAREN FOR typeCS sequence ENDDEFINE
//
- case 309: {
+ case 375: {
setResult(xpandFactory.createDefinition(getLeftIToken(), getRightIToken(), getRhsIToken(2), (List<VariableCS>) getRhsSym(4), (TypeCS) getRhsSym(7), (List) getRhsSym(8)));
break;
}
//
- // Rule 310: parametersList ::= parameter
+ // Rule 376: parametersList ::= parameter
//
- case 310: {
+ case 376: {
VariableCS param = (VariableCS) getRhsSym(1);
LinkedList res = new LinkedList();
@@ -3233,9 +4034,9 @@
break;
}
//
- // Rule 311: parametersList ::= parametersList , parameter
+ // Rule 377: parametersList ::= parametersList , parameter
//
- case 311: {
+ case 377: {
VariableCS param = (VariableCS) getRhsSym(3);
LinkedList res = new LinkedList();
@@ -3245,9 +4046,9 @@
break;
}
//
- // Rule 313: parameter ::= typeCS IDENTIFIER
+ // Rule 379: parameter ::= typeCS IDENTIFIER
//
- case 313: {
+ case 379: {
VariableCS result = createVariableCS(getRhsIToken(2).toString(), (TypeCS) getRhsSym(1), null);
setOffsets(result, (TypeCS) getRhsSym(1), getRhsIToken(2));
@@ -3255,9 +4056,9 @@
break;
}
//
- // Rule 314: sequence ::= text sequenceSuffix
+ // Rule 380: sequence ::= text sequenceSuffix
//
- case 314: {
+ case 380: {
List res = new LinkedList();
res.addAll((List) getRhsSym(1));
@@ -3266,17 +4067,17 @@
break;
}
//
- // Rule 315: sequenceSuffix ::= $Empty
+ // Rule 381: sequenceSuffix ::= $Empty
//
- case 315: {
+ case 381: {
setResult(Collections.EMPTY_LIST);
break;
}
//
- // Rule 316: sequenceSuffix ::= statement text sequenceSuffix
+ // Rule 382: sequenceSuffix ::= statement text sequenceSuffix
//
- case 316: {
+ case 382: {
List res = new LinkedList();
res.add(getRhsSym(1));
@@ -3286,9 +4087,9 @@
break;
}
//
- // Rule 323: text ::= minusOpt TEXT textSuffix
+ // Rule 389: text ::= minusOpt TEXT textSuffix
//
- case 323: {
+ case 389: {
List res = new LinkedList();
res.add(xpandFactory.createTextStatement(getRhsIToken(2), (IToken) getRhsSym(1)));
@@ -3297,17 +4098,17 @@
break;
}
//
- // Rule 324: textSuffix ::= $Empty
+ // Rule 390: textSuffix ::= $Empty
//
- case 324: {
+ case 390: {
setResult(Collections.EMPTY_LIST);
break;
}
//
- // Rule 325: textSuffix ::= minusOpt TEXT textSuffix
+ // Rule 391: textSuffix ::= minusOpt TEXT textSuffix
//
- case 325: {
+ case 391: {
List res = new LinkedList();
res.add(xpandFactory.createTextStatement(getRhsIToken(2), (IToken) getRhsSym(1)));
@@ -3316,73 +4117,73 @@
break;
}
//
- // Rule 326: minusOpt ::= $Empty
+ // Rule 392: minusOpt ::= $Empty
//
- case 326: {
+ case 392: {
setResult(null);
break;
}
//
- // Rule 327: minusOpt ::= MINUS
+ // Rule 393: minusOpt ::= MINUS
//
- case 327: {
+ case 393: {
setResult(getLeftIToken());
break;
}
//
- // Rule 331: errorStatement ::= ERROR oclExpressionCS
+ // Rule 397: errorStatement ::= ERROR oclExpressionCS
//
- case 331: {
+ case 397: {
setResult(xpandFactory.createErrorStatement(getLeftIToken(), (OCLExpressionCS) getRhsSym(2)));
break;
}
//
- // Rule 332: expandStatement ::= EXPAND definitionName parameterListOpt
+ // Rule 398: expandStatement ::= EXPAND definitionName parameterListOpt
//
- case 332: {
+ case 398: {
setResult(xpandFactory.createExpandStatement(getLeftIToken(), (PathNameCS) getRhsSym(2), (List) getRhsSym(3), null, false, null));
break;
}
//
- // Rule 333: expandStatement ::= EXPAND definitionName parameterListOpt FOR oclExpressionCS
+ // Rule 399: expandStatement ::= EXPAND definitionName parameterListOpt FOR oclExpressionCS
//
- case 333: {
+ case 399: {
setResult(xpandFactory.createExpandStatement(getLeftIToken(), (PathNameCS) getRhsSym(2), (List) getRhsSym(3), (OCLExpressionCS) getRhsSym(5), false, null));
break;
}
//
- // Rule 334: expandStatement ::= EXPAND definitionName parameterListOpt FOREACH oclExpressionCS separatorOpt
+ // Rule 400: expandStatement ::= EXPAND definitionName parameterListOpt FOREACH oclExpressionCS separatorOpt
//
- case 334: {
+ case 400: {
setResult(xpandFactory.createExpandStatement(getLeftIToken(), (PathNameCS) getRhsSym(2), (List) getRhsSym(3), (OCLExpressionCS) getRhsSym(5), true, (OCLExpressionCS) getRhsSym(6)));
break;
}
//
- // Rule 335: parameterListOpt ::= $Empty
+ // Rule 401: parameterListOpt ::= $Empty
//
- case 335: {
+ case 401: {
setResult(Collections.EMPTY_LIST);
break;
}
//
- // Rule 336: parameterListOpt ::= LPAREN argumentsCS RPAREN
+ // Rule 402: parameterListOpt ::= LPAREN argumentsCS RPAREN
//
- case 336: {
+ case 402: {
setResult(getRhsSym(2));
break;
}
//
- // Rule 338: expressionStmt ::= oclExpressionCS
+ // Rule 404: expressionStmt ::= oclExpressionCS
//
- case 338: {
+ case 404: {
// XXX OCL CST doesn't keep track of line numbers, but we use them (perhaps, might refactor to stop using?)
int lineNumber = getLeftIToken().getLine();
@@ -3390,73 +4191,73 @@
break;
}
//
- // Rule 339: fileStatement ::= FILE oclExpressionCS identOpt sequence ENDFILE
+ // Rule 405: fileStatement ::= FILE oclExpressionCS identOpt sequence ENDFILE
//
- case 339: {
+ case 405: {
setResult(xpandFactory.createFileStatement(getLeftIToken(), getRightIToken(), (OCLExpressionCS) getRhsSym(2), (Identifier) getRhsSym(3), (List) getRhsSym(4)));
break;
}
//
- // Rule 340: identOpt ::= $Empty
+ // Rule 406: identOpt ::= $Empty
//
- case 340: {
+ case 406: {
setResult(null);
break;
}
//
- // Rule 341: identOpt ::= IDENTIFIER
+ // Rule 407: identOpt ::= IDENTIFIER
//
- case 341: {
+ case 407: {
setResult(xpandFactory.createIdentifier(getLeftIToken()));
break;
}
//
- // Rule 342: foreachStatement ::= FOREACH oclExpressionCS AS IDENTIFIER iteratorOpt separatorOpt sequence ENDFOREACH
+ // Rule 408: foreachStatement ::= FOREACH oclExpressionCS AS IDENTIFIER iteratorOpt separatorOpt sequence ENDFOREACH
//
- case 342: {
+ case 408: {
setResult(xpandFactory.createForEachStatement(getLeftIToken(), getRightIToken(), (OCLExpressionCS) getRhsSym(2), getRhsIToken(4), (OCLExpressionCS) getRhsSym(6), (IToken) getRhsSym(5), (List) getRhsSym(7)));
break;
}
//
- // Rule 343: iteratorOpt ::= $Empty
+ // Rule 409: iteratorOpt ::= $Empty
//
- case 343: {
+ case 409: {
setResult(null);
break;
}
//
- // Rule 344: iteratorOpt ::= ITERATOR IDENTIFIER
+ // Rule 410: iteratorOpt ::= ITERATOR IDENTIFIER
//
- case 344: {
+ case 410: {
setResult(getRightIToken());
break;
}
//
- // Rule 345: separatorOpt ::= $Empty
+ // Rule 411: separatorOpt ::= $Empty
//
- case 345: {
+ case 411: {
setResult(null);
break;
}
//
- // Rule 346: separatorOpt ::= SEPARATOR oclExpressionCS
+ // Rule 412: separatorOpt ::= SEPARATOR oclExpressionCS
//
- case 346: {
+ case 412: {
setResult(getRhsSym(2));
break;
}
//
- // Rule 347: ifStatement ::= IF oclExpressionCS sequence elseifAny elseOpt ENDIF
+ // Rule 413: ifStatement ::= IF oclExpressionCS sequence elseifAny elseOpt ENDIF
//
- case 347: {
+ case 413: {
IfStatement i = xpandFactory.createIfStatement(getLeftIToken(), (OCLExpressionCS) getRhsSym(2), (List) getRhsSym(3), null);
IfStatement elseIf = (IfStatement) getRhsSym(4);
@@ -3476,17 +4277,17 @@
break;
}
//
- // Rule 348: elseifAny ::= $Empty
+ // Rule 414: elseifAny ::= $Empty
//
- case 348: {
+ case 414: {
setResult(null);
break;
}
//
- // Rule 349: elseifAny ::= ELSEIF oclExpressionCS sequence elseifAny
+ // Rule 415: elseifAny ::= ELSEIF oclExpressionCS sequence elseifAny
//
- case 349: {
+ case 415: {
IfStatement elseIf = xpandFactory.createIfStatement(getLeftIToken(), (OCLExpressionCS) getRhsSym(2), (List) getRhsSym(3), null);
IfStatement restElseIf = (IfStatement) getRhsSym(4);
@@ -3495,49 +4296,49 @@
break;
}
//
- // Rule 350: elseOpt ::= $Empty
+ // Rule 416: elseOpt ::= $Empty
//
- case 350: {
+ case 416: {
setResult(null);
break;
}
//
- // Rule 351: elseOpt ::= ELSE sequence
+ // Rule 417: elseOpt ::= ELSE sequence
//
- case 351: {
+ case 417: {
setResult(xpandFactory.createIfStatement(getLeftIToken(), null, (List) getRhsSym(2), null));
break;
}
//
- // Rule 352: letStatement ::= LET oclExpressionCS AS IDENTIFIER sequence ENDLET
+ // Rule 418: letStatement ::= LET oclExpressionCS AS IDENTIFIER sequence ENDLET
//
- case 352: {
+ case 418: {
setResult(xpandFactory.createLetStatement(getLeftIToken(), getRightIToken(), (OCLExpressionCS) getRhsSym(2), getRhsIToken(4), (List) getRhsSym(5)));
break;
}
//
- // Rule 353: protectStatement ::= PROTECT CSTART oclExpressionCS CEND oclExpressionCS ID oclExpressionCS disabledOpt sequence ENDPROTECT
+ // Rule 419: protectStatement ::= PROTECT CSTART oclExpressionCS CEND oclExpressionCS ID oclExpressionCS disabledOpt sequence ENDPROTECT
//
- case 353: {
+ case 419: {
setResult(xpandFactory.createProtectStatement(getLeftIToken(), getRightIToken(), (OCLExpressionCS) getRhsSym(3), (OCLExpressionCS) getRhsSym(5), (OCLExpressionCS) getRhsSym(7), (IToken) getRhsSym(8), (List) getRhsSym(9)));
break;
}
//
- // Rule 354: disabledOpt ::= $Empty
+ // Rule 420: disabledOpt ::= $Empty
//
- case 354: {
+ case 420: {
setResult(null);
break;
}
//
- // Rule 355: disabledOpt ::= DISABLE
+ // Rule 421: disabledOpt ::= DISABLE
//
- case 355: {
+ case 421: {
setResult(getLeftIToken());
break;
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParserprs.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParserprs.java
index a55aed1..d54db93 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParserprs.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParserprs.java
@@ -18,24 +18,27 @@
public final static byte isKeyword[] = {0,
0,0,0,0,0,1,1,1,1,1,
1,1,1,1,0,0,0,0,0,0,
- 1,1,1,1,1,0,1,1,1,0,
+ 1,1,1,1,1,0,0,1,1,1,
+ 1,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,0,0,0,
- 0,1,1,1,1,1,1,0,0,0,
+ 0,0,1,1,1,1,1,1,1,1,
+ 1,1,0,1,1,1,1,1,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,1,1,0,0,0,
+ 0,0,0,1,0,0,0,1,1,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,1,1,1,0,0,0,0,0,
+ 0,0,0,0,1,1,1,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,1,1,1,1,1,
+ 0,0,0,0,0,0,1,1,1,1,
+ 1,1,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,1,1,
1,0,0,1,1,1,0,0,1,1,
- 0,0,1,1,0,0,0,0,0,0,
- 0,0,0,0,1,1,0,0,0,0,
- 0,0,0,1,1,1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,1,1,1,
- 0,0,0,0,1,1,1
+ 1,1,0,0,0,0,0,0,1,0,
+ 0,1,1,1,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,1,1,1,0,0,0,
+ 0,1,1,1,0,0,0,0
};
};
public final static byte isKeyword[] = IsKeyword.isKeyword;
@@ -45,466 +48,527 @@
public final static short baseCheck[] = {0,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,3,3,1,
- 1,3,3,3,3,3,3,1,1,3,
- 3,3,3,1,1,3,3,3,3,3,
- 3,3,3,1,1,1,3,3,3,3,
- 1,1,3,3,3,3,1,1,2,2,
- 1,2,2,4,6,1,1,1,1,3,
- 2,2,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,3,0,1,1,1,
- 1,1,1,1,3,3,4,1,1,1,
- 1,1,0,1,1,3,1,1,3,2,
- 3,1,1,1,1,1,4,1,1,1,
- 1,1,1,1,1,2,2,2,2,1,
- 1,1,3,5,6,8,1,3,5,3,
+ 1,1,1,1,1,1,3,3,1,1,
+ 3,3,3,3,3,3,1,1,3,3,
+ 3,3,1,1,3,3,3,3,3,3,
+ 3,3,1,1,1,3,3,3,3,1,
+ 1,3,3,3,3,1,1,2,2,1,
+ 2,2,4,6,1,1,1,1,3,2,
+ 2,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,3,0,1,1,1,1,
+ 1,1,1,3,3,4,1,1,1,1,
+ 1,0,1,1,3,1,1,3,2,3,
+ 1,1,1,1,1,4,1,1,1,1,
+ 1,1,1,1,2,2,2,2,1,1,
+ 4,4,4,4,4,4,4,4,4,4,
+ 4,1,3,5,6,8,1,3,5,3,
1,1,1,1,4,4,0,1,1,3,
1,1,3,3,1,1,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,2,2,0,1,
0,1,1,3,5,0,1,2,3,5,
- 5,0,1,1,3,1,1,3,3,5,
- 5,3,1,1,3,4,4,1,1,1,
- 1,1,3,2,2,1,3,1,7,5,
- 7,6,5,4,3,2,1,1,1,1,
- 1,1,1,1,1,1,1,4,4,3,
- 5,5,5,1,1,1,1,1,1,1,
- 1,1,4,4,2,1,3,5,0,1,
- 2,0,1,7,5,7,3,3,1,5,
- 1,0,3,5,4,4,0,1,0,1,
- 0,2,0,2,4,0,2,4,6,9,
- 11,9,2,2,0,1,2,6,9,1,
- 3,1,2,2,0,3,1,1,1,1,
- 1,1,3,0,3,0,1,1,1,1,
- 2,3,5,6,0,3,1,1,5,0,
- 1,8,0,2,0,2,6,0,4,0,
- 2,6,10,0,1,-54,0,0,0,0,
+ 5,0,1,1,3,1,1,3,0,2,
+ 1,1,1,0,2,2,0,1,3,0,
+ 1,2,3,1,4,2,0,1,1,1,
+ 1,1,1,3,5,5,3,1,3,1,
+ 1,1,3,3,1,1,1,3,3,1,
+ 3,1,0,1,3,3,2,1,7,5,
+ 7,6,5,4,3,2,1,1,3,4,
+ 4,3,2,2,1,3,1,1,1,1,
+ 1,1,1,1,1,1,1,3,5,5,
+ 5,1,1,1,3,3,2,1,4,4,
+ 1,6,4,1,1,1,3,1,0,1,
+ 3,1,1,1,1,1,1,1,1,1,
+ 4,4,2,1,3,5,0,1,2,0,
+ 1,7,5,7,1,1,1,0,3,5,
+ 4,4,0,1,0,1,0,2,0,2,
+ 4,0,2,4,6,9,11,9,2,2,
+ 0,1,2,6,9,1,3,1,2,2,
+ 0,3,1,1,1,1,1,1,3,0,
+ 3,0,1,1,1,1,2,3,5,6,
+ 0,3,1,1,5,0,1,8,0,2,
+ 0,2,6,0,4,0,2,6,10,0,
+ 1,-58,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-167,0,
+ 0,0,0,0,-190,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-2,0,0,0,-182,0,0,0,
+ 0,0,0,0,0,-139,0,0,0,-173,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-168,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-159,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-11,0,0,0,-152,0,0,
+ 0,0,0,0,0,-69,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-193,0,0,-174,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -156,0,-9,-14,0,0,0,-28,0,-160,
- 0,0,-13,0,0,0,0,0,-161,0,
- -15,-16,0,0,0,-163,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-165,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-157,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-2,-9,0,0,-211,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -18,0,0,-201,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-14,0,0,-216,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-19,0,0,
- -203,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-15,-16,
+ 0,0,-217,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-23,0,0,-208,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-18,-19,0,0,
+ -218,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-26,0,0,-209,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-23,-26,0,0,-219,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-36,0,
- 0,-210,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-36,-37,0,0,-220,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-37,0,0,-211,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -38,-39,0,0,-221,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-38,0,0,-212,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-40,-41,
+ 0,0,-222,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-39,
- 0,0,-213,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-42,-43,0,0,
+ -223,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-40,0,0,-214,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-44,-46,0,0,-224,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-41,0,0,-215,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-48,-50,0,0,-225,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -42,0,0,-216,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -57,-59,0,0,-226,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-44,0,0,
- -217,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-61,-62,
+ 0,0,-227,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-46,0,0,-218,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-64,-66,0,0,
+ -228,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-48,0,0,-219,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-67,-92,0,0,-229,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-53,0,
- 0,-220,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-93,-94,0,0,-236,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-55,0,0,-221,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ -96,-97,0,0,-240,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-57,0,0,-228,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-285,-98,
+ 0,0,-323,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-58,
- 0,0,-229,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-99,-354,0,0,
+ -332,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-101,0,0,-311,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-6,-321,0,-29,0,-13,-30,
+ 0,0,-8,0,0,0,0,0,0,0,
+ -32,0,0,0,0,-346,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-43,0,0,-320,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-11,
+ -4,0,0,0,0,-7,0,0,0,-12,
+ 0,0,-164,0,-24,-100,0,0,0,-45,
+ 0,0,-347,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-60,
- 0,0,-87,0,0,-66,0,0,0,-88,
- -183,-45,-185,-3,-62,0,-322,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-191,0,0,0,-101,
+ -102,-103,0,0,0,-106,0,-28,0,-107,
+ 0,0,-17,0,0,0,-3,0,0,-110,
+ 0,-168,0,0,-111,0,-112,0,0,-363,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -29,0,0,-30,0,-124,0,0,0,0,
- 0,-323,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-364,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-90,0,0,-355,0,0,
- -6,0,0,0,0,0,0,0,-4,-7,
- 0,0,-12,0,-5,0,-126,-199,0,-17,
- -187,0,0,-324,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,-113,0,0,0,-210,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-91,0,0,-8,-92,
- -93,0,0,0,0,0,0,0,0,0,
- -94,-95,-96,0,0,-340,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-171,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-99,
- 0,0,-341,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-114,-115,
+ -116,-117,0,-282,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-202,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-420,-365,0,
+ -317,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-63,0,0,0,0,0,0,
+ 0,0,0,-70,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -127,0,-271,0,0,0,0,0,0,0,
+ -47,0,0,-335,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-191,0,-307,0,
+ 0,0,0,0,0,0,-118,-109,0,-135,
+ -121,0,0,0,0,0,-131,-5,0,0,
+ -336,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-10,-20,-119,0,
+ 0,0,-133,0,0,-195,0,-337,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,-207,-100,0,-103,-104,0,0,-105,0,
- -106,-107,-108,-109,-110,0,0,-111,-112,-113,
- -121,-125,-128,-129,0,0,-337,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -64,0,0,0,0,0,0,0,0,0,
+ 0,-199,-21,0,-338,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-67,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-169,0,0,
+ -22,0,-27,-120,0,0,0,-283,-128,0,
+ 0,-339,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-198,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-208,-132,0,0,-136,0,
+ 0,0,0,-290,-137,-138,-357,0,-340,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-312,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-374,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-376,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-130,-131,
- -133,-134,-135,-136,-137,-138,-139,-140,-141,-142,
- -143,-144,-145,-146,-147,0,-49,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-65,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-116,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-117,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-118,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-119,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-120,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-178,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -179,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-189,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-200,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-224,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-259,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-280,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-305,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-306,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-326,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-327,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -328,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-333,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-335,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,-339,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,-367,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,-370,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-372,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,-377,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-380,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,-388,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- -389,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-390,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-174,0,0,0,
+ 0,-140,0,0,-402,-141,0,0,0,0,
+ 0,0,-392,-189,0,-341,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-175,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-244,
+ 0,-142,0,-143,-144,0,0,0,-393,-145,
+ -206,0,-342,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-176,0,0,0,0,0,
+ 0,0,0,0,0,0,-146,0,-250,-147,
+ -148,0,0,0,-411,0,-149,-424,0,-343,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-177,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,-150,-151,0,-152,-153,0,0,0,
+ 0,0,0,-154,0,0,-344,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -169,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-155,
+ -156,0,-157,-158,-161,-163,-170,-192,-194,-196,
+ -198,-292,0,-345,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,-170,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-200,0,-202,
+ -203,-204,-205,-230,-231,-234,-235,-237,-238,0,
+ -360,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -171,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,-172,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,-173,0,
+ 0,0,0,-239,-241,-242,-243,0,-72,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,-165,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-207,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-166,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-324,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-164,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,-225,0,0,0,0,0,0,
+ -407,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- -159,0,-24,-114,0,0,0,0,-31,0,
- 0,0,-148,-149,-34,0,0,0,-150,-151,
- -25,-122,-158,0,-154,-155,0,0,0,0,
- 0,-47,0,0,0,-32,0,0,0,-162,
- -115,-33,0,0,-68,-319,-102,-56,0,0,
- 0,-184,-186,0,0,0,0,0,-233,0,
- -188,0,0,0,0,0,0,0,0,0,
- 0,0,0,-35,0,0,0,0,0,0,
- 0,-190,0,0,0,0,0,0,0,0,
- 0,0,0,-342,0,0,0,0,0,-192,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,-50,0,0,0,-194,0,
- 0,0,0,-51,0,0,0,-59,0,0,
- 0,-61,0,0,0,-123,0,0,0,-180,
- 0,0,0,-193,0,0,0,-204,0,0,
- 0,-205,0,0,0,-206,0,0,0,0,
- 0,0,0,0,-375,0,0,0,-52,-153,
- 0,0,0,-1,0,0,0,-181,0,0,
- 0,-272,0,0,0,-279,0,0,0,-334,
- 0,0,0,-359,0,0,0,-360,0,0,
- 0,-378,0,0,0,-391,-332,-277,-308,0,
- 0,0,0,0,-274,-10,-20,-21,-69,-22,
- 0,0,-27,-70,0,-356,-331,0,-379,0,
- -71,0,0,-72,0,0,0,-73,0,0,
- 0,-74,0,0,0,-75,0,0,0,-76,
- 0,0,0,-77,0,0,0,0,0,-78,
- 0,-79,0,0,-80,-81,0,0,0,0,
- 0,0,0,0,0,-82,0,0,-83,-84,
- -85,0,-86,-89,-97,0,-98,-197,-132,0,
- -234,0,-235,0,0,-239,-236,0,-237,-238,
- -240,-281,-241,0,-284,0,0,-321,0,0,
- -369,-349,-363,-387,-371,-373,0,-195,-196,0,
- 0,-222,0,0,0,-223,0,0,0,0,
- 0,0,-226,-227,0,-230,0,-231,-232,0,
- 0,-242,0,0,0,0,-243,0,0,-244,
- -245,-246,-247,0,0,0,0,-248,-249,0,
- -250,-251,-252,-253,-254,0,0,0,-255,-256,
- -257,-258,-260,-261,-262,-263,-264,-265,-266,-267,
- -268,-269,-270,-273,-275,-276,-278,-282,-283,-285,
- -286,-287,-288,-289,-290,-291,-292,-293,-294,-295,
- -296,-297,-298,-299,-300,-301,-302,-303,-304,-309,
- -310,-313,-314,-315,-316,-317,-318,-325,-329,-330,
- -336,-338,-343,-344,-345,-346,-347,-348,-350,-351,
- -352,-353,-354,-357,-358,-361,-362,0,-364,-365,
- -366,-368,-381,-382,-383,-384,-385,-386,-392,-393,
- 0
+ 0,0,0,0,-409,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-253,-254,-255,
+ -256,-257,-258,-259,-260,-261,-262,-263,-264,-265,
+ -266,-267,-268,-269,-271,-272,-273,-274,-275,0,
+ -53,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-71,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-123,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-124,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-125,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-126,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-127,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-186,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-187,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-197,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -209,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-232,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-270,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-291,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-315,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-316,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-320,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-349,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-350,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-351,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -356,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-358,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-362,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-400,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,-403,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-405,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-410,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-413,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-421,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-422,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ -423,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-182,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-183,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-184,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-185,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-175,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-176,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-177,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,-178,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,-179,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-180,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,-181,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-233,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,-167,0,
+ -276,-277,0,0,0,-412,0,-31,0,0,
+ 0,-252,-35,0,0,0,-278,-279,-215,-355,
+ 0,-73,-1,-280,-333,-34,0,0,0,-281,
+ -49,0,0,0,-284,-162,-286,-287,-108,-74,
+ -289,0,0,-75,0,0,0,0,0,0,
+ -51,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-60,0,0,0,0,0,
+ 0,0,0,-331,0,0,0,0,-76,-293,
+ 0,-25,0,0,0,0,0,0,0,-166,
+ 0,0,0,0,0,0,-295,0,-52,0,
+ 0,0,-294,-296,0,-54,0,0,0,0,
+ 0,-297,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,-298,0,-55,0,
+ 0,0,0,-63,0,0,0,0,-65,0,
+ 0,0,-122,0,0,0,0,0,0,0,
+ 0,0,-299,0,0,0,0,0,-130,0,
+ 0,0,0,0,-134,0,0,0,-300,-188,
+ 0,0,0,-301,-302,-303,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,-201,0,0,0,0,-212,0,0,0,
+ -304,-213,0,0,0,-305,0,0,0,0,
+ 0,-68,0,0,0,0,0,0,0,0,
+ 0,0,-214,0,0,0,-33,-408,0,0,
+ 0,-129,-288,-306,-388,-56,-160,-318,-307,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,-77,-389,0,-78,-79,-80,
+ -81,-82,-83,-84,-85,-86,-87,-88,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,-89,0,0,-90,-91,0,-95,
+ -104,-105,-245,-246,0,0,0,-247,0,0,
+ -248,0,0,0,0,0,0,0,0,0,
+ 0,0,-249,-251,-308,-334,-396,-404,-406,-309,
+ -310,-311,-312,-313,0,0,0,0,-314,-319,
+ 0,0,0,0,0,0,0,0,-322,-325,
+ -326,0,0,-327,0,0,-328,-329,-330,-348,
+ -352,-353,-359,0,-361,-366,0,0,0,0,
+ -367,-368,0,0,-369,-370,-371,-372,-373,-374,
+ -375,-376,-377,-378,-379,-380,-381,-382,-383,-384,
+ -385,-386,-387,-390,-391,-394,-395,-397,-398,-399,
+ -401,-414,-415,-416,-417,-418,-419,-425,-426,0
};
};
public final static short baseCheck[] = BaseCheck.baseCheck;
@@ -514,468 +578,530 @@
public interface BaseAction {
public final static char baseAction[] = {
- 93,5,5,5,5,5,5,5,5,5,
+ 100,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,
- 5,5,6,6,40,40,41,42,41,42,
- 38,39,38,38,38,39,39,39,36,37,
- 36,37,36,37,34,35,34,35,34,35,
- 34,35,34,35,31,33,32,33,32,33,
- 32,29,30,29,30,29,30,10,27,10,
- 10,11,11,11,11,11,12,12,12,12,
- 12,13,13,4,4,4,1,1,1,1,
- 1,1,1,1,1,2,2,96,96,14,
- 14,14,14,14,14,15,15,16,3,3,
- 3,3,3,97,97,98,98,66,66,67,
- 67,67,18,18,18,18,18,17,21,22,
- 23,9,24,24,19,20,94,94,94,94,
- 100,100,103,103,103,102,102,52,52,52,
- 55,47,47,47,47,49,48,104,104,59,
- 59,99,99,99,99,68,68,68,68,7,
- 7,7,7,7,7,7,7,7,7,7,
- 7,7,7,7,7,8,7,69,69,44,
- 44,46,46,45,45,28,105,105,106,106,
- 95,95,70,70,71,71,60,60,60,56,
- 56,56,56,12,107,107,28,28,108,108,
- 126,126,43,103,94,94,45,45,72,25,
- 25,25,25,25,25,25,25,109,109,109,
- 109,109,109,109,109,109,109,109,101,101,
- 101,7,7,7,100,111,111,111,111,112,
- 112,113,113,110,110,110,114,114,115,61,
- 61,116,117,117,94,12,11,36,37,12,
- 26,93,118,118,93,62,62,75,75,127,
- 127,54,54,73,73,76,74,74,77,64,
- 64,64,64,57,57,65,65,65,63,63,
- 78,78,58,58,53,79,79,80,80,80,
- 80,80,80,51,87,87,50,50,81,81,
- 81,88,89,89,89,120,120,119,90,82,
- 121,121,83,122,122,91,91,84,92,92,
- 123,123,85,86,124,124,1,83,1880,1623,
- 4447,4445,4205,78,79,125,61,1527,4207,76,
- 77,99,100,101,102,103,104,122,123,124,
- 126,213,279,62,68,2095,56,44,45,2096,
- 2101,39,2099,31,2103,27,338,2102,25,2126,
- 83,1880,1623,4447,4445,4205,78,79,125,61,
- 1527,4207,76,77,99,100,101,102,103,104,
- 122,123,124,126,213,279,62,68,2095,56,
- 44,45,2096,4535,278,314,4164,317,318,319,
- 320,321,322,2018,328,329,330,1,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,2103,27,338,2102,25,
- 2126,83,1880,1623,4447,4445,4205,78,79,125,
- 61,1527,4207,76,77,99,100,101,102,103,
- 104,122,123,124,126,213,279,62,68,2095,
- 56,44,45,2096,4536,43,316,4164,317,318,
- 319,320,321,322,3,328,329,330,1711,83,
- 1880,1623,4447,4445,4205,78,79,125,61,1527,
- 4207,76,77,99,100,101,102,103,104,122,
- 123,124,126,213,279,62,68,2095,56,44,
- 45,2096,2101,39,2099,31,2103,27,4486,2102,
- 25,2720,83,2019,2858,4496,22,105,2824,83,
- 2824,83,96,103,4531,728,284,602,601,2824,
- 83,2863,2867,4532,115,117,2126,83,1880,1623,
- 4447,4445,4205,78,79,125,65,1527,4207,76,
- 77,99,100,101,102,103,104,122,123,124,
- 126,213,279,66,68,4482,4493,124,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,2103,27,193,2102,25,
- 226,110,4499,4498,193,83,1880,1623,4447,4445,
- 4205,78,79,125,61,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,62,68,2095,56,44,45,2096,2101,39,
- 2099,31,2103,27,193,2102,25,226,1791,4499,
- 4549,262,83,1880,1623,4447,4445,4205,78,79,
- 125,61,1527,4207,76,77,99,100,101,102,
- 103,104,122,123,124,126,213,279,62,68,
- 2095,56,44,45,2096,2101,39,2099,31,2103,
- 27,193,2102,25,226,1787,4499,4550,331,83,
- 1880,1623,4447,4445,4205,78,79,125,61,1527,
- 4207,76,77,99,100,101,102,103,104,122,
- 123,124,126,213,279,62,68,2095,56,44,
- 45,2096,2101,39,2099,31,2103,27,193,2102,
- 25,226,2032,4499,4556,400,83,1880,1623,4447,
- 4445,4205,78,79,125,61,1527,4207,76,77,
- 99,100,101,102,103,104,122,123,124,126,
- 213,279,62,68,2095,56,44,45,2096,2101,
- 39,2099,31,2103,27,193,2102,25,226,71,
- 4499,4557,469,83,1880,1623,4447,4445,4205,78,
- 79,125,61,1527,4207,76,77,99,100,101,
- 102,103,104,122,123,124,126,213,279,62,
- 68,2095,56,44,45,2096,2101,39,2099,31,
- 2103,27,193,2102,25,226,2624,4499,4558,538,
- 83,1880,1623,4447,4445,4205,78,79,125,61,
- 1527,4207,76,77,99,100,101,102,103,104,
- 122,123,124,126,213,279,62,68,2095,56,
- 44,45,2096,2101,39,2099,31,2103,27,193,
- 2102,25,226,2034,4499,4559,607,83,1880,1623,
- 4447,4445,4205,78,79,125,61,1527,4207,76,
- 77,99,100,101,102,103,104,122,123,124,
- 126,213,279,62,68,2095,56,44,45,2096,
- 2101,39,2099,31,2103,27,193,2102,25,226,
- 2695,4499,4560,676,83,1880,1623,4447,4445,4205,
- 78,79,125,61,1527,4207,76,77,99,100,
- 101,102,103,104,122,123,124,126,213,279,
- 62,68,2095,56,44,45,2096,2101,39,2099,
- 31,2103,27,193,2102,25,226,84,4499,4561,
- 745,83,1880,1623,4447,4445,4205,78,79,125,
- 61,1527,4207,76,77,99,100,101,102,103,
- 104,122,123,124,126,213,279,62,68,2095,
- 56,44,45,2096,2101,39,2099,31,2103,27,
- 193,2102,25,226,95,4499,4562,814,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,2103,27,193,2102,25,
- 226,116,4499,4563,883,83,1880,1623,4447,4445,
- 4205,78,79,125,61,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,62,68,2095,56,44,45,2096,2101,39,
- 2099,31,2103,27,193,2102,25,226,2746,4499,
- 4564,952,83,1880,1623,4447,4445,4205,78,79,
- 125,61,1527,4207,76,77,99,100,101,102,
- 103,104,122,123,124,126,213,279,62,68,
- 2095,56,44,45,2096,2101,39,2099,31,2103,
- 27,193,2102,25,226,1790,4499,4565,1021,83,
- 1880,1623,4447,4445,4205,78,79,125,61,1527,
- 4207,76,77,99,100,101,102,103,104,122,
- 123,124,126,213,279,62,68,2095,56,44,
- 45,2096,2101,39,2099,31,2103,27,193,2102,
- 25,226,2638,4499,4566,1090,83,1880,1623,4447,
- 4445,4205,78,79,125,61,1527,4207,76,77,
- 99,100,101,102,103,104,122,123,124,126,
- 213,279,62,68,2095,56,44,45,2096,2101,
- 39,2099,31,2103,27,193,2102,25,226,2024,
- 4499,4567,1159,83,1880,1623,4447,4445,4205,78,
- 79,125,61,1527,4207,76,77,99,100,101,
- 102,103,104,122,123,124,126,213,279,62,
- 68,2095,56,44,45,2096,2101,39,2099,31,
- 2103,27,193,2102,25,226,2869,4499,4568,1228,
- 83,1880,1623,4447,4445,4205,78,79,125,61,
- 1527,4207,76,77,99,100,101,102,103,104,
- 122,123,124,126,213,279,62,68,2095,56,
- 44,45,2096,2101,39,2099,31,2103,27,193,
- 2102,25,226,2649,4499,4569,1297,83,1880,1623,
- 4447,4445,4205,78,79,125,61,1527,4207,76,
- 77,99,100,101,102,103,104,122,123,124,
- 126,213,279,62,68,2095,56,44,45,2096,
- 2101,39,2099,31,2103,27,193,2102,25,226,
- 2625,4499,4570,1366,83,1880,1623,4447,4445,4205,
- 78,79,125,61,1527,4207,76,77,99,100,
- 101,102,103,104,122,123,124,126,213,279,
- 62,68,2095,56,44,45,2096,2101,39,2099,
- 31,2103,27,193,2102,25,226,1779,4499,4571,
- 1435,83,1880,1623,4447,4445,4205,78,79,125,
- 61,1527,4207,76,77,99,100,101,102,103,
- 104,122,123,124,126,213,279,62,68,2095,
- 56,44,45,2096,2101,39,2099,31,2103,27,
- 193,2102,25,226,2661,4499,4582,2276,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,2103,27,266,2102,25,
- 118,72,73,2663,1386,356,103,1339,2410,159,
- 2665,2957,2661,2687,2577,2111,4586,1875,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,2103,27,142,2102,25,
- 250,2013,1386,356,2013,1480,2661,2001,1749,4589,
- 214,4585,1944,83,1880,1623,4447,4445,4205,78,
- 79,125,61,1527,4207,76,77,99,100,101,
- 102,103,104,122,123,124,126,213,279,62,
- 68,2095,56,44,45,2096,2101,39,2099,31,
- 2103,27,206,2102,25,2117,1386,356,3098,4260,
- 4472,2014,2113,288,602,601,288,602,601,2739,
- 2739,4543,204,2014,4342,2796,286,2661,2952,285,
- 102,2661,4590,4592,1944,83,1880,1623,4447,4445,
- 4205,78,79,125,61,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,62,68,2095,56,44,45,2096,2101,39,
- 2099,31,2103,27,206,2102,25,1386,356,583,
- 4279,1386,356,215,4375,534,2871,775,1753,2628,
- 2875,2876,1741,294,204,1750,1750,297,218,334,
- 1753,2878,2880,2881,4593,4592,1504,83,1880,1623,
- 4447,4445,4205,78,79,125,61,1527,4207,76,
- 77,99,100,101,102,103,104,122,123,124,
- 126,213,279,62,68,2095,56,44,45,2096,
- 2101,39,2099,31,2103,27,193,2102,25,226,
- 2884,4499,4600,1573,83,1880,1623,4447,4445,4205,
- 78,79,125,61,1527,4207,76,77,99,100,
- 101,102,103,104,122,123,124,126,213,279,
- 62,68,2095,56,44,45,2096,2101,39,2099,
- 31,2103,27,193,2102,25,226,584,4499,4601,
- 1642,83,1880,1623,4447,4445,4205,78,79,125,
- 61,1527,4207,76,77,99,100,101,102,103,
- 104,122,123,124,126,213,279,62,68,2095,
- 56,44,45,2096,2101,39,2099,31,2103,27,
- 228,2102,25,234,2412,83,1880,1623,4447,4445,
- 4205,78,79,125,70,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,2893,4465,1642,83,1880,1623,4447,4445,4205,
- 78,79,125,61,1527,4207,76,77,99,100,
- 101,102,103,104,122,123,124,126,213,279,
- 62,68,2095,56,44,45,2096,2101,39,2099,
- 31,2103,27,193,2102,25,226,2661,4579,1793,
- 83,1880,1623,4447,4445,4205,78,79,125,61,
- 1527,4207,76,77,99,100,101,102,103,104,
- 122,123,124,126,213,279,62,68,2095,56,
- 44,45,2096,2101,39,2099,31,2103,27,4486,
- 2102,25,2964,108,4555,2823,2786,1386,356,2660,
- 4547,70,2882,2646,2016,2021,4478,4479,2113,2698,
- 2890,2414,2885,2785,2635,116,117,1642,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,2103,27,228,2102,25,
- 232,2412,83,1880,1623,4447,4445,4205,78,79,
- 125,69,1527,4207,76,77,99,100,101,102,
- 103,104,122,123,124,126,213,279,4554,4473,
- 1642,83,1880,1623,4447,4445,4205,78,79,125,
- 61,1527,4207,76,77,99,100,101,102,103,
- 104,122,123,124,126,213,279,62,68,2095,
- 56,44,45,2096,2101,39,2099,31,2103,27,
- 4449,2102,25,236,1642,83,1880,1623,4447,4445,
- 4205,78,79,125,61,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,62,68,2095,56,44,45,2096,2101,39,
- 2099,31,2103,27,216,2102,25,217,1642,83,
- 1880,1623,4447,4445,4205,78,79,125,61,1527,
- 4207,76,77,99,100,101,102,103,104,122,
- 123,124,126,213,279,62,68,2095,56,44,
- 45,2096,2101,39,2099,31,2103,27,194,2102,
- 25,227,1642,83,1880,1623,4447,4445,4205,78,
- 79,125,61,1527,4207,76,77,99,100,101,
- 102,103,104,122,123,124,126,213,279,62,
- 68,2095,56,44,45,2096,2101,39,2099,31,
- 2103,27,143,2102,25,223,2035,83,1880,1623,
- 4447,4445,4205,78,79,125,61,1527,4207,76,
- 77,99,100,101,102,103,104,122,123,124,
- 126,213,279,62,68,2095,56,44,45,2096,
- 2101,39,2099,31,2103,27,206,2102,25,2261,
- 2540,1873,2264,2269,2271,2273,2480,2898,2901,2903,
- 2905,2907,2909,2911,2920,2922,205,2126,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,2103,27,212,2102,25,
- 2126,83,1880,1623,4447,4445,4205,78,79,125,
- 61,1527,4207,76,77,99,100,101,102,103,
- 104,122,123,124,126,213,279,62,68,2095,
- 56,44,45,2096,2101,39,2099,31,2103,27,
- 2409,2102,25,2126,83,1880,1623,4447,4445,4205,
- 78,79,125,61,1527,4207,76,77,99,100,
- 101,102,103,104,122,123,124,126,213,279,
- 62,68,2095,56,44,45,2096,2101,39,2099,
- 31,2103,27,331,2102,25,2126,83,1880,1623,
- 4447,4445,4205,78,79,125,61,1527,4207,76,
- 77,99,100,101,102,103,104,122,123,124,
- 126,213,279,62,68,2095,56,44,45,2096,
- 2101,39,2099,31,2103,27,1633,2102,25,2126,
- 83,1880,1623,4447,4445,4205,78,79,125,61,
- 1527,4207,76,77,99,100,101,102,103,104,
- 122,123,124,126,213,279,62,68,2095,56,
- 44,45,2096,2101,39,2099,31,2103,27,4213,
- 2102,25,2126,83,1880,1623,4447,4445,4205,78,
- 79,125,61,1527,4207,76,77,99,100,101,
- 102,103,104,122,123,124,126,213,279,62,
- 68,2095,56,44,45,2096,2101,39,2099,31,
- 2103,27,1761,2102,25,2126,83,1880,1623,4447,
- 4445,4205,78,79,125,61,1527,4207,76,77,
- 99,100,101,102,103,104,122,123,124,126,
- 213,279,62,68,2095,56,44,45,2096,2101,
- 39,2099,31,2103,27,4221,2102,25,2126,83,
- 1880,1623,4447,4445,4205,78,79,125,61,1527,
- 4207,76,77,99,100,101,102,103,104,122,
- 123,124,126,213,279,62,68,2095,56,44,
- 45,2096,2101,39,2099,31,2103,27,211,2102,
- 25,2126,83,1880,1623,4447,4445,4205,78,79,
- 125,61,1527,4207,76,77,99,100,101,102,
- 103,104,122,123,124,126,213,279,62,68,
- 2095,56,44,45,2096,2101,39,2099,31,2103,
- 27,210,2102,25,2126,83,1880,1623,4447,4445,
- 4205,78,79,125,61,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,62,68,2095,56,44,45,2096,2101,39,
- 2099,31,2103,27,4546,2102,25,2126,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,2103,27,150,2102,25,
- 2126,83,1880,1623,4447,4445,4205,78,79,125,
- 61,1527,4207,76,77,99,100,101,102,103,
- 104,122,123,124,126,213,279,62,68,2095,
- 56,44,45,2096,2101,39,2099,31,2103,27,
- 120,2102,25,2126,83,1880,1623,4447,4445,4205,
- 78,79,125,61,1527,4207,76,77,99,100,
- 101,102,103,104,122,123,124,126,213,279,
- 62,68,2095,56,44,45,2096,2101,39,2099,
- 31,2103,27,4578,2102,25,2126,83,1880,1623,
- 4447,4445,4205,78,79,125,61,1527,4207,76,
- 77,99,100,101,102,103,104,122,123,124,
- 126,213,279,62,68,2095,56,44,45,2096,
- 2101,39,2099,31,2103,27,195,2102,25,2126,
- 83,1880,1623,4447,4445,4205,78,79,125,61,
- 1527,4207,76,77,99,100,101,102,103,104,
- 122,123,124,126,213,279,62,68,2095,56,
- 44,45,2096,2101,39,2099,31,2103,27,121,
- 2102,25,2126,83,1880,1623,4447,4445,4205,78,
- 79,125,61,1527,4207,76,77,99,100,101,
- 102,103,104,122,123,124,126,213,279,62,
- 68,2095,56,44,45,2096,2101,39,2099,31,
- 2103,27,119,2102,25,2126,83,1880,1623,4447,
- 4445,4205,78,79,125,61,1527,4207,76,77,
- 99,100,101,102,103,104,122,123,124,126,
- 213,279,62,68,2095,56,44,45,2096,2101,
- 39,2099,31,2103,27,149,2102,25,2126,83,
- 1880,1623,4447,4445,4205,78,79,125,61,1527,
- 4207,76,77,99,100,101,102,103,104,122,
- 123,124,126,213,279,62,68,2095,56,44,
- 45,2096,2101,39,2099,31,2103,27,1738,2102,
- 25,2126,83,1880,1623,4447,4445,4205,78,79,
- 125,61,1527,4207,76,77,99,100,101,102,
- 103,104,122,123,124,126,213,279,62,68,
- 2095,56,44,45,2096,2101,39,2099,31,2103,
- 27,333,2102,25,2126,83,1880,1623,4447,4445,
- 4205,78,79,125,61,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,62,68,2095,56,44,45,2096,2101,39,
- 2099,31,2103,27,4358,2102,25,2126,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,2103,27,4597,2102,25,
- 2126,83,1880,1623,4447,4445,4205,78,79,125,
- 61,1527,4207,76,77,99,100,101,102,103,
- 104,122,123,124,126,213,279,62,68,2095,
- 56,44,45,2096,2101,39,2099,31,2103,27,
- 4599,2102,25,2126,83,1880,1623,4447,4445,4205,
- 78,79,125,61,1527,4207,76,77,99,100,
- 101,102,103,104,122,123,124,126,213,279,
- 62,68,2095,56,44,45,2096,2101,39,2099,
- 31,2103,27,4603,2102,25,2126,83,1880,1623,
- 4447,4445,4205,78,79,125,61,1527,4207,76,
- 77,99,100,101,102,103,104,122,123,124,
- 126,213,279,62,68,2095,56,44,45,2096,
- 2101,39,2099,31,2103,27,267,2102,25,2126,
- 83,1880,1623,4447,4445,4205,78,79,125,61,
- 1527,4207,76,77,99,100,101,102,103,104,
- 122,123,124,126,213,279,62,68,2095,56,
- 44,45,2096,2101,39,2099,31,2103,27,4606,
- 2102,25,2126,83,1880,1623,4447,4445,4205,78,
- 79,125,61,1527,4207,76,77,99,100,101,
- 102,103,104,122,123,124,126,213,279,62,
- 68,2095,56,44,45,2096,2101,39,2099,31,
- 2103,27,346,2102,25,2126,83,1880,1623,4447,
- 4445,4205,78,79,125,61,1527,4207,76,77,
- 99,100,101,102,103,104,122,123,124,126,
- 213,279,62,68,2095,56,44,45,2096,2101,
- 39,2099,31,2103,27,4474,2102,25,2126,83,
- 1880,1623,4447,4445,4205,78,79,125,61,1527,
- 4207,76,77,99,100,101,102,103,104,122,
- 123,124,126,213,279,62,68,2095,56,44,
- 45,2096,2101,39,2099,31,2103,27,268,2102,
- 25,2126,83,1880,1623,4447,4445,4205,78,79,
- 125,61,1527,4207,76,77,99,100,101,102,
- 103,104,122,123,124,126,213,279,62,68,
- 2095,56,44,45,2096,2101,39,2099,31,2103,
- 27,4609,2102,25,2126,83,1880,1623,4447,4445,
- 4205,78,79,125,61,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,62,68,2095,56,44,45,2096,2101,39,
- 2099,31,2103,27,144,2102,25,2126,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,2099,31,4538,29,2126,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,44,45,
- 2096,2101,39,4539,37,2126,83,1880,1623,4447,
- 4445,4205,78,79,125,61,1527,4207,76,77,
- 99,100,101,102,103,104,122,123,124,126,
- 213,279,62,68,2095,56,44,45,2096,2101,
- 39,4540,36,2126,83,1880,1623,4447,4445,4205,
- 78,79,125,61,1527,4207,76,77,99,100,
- 101,102,103,104,122,123,124,126,213,279,
- 62,68,2095,56,44,45,2096,2101,39,4541,
- 35,2126,83,1880,1623,4447,4445,4205,78,79,
- 125,61,1527,4207,76,77,99,100,101,102,
- 103,104,122,123,124,126,213,279,62,68,
- 2095,56,44,45,2096,4537,41,2126,83,1880,
- 1623,4447,4445,4205,78,79,125,61,1527,4207,
- 76,77,99,100,101,102,103,104,122,123,
- 124,126,213,279,62,68,2095,56,52,53,
- 2096,2126,83,1880,1623,4447,4445,4205,78,79,
- 125,61,1527,4207,76,77,99,100,101,102,
- 103,104,122,123,124,126,213,279,62,68,
- 2095,56,50,51,2096,2126,83,1880,1623,4447,
- 4445,4205,78,79,125,61,1527,4207,76,77,
- 99,100,101,102,103,104,122,123,124,126,
- 213,279,62,68,2095,56,48,49,2096,2126,
- 83,1880,1623,4447,4445,4205,78,79,125,61,
- 1527,4207,76,77,99,100,101,102,103,104,
- 122,123,124,126,213,279,62,68,2095,56,
- 46,47,2096,2126,83,1880,1623,4447,4445,4205,
- 78,79,125,61,1527,4207,76,77,99,100,
- 101,102,103,104,122,123,124,126,213,279,
- 62,68,4533,60,2126,83,1880,1623,4447,4445,
- 4205,78,79,125,61,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,62,68,4534,58,2126,83,1880,1623,4447,
- 4445,4205,78,79,125,63,1527,4207,76,77,
- 99,100,101,102,103,104,122,123,124,126,
- 213,279,64,68,2194,83,1880,1623,4447,4445,
- 4205,78,79,125,69,1527,4207,76,77,99,
- 100,101,102,103,104,122,123,124,126,213,
- 279,2479,83,2539,2661,4460,22,4461,166,69,
- 151,963,1057,2924,2926,2797,151,963,1057,2934,
- 2940,2539,2772,2545,83,2944,2946,4460,22,4459,
- 166,138,2645,151,963,1057,2770,151,963,1057,
- 2887,103,2539,4212,225,2747,2543,1792,2797,151,
- 963,1057,2891,2027,1386,447,1151,152,153,2799,
- 306,2895,1151,152,153,312,224,310,304,4456,
- 165,312,4242,310,2770,151,963,1057,306,1151,
- 152,153,2913,1574,152,153,303,916,312,2411,
- 311,4219,165,1198,3081,1151,152,153,159,306,
- 2915,137,140,141,312,4584,311,307,4200,323,
- 4530,254,4507,4502,4463,2770,151,963,1057,2929,
- 4572,1632,152,153,2770,151,963,1057,2770,151,
- 963,1057,2770,151,963,1057,2770,151,963,1057,
- 2770,151,963,1057,2770,151,963,1057,2770,151,
- 963,1057,2770,151,963,1057,2770,151,963,1057,
- 1631,4583,2104,152,153,2770,151,963,1057,1780,
- 2111,2105,152,153,2511,1686,152,153,2543,1757,
- 152,153,2661,2047,152,153,2661,4542,152,153,
- 2661,4346,152,153,2661,4551,152,153,2661,4552,
- 152,153,2661,4553,152,153,2661,3026,2798,2111,
- 273,3373,208,152,153,2979,2796,2796,2796,2747,
- 2796,159,162,2796,2747,161,3098,3021,2110,2979,
- 160,2747,1386,356,2747,4580,1386,356,2747,4581,
- 1386,356,2747,4596,1386,356,2747,351,1386,356,
- 2747,4389,1386,356,2747,4608,1386,356,4242,4610,
- 2747,164,2747,2412,163,2747,2747,443,2413,4494,
- 292,295,1681,2108,1684,2414,2747,298,2415,2747,
- 2747,2747,2416,2747,2025,2267,2417,2747,2543,2672,
- 2418,2747,281,2747,2419,325,2812,2747,2420,2747,
- 2747,2747,2543,2965,2421,2603,2422,4367,2543,2423,
- 2424,2952,2862,2846,3118,2543,2543,4362,2662,2931,
- 2425,349,2936,4173,4174,4179,2938,4180,4185,82,
- 4595,4186,235,2942,2788,4573,2678,4574,2966,2950,
- 198,4185,2969,4575,4576,188,265,2971,233,4386,
- 2973,2975,2977,2981,199,249,231,4577,2984,2988,
- 4588,2990,2992,2994,2997,3001,4604,4605,4607,3003,
- 3005,3007,3012,2848,2851,2012,2103,2604,2681,2839,
- 2840,2841,2262,2790,3014,3020,2986,3009,2721,3022,
- 3025,3029,3030,3034,3035,2999,3038,3039,3042,3043,
- 3046,3047,3050,3051,3054,3055,3058,3059,3062,3063,
- 3066,3067,3015,3072,3074,3076,3078,3016,1786,2850,
- 2637,3070,3080,3083,2814,3091,1946,1713,2817,2825,
- 3092,3087,3088,3095,3099,3100,3101,3103,4366,3104,
- 3105,3108,3109,3111,3112,3113,3114,3115,3117,3119,
- 3120,4613,4613
+ 5,6,6,40,40,41,42,41,42,38,
+ 39,38,38,38,39,39,39,36,37,36,
+ 37,36,37,34,35,34,35,34,35,34,
+ 35,34,35,31,33,32,33,32,33,32,
+ 29,30,29,30,29,30,16,27,16,16,
+ 17,17,17,17,17,18,18,18,18,18,
+ 19,19,4,4,4,1,1,1,1,1,
+ 1,1,1,1,2,2,103,103,20,20,
+ 20,20,20,20,21,21,22,3,3,3,
+ 3,3,104,104,105,105,71,71,72,72,
+ 72,9,9,9,9,9,23,11,12,13,
+ 7,14,14,10,24,101,101,101,101,107,
+ 107,108,108,108,108,108,108,108,108,108,
+ 108,108,56,56,56,109,109,45,45,45,
+ 58,48,48,48,48,50,49,110,110,64,
+ 64,106,106,106,106,73,73,73,73,8,
+ 8,8,8,8,8,8,8,8,8,8,
+ 8,8,8,8,8,15,8,74,74,44,
+ 44,47,47,46,46,28,111,111,112,112,
+ 102,102,75,75,76,76,65,65,65,133,
+ 133,134,134,134,135,135,137,139,139,138,
+ 140,140,136,136,136,141,141,142,142,144,
+ 144,144,59,59,60,60,60,61,143,143,
+ 145,145,145,146,146,146,147,147,147,147,
+ 148,148,149,149,150,150,150,150,77,25,
+ 25,25,25,25,25,25,25,18,113,113,
+ 28,28,56,101,101,46,46,114,114,114,
+ 114,114,114,114,114,114,114,114,108,8,
+ 8,8,151,151,43,36,37,7,48,51,
+ 152,48,52,26,78,78,20,79,115,115,
+ 116,116,107,118,118,118,118,119,119,120,
+ 120,117,117,117,121,121,122,66,66,123,
+ 124,124,101,18,17,18,18,100,125,125,
+ 100,67,67,82,82,153,153,57,57,80,
+ 80,83,81,81,84,69,69,69,69,62,
+ 62,70,70,70,68,68,85,85,63,63,
+ 55,86,86,87,87,87,87,87,87,54,
+ 94,94,53,53,88,88,88,95,96,96,
+ 96,127,127,126,97,89,128,128,90,129,
+ 129,98,98,91,99,99,130,130,92,93,
+ 131,131,1,82,1776,1386,5122,5121,4822,1434,
+ 77,101,102,121,122,123,125,78,60,4839,
+ 2138,75,76,98,99,100,103,277,316,61,
+ 67,1790,55,43,44,1795,1892,38,1797,30,
+ 1970,26,404,1969,24,1,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,404,1969,24,380,2141,
+ 383,384,385,386,387,388,3340,394,395,396,
+ 2019,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,60,4839,2138,75,
+ 76,98,99,100,103,277,316,61,67,3035,
+ 59,382,2141,383,384,385,386,387,388,275,
+ 394,395,396,1665,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,2715,1969,24,3069,82,1776,1386,
+ 5122,5121,4822,1434,77,101,102,121,122,123,
+ 125,78,69,4839,2138,75,76,98,99,100,
+ 103,277,316,3397,114,116,2019,82,1776,1386,
+ 5122,5121,4822,1434,77,101,102,121,122,123,
+ 125,78,60,4839,2138,75,76,98,99,100,
+ 103,277,316,61,67,3036,57,2714,2716,125,
+ 82,1776,1386,5122,5121,4822,1434,77,101,102,
+ 121,122,123,125,78,60,4839,2138,75,76,
+ 98,99,100,103,277,316,61,67,1790,55,
+ 43,44,1795,1892,38,1797,30,1970,26,203,
+ 1969,24,285,1908,1909,2797,2796,195,82,1776,
+ 1386,5122,5121,4822,1434,77,101,102,121,122,
+ 123,125,78,60,4839,2138,75,76,98,99,
+ 100,103,277,316,61,67,1790,55,43,44,
+ 1795,1892,38,1797,30,1970,26,203,1969,24,
+ 285,2318,3233,2797,4927,265,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,203,1969,24,285,3535,
+ 3536,2797,5004,335,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,203,1969,24,285,111,1747,2797,
+ 5005,405,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,203,1969,24,285,1745,1827,2797,5006,475,
+ 82,1776,1386,5122,5121,4822,1434,77,101,102,
+ 121,122,123,125,78,60,4839,2138,75,76,
+ 98,99,100,103,277,316,61,67,1790,55,
+ 43,44,1795,1892,38,1797,30,1970,26,203,
+ 1969,24,285,104,3252,2797,5031,545,82,1776,
+ 1386,5122,5121,4822,1434,77,101,102,121,122,
+ 123,125,78,60,4839,2138,75,76,98,99,
+ 100,103,277,316,61,67,1790,55,43,44,
+ 1795,1892,38,1797,30,1970,26,203,1969,24,
+ 285,119,1735,2797,5036,615,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,203,1969,24,285,3357,
+ 3139,2797,5064,685,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,203,1969,24,285,1825,1913,2797,
+ 5069,755,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,203,1969,24,285,1995,3255,2797,5145,825,
+ 82,1776,1386,5122,5121,4822,1434,77,101,102,
+ 121,122,123,125,78,60,4839,2138,75,76,
+ 98,99,100,103,277,316,61,67,1790,55,
+ 43,44,1795,1892,38,1797,30,1970,26,203,
+ 1969,24,285,3355,3383,2797,5150,895,82,1776,
+ 1386,5122,5121,4822,1434,77,101,102,121,122,
+ 123,125,78,60,4839,2138,75,76,98,99,
+ 100,103,277,316,61,67,1790,55,43,44,
+ 1795,1892,38,1797,30,1970,26,203,1969,24,
+ 285,3138,3539,2797,5151,965,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,203,1969,24,285,3493,
+ 1911,2797,5152,1035,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,203,1969,24,285,121,3472,2797,
+ 5153,1105,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,203,1969,24,285,1999,3384,2797,5154,1175,
+ 82,1776,1386,5122,5121,4822,1434,77,101,102,
+ 121,122,123,125,78,60,4839,2138,75,76,
+ 98,99,100,103,277,316,61,67,1790,55,
+ 43,44,1795,1892,38,1797,30,1970,26,203,
+ 1969,24,285,3540,3380,2797,5159,1245,82,1776,
+ 1386,5122,5121,4822,1434,77,101,102,121,122,
+ 123,125,78,60,4839,2138,75,76,98,99,
+ 100,103,277,316,61,67,1790,55,43,44,
+ 1795,1892,38,1797,30,1970,26,203,1969,24,
+ 285,1823,3547,2797,5160,1315,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,203,1969,24,285,3652,
+ 3549,2797,5169,1385,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,203,1969,24,285,3550,3709,2797,
+ 5185,2172,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,334,1969,24,3256,3524,169,1819,4820,72,
+ 1819,858,1434,74,314,315,121,122,123,125,
+ 762,3473,161,1049,1097,5195,1833,82,1776,1386,
+ 5122,5121,4822,1434,77,101,102,121,122,123,
+ 125,78,60,4839,2138,75,76,98,99,100,
+ 103,277,316,61,67,1790,55,43,44,1795,
+ 1892,38,1797,30,1970,26,216,1969,24,1720,
+ 162,163,308,311,354,810,809,354,810,809,
+ 1734,1905,5192,2719,321,1700,1905,5086,1710,352,
+ 3256,214,351,3201,82,3188,3552,2795,21,104,
+ 1996,5210,5212,1833,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,216,1969,24,3617,350,810,809,
+ 3556,3560,3563,1242,422,1241,3566,372,70,82,
+ 2006,1624,95,95,1706,370,360,3321,214,1706,
+ 3227,363,70,82,1710,85,3033,3396,5213,5212,
+ 1455,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,60,4839,2138,75,
+ 76,98,99,100,103,277,316,61,67,1790,
+ 55,43,44,1795,1892,38,1797,30,1970,26,
+ 203,1969,24,285,1701,905,2797,5219,1525,82,
+ 1776,1386,5122,5121,4822,1434,77,101,102,121,
+ 122,123,125,78,60,4839,2138,75,76,98,
+ 99,100,103,277,316,61,67,1790,55,43,
+ 44,1795,1892,38,1797,30,1970,26,203,1969,
+ 24,285,71,4830,2797,5220,1595,82,1776,1386,
+ 5122,5121,4822,1434,77,101,102,121,122,123,
+ 125,78,60,4839,2138,75,76,98,99,100,
+ 103,277,316,61,67,1790,55,43,44,1795,
+ 1892,38,1797,30,1970,26,268,1969,24,274,
+ 2019,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,64,4839,2138,75,
+ 76,98,99,100,103,277,316,65,67,3461,
+ 3189,1907,2156,4933,1595,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,43,44,1795,1892,38,
+ 1797,30,1970,26,203,1969,24,285,3832,3774,
+ 5181,1749,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,2715,1969,24,3069,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 68,4839,2138,75,76,98,99,100,103,277,
+ 316,1996,115,116,2172,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,43,44,1795,1892,38,
+ 1797,30,1970,26,152,1969,24,2157,3272,5199,
+ 3583,1996,341,4030,1242,422,1290,1996,3358,2548,
+ 5198,2172,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,152,1969,24,1242,465,5199,3358,3358,3567,
+ 1242,422,2708,1996,2657,714,1996,5200,2172,82,
+ 1776,1386,5122,5121,4822,1434,77,101,102,121,
+ 122,123,125,78,60,4839,2138,75,76,98,
+ 99,100,103,277,316,61,67,1790,55,43,
+ 44,1795,1892,38,1797,30,1970,26,152,1969,
+ 24,2712,2713,5199,358,361,1242,422,2710,1242,
+ 422,1529,1996,3358,5201,2172,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,152,1969,24,70,82,
+ 5199,3358,3034,3358,3577,1242,422,4841,1996,3381,
+ 1627,5202,2172,82,1776,1386,5122,5121,4822,1434,
+ 77,101,102,121,122,123,125,78,60,4839,
+ 2138,75,76,98,99,100,103,277,316,61,
+ 67,1790,55,43,44,1795,1892,38,1797,30,
+ 1970,26,152,1969,24,3632,3581,5199,1630,3271,
+ 364,1242,422,5182,1996,2013,2160,1996,5203,2172,
+ 82,1776,1386,5122,5121,4822,1434,77,101,102,
+ 121,122,123,125,78,60,4839,2138,75,76,
+ 98,99,100,103,277,316,61,67,1790,55,
+ 43,44,1795,1892,38,1797,30,1970,26,152,
+ 1969,24,2008,279,5199,3632,2163,1242,422,5183,
+ 1242,422,5216,1996,2012,5204,2172,82,1776,1386,
+ 5122,5121,4822,1434,77,101,102,121,122,123,
+ 125,78,60,4839,2138,75,76,98,99,100,
+ 103,277,316,61,67,1790,55,43,44,1795,
+ 1892,38,1797,30,1970,26,152,1969,24,170,
+ 3463,5199,2165,5223,2167,3171,1242,422,417,1996,
+ 3202,2012,5205,2172,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,152,1969,24,208,3258,5199,3471,
+ 3344,3393,1242,422,4806,1996,5170,3441,1996,5206,
+ 2172,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,60,4839,2138,75,
+ 76,98,99,100,103,277,316,61,67,1790,
+ 55,43,44,1795,1892,38,1797,30,1970,26,
+ 152,1969,24,3586,3588,5199,3590,3594,1242,422,
+ 5227,1242,422,5229,3596,5179,5207,2172,82,1776,
+ 1386,5122,5121,4822,1434,77,101,102,121,122,
+ 123,125,78,60,4839,2138,75,76,98,99,
+ 100,103,277,316,61,67,1790,55,43,44,
+ 1795,1892,38,1797,30,1970,26,152,1969,24,
+ 3598,3602,5199,3604,3608,3611,3615,3592,3600,3613,
+ 3619,3620,2012,5208,2172,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,43,44,1795,1892,38,
+ 1797,30,1970,26,152,1969,24,209,3625,5199,
+ 3627,3629,1915,3623,3628,3638,3641,3390,3640,1738,
+ 5209,1595,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,268,1969,24,272,2019,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,62,4839,2138,75,76,98,99,100,103,
+ 277,316,63,67,3642,2170,3643,3646,5147,1595,
+ 82,1776,1386,5122,5121,4822,1434,77,101,102,
+ 121,122,123,125,78,60,4839,2138,75,76,
+ 98,99,100,103,277,316,61,67,1790,55,
+ 43,44,1795,1892,38,1797,30,1970,26,516,
+ 1969,24,276,1595,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,280,1969,24,281,1595,82,1776,
+ 1386,5122,5121,4822,1434,77,101,102,121,122,
+ 123,125,78,60,4839,2138,75,76,98,99,
+ 100,103,277,316,61,67,1790,55,43,44,
+ 1795,1892,38,1797,30,1970,26,204,1969,24,
+ 286,1595,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,153,1969,24,282,1926,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,216,1969,24,3648,3650,
+ 3654,3658,3660,3662,3664,3668,3670,3674,3676,3678,
+ 3680,3682,3684,3686,3688,3499,3554,91,1902,1906,
+ 215,2019,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,247,1969,24,2019,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,43,44,1795,1892,38,
+ 1797,30,1970,26,2376,1969,24,2019,82,1776,
+ 1386,5122,5121,4822,1434,77,101,102,121,122,
+ 123,125,78,60,4839,2138,75,76,98,99,
+ 100,103,277,316,61,67,1790,55,43,44,
+ 1795,1892,38,1797,30,1970,26,397,1969,24,
+ 2019,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,60,4839,2138,75,
+ 76,98,99,100,103,277,316,61,67,1790,
+ 55,43,44,1795,1892,38,1797,30,1970,26,
+ 633,1969,24,2019,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,2659,1969,24,2019,82,1776,1386,
+ 5122,5121,4822,1434,77,101,102,121,122,123,
+ 125,78,60,4839,2138,75,76,98,99,100,
+ 103,277,316,61,67,1790,55,43,44,1795,
+ 1892,38,1797,30,1970,26,2206,1969,24,2019,
+ 82,1776,1386,5122,5121,4822,1434,77,101,102,
+ 121,122,123,125,78,60,4839,2138,75,76,
+ 98,99,100,103,277,316,61,67,1790,55,
+ 43,44,1795,1892,38,1797,30,1970,26,2660,
+ 1969,24,2019,82,1776,1386,5122,5121,4822,1434,
+ 77,101,102,121,122,123,125,78,60,4839,
+ 2138,75,76,98,99,100,103,277,316,61,
+ 67,1790,55,43,44,1795,1892,38,1797,30,
+ 1970,26,246,1969,24,2019,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,245,1969,24,2019,82,
+ 1776,1386,5122,5121,4822,1434,77,101,102,121,
+ 122,123,125,78,60,4839,2138,75,76,98,
+ 99,100,103,277,316,61,67,1790,55,43,
+ 44,1795,1892,38,1797,30,1970,26,4838,1969,
+ 24,2019,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,160,1969,24,2019,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,43,44,1795,1892,38,
+ 1797,30,1970,26,119,1969,24,2019,82,1776,
+ 1386,5122,5121,4822,1434,77,101,102,121,122,
+ 123,125,78,60,4839,2138,75,76,98,99,
+ 100,103,277,316,61,67,1790,55,43,44,
+ 1795,1892,38,1797,30,1970,26,5180,1969,24,
+ 2019,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,60,4839,2138,75,
+ 76,98,99,100,103,277,316,61,67,1790,
+ 55,43,44,1795,1892,38,1797,30,1970,26,
+ 205,1969,24,2019,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,120,1969,24,2019,82,1776,1386,
+ 5122,5121,4822,1434,77,101,102,121,122,123,
+ 125,78,60,4839,2138,75,76,98,99,100,
+ 103,277,316,61,67,1790,55,43,44,1795,
+ 1892,38,1797,30,1970,26,118,1969,24,2019,
+ 82,1776,1386,5122,5121,4822,1434,77,101,102,
+ 121,122,123,125,78,60,4839,2138,75,76,
+ 98,99,100,103,277,316,61,67,1790,55,
+ 43,44,1795,1892,38,1797,30,1970,26,317,
+ 1969,24,2019,82,1776,1386,5122,5121,4822,1434,
+ 77,101,102,121,122,123,125,78,60,4839,
+ 2138,75,76,98,99,100,103,277,316,61,
+ 67,1790,55,43,44,1795,1892,38,1797,30,
+ 1970,26,159,1969,24,2019,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,5065,1969,24,2019,82,
+ 1776,1386,5122,5121,4822,1434,77,101,102,121,
+ 122,123,125,78,60,4839,2138,75,76,98,
+ 99,100,103,277,316,61,67,1790,55,43,
+ 44,1795,1892,38,1797,30,1970,26,399,1969,
+ 24,2019,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,2489,1969,24,2019,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,43,44,1795,1892,38,
+ 1797,30,1970,26,5217,1969,24,2019,82,1776,
+ 1386,5122,5121,4822,1434,77,101,102,121,122,
+ 123,125,78,60,4839,2138,75,76,98,99,
+ 100,103,277,316,61,67,1790,55,43,44,
+ 1795,1892,38,1797,30,1970,26,5218,1969,24,
+ 2019,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,60,4839,2138,75,
+ 76,98,99,100,103,277,316,61,67,1790,
+ 55,43,44,1795,1892,38,1797,30,1970,26,
+ 5222,1969,24,2019,82,1776,1386,5122,5121,4822,
+ 1434,77,101,102,121,122,123,125,78,60,
+ 4839,2138,75,76,98,99,100,103,277,316,
+ 61,67,1790,55,43,44,1795,1892,38,1797,
+ 30,1970,26,335,1969,24,2019,82,1776,1386,
+ 5122,5121,4822,1434,77,101,102,121,122,123,
+ 125,78,60,4839,2138,75,76,98,99,100,
+ 103,277,316,61,67,1790,55,43,44,1795,
+ 1892,38,1797,30,1970,26,5225,1969,24,2019,
+ 82,1776,1386,5122,5121,4822,1434,77,101,102,
+ 121,122,123,125,78,60,4839,2138,75,76,
+ 98,99,100,103,277,316,61,67,1790,55,
+ 43,44,1795,1892,38,1797,30,1970,26,412,
+ 1969,24,2019,82,1776,1386,5122,5121,4822,1434,
+ 77,101,102,121,122,123,125,78,60,4839,
+ 2138,75,76,98,99,100,103,277,316,61,
+ 67,1790,55,43,44,1795,1892,38,1797,30,
+ 1970,26,2018,1969,24,2019,82,1776,1386,5122,
+ 5121,4822,1434,77,101,102,121,122,123,125,
+ 78,60,4839,2138,75,76,98,99,100,103,
+ 277,316,61,67,1790,55,43,44,1795,1892,
+ 38,1797,30,1970,26,336,1969,24,2019,82,
+ 1776,1386,5122,5121,4822,1434,77,101,102,121,
+ 122,123,125,78,60,4839,2138,75,76,98,
+ 99,100,103,277,316,61,67,1790,55,43,
+ 44,1795,1892,38,1797,30,1970,26,5228,1969,
+ 24,2019,82,1776,1386,5122,5121,4822,1434,77,
+ 101,102,121,122,123,125,78,60,4839,2138,
+ 75,76,98,99,100,103,277,316,61,67,
+ 1790,55,43,44,1795,1892,38,1797,30,1970,
+ 26,154,1969,24,2019,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,43,44,1795,1892,38,
+ 1797,30,4801,28,2019,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,43,44,1795,1892,38,
+ 4802,36,2019,82,1776,1386,5122,5121,4822,1434,
+ 77,101,102,121,122,123,125,78,60,4839,
+ 2138,75,76,98,99,100,103,277,316,61,
+ 67,1790,55,43,44,1795,1892,38,4817,35,
+ 2019,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,60,4839,2138,75,
+ 76,98,99,100,103,277,316,61,67,1790,
+ 55,43,44,1795,1892,38,4818,34,2019,82,
+ 1776,1386,5122,5121,4822,1434,77,101,102,121,
+ 122,123,125,78,60,4839,2138,75,76,98,
+ 99,100,103,277,316,61,67,1790,55,43,
+ 44,1795,3037,306,2019,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,43,44,1795,3038,42,
+ 2019,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,60,4839,2138,75,
+ 76,98,99,100,103,277,316,61,67,1790,
+ 55,43,44,1795,3039,40,2019,82,1776,1386,
+ 5122,5121,4822,1434,77,101,102,121,122,123,
+ 125,78,60,4839,2138,75,76,98,99,100,
+ 103,277,316,61,67,1790,55,51,52,1795,
+ 2019,82,1776,1386,5122,5121,4822,1434,77,101,
+ 102,121,122,123,125,78,60,4839,2138,75,
+ 76,98,99,100,103,277,316,61,67,1790,
+ 55,49,50,1795,2019,82,1776,1386,5122,5121,
+ 4822,1434,77,101,102,121,122,123,125,78,
+ 60,4839,2138,75,76,98,99,100,103,277,
+ 316,61,67,1790,55,47,48,1795,2019,82,
+ 1776,1386,5122,5121,4822,1434,77,101,102,121,
+ 122,123,125,78,60,4839,2138,75,76,98,
+ 99,100,103,277,316,61,67,1790,55,45,
+ 46,1795,2088,82,1776,1386,5122,5121,4822,1434,
+ 77,101,102,121,122,123,125,78,68,4839,
+ 2138,75,76,98,99,100,103,277,316,3137,
+ 82,3200,3414,5143,21,5144,3652,176,3364,161,
+ 1049,1097,2312,3473,161,1049,1097,3470,3506,3633,
+ 3714,4999,3262,3220,3690,2012,3509,161,1049,1097,
+ 3428,3443,161,1049,1097,3694,3510,3696,3656,3,
+ 3262,3164,284,1434,3262,314,315,121,122,123,
+ 125,3473,161,1049,1097,333,1145,162,163,308,
+ 311,2091,162,163,308,311,2422,378,242,243,
+ 5197,376,2539,175,1145,162,163,308,311,1145,
+ 162,163,308,311,2426,378,242,243,2482,376,
+ 378,242,243,954,377,3509,161,1049,1097,1338,
+ 162,163,308,311,2012,415,136,139,140,3262,
+ 3698,1146,3188,3021,2719,320,322,3019,3018,4812,
+ 3270,82,4983,713,5143,21,5131,3702,176,3473,
+ 161,1049,1097,3236,3713,137,3473,161,1049,1097,
+ 71,72,3718,1145,162,163,308,311,347,169,
+ 5215,2718,2794,2484,378,242,243,3721,377,3473,
+ 161,1049,1097,283,3473,161,1049,1097,5191,3473,
+ 161,1049,1097,72,372,2658,273,1385,162,163,
+ 308,311,369,3722,1971,162,163,308,311,3473,
+ 161,1049,1097,2480,175,3473,161,1049,1097,3666,
+ 3473,161,1049,1097,3725,3726,3729,1972,162,163,
+ 308,311,2147,162,163,308,311,2203,162,163,
+ 308,311,3473,161,1049,1097,5186,3473,161,1049,
+ 1097,3732,3473,161,1049,1097,3733,2262,162,163,
+ 308,311,2002,2711,162,163,308,311,4824,162,
+ 163,308,311,3473,161,1049,1097,3188,3473,161,
+ 1049,1097,3391,3417,3736,3761,1997,2002,2002,3740,
+ 2374,162,163,308,311,4934,162,163,308,311,
+ 4942,162,163,308,311,3262,3761,2140,3262,3262,
+ 3262,3262,3262,3262,3262,3262,3262,3262,3262,1766,
+ 278,4957,162,163,308,311,218,162,163,308,
+ 311,169,172,174,3262,2661,2661,3262,3262,372,
+ 1741,1829,3262,3262,3262,171,173,373,3262,2485,
+ 2314,3262,2490,2537,2540,2541,2547,2593,2594,2596,
+ 2597,2604,2650,3262,3262,3741,2312,3513,2012,2012,
+ 3744,3745,3748,3749,3752,2369,389,391,2651,3753,
+ 3757,2653,2654,400,2655,81,2656,5171,5174,3760,
+ 3692,3763,2655,2717,3765,5177,2137,3768,3771,3701,
+ 3705,3489,3672,3717,2545,3773,3778,5178,198,298,
+ 271,3500,3779,5224,5226,3501,1667,3297,3782,3502,
+ 3787,3790,3791,3794,3795,3799,3802,3803,3806,3807,
+ 3810,3737,3756,3811,3783,3798,3815,3816,3817,3818,
+ 3819,3823,3824,3827,3828,3829,3830,3825,3834,3835,
+ 5232,5232
};
};
public final static char baseAction[] = BaseAction.baseAction;
@@ -991,158 +1117,280 @@
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,65,66,67,0,0,
- 0,3,2,5,6,7,8,9,10,11,
- 12,13,14,0,1,16,17,18,19,21,
- 22,23,24,25,0,1,0,95,96,99,
- 32,0,0,0,3,3,5,0,1,0,
- 110,111,3,0,114,0,116,0,3,2,
- 120,0,122,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,62,63,64,65,66,
- 67,68,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,63,64,65,66,67,
- 68,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,48,
- 49,50,51,52,53,54,55,56,57,58,
- 59,60,61,62,63,64,65,66,67,68,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
60,61,62,63,64,65,66,67,68,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,47,48,49,50,
- 51,52,53,54,55,56,57,58,59,60,
- 61,62,63,64,65,66,67,68,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,47,48,49,50,51,
- 52,53,54,55,56,57,58,59,60,61,
- 62,63,64,65,66,67,68,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,60,61,62,
- 63,64,65,66,67,68,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,41,42,43,
- 44,45,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,60,61,62,63,
- 64,65,66,67,68,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 65,66,67,68,0,1,2,3,4,5,
+ 0,0,3,0,3,6,7,8,9,10,
+ 11,12,13,14,0,0,16,17,18,19,
+ 0,0,90,91,0,93,94,3,4,15,
+ 27,101,33,0,0,2,16,17,18,19,
+ 0,111,112,3,0,115,32,117,0,1,
+ 0,121,2,123,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,
56,57,58,59,60,61,62,63,64,65,
- 66,67,68,0,1,2,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,62,63,64,65,66,
- 67,68,0,1,2,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,63,64,65,66,67,
- 68,0,1,2,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,48,
- 49,50,51,52,53,54,55,56,57,58,
- 59,60,61,62,63,64,65,66,67,68,
- 0,1,2,3,4,5,6,7,8,9,
- 10,11,12,13,14,15,16,17,18,19,
- 20,21,22,23,24,25,26,27,28,29,
- 30,31,32,33,34,35,36,37,38,39,
- 40,41,42,43,44,45,46,47,48,49,
- 50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,65,66,67,68,0,
- 1,2,3,4,5,6,7,8,9,10,
- 11,12,13,14,15,16,17,18,19,20,
- 21,22,23,24,25,26,27,28,29,30,
- 31,32,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,47,48,49,50,
- 51,52,53,54,55,56,57,58,59,60,
- 61,62,63,64,65,66,67,68,0,1,
- 2,3,4,5,6,7,8,9,10,11,
- 12,13,14,15,16,17,18,19,20,21,
- 22,23,24,25,26,27,28,29,30,31,
- 32,33,34,35,36,37,38,39,40,41,
- 42,43,44,45,46,47,48,49,50,51,
- 52,53,54,55,56,57,58,59,60,61,
- 62,63,64,65,66,67,68,0,1,2,
- 3,4,5,6,7,8,9,10,11,12,
- 13,14,15,16,17,18,19,20,21,22,
- 23,24,25,26,27,28,29,30,31,32,
- 33,34,35,36,37,38,39,40,41,42,
- 43,44,45,46,47,48,49,50,51,52,
- 53,54,55,56,57,58,59,60,61,62,
- 63,64,65,66,67,68,0,1,2,3,
- 4,5,6,7,8,9,10,11,12,13,
- 14,15,16,17,18,19,20,21,22,23,
- 24,25,26,27,28,29,30,31,32,33,
- 34,35,36,37,38,39,40,41,42,43,
- 44,45,46,47,48,49,50,51,52,53,
- 54,55,56,57,58,59,60,61,62,63,
- 64,65,66,67,68,0,1,2,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 65,66,67,68,0,1,2,3,4,5,
+ 66,67,68,69,0,1,2,3,4,5,
6,7,8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,24,25,
26,27,28,29,30,31,32,33,34,35,
36,37,38,39,40,41,42,43,44,45,
46,47,48,49,50,51,52,53,54,55,
56,57,58,59,60,61,62,63,64,65,
- 66,67,68,0,1,2,3,4,5,6,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,2,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,0,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,69,0,1,0,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,0,0,1,70,0,72,73,
+ 0,1,5,77,0,1,0,0,0,1,
+ 86,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,56,57,58,59,60,61,
+ 62,63,64,65,66,67,68,71,0,73,
+ 76,81,0,1,0,1,0,1,0,1,
+ 97,98,0,1,86,3,4,5,6,7,
+ 8,9,10,11,12,13,14,15,16,17,
+ 18,19,20,21,22,23,24,25,26,27,
+ 28,29,30,31,32,33,34,35,36,37,
+ 38,39,40,41,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,56,57,
+ 58,59,60,61,62,63,64,65,66,67,
+ 68,0,76,81,0,0,0,0,0,81,
+ 0,5,0,1,0,97,98,16,17,18,
+ 19,16,17,18,19,0,1,95,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
+ 35,36,37,38,39,40,41,42,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,58,59,60,61,62,63,64,
+ 65,66,67,68,0,0,0,3,0,3,
+ 2,0,96,89,3,0,1,0,1,99,
+ 15,0,0,109,3,108,108,5,0,1,
+ 95,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,56,57,58,59,60,61,
+ 62,63,64,65,66,67,68,0,1,77,
+ 3,4,5,6,7,8,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,25,26,27,28,29,30,31,32,
+ 33,34,35,36,37,38,39,40,41,42,
+ 43,44,45,46,47,48,49,50,51,52,
+ 53,54,55,56,57,58,59,60,61,62,
+ 63,64,65,66,67,0,0,2,2,0,
+ 0,2,0,1,0,1,0,1,0,0,
+ 1,0,1,86,3,4,5,6,7,8,
+ 9,10,11,12,13,14,15,16,17,18,
+ 19,20,21,22,23,24,25,26,27,28,
+ 29,30,31,32,33,34,35,36,37,38,
+ 39,40,41,42,43,44,45,46,47,48,
+ 49,50,51,52,53,54,55,56,57,58,
+ 59,60,61,62,63,64,65,66,67,68,
+ 0,1,73,3,4,5,6,7,8,9,
+ 10,11,12,13,14,15,16,17,18,19,
+ 20,21,22,23,24,25,26,27,28,29,
+ 30,31,32,33,34,35,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,51,52,53,54,55,56,57,58,59,
+ 60,61,62,63,64,65,66,67,68,0,
+ 1,0,3,4,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,30,
+ 31,32,33,34,35,36,37,38,39,40,
+ 41,42,43,44,45,46,47,48,49,50,
+ 51,52,53,54,55,56,57,58,59,60,
+ 61,62,63,64,65,66,67,68,0,1,
+ 69,3,4,5,6,7,8,9,10,11,
+ 12,13,14,15,16,17,18,19,20,21,
+ 22,23,24,25,26,27,28,29,30,31,
+ 32,33,34,35,36,37,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,51,
+ 52,53,54,55,56,57,58,59,60,61,
+ 62,63,64,65,66,67,68,0,1,0,
+ 3,4,5,6,7,8,9,10,11,12,
+ 13,14,15,16,17,18,19,20,21,22,
+ 23,24,25,26,27,28,29,30,31,32,
+ 33,34,35,36,37,38,39,40,41,42,
+ 43,44,45,46,47,48,49,50,51,52,
+ 53,54,55,56,57,58,59,60,61,62,
+ 63,64,65,66,67,68,0,1,0,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,27,28,29,30,31,32,33,
+ 34,35,36,37,38,39,40,41,42,43,
+ 44,45,46,47,48,49,50,51,52,53,
+ 54,55,56,57,58,59,60,61,62,63,
+ 64,65,66,67,68,0,1,0,3,4,
+ 5,6,7,8,9,10,11,12,13,14,
+ 15,16,17,18,19,20,21,22,23,24,
+ 25,26,27,28,29,30,31,32,33,34,
+ 35,36,37,38,39,40,41,42,43,44,
+ 45,46,47,48,49,50,51,52,53,54,
+ 55,56,57,58,59,60,61,62,63,64,
+ 65,66,67,68,0,1,0,3,4,5,
+ 6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,
+ 26,27,28,29,30,31,32,33,34,35,
+ 36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,
+ 56,57,58,59,60,61,62,63,64,65,
+ 66,67,68,0,1,0,3,4,5,6,
7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,
37,38,39,40,41,42,43,44,45,46,
47,48,49,50,51,52,53,54,55,56,
57,58,59,60,61,62,63,64,65,66,
- 67,68,0,1,2,3,4,5,6,7,
+ 67,68,0,1,0,3,4,5,6,7,
8,9,10,11,12,13,14,15,16,17,
18,19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,37,
@@ -1162,161 +1410,114 @@
30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,48,49,
50,51,52,53,54,55,56,57,58,59,
- 60,61,62,63,64,65,66,67,0,0,
- 0,69,3,71,72,0,0,1,76,0,
- 0,0,0,1,84,3,4,5,6,7,
- 8,9,10,11,12,13,14,15,16,17,
- 18,19,20,21,22,23,24,25,26,27,
- 28,29,30,31,32,33,34,35,36,37,
- 38,39,40,41,42,43,44,45,46,47,
- 48,49,50,51,52,53,54,55,56,57,
- 58,59,60,61,62,63,64,65,66,67,
- 70,75,72,78,75,74,88,89,0,91,
- 92,80,0,1,0,1,84,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,41,42,43,44,45,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,58,59,60,61,62,63,64,65,
- 66,67,68,0,1,0,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,62,63,64,65,66,
- 67,0,0,0,69,0,71,0,0,4,
- 0,0,2,0,0,1,0,16,17,18,
- 19,0,1,0,0,1,93,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,32,33,34,35,
- 36,37,38,39,40,41,42,43,44,45,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,58,59,60,61,62,63,64,65,
- 66,67,0,79,81,72,75,95,96,94,
- 0,85,0,3,2,0,0,1,16,17,
- 18,19,109,106,106,0,1,93,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 65,66,67,0,1,79,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,62,63,64,65,66,
- 0,0,2,0,1,4,0,1,0,1,
- 0,1,0,1,0,0,1,84,3,4,
- 5,6,7,8,9,10,11,12,13,14,
- 15,16,17,18,19,20,21,22,23,24,
- 25,26,27,28,29,30,31,32,33,34,
- 35,36,37,38,39,40,41,42,43,44,
- 45,46,47,48,49,50,51,52,53,54,
- 55,56,57,58,59,60,61,62,63,64,
- 65,66,67,0,1,79,3,4,5,6,
- 7,8,9,10,11,12,13,14,15,16,
- 17,18,19,20,21,22,23,24,25,26,
- 27,28,29,30,31,32,33,34,35,36,
- 37,38,39,40,41,42,43,44,45,46,
- 47,48,49,50,51,52,53,54,55,56,
- 57,58,59,60,61,62,63,64,65,66,
- 67,0,1,0,3,4,5,6,7,8,
- 9,10,11,12,13,14,15,16,17,18,
- 19,20,21,22,23,24,25,26,27,28,
- 29,30,31,32,33,34,35,36,37,38,
- 39,40,41,42,43,44,45,46,47,48,
- 49,50,51,52,53,54,55,56,57,58,
- 59,60,61,62,63,64,65,66,0,0,
- 1,3,4,5,6,7,8,9,10,11,
+ 60,61,62,63,64,65,66,67,68,0,
+ 1,0,3,4,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,27,28,29,30,
+ 31,32,33,34,35,36,37,38,39,40,
+ 41,42,43,44,45,46,47,48,49,50,
+ 51,52,53,54,55,56,57,58,59,60,
+ 61,62,63,64,65,66,67,68,0,1,
+ 0,3,4,5,6,7,8,9,10,11,
12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,
- 0,33,34,35,36,37,38,39,40,41,
+ 32,33,34,35,36,37,38,39,40,41,
42,43,44,45,46,47,48,49,50,51,
- 52,53,54,55,56,57,123,0,0,0,
- 1,3,0,5,0,3,68,3,4,5,
- 6,7,8,9,10,11,12,13,14,15,
- 16,17,18,19,20,21,22,23,24,25,
- 26,27,28,29,30,31,0,33,34,35,
- 36,37,38,39,40,41,42,43,44,45,
- 46,47,48,49,50,51,52,53,54,55,
- 56,57,0,0,126,127,128,129,130,131,
- 72,72,68,0,1,2,3,4,5,16,
- 17,18,19,0,0,2,0,0,15,16,
- 17,18,19,20,0,125,0,0,4,26,
- 27,28,29,30,0,0,70,3,0,5,
- 6,7,8,9,10,11,12,13,14,0,
- 0,0,0,4,0,21,22,23,24,25,
- 68,0,27,28,29,15,32,0,1,20,
- 0,68,69,70,71,58,0,74,86,3,
- 77,78,69,80,0,82,83,0,85,86,
- 87,88,89,90,91,92,104,27,28,29,
- 76,98,75,100,101,102,103,104,105,0,
- 0,97,3,75,4,6,7,8,9,10,
- 11,12,13,14,107,73,77,73,0,68,
- 21,22,23,24,25,0,0,2,87,72,
- 31,115,33,34,35,36,37,38,39,40,
- 41,42,43,44,45,46,47,48,49,0,
- 76,0,3,76,103,6,7,8,9,10,
- 11,12,13,14,0,0,15,0,94,0,
- 21,22,23,24,25,0,0,0,0,3,
- 15,32,6,7,8,9,10,11,12,13,
- 14,0,15,0,69,30,0,21,22,23,
- 24,25,0,0,0,79,3,5,32,6,
+ 52,53,54,55,56,57,58,59,60,61,
+ 62,63,64,65,66,67,0,0,0,3,
+ 4,5,6,7,8,9,10,11,12,13,
+ 14,15,16,17,18,19,20,21,22,23,
+ 24,25,26,0,28,29,30,31,32,33,
+ 0,1,36,37,38,39,40,41,42,43,
+ 44,45,46,47,48,49,50,0,0,53,
+ 3,4,56,57,58,59,60,61,62,0,
+ 0,0,1,3,0,69,6,7,8,9,
+ 10,11,12,13,14,77,28,29,30,0,
+ 83,21,22,23,24,25,0,28,29,30,
+ 4,31,0,33,96,0,36,37,38,39,
+ 40,41,42,43,44,45,46,47,48,49,
+ 50,0,26,2,0,0,2,0,1,27,
+ 73,0,99,127,128,129,130,131,132,0,
+ 0,0,3,4,5,6,7,8,9,10,
+ 11,12,13,14,15,16,17,18,19,20,
+ 21,22,23,24,25,26,0,28,29,30,
+ 31,32,33,71,69,36,37,38,39,40,
+ 41,42,43,44,45,46,47,48,49,50,
+ 0,70,53,88,70,56,57,58,59,60,
+ 61,62,0,1,2,3,4,5,69,0,
+ 70,106,81,0,1,126,75,15,16,17,
+ 18,19,20,82,0,0,0,0,26,89,
+ 28,29,30,0,32,110,3,4,72,6,
7,8,9,10,11,12,13,14,0,0,
- 0,70,4,4,4,0,108,0,26,0,
- 0,2,5,69,31,5,69,0,20,20,
- 20,0,0,2,75,70,0,70,0,82,
- 0,87,74,26,0,0,26,0,80,0,
- 0,0,69,0,0,74,0,71,99,0,
- 0,80,0,69,0,71,83,0,1,83,
- 0,1,0,1,0,1,0,1,0,1,
- 0,1,0,68,0,77,77,77,69,0,
- 1,0,1,0,1,0,1,70,0,68,
- 0,86,70,0,1,0,70,0,70,0,
- 1,0,72,0,1,0,1,73,73,0,
- 73,0,73,73,3,72,0,1,69,75,
- 74,69,72,0,0,0,3,2,0,1,
- 0,1,0,1,0,1,0,1,0,85,
- 0,1,70,0,1,0,105,0,1,0,
- 1,0,1,0,1,81,0,1,0,69,
- 0,1,0,1,0,1,0,1,0,81,
- 69,0,1,0,0,0,3,82,69,0,
- 0,0,3,2,0,0,2,90,0,0,
- 2,2,68,0,0,2,2,0,0,2,
- 2,0,0,2,2,0,0,2,2,0,
+ 0,85,0,0,21,22,23,24,25,0,
+ 0,71,0,1,0,0,0,34,35,3,
+ 5,69,70,71,72,15,27,75,69,0,
+ 78,79,80,0,82,20,0,85,5,87,
+ 88,89,90,91,92,93,94,0,71,73,
+ 76,15,100,20,102,103,104,105,106,107,
+ 0,1,0,0,105,3,4,84,6,7,
+ 8,9,10,11,12,13,14,74,76,70,
+ 0,71,0,21,22,23,24,25,79,0,
+ 0,0,0,78,5,3,34,35,6,7,
+ 8,9,10,11,12,13,14,71,0,20,
+ 2,78,0,21,22,23,24,25,0,0,
+ 0,0,4,76,124,0,34,35,0,0,
+ 5,3,0,4,6,7,8,9,10,11,
+ 12,13,14,0,26,20,84,4,101,21,
+ 22,23,24,25,0,0,27,75,0,0,
+ 31,70,34,35,82,75,0,78,0,0,
+ 27,0,82,0,31,0,84,4,70,0,
+ 51,52,0,54,55,0,0,107,76,70,
+ 70,70,72,72,51,52,0,54,55,26,
+ 0,69,0,78,85,0,1,0,1,0,
+ 1,0,84,0,1,0,1,0,1,0,
+ 88,0,1,0,1,71,71,0,1,71,
+ 0,1,0,74,0,1,0,1,0,0,
+ 74,73,0,74,0,74,0,0,0,74,
+ 2,0,0,74,3,3,74,0,73,0,
+ 0,0,0,77,2,0,70,0,1,0,
+ 1,0,70,0,1,0,76,0,1,0,
+ 1,0,1,0,1,0,75,0,1,0,
+ 1,0,73,0,1,0,1,0,1,0,
+ 1,0,1,0,1,0,1,0,1,0,
+ 71,0,70,0,5,0,3,0,3,87,
+ 0,0,5,2,0,87,79,83,0,83,
+ 70,70,0,0,2,70,0,0,79,2,
+ 0,0,2,2,0,0,2,2,0,92,
+ 2,0,0,2,2,0,0,2,73,0,
0,2,2,0,0,2,2,0,0,2,
+ 2,0,0,2,2,0,0,102,2,0,
+ 0,2,0,1,0,1,75,0,1,118,
+ 0,1,0,0,2,75,3,0,0,2,
+ 2,0,0,2,80,3,0,116,2,0,
+ 0,2,2,0,0,2,2,0,0,83,
2,0,0,2,2,0,0,2,2,0,
- 72,0,1,0,1,0,1,0,1,0,
- 0,2,0,3,2,100,0,0,74,74,
- 0,0,2,2,0,117,2,0,0,0,
- 0,3,0,0,0,97,2,0,0,2,
- 0,0,0,0,0,2,0,0,0,0,
- 2,0,0,0,0,0,0,0,0,0,
- 0,0,112,0,0,0,0,0,0,0,
- 0,0,0,118,0,0,0,0,0,0,
- 81,0,0,0,0,0,69,0,0,0,
- 0,0,76,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,71,
- 0,78,71,71,0,71,0,0,78,0,
- 0,70,0,71,0,98,0,0,0,0,
- 0,0,0,101,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,119,102,
- 0,121,0,0,0,0,0,0,0,113,
+ 0,2,2,77,0,0,0,0,0,2,
+ 2,113,0,0,0,70,0,0,0,0,
+ 2,0,119,0,0,2,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,124,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 100,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,72,0,80,0,72,72,
+ 0,72,0,80,0,0,0,71,0,72,
+ 0,0,0,0,0,0,0,120,103,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,104,122,0,114,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,125,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0
};
};
public final static char termCheck[] = TermCheck.termCheck;
@@ -1324,331 +1525,402 @@
public interface TermAction {
public final static char termAction[] = {0,
- 315,2470,4613,1816,4439,4444,4701,4699,4700,4702,
- 4703,4704,4705,4706,4707,2161,4422,4420,4414,4410,
- 4436,1833,1832,1831,1821,1820,4425,4406,4402,4398,
- 4426,4697,1630,4627,4628,4629,1735,4614,4615,4616,
- 4617,4618,4619,4620,4621,4622,4623,4624,4625,4626,
- 1974,4384,4379,4391,4440,4443,4441,4394,4744,2093,
- 4741,4743,2190,4745,4746,4748,1626,1635,4613,38,
- 4613,1010,1245,869,4701,4699,4700,4702,4703,4704,
- 4705,4706,4707,4613,4284,4009,3975,3941,3907,4721,
- 4722,4723,4724,4725,4613,4329,4613,1760,681,2599,
- 1104,4613,4613,4613,4163,4708,4181,4613,637,4613,
- 2513,4201,822,4613,2556,4613,2642,4613,4926,2112,
- 2685,4613,2111,4613,2470,191,1816,4439,4444,4701,
- 4699,4700,4702,4703,4704,4705,4706,4707,2161,4422,
- 4420,4414,4410,4436,1833,1832,1831,1821,1820,4425,
- 4406,4402,4398,4426,4697,1630,4627,4628,4629,1735,
- 4614,4615,4616,4617,4618,4619,4620,4621,4622,4623,
- 4624,4625,4626,1974,4384,4379,4391,4440,4443,4441,
- 4394,4744,2093,4741,4743,2190,4745,4746,4748,1626,
- 1635,4835,4613,2470,191,1816,4439,4444,4701,4699,
- 4700,4702,4703,4704,4705,4706,4707,2161,4422,4420,
- 4414,4410,4436,1833,1832,1831,1821,1820,4425,4406,
- 4402,4398,4426,4697,1630,4627,4628,4629,1735,4614,
- 4615,4616,4617,4618,4619,4620,4621,4622,4623,4624,
- 4625,4626,1974,4384,4379,4391,4440,4443,4441,4394,
- 4744,2093,4741,4743,2190,4745,4746,4748,1626,1635,
- 4835,4613,2470,191,1816,4439,4444,4701,4699,4700,
- 4702,4703,4704,4705,4706,4707,2161,4422,4420,4414,
- 4410,4436,1833,1832,1831,1821,1820,4425,4406,4402,
- 4398,4426,4697,1630,4627,4628,4629,1735,4614,4615,
- 4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,
- 4626,1974,4384,4379,4391,4440,4443,4441,4394,4744,
- 2093,4741,4743,2190,4745,4746,4748,1626,1635,4835,
- 4613,2470,191,1816,4439,4444,4701,4699,4700,4702,
- 4703,4704,4705,4706,4707,2161,4422,4420,4414,4410,
- 4436,1833,1832,1831,1821,1820,4425,4406,4402,4398,
- 4426,4697,1630,4627,4628,4629,1735,4614,4615,4616,
- 4617,4618,4619,4620,4621,4622,4623,4624,4625,4626,
- 1974,4384,4379,4391,4440,4443,4441,4394,4744,2093,
- 4741,4743,2190,4745,4746,4748,1626,1635,4835,4613,
- 2470,191,1816,4439,4444,4701,4699,4700,4702,4703,
- 4704,4705,4706,4707,2161,4422,4420,4414,4410,4436,
- 1833,1832,1831,1821,1820,4425,4406,4402,4398,4426,
- 4697,1630,4627,4628,4629,1735,4614,4615,4616,4617,
- 4618,4619,4620,4621,4622,4623,4624,4625,4626,1974,
- 4384,4379,4391,4440,4443,4441,4394,4744,2093,4741,
- 4743,2190,4745,4746,4748,1626,1635,4835,4613,2470,
- 191,1816,4439,4444,4701,4699,4700,4702,4703,4704,
- 4705,4706,4707,2161,4422,4420,4414,4410,4436,1833,
- 1832,1831,1821,1820,4425,4406,4402,4398,4426,4697,
- 1630,4627,4628,4629,1735,4614,4615,4616,4617,4618,
- 4619,4620,4621,4622,4623,4624,4625,4626,1974,4384,
- 4379,4391,4440,4443,4441,4394,4744,2093,4741,4743,
- 2190,4745,4746,4748,1626,1635,4835,4613,2470,191,
- 1816,4439,4444,4701,4699,4700,4702,4703,4704,4705,
- 4706,4707,2161,4422,4420,4414,4410,4436,1833,1832,
- 1831,1821,1820,4425,4406,4402,4398,4426,4697,1630,
- 4627,4628,4629,1735,4614,4615,4616,4617,4618,4619,
- 4620,4621,4622,4623,4624,4625,4626,1974,4384,4379,
- 4391,4440,4443,4441,4394,4744,2093,4741,4743,2190,
- 4745,4746,4748,1626,1635,4835,4613,2470,191,1816,
- 4439,4444,4701,4699,4700,4702,4703,4704,4705,4706,
- 4707,2161,4422,4420,4414,4410,4436,1833,1832,1831,
- 1821,1820,4425,4406,4402,4398,4426,4697,1630,4627,
- 4628,4629,1735,4614,4615,4616,4617,4618,4619,4620,
- 4621,4622,4623,4624,4625,4626,1974,4384,4379,4391,
- 4440,4443,4441,4394,4744,2093,4741,4743,2190,4745,
- 4746,4748,1626,1635,4835,4613,2470,191,1816,4439,
- 4444,4701,4699,4700,4702,4703,4704,4705,4706,4707,
- 2161,4422,4420,4414,4410,4436,1833,1832,1831,1821,
- 1820,4425,4406,4402,4398,4426,4697,1630,4627,4628,
- 4629,1735,4614,4615,4616,4617,4618,4619,4620,4621,
- 4622,4623,4624,4625,4626,1974,4384,4379,4391,4440,
- 4443,4441,4394,4744,2093,4741,4743,2190,4745,4746,
- 4748,1626,1635,4835,4613,2470,191,1816,4439,4444,
- 4701,4699,4700,4702,4703,4704,4705,4706,4707,2161,
- 4422,4420,4414,4410,4436,1833,1832,1831,1821,1820,
- 4425,4406,4402,4398,4426,4697,1630,4627,4628,4629,
- 1735,4614,4615,4616,4617,4618,4619,4620,4621,4622,
- 4623,4624,4625,4626,1974,4384,4379,4391,4440,4443,
- 4441,4394,4744,2093,4741,4743,2190,4745,4746,4748,
- 1626,1635,4835,4613,2470,191,1816,4439,4444,4701,
- 4699,4700,4702,4703,4704,4705,4706,4707,2161,4422,
- 4420,4414,4410,4436,1833,1832,1831,1821,1820,4425,
- 4406,4402,4398,4426,4697,1630,4627,4628,4629,1735,
- 4614,4615,4616,4617,4618,4619,4620,4621,4622,4623,
- 4624,4625,4626,1974,4384,4379,4391,4440,4443,4441,
- 4394,4744,2093,4741,4743,2190,4745,4746,4748,1626,
- 1635,4835,4613,2470,191,1816,4439,4444,4701,4699,
- 4700,4702,4703,4704,4705,4706,4707,2161,4422,4420,
- 4414,4410,4436,1833,1832,1831,1821,1820,4425,4406,
- 4402,4398,4426,4697,1630,4627,4628,4629,1735,4614,
- 4615,4616,4617,4618,4619,4620,4621,4622,4623,4624,
- 4625,4626,1974,4384,4379,4391,4440,4443,4441,4394,
- 4744,2093,4741,4743,2190,4745,4746,4748,1626,1635,
- 4835,4613,2470,191,1816,4439,4444,4701,4699,4700,
- 4702,4703,4704,4705,4706,4707,2161,4422,4420,4414,
- 4410,4436,1833,1832,1831,1821,1820,4425,4406,4402,
- 4398,4426,4697,1630,4627,4628,4629,1735,4614,4615,
- 4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,
- 4626,1974,4384,4379,4391,4440,4443,4441,4394,4744,
- 2093,4741,4743,2190,4745,4746,4748,1626,1635,4835,
- 4613,2470,191,1816,4439,4444,4701,4699,4700,4702,
- 4703,4704,4705,4706,4707,2161,4422,4420,4414,4410,
- 4436,1833,1832,1831,1821,1820,4425,4406,4402,4398,
- 4426,4697,1630,4627,4628,4629,1735,4614,4615,4616,
- 4617,4618,4619,4620,4621,4622,4623,4624,4625,4626,
- 1974,4384,4379,4391,4440,4443,4441,4394,4744,2093,
- 4741,4743,2190,4745,4746,4748,1626,1635,4835,4613,
- 2470,191,1816,4439,4444,4701,4699,4700,4702,4703,
- 4704,4705,4706,4707,2161,4422,4420,4414,4410,4436,
- 1833,1832,1831,1821,1820,4425,4406,4402,4398,4426,
- 4697,1630,4627,4628,4629,1735,4614,4615,4616,4617,
- 4618,4619,4620,4621,4622,4623,4624,4625,4626,1974,
- 4384,4379,4391,4440,4443,4441,4394,4744,2093,4741,
- 4743,2190,4745,4746,4748,1626,1635,4835,4613,2470,
- 191,1816,4439,4444,4701,4699,4700,4702,4703,4704,
- 4705,4706,4707,2161,4422,4420,4414,4410,4436,1833,
- 1832,1831,1821,1820,4425,4406,4402,4398,4426,4697,
- 1630,4627,4628,4629,1735,4614,4615,4616,4617,4618,
- 4619,4620,4621,4622,4623,4624,4625,4626,1974,4384,
- 4379,4391,4440,4443,4441,4394,4744,2093,4741,4743,
- 2190,4745,4746,4748,1626,1635,4835,4613,2470,191,
- 1816,4439,4444,4701,4699,4700,4702,4703,4704,4705,
- 4706,4707,2161,4422,4420,4414,4410,4436,1833,1832,
- 1831,1821,1820,4425,4406,4402,4398,4426,4697,1630,
- 4627,4628,4629,1735,4614,4615,4616,4617,4618,4619,
- 4620,4621,4622,4623,4624,4625,4626,1974,4384,4379,
- 4391,4440,4443,4441,4394,4744,2093,4741,4743,2190,
- 4745,4746,4748,1626,1635,4835,4613,2470,191,1816,
- 4439,4444,4701,4699,4700,4702,4703,4704,4705,4706,
- 4707,2161,4422,4420,4414,4410,4436,1833,1832,1831,
- 1821,1820,4425,4406,4402,4398,4426,4697,1630,4627,
- 4628,4629,1735,4614,4615,4616,4617,4618,4619,4620,
- 4621,4622,4623,4624,4625,4626,1974,4384,4379,4391,
- 4440,4443,4441,4394,4744,2093,4741,4743,2190,4745,
- 4746,4748,1626,1635,4835,4613,2470,191,1816,4439,
- 4444,4701,4699,4700,4702,4703,4704,4705,4706,4707,
- 2161,4422,4420,4414,4410,4436,1833,1832,1831,1821,
- 1820,4425,4406,4402,4398,4426,4697,1630,4627,4628,
- 4629,1735,4614,4615,4616,4617,4618,4619,4620,4621,
- 4622,4623,4624,4625,4626,1974,4384,4379,4391,4440,
- 4443,4441,4394,4744,2093,4741,4743,2190,4745,4746,
- 4748,1626,1635,4835,4613,2470,191,1816,4439,4444,
- 4701,4699,4700,4702,4703,4704,4705,4706,4707,2161,
- 4422,4420,4414,4410,4436,1833,1832,1831,1821,1820,
- 4425,4406,4402,4398,4426,4697,1630,4627,4628,4629,
- 1735,4614,4615,4616,4617,4618,4619,4620,4621,4622,
- 4623,4624,4625,4626,1974,4384,4379,4391,4440,4443,
- 4441,4394,4744,2093,4741,4743,2190,4745,4746,4748,
- 1626,1635,4835,4613,2470,191,1816,4439,4444,4701,
- 4699,4700,4702,4703,4704,4705,4706,4707,2161,4422,
- 4420,4414,4410,4436,1833,1832,1831,1821,1820,4425,
- 4406,4402,4398,4426,4697,1630,4627,4628,4629,1735,
- 4614,4615,4616,4617,4618,4619,4620,4621,4622,4623,
- 4624,4625,4626,1974,4384,4379,4391,4440,4443,4441,
- 4394,4744,2093,4741,4743,2190,4745,4746,4748,1626,
- 1635,4835,4613,2470,191,1816,4439,4444,4701,4699,
- 4700,4702,4703,4704,4705,4706,4707,2161,4422,4420,
- 4414,4410,4436,1833,1832,1831,1821,1820,4425,4406,
- 4402,4398,4426,4697,1630,4627,4628,4629,1735,4614,
- 4615,4616,4617,4618,4619,4620,4621,4622,4623,4624,
- 4625,4626,1974,4384,4379,4391,4440,4443,4441,4394,
- 4744,2093,4741,4743,2190,4745,4746,4748,1626,1635,
- 4835,4613,2470,4613,1816,4439,4444,4701,4699,4700,
- 4702,4703,4704,4705,4706,4707,2161,4422,4420,4414,
- 4410,4436,1833,1832,1831,1821,1820,4425,4406,4402,
- 4398,4426,4697,1630,4627,4628,4629,1735,4614,4615,
- 4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,
- 4626,1974,4384,4379,4391,4440,4443,4441,4394,4744,
- 2093,4741,4743,2190,4745,4746,4748,1626,1635,4835,
- 113,2470,85,1816,4439,4444,4701,4699,4700,4702,
- 4703,4704,4705,4706,4707,4134,4422,4420,4414,4410,
- 4436,1833,1832,1831,1821,1820,4425,4406,4402,4398,
- 4426,4697,1630,4627,4628,4629,1735,4614,4615,4616,
- 4617,4618,4619,4620,4621,4622,4623,4624,4625,4626,
- 1974,4384,4379,4391,4440,4443,4441,4394,4744,2093,
- 4741,4743,2190,4745,4746,4748,1626,1635,67,157,
- 4613,147,2109,147,95,4613,4613,4169,4300,4613,
- 4613,71,4613,2470,2900,1816,4439,4444,4701,4699,
- 4700,4702,4703,4704,4705,4706,4707,4134,4422,4420,
- 4414,4410,4436,1833,1832,1831,1821,1820,4425,4406,
- 4402,4398,4426,4697,1630,4627,4628,4629,1735,4614,
- 4615,4616,4617,4618,4619,4620,4621,4622,4623,4624,
- 4625,4626,1974,4384,4379,4391,4440,4443,4441,4394,
- 4744,2093,4741,4743,2190,4745,4746,4748,1626,1635,
- 4383,4196,588,4888,4288,269,4161,4183,4613,599,
- 590,4883,4613,731,4613,2470,2900,4587,4439,4444,
- 4701,4699,4700,4702,4703,4704,4705,4706,4707,2161,
- 4422,4420,4414,4410,4436,1833,1832,1831,1821,1820,
- 4425,4406,4402,4398,4426,4697,1630,4627,4628,4629,
- 1735,4614,4615,4616,4617,4618,4619,4620,4621,4622,
- 4623,4624,4625,4626,1974,4384,4379,4391,4440,4443,
- 4441,4394,4744,2093,4741,4743,2190,4745,4746,4748,
- 1626,1635,4835,202,2470,4613,1816,4439,4444,4701,
- 4699,4700,4702,4703,4704,4705,4706,4707,2161,4422,
- 4420,4414,4410,4436,1833,1832,1831,1821,1820,4425,
- 4406,4402,4398,4426,4697,1630,4627,4628,4629,1735,
- 4614,4615,4616,4617,4618,4619,4620,4621,4622,4623,
- 4624,4625,4626,1974,4384,4379,4391,4440,4443,4441,
- 4394,4744,2093,4741,4743,2190,4745,4746,4748,1626,
- 1635,277,287,296,4338,209,3416,4613,292,2771,
- 4613,4613,4768,4613,129,189,4613,4009,3975,3941,
- 3907,4613,4175,154,4613,2470,4591,1816,4439,4444,
- 4701,4699,4700,4702,4703,4704,4705,4706,4707,2161,
- 4422,4420,4414,4410,4436,1833,1832,1831,1821,1820,
- 4425,4406,4402,4398,4426,4697,1630,4627,4628,4629,
- 1735,4614,4615,4616,4617,4618,4619,4620,4621,4622,
- 4623,4624,4625,4626,1974,4384,4379,4391,4440,4443,
- 4441,4394,4744,2093,4741,4743,2190,4745,4746,4748,
- 1626,1635,42,4803,4912,588,4234,1760,681,2728,
- 4613,4544,4613,2114,4769,4613,134,23,4009,3975,
- 3941,3907,593,4612,283,4613,2470,4591,1816,4439,
- 4444,4701,4699,4700,4702,4703,4704,4705,4706,4707,
- 2161,4422,4420,4414,4410,4436,1833,1832,1831,1821,
- 1820,4425,4406,4402,4398,4426,4697,1630,4627,4628,
- 4629,1735,4614,4615,4616,4617,4618,4619,4620,4621,
- 4622,4623,4624,4625,4626,1974,4384,4379,4391,4440,
- 4443,4441,4394,4744,2093,4741,4743,2190,4745,4746,
- 4748,1626,1635,4613,2470,23,1816,4439,4444,4701,
- 4699,4700,4702,4703,4704,4705,4706,4707,2161,4422,
- 4420,4414,4410,4436,1833,1832,1831,1821,1820,4425,
- 4406,4402,4398,4426,4697,1630,4627,4628,4629,1735,
- 4614,4615,4616,4617,4618,4619,4620,4621,4622,4623,
- 4624,4625,4626,1974,4384,4379,4391,4440,4443,4441,
- 4394,4744,2093,4741,4743,2190,4745,4746,4748,1626,
- 4613,148,4693,4613,4308,3115,189,22,4613,4312,
- 4613,4316,4613,2092,4613,4613,2470,3072,4587,4439,
- 4444,4701,4699,4700,4702,4703,4704,4705,4706,4707,
- 2161,4422,4420,4414,4410,4436,1833,1832,1831,1821,
- 1820,4425,4406,4402,4398,4426,4697,1630,4627,4628,
- 4629,1735,4614,4615,4616,4617,4618,4619,4620,4621,
- 4622,4623,4624,4625,4626,1974,4384,4379,4391,4440,
- 4443,4441,4394,4744,2093,4741,4743,2190,4745,4746,
- 4748,1626,1635,54,4043,7582,4043,4043,4043,4043,
- 4043,4043,4043,4043,4043,4043,4043,4043,4043,4043,
- 4043,4043,4043,4043,4043,4043,4043,4043,4043,4043,
- 4043,4043,4043,4043,4043,4043,4043,4043,4043,4043,
- 4043,4043,4043,4043,4043,4043,4043,4043,4043,4043,
- 4043,4043,4043,4043,4043,4043,4043,4043,4043,4043,
- 4043,4043,4043,4043,4043,4043,4043,4043,4043,4043,
- 4043,4613,2470,4613,1816,4439,4444,4701,4699,4700,
- 4702,4703,4704,4705,4706,4707,2161,4422,4420,4414,
- 4410,4436,1833,1832,1831,1821,1820,4425,4406,4402,
- 4398,4426,4697,1630,4627,4628,4629,1735,4614,4615,
- 4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,
- 4626,1974,4384,4379,4391,4440,4443,4441,4394,4744,
- 2093,4741,4743,2190,4745,4746,4748,1626,4613,4613,
- 778,4698,4439,4457,4701,4699,4700,4702,4703,4704,
- 4705,4706,4707,4453,4422,4420,4414,4410,4436,4630,
- 4631,4632,4633,4634,4425,4406,4402,4398,4426,4697,
- 282,4627,4628,4629,4636,4510,4529,4525,4524,4522,
- 4523,4521,4519,4518,4513,4512,4511,4626,4451,4384,
- 4379,4391,4440,4443,4441,4394,2814,4613,305,4613,
- 684,4163,4613,4181,4613,2109,4835,4698,4439,4457,
- 4701,4699,4700,4702,4703,4704,4705,4706,4707,4453,
- 4422,4420,4414,4410,4436,4630,4631,4632,4633,4634,
- 4425,4406,4402,4398,4426,4697,291,4627,4628,4629,
- 4636,4614,4615,4616,4617,4618,4619,4620,4621,4622,
- 4623,4624,4625,4626,4451,4384,4379,4391,4440,4443,
- 4441,4394,4613,40,4868,4869,4870,4871,4872,4873,
- 4202,588,4835,4613,22,4803,4803,4803,4803,4009,
- 3975,3941,3907,4613,4613,1292,4613,4613,4803,4803,
- 4803,4803,4803,4803,147,1634,4613,4613,2857,4803,
- 4803,4803,4803,4803,4613,26,1755,1010,4613,1620,
- 4701,4699,4700,4702,4703,4704,4705,4706,4707,30,
- 326,4613,4613,3871,4613,4721,4722,4723,4724,4725,
- 4835,4613,3833,3795,3757,4940,1104,106,1530,490,
- 28,4803,4803,4803,4803,4744,340,4803,4843,4954,
- 4803,4803,4192,4803,95,4803,4803,147,4803,4803,
- 4803,4803,4803,4803,4803,4803,2117,3833,3795,3757,
- 4300,4803,4292,4803,4803,4803,4803,4803,4803,4613,
- 4613,4921,4698,4296,2857,4701,4699,4700,4702,4703,
- 4704,4705,4706,4707,4832,538,399,4330,293,4835,
- 4630,4631,4632,4633,4634,4613,189,1433,2986,96,
- 4697,4952,4627,4628,4629,4636,4614,4615,4616,4617,
- 4618,4619,4620,4621,4622,4623,4624,4625,4626,4613,
- 4275,324,4708,4300,1930,4701,4699,4700,4702,4703,
- 4704,4705,4706,4707,4613,54,8090,4613,2427,332,
- 4721,4722,4723,4724,4725,291,4613,324,139,1010,
- 7312,1104,4701,4699,4700,4702,4703,4704,4705,4706,
- 4707,136,8090,4613,4208,4074,4613,4721,4722,4723,
- 4724,4725,55,4613,4613,4803,4698,4105,1104,4701,
- 4699,4700,4702,4703,4704,4705,4706,4707,34,33,
- 32,326,3871,3871,3871,4613,1819,59,606,4613,
- 57,4949,4105,1758,4697,4105,4369,4613,490,490,
- 490,4613,4613,4861,3201,4376,4613,326,4613,4740,
- 85,2234,269,606,21,20,606,19,4883,18,
- 17,24,4338,4613,4613,269,4613,3459,3158,158,
- 337,4883,196,4476,4613,2322,4471,4613,825,4475,
- 4613,872,4613,919,4613,966,4613,1013,4613,1060,
- 4613,1107,4613,4835,4613,399,399,399,2278,4613,
- 1154,4613,1201,4613,1248,4613,1295,4377,4613,4835,
- 197,4842,4378,4613,1342,4613,4380,118,4182,4613,
- 1389,114,95,4613,1436,81,1483,112,111,192,
- 110,4613,109,108,4548,581,335,2003,4338,4304,
- 2943,4448,588,97,4613,4613,4708,4687,262,4206,
- 261,1577,1,4468,12,247,11,246,348,4545,
- 10,245,4368,9,244,4613,3717,8,243,7,
- 242,5,241,6,240,4915,4,239,98,4462,
- 3,238,2,237,4613,1637,4613,1692,4613,4913,
- 2049,4613,1764,4613,4613,4613,4387,4720,2278,4613,
- 343,4613,4350,4893,4613,350,4798,3029,4613,4613,
- 4866,4865,4835,4613,4613,4864,4799,4613,4613,4797,
- 4796,4613,4613,4795,4794,4613,4613,4793,4792,4613,
- 4613,4791,4790,4613,4613,4788,4787,4613,4613,4786,
- 4785,4613,4613,4784,4783,4613,4613,4789,4782,4613,
- 588,4613,1836,4613,1883,188,731,187,1483,4613,
- 272,4688,4613,8091,4877,3287,207,203,3330,4254,
- 4613,4613,4876,4814,4613,3244,4813,345,4613,4613,
- 4613,4957,4613,4613,4613,4922,4781,4613,4613,4780,
- 4613,4613,4613,4613,4613,4758,4613,354,4613,4613,
- 4759,324,272,4613,4613,4613,4613,4613,4613,4613,
- 4613,4613,4594,4613,4613,4613,4613,4613,4613,4613,
- 4613,4613,4613,4354,4613,4613,4613,4613,4613,4613,
- 4914,4613,4613,4613,4613,4613,2366,4613,4613,4613,
- 4613,4613,4325,4613,4613,4613,4613,4613,4613,4613,
- 4613,4613,4613,4613,4613,4613,4613,4613,4613,4884,
- 4613,4889,3588,3631,4613,3674,4613,4613,4887,4613,
- 4613,4940,4613,4602,4613,3502,4613,4613,4613,4613,
- 4613,4613,4613,3545,4613,4613,4613,4613,4613,4613,
- 4613,4613,4613,4613,4613,4613,4613,4613,4960,4968,
- 4613,4965,4613,4613,4613,4613,4613,4613,4613,4955,
- 4613,4613,4613,4613,4613,4613,4613,4613,4613,4613,
- 4613,4613,4613,4966
+ 381,3084,66,1530,5120,5098,5319,5317,5318,5320,
+ 5321,5322,5323,5324,5325,2064,5094,5093,5092,5091,
+ 5097,1772,1771,1770,1716,1577,5095,5362,5090,5089,
+ 5088,1481,5096,5315,1433,1482,5246,5247,5233,5234,
+ 5235,5236,5237,5238,5239,5240,5241,5242,5243,5244,
+ 5245,5359,5361,606,5363,5364,4844,4840,4909,5114,
+ 5118,5117,5085,1780,2799,5366,5577,5578,5042,5232,
+ 37,5232,5316,5232,5326,5319,5317,5318,5320,5321,
+ 5322,5323,5324,5325,53,5232,4738,4704,4670,4636,
+ 305,5232,4799,4920,5232,2308,1792,1715,4912,7894,
+ 5362,3213,5315,5232,5232,1193,4738,4704,4670,4636,
+ 5232,3127,4973,906,5232,3170,636,3256,5232,4851,
+ 5232,3299,2366,2319,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,201,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,5232,3084,5232,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,2064,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5536,112,3084,84,1530,5120,5098,
+ 5319,5317,5318,5320,5321,5322,5323,5324,5325,4772,
+ 5094,5093,5092,5091,5097,1772,1771,1770,1716,1577,
+ 5095,5362,5090,5089,5088,1481,5096,5315,1433,1482,
+ 5246,5247,5233,5234,5235,5236,5237,5238,5239,5240,
+ 5241,5242,5243,5244,5245,5359,5361,606,5363,5364,
+ 4844,4840,4909,5114,5118,5117,5085,1780,2799,5366,
+ 5577,5578,5042,5232,5232,4929,157,5232,157,94,
+ 128,199,3729,5000,5232,4808,5232,5232,5232,3084,
+ 3514,1530,5120,5098,5319,5317,5318,5320,5321,5322,
+ 5323,5324,5325,4772,5094,5093,5092,5091,5097,1772,
+ 1771,1770,1716,1577,5095,5362,5090,5089,5088,1481,
+ 5096,5315,1433,1482,5246,5247,5233,5234,5235,5236,
+ 5237,5238,5239,5240,5241,5242,5243,5244,5245,5359,
+ 5361,606,5363,5364,4844,4840,4909,5114,5118,5117,
+ 5085,1780,2799,5366,5577,5578,5042,2313,353,1778,
+ 1641,5432,133,22,5232,4959,5232,4826,199,21,
+ 1783,857,212,3084,3514,1530,5120,5098,5319,5317,
+ 5318,5320,5321,5322,5323,5324,5325,2064,5094,5093,
+ 5092,5091,5097,1772,1771,1770,1716,1577,5095,5362,
+ 5090,5089,5088,1481,5096,5315,1433,1482,5246,5247,
+ 5233,5234,5235,5236,5237,5238,5239,5240,5241,5242,
+ 5243,5244,5245,5359,5361,606,5363,5364,4844,4840,
+ 4909,5114,5118,5117,5085,1780,2799,5366,5577,5578,
+ 5042,41,4813,22,359,39,244,5232,358,8986,
+ 5232,3385,5232,5066,5232,1783,857,4738,4704,4670,
+ 4636,4738,4704,4670,4636,5232,3084,5211,1530,5120,
+ 5098,5319,5317,5318,5320,5321,5322,5323,5324,5325,
+ 2064,5094,5093,5092,5091,5097,1772,1771,1770,1716,
+ 1577,5095,5362,5090,5089,5088,1481,5096,5315,1433,
+ 1482,5246,5247,5233,5234,5235,5236,5237,5238,5239,
+ 5240,5241,5242,5243,5244,5245,5359,5361,606,5363,
+ 5364,4844,4840,4909,5114,5118,5117,5085,1780,2799,
+ 5366,5577,5578,5042,5232,392,167,5611,5232,2199,
+ 5541,5232,3342,3600,2375,5232,669,5232,717,5606,
+ 5625,5232,157,1633,2199,5231,349,3471,5232,3084,
+ 5211,1530,5120,5098,5319,5317,5318,5320,5321,5322,
+ 5323,5324,5325,2064,5094,5093,5092,5091,5097,1772,
+ 1771,1770,1716,1577,5095,5362,5090,5089,5088,1481,
+ 5096,5315,1433,1482,5246,5247,5233,5234,5235,5236,
+ 5237,5238,5239,5240,5241,5242,5243,5244,5245,5359,
+ 5361,606,5363,5364,4844,4840,4909,5114,5118,5117,
+ 5085,1780,2799,5366,5577,5578,5042,5232,3084,5000,
+ 1530,5120,5098,5319,5317,5318,5320,5321,5322,5323,
+ 5324,5325,2064,5094,5093,5092,5091,5097,1772,1771,
+ 1770,1716,1577,5095,5362,5090,5089,5088,1481,5096,
+ 5315,1433,1482,5246,5247,5233,5234,5235,5236,5237,
+ 5238,5239,5240,5241,5242,5243,5244,5245,5359,5361,
+ 606,5363,5364,4844,4840,4909,5114,5118,5117,5085,
+ 1780,2799,5366,5577,5578,5232,5232,5397,5398,5232,
+ 5232,5311,5232,5027,5232,5032,5232,5053,5232,105,
+ 1533,5232,3084,3686,5196,5120,5098,5319,5317,5318,
+ 5320,5321,5322,5323,5324,5325,2064,5094,5093,5092,
+ 5091,5097,1772,1771,1770,1716,1577,5095,5362,5090,
+ 5089,5088,1481,5096,5315,1433,1482,5246,5247,5233,
+ 5234,5235,5236,5237,5238,5239,5240,5241,5242,5243,
+ 5244,5245,5359,5361,606,5363,5364,4844,4840,4909,
+ 5114,5118,5117,5085,1780,2799,5366,5577,5578,5042,
+ 53,520,95,520,520,520,520,520,520,520,
+ 520,520,520,520,520,520,520,520,520,520,
+ 520,520,520,520,520,520,520,520,520,520,
+ 520,520,520,520,520,520,520,520,520,520,
+ 520,520,520,520,520,520,520,520,520,520,
+ 520,520,520,520,520,520,520,520,520,520,
+ 520,520,520,520,520,520,520,520,520,297,
+ 2094,5232,2094,2094,2094,2094,2094,2094,2094,2094,
+ 2094,2094,2094,2094,2094,2094,2094,2094,2094,2094,
+ 2094,2094,2094,2094,2094,2094,2094,2094,2094,2094,
+ 2094,2094,2094,2094,2094,2094,2094,2094,2094,2094,
+ 2094,2094,2094,2094,2094,2094,2094,2094,2094,2094,
+ 2094,2094,2094,2094,2094,2094,2094,2094,2094,2094,
+ 2094,2094,2094,2094,2094,2094,2094,2094,296,2151,
+ 5536,2151,2151,2151,2151,2151,2151,2151,2151,2151,
+ 2151,2151,2151,2151,2151,2151,2151,2151,2151,2151,
+ 2151,2151,2151,2151,2151,2151,2151,2151,2151,2151,
+ 2151,2151,2151,2151,2151,2151,2151,2151,2151,2151,
+ 2151,2151,2151,2151,2151,2151,2151,2151,2151,2151,
+ 2151,2151,2151,2151,2151,2151,2151,2151,2151,2151,
+ 2151,2151,2151,2151,2151,2151,2151,295,2208,5232,
+ 2208,2208,2208,2208,2208,2208,2208,2208,2208,2208,
+ 2208,2208,2208,2208,2208,2208,2208,2208,2208,2208,
+ 2208,2208,2208,2208,2208,2208,2208,2208,2208,2208,
+ 2208,2208,2208,2208,2208,2208,2208,2208,2208,2208,
+ 2208,2208,2208,2208,2208,2208,2208,2208,2208,2208,
+ 2208,2208,2208,2208,2208,2208,2208,2208,2208,2208,
+ 2208,2208,2208,2208,2208,2208,294,2265,5232,2265,
+ 2265,2265,2265,2265,2265,2265,2265,2265,2265,2265,
+ 2265,2265,2265,2265,2265,2265,2265,2265,2265,2265,
+ 2265,2265,2265,2265,2265,2265,2265,2265,2265,2265,
+ 2265,2265,2265,2265,2265,2265,2265,2265,2265,2265,
+ 2265,2265,2265,2265,2265,2265,2265,2265,2265,2265,
+ 2265,2265,2265,2265,2265,2265,2265,2265,2265,2265,
+ 2265,2265,2265,2265,2265,293,2322,5232,2322,2322,
+ 2322,2322,2322,2322,2322,2322,2322,2322,2322,2322,
+ 2322,2322,2322,2322,2322,2322,2322,2322,2322,2322,
+ 2322,2322,2322,2322,2322,2322,2322,2322,2322,2322,
+ 2322,2322,2322,2322,2322,2322,2322,2322,2322,2322,
+ 2322,2322,2322,2322,2322,2322,2322,2322,2322,2322,
+ 2322,2322,2322,2322,2322,2322,2322,2322,2322,2322,
+ 2322,2322,2322,2322,292,2379,5232,2379,2379,2379,
+ 2379,2379,2379,2379,2379,2379,2379,2379,2379,2379,
+ 2379,2379,2379,2379,2379,2379,2379,2379,2379,2379,
+ 2379,2379,2379,2379,2379,2379,2379,2379,2379,2379,
+ 2379,2379,2379,2379,2379,2379,2379,2379,2379,2379,
+ 2379,2379,2379,2379,2379,2379,2379,2379,2379,2379,
+ 2379,2379,2379,2379,2379,2379,2379,2379,2379,2379,
+ 2379,2379,2379,291,2436,5232,2436,2436,2436,2436,
+ 2436,2436,2436,2436,2436,2436,2436,2436,2436,2436,
+ 2436,2436,2436,2436,2436,2436,2436,2436,2436,2436,
+ 2436,2436,2436,2436,2436,2436,2436,2436,2436,2436,
+ 2436,2436,2436,2436,2436,2436,2436,2436,2436,2436,
+ 2436,2436,2436,2436,2436,2436,2436,2436,2436,2436,
+ 2436,2436,2436,2436,2436,2436,2436,2436,2436,2436,
+ 2436,2436,290,2493,5232,2493,2493,2493,2493,2493,
+ 2493,2493,2493,2493,2493,2493,2493,2493,2493,2493,
+ 2493,2493,2493,2493,2493,2493,2493,2493,2493,2493,
+ 2493,2493,2493,2493,2493,2493,2493,2493,2493,2493,
+ 2493,2493,2493,2493,2493,2493,2493,2493,2493,2493,
+ 2493,2493,2493,2493,2493,2493,2493,2493,2493,2493,
+ 2493,2493,2493,2493,2493,2493,2493,2493,2493,2493,
+ 2493,289,2550,5232,2550,2550,2550,2550,2550,2550,
+ 2550,2550,2550,2550,2550,2550,2550,2550,2550,2550,
+ 2550,2550,2550,2550,2550,2550,2550,2550,2550,2550,
+ 2550,2550,2550,2550,2550,2550,2550,2550,2550,2550,
+ 2550,2550,2550,2550,2550,2550,2550,2550,2550,2550,
+ 2550,2550,2550,2550,2550,2550,2550,2550,2550,2550,
+ 2550,2550,2550,2550,2550,2550,2550,2550,2550,2550,
+ 288,2607,5232,2607,2607,2607,2607,2607,2607,2607,
+ 2607,2607,2607,2607,2607,2607,2607,2607,2607,2607,
+ 2607,2607,2607,2607,2607,2607,2607,2607,2607,2607,
+ 2607,2607,2607,2607,2607,2607,2607,2607,2607,2607,
+ 2607,2607,2607,2607,2607,2607,2607,2607,2607,2607,
+ 2607,2607,2607,2607,2607,2607,2607,2607,2607,2607,
+ 2607,2607,2607,2607,2607,2607,2607,2607,2607,287,
+ 2664,5232,2664,2664,2664,2664,2664,2664,2664,2664,
+ 2664,2664,2664,2664,2664,2664,2664,2664,2664,2664,
+ 2664,2664,2664,2664,2664,2664,2664,2664,2664,2664,
+ 2664,2664,2664,2664,2664,2664,2664,2664,2664,2664,
+ 2664,2664,2664,2664,2664,2664,2664,2664,2664,2664,
+ 2664,2664,2664,2664,2664,2664,2664,2664,2664,2664,
+ 2664,2664,2664,2664,2664,2664,2664,2664,5232,3084,
+ 5232,1530,5120,5098,5319,5317,5318,5320,5321,5322,
+ 5323,5324,5325,2064,5094,5093,5092,5091,5097,1772,
+ 1771,1770,1716,1577,5095,5362,5090,5089,5088,1481,
+ 5096,5315,1433,1482,5246,5247,5233,5234,5235,5236,
+ 5237,5238,5239,5240,5241,5242,5243,5244,5245,5359,
+ 5361,606,5363,5364,4844,4840,4909,5114,5118,5117,
+ 5085,1780,2799,5366,5577,5578,5232,5232,94,5316,
+ 5128,5098,5319,5317,5318,5320,5321,5322,5323,5324,
+ 5325,5124,5094,5093,5092,5091,5097,5248,5249,5250,
+ 5251,5252,5095,5232,5090,5089,5088,5254,5096,5315,
+ 5232,4819,5246,5247,3020,3032,3031,3030,3028,3029,
+ 3027,3026,3025,3024,3023,3022,5245,371,25,5123,
+ 1715,4912,4844,4840,4909,5114,5118,5117,5085,27,
+ 5232,5232,765,5316,5232,5536,5319,5317,5318,5320,
+ 5321,5322,5323,5324,5325,4936,4490,4452,4414,348,
+ 5597,5248,5249,5250,5251,5252,54,4490,4452,4414,
+ 2765,5254,5232,5315,3041,5232,5246,5247,5233,5234,
+ 5235,5236,5237,5238,5239,5240,5241,5242,5243,5244,
+ 5245,5232,1940,1194,5232,362,1289,5232,813,5539,
+ 5057,199,5607,5555,5556,5557,5558,5559,5560,5232,
+ 5232,70,5316,5128,5098,5319,5317,5318,5320,5321,
+ 5322,5323,5324,5325,5124,5094,5093,5092,5091,5097,
+ 5248,5249,5250,5251,5252,5095,5232,5090,5089,5088,
+ 5254,5096,5315,2198,5536,5246,5247,5233,5234,5235,
+ 5236,5237,5238,5239,5240,5241,5242,5243,5244,5245,
+ 357,4831,5123,5502,4895,4844,4840,4909,5114,5118,
+ 5117,5085,5232,21,5432,5432,5432,5432,5536,5232,
+ 2365,2721,5432,5232,861,1787,337,5432,5432,5432,
+ 5432,5432,5432,5570,5232,5232,164,357,5432,2843,
+ 5432,5432,5432,5232,5432,1629,1050,953,4116,5319,
+ 5317,5318,5320,5321,5322,5323,5324,5325,5232,124,
+ 5232,5148,5232,5232,5339,5340,5341,5342,5343,5232,
+ 390,2148,5232,909,5232,29,406,1098,1001,5639,
+ 4600,5432,5432,5432,5432,9490,5539,5432,5536,5232,
+ 5432,5432,5432,33,5432,4564,390,5432,4600,5432,
+ 5432,5432,5432,5432,5432,5432,5432,398,2197,1778,
+ 4964,9490,5432,4564,5432,5432,5432,5432,5432,5432,
+ 5232,957,5232,5232,1896,1050,1337,1002,5319,5317,
+ 5318,5320,5321,5322,5323,5324,5325,563,4969,5068,
+ 23,392,138,5339,5340,5341,5342,5343,5358,32,
+ 135,5232,5232,4528,4600,5326,1098,1001,5319,5317,
+ 5318,5320,5321,5322,5323,5324,5325,392,5232,4564,
+ 5634,4528,5232,5339,5340,5341,5342,5343,58,5232,
+ 5232,5232,2765,3858,3428,31,1098,1001,5232,319,
+ 4600,1050,5232,5360,5319,5317,5318,5320,5321,5322,
+ 5323,5324,5325,5232,1940,4564,1002,5360,3815,5339,
+ 5340,5341,5342,5343,5232,5232,5362,337,5232,5232,
+ 5365,4995,1098,1001,5570,337,5232,4528,84,20,
+ 5362,19,5570,56,5365,18,1002,2765,2887,17,
+ 5359,5361,16,5363,5364,5232,157,4374,4989,2434,
+ 2434,5149,4073,2931,5359,5361,168,5363,5364,1940,
+ 5232,5536,206,4528,2425,5232,1005,5232,1053,5232,
+ 1101,5232,1002,5232,1149,5232,1197,5232,1245,403,
+ 5501,5232,1293,5232,1341,2263,2311,5232,1389,5062,
+ 5232,1437,5232,5067,80,1485,401,1974,5232,5232,
+ 4836,94,207,111,5232,110,5232,5232,5232,109,
+ 5544,5232,96,108,4910,5326,107,117,1713,5232,
+ 113,318,5232,5000,5305,202,2434,330,4904,329,
+ 1581,414,2491,1,4825,5232,5022,5232,5146,12,
+ 7963,11,8032,10,8101,97,3557,9,8170,8,
+ 8239,5232,1778,7,8308,5,8377,6,8446,4,
+ 8515,3,8584,2,8653,5232,1646,5232,1723,158,
+ 5063,5232,2662,5232,3772,5232,1578,5232,2377,4835,
+ 5232,5232,3471,5427,5232,4837,5338,5600,409,5598,
+ 2021,1625,5232,416,5533,2887,5232,5232,5545,5532,
+ 5232,5232,5531,5428,5232,5232,5426,5425,5232,3643,
+ 5424,5232,5232,5423,5422,5232,217,5421,1778,5232,
+ 5232,5420,5419,5232,5232,5417,5416,5232,5232,5415,
+ 5414,5232,5232,5413,5412,213,5232,3944,5418,5232,
+ 411,5411,5232,1800,5232,1848,3987,198,717,3901,
+ 197,1485,5232,340,5306,2019,9491,5232,5232,5564,
+ 5563,5232,5232,5383,5575,5642,5232,5637,5382,5232,
+ 5232,5381,5380,5232,5232,5379,5378,5232,5232,5599,
+ 5377,5232,5232,5376,5375,5232,5232,5374,5373,5232,
+ 5232,5443,5442,5058,5232,5232,5232,5232,5232,5410,
+ 5409,5214,5232,5232,5232,2975,5232,5232,5232,5232,
+ 5387,420,2433,5232,5232,5388,390,340,5232,5232,
+ 5232,5232,5232,5232,5232,5232,5232,5232,5232,5232,
+ 5232,5232,5232,5232,5232,5232,5232,5232,5232,5232,
+ 4159,5232,5232,5232,5232,5232,5232,5232,5232,5232,
+ 5232,5232,5232,5232,5232,5232,5232,5232,5232,5232,
+ 5232,5232,5232,5232,5232,5232,5232,5232,5232,5232,
+ 5232,5232,5232,5232,5571,5232,5576,5232,4245,4288,
+ 5232,4331,5232,5574,5232,5232,5232,5625,5232,5221,
+ 5232,5232,5232,5232,5232,5232,5232,5645,4202,5232,
+ 5232,5232,5232,5232,5232,5232,5232,5232,5232,5232,
+ 5232,5232,5232,5232,5232,5653,5650,5232,5640,5232,
+ 5232,5232,5232,5232,5232,5232,5232,5232,5232,5232,
+ 5232,5232,5232,5232,5232,5232,5232,5232,5232,5651
};
};
public final static char termAction[] = TermAction.termAction;
@@ -1656,46 +1928,49 @@
public interface Asb {
public final static char asb[] = {0,
- 533,543,173,250,248,251,250,299,249,248,
- 252,251,514,344,344,344,136,514,139,173,
- 540,540,142,426,426,142,174,504,541,541,
- 230,231,426,231,231,607,606,145,158,565,
- 565,514,343,606,343,526,230,526,449,231,
- 231,530,163,433,344,231,526,165,231,607,
- 231,514,450,450,449,514,71,518,518,518,
- 518,518,518,518,518,518,518,518,518,518,
- 518,518,518,518,518,518,167,167,303,303,
- 255,302,302,302,302,302,303,303,430,565,
- 307,305,311,313,318,314,324,321,153,607,
- 607,349,606,343,514,449,449,449,449,449,
- 356,432,231,343,526,343,346,346,358,607,
- 429,550,565,565,565,565,565,565,565,565,
- 565,565,565,565,565,565,565,565,565,565,
- 565,1,514,565,257,482,70,83,364,504,
- 504,516,449,449,449,449,449,449,449,449,
- 449,449,449,449,449,449,449,449,449,231,
- 514,433,522,521,169,528,343,528,449,344,
- 343,163,231,163,347,346,514,71,514,449,
- 70,71,70,231,231,231,530,70,70,70,
- 70,70,70,70,70,70,70,70,70,70,
- 70,362,560,449,3,361,361,70,70,256,
- 607,606,305,518,518,518,303,303,305,304,
- 424,564,564,303,303,303,303,303,303,303,
- 303,303,303,303,303,565,565,565,449,311,
- 311,314,314,314,321,318,318,318,291,523,
- 71,343,514,536,514,567,432,165,343,449,
- 514,68,607,553,607,607,607,607,607,569,
- 607,607,607,607,607,607,607,607,607,607,
- 607,607,607,607,449,449,2,514,607,607,
- 70,71,516,565,565,257,257,516,514,449,
- 514,71,179,179,572,449,449,449,606,574,
- 545,537,449,343,449,163,71,607,449,70,
- 70,449,607,576,607,353,579,296,557,353,
- 607,605,606,607,546,546,514,538,343,343,
- 609,611,554,572,607,607,449,297,514,449,
- 514,449,514,71,231,180,449,343,536,449,
- 572,297,297,607,297,613,342,449,449,449,
- 343,607,615
+ 531,419,393,404,402,405,404,385,403,402,
+ 406,405,635,148,310,310,145,635,151,393,
+ 416,416,390,387,387,390,394,625,417,417,
+ 508,509,387,509,509,165,673,391,391,154,
+ 167,391,391,635,309,673,309,436,508,436,
+ 509,509,569,509,509,637,172,553,310,509,
+ 436,174,509,165,509,674,165,635,570,570,
+ 569,79,528,528,528,528,528,528,528,528,
+ 528,528,528,528,528,528,528,528,528,528,
+ 528,176,176,178,269,269,176,224,268,268,
+ 268,268,268,269,269,170,391,273,271,277,
+ 279,284,280,290,287,162,165,165,409,673,
+ 309,635,569,569,569,569,569,421,552,509,
+ 309,436,309,509,399,399,423,165,1,391,
+ 391,391,391,391,391,391,391,391,391,391,
+ 391,391,391,391,391,391,391,391,4,635,
+ 391,534,226,604,78,93,447,625,625,429,
+ 569,569,569,569,569,569,569,569,569,569,
+ 569,569,569,569,569,569,569,509,635,553,
+ 432,431,74,438,309,438,569,310,309,172,
+ 509,172,165,400,399,635,79,635,569,79,
+ 78,509,509,509,637,78,78,78,78,78,
+ 78,78,78,78,78,78,78,78,78,541,
+ 440,569,6,426,426,78,541,72,426,78,
+ 225,165,673,271,528,528,528,269,269,271,
+ 270,506,444,444,269,391,269,269,269,269,
+ 269,269,269,269,269,269,269,391,391,569,
+ 277,277,280,280,280,287,284,284,284,260,
+ 433,79,309,635,220,635,543,552,174,309,
+ 569,635,72,545,165,165,165,165,165,549,
+ 165,165,165,165,165,165,165,165,165,165,
+ 165,165,165,165,569,569,5,635,165,569,
+ 379,165,78,79,429,391,391,226,226,429,
+ 635,569,635,506,569,569,569,569,569,569,
+ 569,569,569,569,569,317,317,640,569,569,
+ 569,673,642,312,221,569,309,569,172,79,
+ 165,569,78,78,569,165,644,165,413,647,
+ 265,165,413,165,165,165,165,165,165,165,
+ 165,165,165,165,672,673,165,216,216,635,
+ 222,309,309,676,678,546,640,165,165,569,
+ 266,635,569,635,569,635,79,509,318,569,
+ 309,220,569,640,266,266,165,266,680,308,
+ 569,569,569,309,165,682
};
};
public final static char asb[] = Asb.asb;
@@ -1703,68 +1978,75 @@
public interface Asr {
public final static char asr[] = {0,
- 82,67,59,37,38,39,40,41,42,43,
- 44,45,46,47,48,49,33,34,35,21,
- 22,23,24,25,7,8,6,9,10,11,
- 12,13,14,31,3,65,36,60,5,61,
- 58,63,64,32,55,56,54,20,30,26,
- 16,17,18,19,27,28,29,57,53,51,
- 52,62,66,1,15,50,84,4,0,2,
- 59,65,60,61,58,63,64,32,62,66,
- 1,67,68,7,8,6,9,10,11,12,
- 13,14,31,55,56,54,4,20,30,26,
- 16,17,18,19,27,28,29,57,53,51,
- 52,15,50,36,37,38,39,40,41,42,
- 43,44,45,46,47,48,49,33,34,35,
- 21,22,23,24,25,5,3,0,72,70,
- 0,75,1,0,15,82,71,83,87,3,
- 70,72,2,69,4,94,0,72,3,76,
- 94,0,81,0,97,0,73,0,15,70,
- 3,0,108,109,95,96,70,0,2,67,
- 15,50,1,66,62,36,55,56,54,4,
- 20,30,26,16,17,18,19,27,28,29,
- 57,53,51,52,63,64,58,61,60,65,
- 31,37,38,39,40,41,42,43,44,45,
- 46,47,48,49,33,34,35,59,93,5,
- 7,8,6,9,10,11,12,13,14,32,
- 21,22,23,24,25,3,0,70,106,108,
- 109,96,95,0,79,72,30,15,5,26,
- 16,17,18,19,20,74,78,88,89,90,
- 91,92,80,77,98,85,100,101,102,103,
- 104,86,27,28,29,105,3,70,68,1,
- 2,82,69,87,4,83,71,0,58,107,
- 0,73,1,79,74,80,91,92,88,89,
- 5,26,30,16,17,18,19,4,20,77,
- 27,28,29,2,82,78,71,69,83,90,
- 98,85,100,101,103,104,86,87,3,68,
- 105,102,15,70,0,69,87,0,2,83,
- 87,76,69,71,0,123,0,87,76,4,
- 69,82,0,38,39,40,42,41,43,44,
- 45,46,47,48,37,130,131,126,127,128,
- 129,49,33,34,35,21,22,23,24,25,
- 36,7,8,6,9,10,11,12,13,14,
- 31,3,55,56,54,4,20,30,5,26,
- 16,17,18,19,27,28,29,57,53,51,
- 52,15,50,68,0,75,5,3,1,72,
- 0,70,81,97,113,115,117,118,119,121,
- 124,122,120,116,99,114,110,111,67,59,
- 65,60,5,61,58,63,64,32,55,56,
- 54,4,20,30,26,16,17,18,19,27,
- 28,29,57,53,51,52,62,66,1,15,
- 50,37,38,39,40,41,42,43,44,45,
- 46,47,48,49,33,34,35,21,22,23,
- 24,25,36,7,8,6,9,10,11,12,
- 13,14,31,3,0,74,0,1,79,0,
- 72,1,15,70,99,75,0,85,0,2,
- 3,0,106,125,0,117,118,119,0,70,
- 96,95,106,0,112,15,70,98,0,68,
- 103,0,104,68,86,0,68,2,0,82,
- 69,90,0,68,1,0,100,0,2,72,
- 0,78,0,115,0,69,83,0,71,72,
- 30,15,5,26,16,17,4,18,19,20,
- 1,74,88,89,79,91,92,80,77,27,
- 28,29,105,68,76,69,2,0,121,0,
- 101,0,113,0,124,0
+ 69,105,0,79,68,63,38,39,40,41,
+ 42,43,44,45,46,47,48,49,50,36,
+ 37,21,22,23,24,25,7,8,6,9,
+ 10,11,12,13,14,33,3,35,65,31,
+ 51,4,52,27,54,55,34,60,61,59,
+ 20,32,26,16,17,18,19,28,29,30,
+ 62,58,56,57,64,1,66,67,15,53,
+ 86,5,0,15,71,3,0,2,63,35,
+ 65,51,52,27,54,55,34,64,1,66,
+ 67,68,69,7,8,6,9,10,11,12,
+ 13,14,33,60,61,59,5,20,32,26,
+ 16,17,18,19,28,29,30,62,58,56,
+ 57,15,53,31,38,39,40,41,42,43,
+ 44,45,46,47,48,49,50,36,37,21,
+ 22,23,24,25,4,3,0,27,71,0,
+ 73,71,0,15,79,72,85,89,3,71,
+ 73,70,5,96,2,0,3,77,96,73,
+ 0,83,0,99,0,74,0,32,4,26,
+ 16,17,5,18,19,20,2,79,75,80,
+ 90,72,70,85,91,92,93,94,82,78,
+ 87,102,103,104,105,106,88,28,29,30,
+ 107,89,3,69,27,15,71,100,0,118,
+ 119,120,0,81,73,32,15,4,26,16,
+ 17,18,19,20,75,80,90,91,92,93,
+ 94,82,78,100,87,102,103,104,105,106,
+ 88,28,29,30,107,3,71,69,1,2,
+ 79,70,89,5,85,72,0,74,1,81,
+ 75,82,93,94,90,91,4,26,32,16,
+ 17,18,19,5,20,78,28,29,30,2,
+ 79,80,72,70,85,92,100,87,102,103,
+ 105,106,88,89,3,69,107,104,15,71,
+ 0,15,100,71,113,0,2,68,15,53,
+ 1,66,67,64,60,61,59,5,20,32,
+ 26,16,17,18,19,28,29,30,62,58,
+ 56,57,3,21,22,23,24,25,34,65,
+ 35,33,7,8,6,9,10,11,12,13,
+ 14,38,39,40,41,42,43,44,45,46,
+ 47,48,49,50,36,37,63,95,31,51,
+ 4,52,54,55,27,0,4,3,73,76,
+ 1,0,109,110,97,98,71,0,70,89,
+ 0,71,108,109,110,98,97,0,2,85,
+ 89,77,70,72,0,71,98,97,108,0,
+ 124,0,89,77,5,79,70,0,75,0,
+ 73,1,15,71,101,76,0,87,0,79,
+ 70,92,0,69,1,0,39,40,41,43,
+ 42,44,45,46,47,48,49,38,131,132,
+ 127,128,129,130,50,36,37,21,22,23,
+ 24,25,31,7,8,6,9,10,11,12,
+ 13,14,33,3,60,61,59,5,20,32,
+ 4,26,16,17,18,19,28,29,30,62,
+ 58,56,57,15,53,69,0,4,7,8,
+ 6,9,10,11,12,13,14,34,21,22,
+ 23,24,25,3,84,35,0,1,81,0,
+ 108,126,0,31,51,4,52,27,54,55,
+ 79,0,102,0,106,69,88,0,2,73,
+ 0,71,83,99,114,116,118,119,120,122,
+ 125,123,121,117,101,115,111,112,68,63,
+ 35,65,51,4,52,27,54,55,34,60,
+ 61,59,5,20,32,26,16,17,18,19,
+ 28,29,30,62,58,56,57,64,1,66,
+ 67,15,53,38,39,40,41,42,43,44,
+ 45,46,47,48,49,50,36,37,21,22,
+ 23,24,25,31,7,8,6,9,10,11,
+ 12,13,14,33,3,0,2,3,0,80,
+ 0,116,0,70,85,0,72,73,32,15,
+ 4,26,16,17,5,18,19,20,1,75,
+ 90,91,81,93,94,82,78,28,29,30,
+ 107,77,2,70,0,122,0,103,0,114,
+ 0,125,0
};
};
public final static char asr[] = Asr.asr;
@@ -1772,46 +2054,49 @@
public interface Nasb {
public final static char nasb[] = {0,
- 128,98,39,59,39,57,59,63,98,39,
- 13,57,49,98,98,98,61,98,98,39,
- 39,39,98,99,99,98,39,97,51,51,
- 101,48,99,101,48,98,98,98,98,98,
- 98,98,26,98,26,98,113,98,46,48,
- 48,33,98,1,98,113,98,98,48,98,
- 48,41,46,46,46,49,45,117,117,117,
- 117,117,117,117,117,117,117,117,117,117,
- 117,117,117,117,117,117,98,98,117,98,
- 98,98,98,98,98,98,117,117,98,98,
- 23,122,98,98,98,98,98,98,98,98,
- 98,98,98,26,49,46,46,46,46,46,
- 98,105,48,26,98,26,65,98,98,98,
- 98,111,98,98,98,98,98,98,98,98,
- 98,98,98,98,98,98,98,98,98,98,
- 98,46,126,98,98,96,46,108,91,97,
- 97,98,17,17,85,85,7,7,7,79,
- 79,79,79,67,73,73,73,46,46,48,
- 42,1,35,98,37,98,26,98,46,98,
- 26,98,48,98,98,98,42,45,133,46,
- 46,45,46,48,48,48,49,46,46,46,
- 46,46,46,46,46,46,46,46,46,46,
- 46,98,98,46,46,98,98,46,46,98,
- 98,98,122,117,117,117,117,117,122,117,
- 111,98,98,98,98,98,98,98,98,98,
- 98,98,98,98,98,98,98,98,46,98,
- 98,98,98,98,98,98,98,98,98,98,
- 46,26,98,135,98,98,105,98,26,46,
- 42,98,98,111,98,98,98,98,98,98,
- 98,98,98,98,98,98,98,98,98,98,
- 98,98,98,98,46,46,46,132,98,98,
- 46,45,98,98,98,98,98,98,119,29,
- 42,44,46,46,98,46,46,46,98,98,
- 137,130,46,26,46,98,45,98,46,46,
- 46,124,98,98,98,98,98,98,111,98,
- 98,98,98,98,55,55,98,98,26,26,
- 98,98,111,98,98,98,46,98,133,46,
- 42,46,42,45,48,46,46,26,135,46,
- 98,98,98,98,98,98,139,46,46,46,
- 26,98,98
+ 127,118,52,41,52,28,41,95,118,52,
+ 37,28,70,118,118,118,50,118,118,52,
+ 52,52,118,43,43,118,52,117,33,33,
+ 119,69,43,119,69,118,118,118,118,118,
+ 118,118,118,118,45,118,45,118,129,118,
+ 69,69,66,69,69,26,118,1,118,129,
+ 118,118,69,118,69,118,118,147,66,66,
+ 66,76,125,125,125,125,125,125,125,125,
+ 125,125,125,125,125,125,125,125,125,125,
+ 125,118,118,118,125,118,118,118,118,118,
+ 118,118,118,125,125,118,118,136,72,118,
+ 118,118,118,118,118,118,118,118,118,118,
+ 45,70,66,66,66,66,66,118,150,69,
+ 45,118,45,69,74,118,118,118,81,118,
+ 118,118,118,118,118,118,118,118,118,118,
+ 118,118,118,118,118,118,118,118,66,155,
+ 118,133,118,116,66,142,111,117,117,118,
+ 54,54,8,8,97,97,97,104,104,104,
+ 104,83,90,90,90,66,66,69,148,1,
+ 48,118,15,118,45,118,66,118,45,118,
+ 69,118,118,118,118,148,76,158,66,76,
+ 66,69,69,69,70,66,66,66,66,66,
+ 66,66,66,66,66,66,66,66,66,118,
+ 118,66,66,118,118,66,118,118,118,66,
+ 118,118,118,72,125,125,125,125,125,72,
+ 125,81,118,118,118,118,118,118,118,118,
+ 118,118,118,118,118,118,118,118,118,66,
+ 118,118,118,118,118,118,118,118,118,118,
+ 118,66,45,118,17,118,118,150,118,45,
+ 66,148,118,81,118,118,118,118,118,118,
+ 118,118,118,118,118,118,118,118,118,118,
+ 118,118,118,118,66,66,66,157,118,66,
+ 30,118,66,76,118,118,118,118,118,118,
+ 139,21,148,81,65,65,65,65,65,65,
+ 65,65,65,65,65,66,66,118,66,66,
+ 66,118,118,19,123,66,45,66,118,76,
+ 118,66,66,66,63,118,118,118,118,118,
+ 118,118,118,118,118,118,118,118,118,118,
+ 118,118,118,118,118,118,118,153,153,118,
+ 118,45,45,118,118,81,118,118,118,66,
+ 118,158,66,148,66,148,76,69,66,66,
+ 45,17,66,118,118,118,118,118,118,61,
+ 66,66,66,45,118,118
};
};
public final static char nasb[] = Nasb.nasb;
@@ -1819,20 +2104,22 @@
public interface Nasr {
public final static char nasr[] = {0,
- 2,4,5,3,79,0,2,4,5,3,
- 35,0,63,64,62,0,2,4,5,3,
- 27,0,94,95,0,50,51,0,5,4,
- 2,3,59,0,120,0,121,0,54,0,
- 107,52,0,52,43,4,5,3,2,0,
- 63,64,75,0,91,0,77,0,76,0,
- 57,0,108,0,106,0,2,4,5,3,
- 39,0,5,4,2,3,37,0,5,4,
- 2,3,32,0,5,4,2,3,30,0,
- 109,111,112,100,43,6,4,0,65,0,
- 3,2,78,0,50,87,0,4,6,8,
- 43,0,2,3,58,0,44,0,59,115,
- 0,61,0,117,0,99,0,93,0,123,
- 0,52,55,0,92,0,122,0,124,0
+ 2,4,5,7,3,86,0,5,4,2,
+ 3,7,30,0,128,0,99,0,129,0,
+ 5,4,2,3,7,64,0,84,0,7,
+ 79,0,68,69,82,0,68,69,67,0,
+ 83,0,70,0,53,54,0,127,0,62,
+ 0,57,0,2,4,5,7,3,27,0,
+ 131,0,124,0,45,4,5,7,3,2,
+ 0,66,0,112,0,2,4,5,7,3,
+ 43,0,2,4,5,7,3,39,0,5,
+ 4,2,3,37,7,0,2,4,5,7,
+ 3,35,0,5,4,2,3,7,32,0,
+ 114,118,119,107,43,6,4,0,3,2,
+ 85,0,130,0,44,0,100,0,2,3,
+ 63,0,116,7,0,101,102,0,64,122,
+ 0,4,6,15,43,0,113,45,0,53,
+ 94,0,98,0,106,0,45,58,0
};
};
public final static char nasr[] = Nasr.nasr;
@@ -1840,26 +2127,29 @@
public interface TerminalIndex {
public final static char terminalIndex[] = {0,
- 11,12,196,7,3,122,123,124,125,126,
- 128,129,130,131,2,5,6,8,9,10,
- 97,98,99,100,101,4,82,83,84,1,
- 70,127,91,92,93,94,102,103,104,105,
- 106,107,108,109,110,111,112,113,121,85,
- 114,115,116,117,118,119,120,37,36,38,
- 39,78,89,90,132,152,87,198,19,197,
- 18,21,13,15,50,20,33,16,25,32,
- 45,14,22,41,52,81,88,17,23,24,
- 26,27,28,30,44,46,47,51,54,66,
- 67,68,79,80,86,195,40,42,43,48,
- 49,53,55,56,57,58,59,60,61,62,
- 63,64,65,69,34,181,182,183,184,185,
- 186,29,31,71,72,73,74,75,76,77,
- 95,96,133,134,135,136,137,138,139,140,
- 141,142,143,144,145,146,147,148,149,150,
- 151,153,154,155,156,157,158,159,160,161,
- 162,163,164,165,166,167,168,169,170,171,
- 172,173,174,175,176,177,178,179,180,187,
- 188,189,190,191,192,193,194
+ 11,12,223,3,7,145,146,147,148,149,
+ 151,152,153,154,2,5,6,8,9,10,
+ 120,121,122,123,124,4,38,105,106,107,
+ 117,1,93,150,218,114,115,125,126,127,
+ 128,129,130,131,132,133,134,135,136,144,
+ 39,40,108,112,113,137,138,139,140,141,
+ 142,143,37,101,155,220,221,110,229,19,
+ 228,18,21,13,15,73,20,33,14,16,
+ 25,32,68,219,22,41,75,104,111,17,
+ 23,24,26,27,28,30,67,69,70,74,
+ 77,89,90,91,102,103,109,222,65,66,
+ 71,72,76,78,79,80,81,82,83,84,
+ 85,86,87,88,92,35,204,205,206,207,
+ 208,209,29,31,42,43,44,45,46,47,
+ 48,49,50,51,52,53,54,55,56,57,
+ 58,59,60,61,62,63,64,34,94,95,
+ 96,97,98,99,100,116,118,119,156,157,
+ 158,159,160,161,162,163,164,165,166,167,
+ 168,169,170,171,172,173,174,175,176,177,
+ 178,179,180,181,182,183,184,185,186,187,
+ 188,189,190,191,192,193,194,195,196,197,
+ 198,199,200,201,202,203,210,211,212,213,
+ 214,215,216,217,224,225,226,227
};
};
public final static char terminalIndex[] = TerminalIndex.terminalIndex;
@@ -1867,19 +2157,22 @@
public interface NonterminalIndex {
public final static char nonterminalIndex[] = {0,
- 0,220,223,221,199,200,0,222,0,214,
- 216,217,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,215,0,212,213,
- 209,210,211,207,208,205,206,203,204,201,
- 202,0,239,0,234,0,231,0,0,0,
- 257,230,254,0,232,0,253,256,233,237,
- 0,248,249,250,0,225,0,227,0,0,
- 236,241,0,0,0,251,252,255,0,258,
+ 0,251,254,252,230,231,257,0,0,0,
+ 0,0,0,0,253,245,247,248,0,0,
+ 0,0,0,0,0,0,246,0,243,244,
+ 240,241,242,238,239,236,237,234,235,232,
+ 233,0,270,0,262,266,0,263,0,0,
+ 0,0,0,291,288,261,0,264,0,0,
+ 0,287,290,265,269,0,282,283,284,0,
+ 256,0,259,0,0,268,271,274,275,0,
+ 0,0,285,286,289,0,292,0,0,0,
0,0,0,0,0,0,0,0,0,0,
- 0,0,0,218,219,0,0,224,226,228,
- 0,0,229,0,0,235,238,240,242,0,
- 243,244,245,246,247,0,0,0,259,0,
- 0,0,0,0,0,0,0
+ 249,250,0,0,255,258,260,0,0,0,
+ 0,267,272,273,0,276,0,277,278,279,
+ 280,281,0,0,0,293,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,
+ 0,0,0
};
};
public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
@@ -1887,16 +2180,17 @@
public interface ScopePrefix {
public final static char scopePrefix[] = {
- 1,29,339,63,86,168,168,13,21,367,
- 395,347,39,51,81,124,129,134,151,151,
- 215,220,229,234,239,244,249,254,259,264,
- 269,274,279,284,289,294,299,304,309,314,
- 319,151,72,151,151,116,120,139,139,324,
- 328,382,388,401,102,225,332,373,357,93,
- 357,145,392,145,206,206,145,145,145,145,
- 145,46,58,109,201,201,405,405,413,413,
- 421,421,421,421,58,58,441,441,441,109,
- 201
+ 1,29,354,51,74,197,197,13,21,120,
+ 382,452,362,39,69,143,148,153,180,180,
+ 230,235,244,249,254,259,264,269,274,279,
+ 284,289,294,299,304,309,314,319,324,329,
+ 334,180,60,180,180,104,110,114,134,339,
+ 343,397,401,405,409,413,417,421,425,429,
+ 433,437,441,445,458,90,240,347,388,126,
+ 372,81,372,172,449,163,163,172,172,172,
+ 172,172,172,46,97,138,158,158,462,462,
+ 470,470,478,478,478,478,138,138,498,498,
+ 498,97,158
};
};
public final static char scopePrefix[] = ScopePrefix.scopePrefix;
@@ -1904,16 +2198,17 @@
public interface ScopeSuffix {
public final static char scopeSuffix[] = {
- 11,37,56,70,70,143,185,19,27,56,
- 56,353,44,56,70,56,56,56,143,185,
- 56,56,56,56,56,56,56,56,56,56,
- 56,56,56,56,56,56,56,56,56,56,
- 56,160,77,175,191,56,56,143,56,56,
- 56,386,386,56,106,212,336,106,353,97,
- 361,143,56,148,209,212,156,187,163,179,
- 195,48,60,106,203,106,407,410,415,418,
- 423,426,429,432,435,438,443,446,449,111,
- 377
+ 11,37,108,58,58,175,214,19,27,108,
+ 108,108,368,44,58,108,108,108,175,214,
+ 108,108,108,108,108,108,108,108,108,108,
+ 108,108,108,108,108,108,108,108,108,108,
+ 108,189,65,204,220,108,108,118,108,108,
+ 108,108,108,108,108,108,108,108,108,108,
+ 108,108,118,118,108,94,169,351,94,130,
+ 368,85,376,175,108,166,169,177,185,216,
+ 192,208,224,48,94,140,160,94,464,467,
+ 472,475,480,483,486,489,492,495,500,503,
+ 506,99,392
};
};
public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
@@ -1921,16 +2216,17 @@
public interface ScopeLhs {
public final static char scopeLhs[] = {
- 86,83,102,11,94,25,25,85,84,102,
- 11,102,82,26,12,7,7,7,25,25,
- 95,95,8,7,7,7,7,7,7,7,
- 7,7,7,7,7,7,7,7,7,68,
- 68,25,11,25,25,110,110,101,101,48,
- 49,17,16,11,115,28,52,103,102,94,
- 102,25,12,25,28,28,25,25,25,25,
- 25,79,37,114,103,103,30,30,32,32,
- 35,35,35,35,37,37,39,39,39,115,
- 103
+ 93,90,109,17,101,25,25,92,91,52,
+ 109,17,109,89,18,8,8,8,25,25,
+ 102,102,15,8,8,8,8,8,8,8,
+ 8,8,8,8,8,8,8,8,8,73,
+ 73,25,17,25,25,117,117,26,51,49,
+ 50,108,108,108,108,108,108,108,108,108,
+ 108,108,23,22,17,122,28,45,56,52,
+ 109,101,109,25,18,28,28,25,25,25,
+ 25,25,25,86,121,37,56,56,30,30,
+ 32,32,35,35,35,35,37,37,39,39,
+ 39,122,56
};
};
public final static char scopeLhs[] = ScopeLhs.scopeLhs;
@@ -1938,16 +2234,17 @@
public interface ScopeLa {
public final static char scopeLa[] = {
- 124,113,2,78,78,68,86,121,119,2,
- 2,71,115,2,78,2,2,2,68,86,
+ 125,114,2,80,80,69,88,122,120,2,
+ 2,2,72,116,80,2,2,2,69,88,
2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,
- 2,104,74,104,104,2,2,68,2,2,
- 2,82,82,2,71,87,4,71,71,74,
- 83,68,2,103,87,87,103,103,103,103,
- 103,15,77,71,71,71,26,5,15,30,
- 19,18,17,16,20,4,29,28,27,83,
- 69
+ 2,106,75,106,106,2,2,79,2,2,
+ 2,2,2,2,2,2,2,2,2,2,
+ 2,2,79,79,2,72,89,5,72,70,
+ 72,75,85,69,2,89,89,105,105,105,
+ 105,105,105,15,72,78,72,72,26,4,
+ 15,32,19,18,17,16,20,5,30,29,
+ 28,85,70
};
};
public final static char scopeLa[] = ScopeLa.scopeLa;
@@ -1955,16 +2252,17 @@
public interface ScopeStateSet {
public final static char scopeStateSet[] = {
- 110,110,6,26,8,26,26,110,110,6,
- 26,6,110,26,26,24,24,24,26,26,
- 8,8,25,24,24,24,24,24,24,24,
- 24,24,24,24,24,24,24,24,24,5,
- 5,26,26,26,26,6,6,6,6,113,
- 113,26,26,26,22,29,10,1,6,8,
- 6,26,26,26,29,29,26,26,26,26,
- 26,110,40,3,1,1,31,31,33,33,
- 37,37,37,37,40,40,43,43,43,22,
- 1
+ 8,8,4,37,6,37,37,8,8,134,
+ 4,37,4,8,37,35,35,35,37,37,
+ 6,6,36,35,35,35,35,35,35,35,
+ 35,35,35,35,35,35,35,35,35,3,
+ 3,37,37,37,37,4,4,37,134,134,
+ 134,4,4,4,4,4,4,4,4,4,
+ 4,4,37,37,37,33,40,11,122,134,
+ 4,6,4,37,37,40,40,37,37,37,
+ 37,37,37,8,1,51,122,122,42,42,
+ 44,44,48,48,48,48,51,51,54,54,
+ 54,33,122
};
};
public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;
@@ -1972,52 +2270,57 @@
public interface ScopeRhs {
public final static char scopeRhs[] = {0,
- 250,321,237,101,237,100,237,123,122,0,
- 69,0,250,3,85,237,120,0,63,0,
- 320,289,250,237,116,0,61,0,250,288,
- 319,3,85,237,99,0,55,0,250,318,
- 237,114,0,57,0,277,0,257,0,0,
- 243,1,199,66,0,12,0,233,0,33,
- 208,0,237,74,258,265,89,208,0,16,
- 0,258,265,89,208,0,15,201,16,0,
- 237,74,258,209,0,237,314,74,258,265,
- 88,0,258,265,88,0,15,0,201,16,
- 0,252,83,256,0,18,201,0,256,0,
- 22,232,18,201,0,312,1,309,0,311,
- 1,308,0,244,1,241,52,0,244,1,
- 241,51,0,244,1,241,53,0,300,1,
- 306,0,239,0,237,62,0,79,239,0,
- 269,103,237,62,0,79,241,239,0,80,
- 239,0,79,241,80,239,0,269,104,269,
- 103,237,62,0,80,241,239,0,79,241,
- 80,241,239,0,81,0,79,241,81,0,
- 80,241,81,0,79,241,80,241,81,0,
- 249,0,18,239,0,304,67,0,88,239,
- 0,88,201,0,267,1,201,92,0,267,
- 1,201,91,0,302,249,67,0,243,1,
- 241,203,0,243,1,241,29,0,243,1,
- 241,28,0,243,1,241,27,0,243,1,
- 241,19,0,243,1,241,18,0,243,1,
- 241,17,0,243,1,241,16,0,243,1,
- 241,26,0,243,1,241,5,0,243,1,
- 241,30,0,243,1,241,20,0,243,1,
- 241,4,0,243,1,241,54,0,243,1,
- 241,56,0,243,1,241,55,0,243,1,
- 241,201,0,243,1,241,50,0,243,1,
- 241,15,0,301,1,32,0,244,1,200,
- 0,244,76,3,0,7,201,0,237,71,
- 249,83,249,1,37,0,249,83,249,1,
- 37,0,18,201,12,0,249,1,37,0,
- 22,230,18,201,12,0,237,71,249,1,
- 37,0,249,69,249,0,19,230,18,201,
- 0,296,73,32,0,14,0,294,73,200,
- 0,237,1,0,243,1,201,72,199,0,
- 243,1,59,0,226,0,4,215,0,3,
- 215,0,230,0,2,213,0,1,213,0,
- 231,0,9,210,0,8,210,0,6,210,
- 0,5,210,0,10,208,0,7,208,0,
- 235,0,84,206,0,83,206,0,82,206,
- 0
+ 283,359,268,103,268,102,268,124,123,0,
+ 92,0,283,3,87,268,121,0,86,0,
+ 358,327,283,268,117,0,84,0,283,326,
+ 357,3,87,268,101,0,78,0,283,356,
+ 268,115,0,80,0,315,0,291,0,0,
+ 268,75,294,301,91,245,0,16,0,294,
+ 301,91,245,0,15,232,16,0,268,75,
+ 294,246,0,268,352,75,294,301,90,0,
+ 294,301,90,0,15,0,232,16,0,286,
+ 85,292,0,18,232,0,292,0,22,264,
+ 18,232,0,350,1,347,0,12,0,349,
+ 1,346,0,343,74,35,0,14,0,276,
+ 70,276,1,35,0,276,1,35,0,19,
+ 263,12,0,276,1,84,0,264,0,33,
+ 239,0,276,1,272,57,0,276,1,272,
+ 56,0,276,1,272,58,0,273,0,18,
+ 270,0,341,68,0,111,270,0,111,232,
+ 0,268,64,0,270,0,102,270,0,305,
+ 105,268,64,0,102,271,270,0,103,270,
+ 0,102,271,103,270,0,305,106,305,105,
+ 268,64,0,103,271,270,0,102,271,103,
+ 271,270,0,104,0,102,271,104,0,103,
+ 271,104,0,102,271,103,271,104,0,303,
+ 1,232,94,0,303,1,232,93,0,339,
+ 273,68,0,275,1,272,234,0,275,1,
+ 272,30,0,275,1,272,29,0,275,1,
+ 272,28,0,275,1,272,19,0,275,1,
+ 272,18,0,275,1,272,17,0,275,1,
+ 272,16,0,275,1,272,26,0,275,1,
+ 272,4,0,275,1,272,32,0,275,1,
+ 272,20,0,275,1,272,5,0,275,1,
+ 272,59,0,275,1,272,61,0,275,1,
+ 272,60,0,275,1,272,232,0,275,1,
+ 272,53,0,275,1,272,15,0,338,1,
+ 34,0,276,1,231,0,276,77,3,0,
+ 7,232,0,268,72,273,85,273,1,38,
+ 0,273,85,273,1,38,0,18,232,12,
+ 0,273,1,38,0,22,262,18,232,12,
+ 0,268,72,273,1,38,0,273,70,273,
+ 0,19,262,18,232,0,284,1,49,0,
+ 284,1,48,0,284,1,47,0,284,1,
+ 46,0,284,1,45,0,284,1,44,0,
+ 284,1,42,0,284,1,43,0,284,1,
+ 41,0,284,1,40,0,284,1,39,0,
+ 334,74,34,0,332,74,231,0,268,1,
+ 0,275,1,232,73,230,0,275,1,63,
+ 0,257,0,4,246,0,3,246,0,261,
+ 0,2,244,0,1,244,0,262,0,9,
+ 241,0,8,241,0,6,241,0,5,241,
+ 0,10,239,0,7,239,0,266,0,107,
+ 237,0,106,237,0,105,237,0
};
};
public final static char scopeRhs[] = ScopeRhs.scopeRhs;
@@ -2025,19 +2328,22 @@
public interface ScopeState {
public final static char scopeState[] = {0,
- 1637,0,1577,0,4183,4161,0,1527,0,4476,
- 4475,1637,4468,1577,4369,4462,4448,4338,4330,1635,
- 4329,4206,0,4161,4183,4134,2161,1974,4105,606,
- 4074,4043,4009,3975,3941,3907,3871,490,399,3833,
- 3795,3757,3674,3631,3588,3545,3502,2366,2322,3459,
- 3416,3373,1883,1836,3330,2117,3287,3244,3201,3158,
- 3115,1764,1692,1637,1577,2278,1530,2049,3072,3029,
- 2986,2003,2943,1483,1436,2900,1389,1342,1295,1248,
- 1201,1154,1107,1060,1013,966,919,872,825,778,
- 731,1930,684,2857,2234,2814,2771,2728,3717,637,
- 538,2685,2642,2599,2556,2513,2190,2470,2427,447,
- 356,0,4325,4316,4312,4308,4304,4300,4296,4292,
- 4288,4208,4284,4275,4192,4234,4175,4196,4169,0
+ 1581,0,4920,4799,0,4839,0,465,422,0,
+ 5149,5148,2664,2607,2550,2493,2436,2379,2322,2265,
+ 2208,2151,2094,4825,1581,5068,2662,2491,2434,5067,
+ 5042,5066,4904,0,4799,4920,4772,2064,606,2765,
+ 1940,636,520,4738,4704,4670,4636,4600,4564,4528,
+ 4490,4452,4414,4331,4288,4245,4202,4159,2975,2931,
+ 4116,4073,4030,1848,1800,3987,2721,3944,3901,3858,
+ 3815,3772,1723,1646,1581,2887,1533,3729,2021,3686,
+ 3643,3600,1974,3557,1485,1437,3514,1389,1341,1293,
+ 1245,1197,1149,1101,1053,1005,957,909,861,813,
+ 765,717,1896,3471,2843,3428,465,3385,3342,4374,
+ 669,563,3299,3256,3213,3170,3127,2799,3084,422,
+ 3041,2664,2607,2550,2493,2436,2379,2322,2265,2208,
+ 2151,2094,0,5058,5053,5032,5027,5022,5000,4995,
+ 4989,4969,4964,4895,4959,4936,4929,4851,4831,4813,
+ 4826,1641,4808,0
};
};
public final static char scopeState[] = ScopeState.scopeState;
@@ -2045,46 +2351,49 @@
public interface InSymb {
public final static char inSymb[] = {0,
- 0,290,125,251,70,270,273,108,251,70,
- 271,274,109,305,261,260,95,96,199,70,
- 70,70,254,3,5,3,70,72,251,251,
- 1,75,72,1,75,5,275,199,3,200,
- 32,244,244,275,244,2,69,2,94,76,
- 1,1,250,248,247,69,2,250,75,5,
- 75,67,50,15,1,66,62,203,52,51,
- 53,57,29,28,27,19,18,17,16,26,
- 30,20,4,54,56,55,200,32,5,36,
- 3,25,24,23,22,21,202,201,199,59,
- 208,209,226,230,233,231,238,235,244,244,
- 301,3,256,277,111,110,114,99,116,120,
- 122,70,75,244,2,244,249,304,3,237,
- 199,237,241,241,241,241,241,241,241,241,
- 241,241,241,241,241,241,241,241,241,241,
- 241,73,73,241,241,72,1,89,88,92,
- 91,258,26,5,15,30,77,20,4,19,
- 18,17,16,105,29,28,27,94,4,76,
- 69,248,316,199,237,237,237,237,123,247,
- 244,250,75,250,302,303,69,87,69,4,
- 1,103,1,1,1,1,1,1,1,1,
+ 0,328,126,285,71,308,311,109,285,71,
+ 309,312,110,235,297,296,97,98,230,71,
+ 71,71,290,3,4,3,71,73,285,285,
+ 1,76,73,1,76,4,313,35,84,230,
+ 3,231,34,276,276,313,276,2,70,2,
+ 1,1,96,77,1,1,283,282,281,70,
+ 2,283,76,4,76,276,276,68,53,15,
+ 1,64,234,57,56,58,62,30,29,28,
+ 19,18,17,16,26,32,20,5,59,61,
+ 60,231,34,235,4,31,35,3,25,24,
+ 23,22,21,233,232,230,63,245,246,257,
+ 261,264,262,269,266,276,276,338,3,292,
+ 315,112,111,115,101,117,121,123,71,76,
+ 276,2,276,70,273,341,3,268,268,272,
+ 272,272,272,272,272,272,272,272,272,272,
+ 272,272,272,272,272,272,272,272,74,74,
+ 272,74,272,73,1,91,90,94,93,294,
+ 26,4,15,32,78,20,5,19,18,17,
+ 16,107,30,29,28,96,5,77,70,282,
+ 354,230,268,268,268,268,124,281,276,283,
+ 76,283,276,339,340,70,89,70,5,105,
1,1,1,1,1,1,1,1,1,1,
- 1,294,237,84,15,295,296,1,1,201,
- 243,242,265,50,15,5,203,201,265,203,
- 310,309,308,37,48,47,46,45,44,43,
- 41,42,40,39,38,306,201,201,74,226,
- 226,231,231,231,235,233,233,233,244,317,
- 1,318,85,250,85,237,70,250,244,87,
- 69,3,243,269,243,244,244,244,293,199,
- 243,243,243,243,243,243,243,243,243,243,
- 243,243,243,243,90,84,69,69,243,243,
- 1,69,258,241,241,241,241,258,1,1,
- 1,1,1,1,237,4,99,75,242,250,
- 3,289,117,3,100,250,104,243,74,1,
- 1,74,312,256,311,256,3,249,300,249,
- 267,93,268,267,237,319,112,320,118,237,
- 250,237,269,237,243,243,314,3,83,71,
- 83,71,69,71,76,69,98,288,250,101,
- 237,252,249,237,249,250,237,71,71,71,
- 321,237,250
+ 1,1,1,1,1,1,1,1,1,332,
+ 268,86,15,333,334,1,343,306,344,1,
+ 232,275,274,301,53,15,4,234,232,301,
+ 234,348,347,346,38,342,49,48,47,46,
+ 45,44,42,43,41,40,39,232,232,75,
+ 257,257,262,262,262,266,264,264,264,276,
+ 355,1,356,87,283,87,268,71,283,276,
+ 89,70,3,305,275,276,276,276,331,230,
+ 275,275,275,275,275,275,275,275,275,275,
+ 275,275,275,275,92,86,70,70,275,5,
+ 70,275,1,70,294,272,272,272,272,294,
+ 1,1,1,1,1,1,1,1,1,1,
+ 1,1,1,1,1,1,1,268,5,101,
+ 76,274,283,3,327,118,3,102,283,106,
+ 275,75,1,1,75,350,292,349,292,3,
+ 273,284,273,284,284,284,284,284,284,284,
+ 284,284,284,303,95,304,303,268,357,113,
+ 358,119,268,283,268,305,268,275,275,352,
+ 3,85,72,85,72,70,72,77,70,100,
+ 326,283,103,268,286,273,268,273,283,268,
+ 72,72,72,359,268,283
};
};
public final static char inSymb[] = InSymb.inSymb;
@@ -2126,14 +2435,37 @@
"@",
"!",
"!=",
+ "::=",
"\\u00AB",
"$empty",
"NUMERIC_OPERATION",
"STRING_LITERAL",
"INTEGER_LITERAL",
"REAL_LITERAL",
- "QUOTE_STRING_LITERAL",
"INTEGER_RANGE_START",
+ "class",
+ "composes",
+ "constructor",
+ "datatype",
+ "default",
+ "derived",
+ "do",
+ "elif",
+ "enum",
+ "except",
+ "exception",
+ "from",
+ "literal",
+ "ordered",
+ "primitive",
+ "raise",
+ "readonly",
+ "references",
+ "tag",
+ "try",
+ "typedef",
+ "unlimited",
+ "invalid",
"IMPORT",
"EXTENSION",
"AROUND",
@@ -2242,6 +2574,7 @@
"configuration",
"intermediate",
"property",
+ "opposites",
"population",
"map",
"new",
@@ -2262,7 +2595,6 @@
"uses",
"where",
"refines",
- "enforcing",
"access",
"extends",
"blackbox",
@@ -2287,8 +2619,16 @@
"forEach",
"forOne",
"compute",
+ "Dict",
+ "List",
+ "break",
+ "continue",
"EOF_TOKEN",
"IDENTIFIER",
+ "STEREOTYPE_QUALIFIER_OPEN",
+ "STEREOTYPE_QUALIFIER_CLOSE",
+ "MULTIPLICITY_RANGE",
+ "TILDE_SIGN",
"TEXT",
"ERROR_TOKEN",
"keywordAsIdentifier1",
@@ -2318,6 +2658,7 @@
"collectionTypeIdentifierCS",
"collectionLiteralPartsCS",
"collectionLiteralPartCS",
+ "stringLiteralExpCS",
"variableListCS2",
"featureCallExpCS",
"loopExpCS",
@@ -2330,11 +2671,13 @@
"letExpSubCS",
"oclMessageArgumentsCS",
"oclMessageArgCS",
- "letExpSubCS3",
"qvtErrorToken",
- "qvtStringLiteralExpCS",
"ifExpBodyCS",
+ "letExpSubCS3",
"iteratorExpCSToken",
+ "literalSimpleCS",
+ "dictLiteralPartCS",
+ "dictLiteralPartListCS",
"imperativeIteratorExpCSToken12",
"imperativeIteratorExpCSToken3",
"imperativeIteratorExpCSToken",
@@ -2358,9 +2701,9 @@
public final String name(int index) { return name[index]; }
public final static int
- ERROR_SYMBOL = 68,
- SCOPE_UBOUND = 90,
- SCOPE_SIZE = 91,
+ ERROR_SYMBOL = 69,
+ SCOPE_UBOUND = 102,
+ SCOPE_SIZE = 103,
MAX_NAME_LENGTH = 30;
public final int getErrorSymbol() { return ERROR_SYMBOL; }
@@ -2369,20 +2712,20 @@
public final int getMaxNameLength() { return MAX_NAME_LENGTH; }
public final static int
- NUM_STATES = 393,
- NT_OFFSET = 197,
- LA_STATE_OFFSET = 4968,
+ NUM_STATES = 426,
+ NT_OFFSET = 228,
+ LA_STATE_OFFSET = 5653,
MAX_LA = 2,
- NUM_RULES = 355,
- NUM_NONTERMINALS = 127,
- NUM_SYMBOLS = 324,
+ NUM_RULES = 421,
+ NUM_NONTERMINALS = 153,
+ NUM_SYMBOLS = 381,
SEGMENT_SIZE = 8192,
- START_STATE = 4334,
+ START_STATE = 4823,
IDENTIFIER_SYMBOL = 3,
- EOFT_SYMBOL = 106,
- EOLT_SYMBOL = 106,
- ACCEPT_ACTION = 4612,
- ERROR_ACTION = 4613;
+ EOFT_SYMBOL = 108,
+ EOLT_SYMBOL = 108,
+ ACCEPT_ACTION = 5231,
+ ERROR_ACTION = 5232;
public final static boolean BACKTRACK = false;
diff --git a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParsersym.java b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParsersym.java
index fae10c8..e442566 100644
--- a/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParsersym.java
+++ b/plugins/org.eclipse.gmf.xpand/src/org/eclipse/gmf/internal/xpand/parser/XpandParsersym.java
@@ -14,211 +14,242 @@
public interface XpandParsersym {
public final static int
- TK_NUMERIC_OPERATION = 59,
- TK_STRING_LITERAL = 58,
- TK_INTEGER_LITERAL = 60,
- TK_REAL_LITERAL = 61,
- TK_PLUS = 30,
+ TK_NUMERIC_OPERATION = 63,
+ TK_STRING_LITERAL = 27,
+ TK_INTEGER_LITERAL = 51,
+ TK_REAL_LITERAL = 52,
+ TK_PLUS = 32,
TK_MINUS = 15,
- TK_MULTIPLY = 5,
+ TK_MULTIPLY = 4,
TK_DIVIDE = 26,
TK_GREATER = 16,
TK_LESS = 17,
- TK_EQUAL = 4,
+ TK_EQUAL = 5,
TK_GREATER_EQUAL = 18,
TK_LESS_EQUAL = 19,
TK_NOT_EQUAL = 20,
TK_LPAREN = 1,
TK_RPAREN = 2,
- TK_LBRACE = 73,
- TK_RBRACE = 82,
- TK_LBRACKET = 74,
- TK_RBRACKET = 78,
- TK_ARROW = 88,
- TK_BAR = 71,
- TK_COMMA = 69,
- TK_COLON = 76,
- TK_COLONCOLON = 72,
- TK_SEMICOLON = 83,
- TK_DOT = 89,
- TK_DOTDOT = 90,
- TK_ATPRE = 79,
- TK_CARET = 91,
- TK_CARETCARET = 92,
- TK_QUESTIONMARK = 93,
- TK_QUOTE_STRING_LITERAL = 107,
- TK_ADD_ASSIGN = 132,
- TK_RESET_ASSIGN = 94,
- TK_AT_SIGN = 133,
- TK_EXCLAMATION_MARK = 80,
- TK_NOT_EQUAL_EXEQ = 77,
- TK_INTEGER_RANGE_START = 84,
- TK_IMPORT = 108,
- TK_EXTENSION = 109,
- TK_AROUND = 95,
- TK_ENDAROUND = 81,
- TK_DEFINE = 96,
- TK_ENDDEFINE = 97,
- TK_ERROR = 110,
- TK_EXPAND = 111,
- TK_FOR = 75,
- TK_SEPARATOR = 98,
- TK_AS = 85,
- TK_ITERATOR = 112,
- TK_FOREACH = 99,
- TK_ENDFOREACH = 113,
- TK_FILE = 114,
- TK_ENDFILE = 115,
- TK_IF = 116,
- TK_ELSEIF = 117,
- TK_ELSE = 118,
- TK_ENDIF = 119,
- TK_LET = 120,
- TK_ENDLET = 121,
- TK_PROTECT = 122,
- TK_CSTART = 123,
- TK_CEND = 100,
- TK_ID = 101,
- TK_DISABLE = 102,
- TK_ENDPROTECT = 124,
- TK_LG = 125,
- TK_self = 31,
- TK_inv = 134,
- TK_pre = 135,
- TK_post = 136,
- TK_context = 137,
- TK_package = 138,
- TK_endpackage = 139,
- TK_def = 140,
- TK_if = 62,
- TK_then = 103,
- TK_else = 104,
- TK_endif = 86,
- TK_and = 27,
- TK_or = 28,
- TK_xor = 29,
- TK_not = 50,
- TK_implies = 105,
- TK_let = 67,
- TK_in = 87,
- TK_true = 63,
- TK_false = 64,
- TK_body = 33,
- TK_derive = 34,
- TK_init = 35,
- TK_null = 36,
- TK_attr = 141,
- TK_oper = 142,
+ TK_LBRACE = 74,
+ TK_RBRACE = 79,
+ TK_LBRACKET = 75,
+ TK_RBRACKET = 80,
+ TK_ARROW = 90,
+ TK_BAR = 72,
+ TK_COMMA = 70,
+ TK_COLON = 77,
+ TK_COLONCOLON = 73,
+ TK_SEMICOLON = 85,
+ TK_DOT = 91,
+ TK_DOTDOT = 92,
+ TK_ATPRE = 81,
+ TK_CARET = 93,
+ TK_CARETCARET = 94,
+ TK_QUESTIONMARK = 95,
+ TK_ADD_ASSIGN = 133,
+ TK_RESET_ASSIGN = 96,
+ TK_AT_SIGN = 134,
+ TK_EXCLAMATION_MARK = 82,
+ TK_NOT_EQUAL_EXEQ = 78,
+ TK_INTEGER_RANGE_START = 86,
+ TK_class = 135,
+ TK_composes = 136,
+ TK_constructor = 137,
+ TK_datatype = 138,
+ TK_default = 139,
+ TK_derived = 140,
+ TK_do = 141,
+ TK_elif = 142,
+ TK_enum = 143,
+ TK_except = 144,
+ TK_exception = 145,
+ TK_from = 146,
+ TK_literal = 147,
+ TK_ordered = 148,
+ TK_primitive = 149,
+ TK_raise = 150,
+ TK_readonly = 151,
+ TK_references = 152,
+ TK_tag = 153,
+ TK_try = 154,
+ TK_typedef = 155,
+ TK_unlimited = 156,
+ TK_invalid = 157,
+ TK_COLONCOLONEQUAL = 158,
+ TK_IMPORT = 109,
+ TK_EXTENSION = 110,
+ TK_AROUND = 97,
+ TK_ENDAROUND = 83,
+ TK_DEFINE = 98,
+ TK_ENDDEFINE = 99,
+ TK_ERROR = 111,
+ TK_EXPAND = 112,
+ TK_FOR = 76,
+ TK_SEPARATOR = 100,
+ TK_AS = 87,
+ TK_ITERATOR = 113,
+ TK_FOREACH = 101,
+ TK_ENDFOREACH = 114,
+ TK_FILE = 115,
+ TK_ENDFILE = 116,
+ TK_IF = 117,
+ TK_ELSEIF = 118,
+ TK_ELSE = 119,
+ TK_ENDIF = 120,
+ TK_LET = 121,
+ TK_ENDLET = 122,
+ TK_PROTECT = 123,
+ TK_CSTART = 124,
+ TK_CEND = 102,
+ TK_ID = 103,
+ TK_DISABLE = 104,
+ TK_ENDPROTECT = 125,
+ TK_LG = 126,
+ TK_self = 33,
+ TK_inv = 159,
+ TK_pre = 160,
+ TK_post = 161,
+ TK_context = 162,
+ TK_package = 163,
+ TK_endpackage = 164,
+ TK_def = 165,
+ TK_if = 64,
+ TK_then = 105,
+ TK_else = 106,
+ TK_endif = 88,
+ TK_and = 28,
+ TK_or = 29,
+ TK_xor = 30,
+ TK_not = 53,
+ TK_implies = 107,
+ TK_let = 68,
+ TK_in = 89,
+ TK_true = 54,
+ TK_false = 55,
+ TK_body = 36,
+ TK_derive = 37,
+ TK_init = 166,
+ TK_null = 31,
+ TK_attr = 167,
+ TK_oper = 168,
TK_Set = 21,
TK_Bag = 22,
TK_Sequence = 23,
TK_Collection = 24,
TK_OrderedSet = 25,
- TK_iterate = 37,
- TK_forAll = 38,
- TK_exists = 39,
- TK_isUnique = 40,
- TK_any = 41,
- TK_one = 42,
- TK_collect = 43,
- TK_select = 44,
- TK_reject = 45,
- TK_collectNested = 46,
- TK_sortedBy = 47,
- TK_closure = 48,
- TK_oclIsKindOf = 51,
- TK_oclIsTypeOf = 52,
- TK_oclAsType = 53,
- TK_oclIsNew = 54,
- TK_oclIsUndefined = 55,
- TK_oclIsInvalid = 56,
- TK_oclIsInState = 57,
- TK_allInstances = 49,
+ TK_iterate = 38,
+ TK_forAll = 39,
+ TK_exists = 40,
+ TK_isUnique = 41,
+ TK_any = 42,
+ TK_one = 43,
+ TK_collect = 44,
+ TK_select = 45,
+ TK_reject = 46,
+ TK_collectNested = 47,
+ TK_sortedBy = 48,
+ TK_closure = 49,
+ TK_oclIsKindOf = 56,
+ TK_oclIsTypeOf = 57,
+ TK_oclAsType = 58,
+ TK_oclIsNew = 59,
+ TK_oclIsUndefined = 60,
+ TK_oclIsInvalid = 61,
+ TK_oclIsInState = 62,
+ TK_allInstances = 50,
TK_String = 6,
TK_Integer = 7,
TK_UnlimitedNatural = 8,
TK_Real = 9,
TK_Boolean = 10,
- TK_Tuple = 32,
+ TK_Tuple = 34,
TK_OclAny = 11,
TK_OclVoid = 12,
TK_Invalid = 13,
TK_OclMessage = 14,
TK_OclInvalid = 65,
- TK_end = 143,
- TK_while = 144,
- TK_out = 145,
- TK_object = 146,
- TK_transformation = 147,
- TK_import = 148,
- TK_library = 149,
- TK_metamodel = 150,
- TK_mapping = 151,
- TK_query = 152,
- TK_helper = 153,
- TK_inout = 154,
- TK_when = 155,
- TK_var = 156,
- TK_configuration = 157,
- TK_intermediate = 158,
- TK_property = 159,
- TK_population = 160,
- TK_map = 161,
- TK_new = 66,
- TK_xmap = 162,
- TK_late = 163,
- TK_log = 164,
- TK_assert = 165,
- TK_with = 166,
- TK_resolve = 167,
- TK_resolveone = 168,
- TK_resolveIn = 169,
- TK_resolveoneIn = 170,
- TK_invresolve = 171,
- TK_invresolveone = 172,
- TK_invresolveIn = 173,
- TK_invresolveoneIn = 174,
- TK_modeltype = 175,
- TK_uses = 176,
- TK_where = 177,
- TK_refines = 178,
- TK_enforcing = 179,
- TK_access = 180,
- TK_extends = 181,
- TK_blackbox = 182,
- TK_abstract = 183,
- TK_static = 184,
- TK_result = 185,
- TK_main = 186,
- TK_this = 187,
- TK_switch = 188,
- TK_case = 189,
- TK_xselect = 126,
- TK_xcollect = 127,
- TK_selectOne = 128,
- TK_collectOne = 129,
- TK_collectselect = 130,
- TK_collectselectOne = 131,
- TK_return = 190,
- TK_rename = 191,
- TK_disjuncts = 192,
- TK_merges = 193,
- TK_inherits = 194,
- TK_forEach = 195,
- TK_forOne = 196,
- TK_compute = 197,
- TK_EOF_TOKEN = 106,
+ TK_end = 169,
+ TK_while = 170,
+ TK_out = 171,
+ TK_object = 172,
+ TK_transformation = 173,
+ TK_import = 174,
+ TK_library = 175,
+ TK_metamodel = 176,
+ TK_mapping = 177,
+ TK_query = 178,
+ TK_helper = 179,
+ TK_inout = 180,
+ TK_when = 181,
+ TK_var = 182,
+ TK_configuration = 183,
+ TK_intermediate = 184,
+ TK_property = 185,
+ TK_opposites = 186,
+ TK_population = 187,
+ TK_map = 188,
+ TK_new = 189,
+ TK_xmap = 190,
+ TK_late = 191,
+ TK_log = 192,
+ TK_assert = 193,
+ TK_with = 194,
+ TK_resolve = 195,
+ TK_resolveone = 196,
+ TK_resolveIn = 197,
+ TK_resolveoneIn = 198,
+ TK_invresolve = 199,
+ TK_invresolveone = 200,
+ TK_invresolveIn = 201,
+ TK_invresolveoneIn = 202,
+ TK_modeltype = 203,
+ TK_uses = 204,
+ TK_where = 205,
+ TK_refines = 206,
+ TK_access = 207,
+ TK_extends = 208,
+ TK_blackbox = 209,
+ TK_abstract = 210,
+ TK_static = 211,
+ TK_result = 212,
+ TK_main = 213,
+ TK_this = 214,
+ TK_switch = 215,
+ TK_case = 216,
+ TK_xselect = 127,
+ TK_xcollect = 128,
+ TK_selectOne = 129,
+ TK_collectOne = 130,
+ TK_collectselect = 131,
+ TK_collectselectOne = 132,
+ TK_return = 217,
+ TK_rename = 218,
+ TK_disjuncts = 219,
+ TK_merges = 220,
+ TK_inherits = 221,
+ TK_forEach = 222,
+ TK_forOne = 223,
+ TK_compute = 224,
+ TK_Dict = 35,
+ TK_List = 84,
+ TK_break = 66,
+ TK_continue = 67,
+ TK_EOF_TOKEN = 108,
TK_IDENTIFIER = 3,
- TK_TEXT = 70,
- TK_ERROR_TOKEN = 68;
+ TK_STEREOTYPE_QUALIFIER_OPEN = 225,
+ TK_STEREOTYPE_QUALIFIER_CLOSE = 226,
+ TK_MULTIPLICITY_RANGE = 227,
+ TK_TILDE_SIGN = 228,
+ TK_TEXT = 71,
+ TK_ERROR_TOKEN = 69;
public final static String orderedTerminalSymbols[] = {
"",
"LPAREN",
"RPAREN",
"IDENTIFIER",
- "EQUAL",
"MULTIPLY",
+ "EQUAL",
"String",
"Integer",
"UnlimitedNatural",
@@ -240,16 +271,17 @@
"Collection",
"OrderedSet",
"DIVIDE",
+ "STRING_LITERAL",
"and",
"or",
"xor",
+ "null",
"PLUS",
"self",
"Tuple",
+ "Dict",
"body",
"derive",
- "init",
- "null",
"iterate",
"forAll",
"exists",
@@ -263,7 +295,11 @@
"sortedBy",
"closure",
"allInstances",
+ "INTEGER_LITERAL",
+ "REAL_LITERAL",
"not",
+ "true",
+ "false",
"oclIsKindOf",
"oclIsTypeOf",
"oclAsType",
@@ -271,15 +307,11 @@
"oclIsUndefined",
"oclIsInvalid",
"oclIsInState",
- "STRING_LITERAL",
"NUMERIC_OPERATION",
- "INTEGER_LITERAL",
- "REAL_LITERAL",
"if",
- "true",
- "false",
"OclInvalid",
- "new",
+ "break",
+ "continue",
"let",
"ERROR_TOKEN",
"COMMA",
@@ -291,11 +323,12 @@
"FOR",
"COLON",
"NOT_EQUAL_EXEQ",
+ "RBRACE",
"RBRACKET",
"ATPRE",
"EXCLAMATION_MARK",
"ENDAROUND",
- "RBRACE",
+ "List",
"SEMICOLON",
"INTEGER_RANGE_START",
"AS",
@@ -320,7 +353,6 @@
"else",
"implies",
"EOF_TOKEN",
- "QUOTE_STRING_LITERAL",
"IMPORT",
"EXTENSION",
"ERROR",
@@ -347,6 +379,30 @@
"collectselectOne",
"ADD_ASSIGN",
"AT_SIGN",
+ "class",
+ "composes",
+ "constructor",
+ "datatype",
+ "default",
+ "derived",
+ "do",
+ "elif",
+ "enum",
+ "except",
+ "exception",
+ "from",
+ "literal",
+ "ordered",
+ "primitive",
+ "raise",
+ "readonly",
+ "references",
+ "tag",
+ "try",
+ "typedef",
+ "unlimited",
+ "invalid",
+ "COLONCOLONEQUAL",
"inv",
"pre",
"post",
@@ -354,6 +410,7 @@
"package",
"endpackage",
"def",
+ "init",
"attr",
"oper",
"end",
@@ -373,8 +430,10 @@
"configuration",
"intermediate",
"property",
+ "opposites",
"population",
"map",
+ "new",
"xmap",
"late",
"log",
@@ -392,7 +451,6 @@
"uses",
"where",
"refines",
- "enforcing",
"access",
"extends",
"blackbox",
@@ -410,7 +468,11 @@
"inherits",
"forEach",
"forOne",
- "compute"
+ "compute",
+ "STEREOTYPE_QUALIFIER_OPEN",
+ "STEREOTYPE_QUALIFIER_CLOSE",
+ "MULTIPLICITY_RANGE",
+ "TILDE_SIGN"
};
public final static boolean isValidForParser = true;