From cdd34b84f1c6a03b1fcd6bc1484236e1cb0871de Mon Sep 17 00:00:00 2001 From: mmews Date: Tue, 2 Jan 2024 15:11:15 +0100 Subject: [PATCH 01/16] remove obsolete code --- .../src/org/eclipse/n4js/utils/URIUtils.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/utils/URIUtils.java b/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/utils/URIUtils.java index 75de44af4a..589b80d8ff 100644 --- a/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/utils/URIUtils.java +++ b/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/utils/URIUtils.java @@ -23,7 +23,6 @@ import java.util.SortedMap; import java.util.regex.Pattern; -import org.eclipse.core.resources.IProject; import org.eclipse.emf.common.CommonPlugin; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; @@ -252,12 +251,6 @@ static private int doCompare(String s1, String s2) { return s1.compareTo(s2); } - /** @return a complete URI for a given project */ - public static URI toFileUri(IProject project) { - String pathStr = project.getLocation().toString(); - return toFileUri(pathStr); - } - /** @return absolute file URI for the given path. */ static public URI toFileUri(Path path) { return toFileUri(path.toFile()); From 15f96fb085012d48795b163aaa3f86c65250d31d Mon Sep 17 00:00:00 2001 From: mmews Date: Wed, 3 Jan 2024 10:34:00 +0100 Subject: [PATCH 02/16] semver support for workspace protocol --- .../ide/contentassist/antlr/SemverParser.java | 13 +- .../antlr/internal/InternalSemver.g | 1218 +- .../antlr/internal/InternalSemver.tokens | 106 +- .../antlr/internal/InternalSemverLexer.java | 814 +- .../antlr/internal/InternalSemverParser.java | 10528 ++++++++++------ .../n4js/semver/Semver/SemverFactory.java | 9 + .../n4js/semver/Semver/SemverPackage.java | 139 +- .../Semver/WorkspaceVersionRequirement.java | 76 + .../semver/Semver/impl/SemverFactoryImpl.java | 12 + .../semver/Semver/impl/SemverPackageImpl.java | 47 + .../impl/WorkspaceVersionRequirementImpl.java | 254 + .../Semver/util/SemverAdapterFactory.java | 18 + .../n4js/semver/Semver/util/SemverSwitch.java | 23 + .../model/Semver.xcore | 5 + .../n4js/semver/model/SemverSerializer.java | 16 + .../org/eclipse/n4js/semver/Semver.xtextbin | Bin 21386 -> 22020 bytes .../parser/antlr/internal/InternalSemver.g | 748 +- .../antlr/internal/InternalSemver.tokens | 92 +- .../antlr/internal/InternalSemverLexer.java | 776 +- .../antlr/internal/InternalSemverParser.java | 7422 +++++++---- .../serializer/SemverSemanticSequencer.java | 47 + .../serializer/SemverSyntacticSequencer.java | 33 + .../semver/services/SemverGrammarAccess.java | 844 +- .../src/org/eclipse/n4js/semver/Semver.xtext | 128 +- .../semver/tests/parser/SemverParserTest.java | 17 + 25 files changed, 15511 insertions(+), 7874 deletions(-) create mode 100644 plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/WorkspaceVersionRequirement.java create mode 100644 plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/WorkspaceVersionRequirementImpl.java diff --git a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/SemverParser.java b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/SemverParser.java index e048652fe0..0f5733090f 100644 --- a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/SemverParser.java +++ b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/SemverParser.java @@ -41,7 +41,9 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getNPMVersionRequirementAccess().getAlternatives(), "rule__NPMVersionRequirement__Alternatives"); builder.put(grammarAccess.getNPMVersionRequirementAccess().getAlternatives_1_0(), "rule__NPMVersionRequirement__Alternatives_1_0"); builder.put(grammarAccess.getNPMVersionRequirementAccess().getAlternatives_1_0_1(), "rule__NPMVersionRequirement__Alternatives_1_0_1"); + builder.put(grammarAccess.getNPMVersionRequirementAccess().getAlternatives_1_0_1_1(), "rule__NPMVersionRequirement__Alternatives_1_0_1_1"); builder.put(grammarAccess.getURLVersionSpecifierAccess().getAlternatives(), "rule__URLVersionSpecifier__Alternatives"); + builder.put(grammarAccess.getWorkspaceVersionRequirementAccess().getAlternatives_1(), "rule__WorkspaceVersionRequirement__Alternatives_1"); builder.put(grammarAccess.getVersionRangeAccess().getAlternatives(), "rule__VersionRange__Alternatives"); builder.put(grammarAccess.getVersionPartAccess().getAlternatives(), "rule__VersionPart__Alternatives"); builder.put(grammarAccess.getQualifierAccess().getAlternatives(), "rule__Qualifier__Alternatives"); @@ -54,9 +56,8 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getURL_NO_VXAccess().getAlternatives_1(), "rule__URL_NO_VX__Alternatives_1"); builder.put(grammarAccess.getURL_NO_VXAccess().getAlternatives_2(), "rule__URL_NO_VX__Alternatives_2"); builder.put(grammarAccess.getURL_NO_VXAccess().getAlternatives_3(), "rule__URL_NO_VX__Alternatives_3"); - builder.put(grammarAccess.getTAGAccess().getAlternatives_1(), "rule__TAG__Alternatives_1"); - builder.put(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getAlternatives(), "rule__ALPHA_NUMERIC_CHARS__Alternatives"); - builder.put(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getAlternatives_1(), "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1"); + builder.put(grammarAccess.getWORKSPACE_VERSIONAccess().getAlternatives(), "rule__WORKSPACE_VERSION__Alternatives"); + builder.put(grammarAccess.getALPHA_NUMERIC_CHARAccess().getAlternatives(), "rule__ALPHA_NUMERIC_CHAR__Alternatives"); builder.put(grammarAccess.getWILDCARDAccess().getAlternatives(), "rule__WILDCARD__Alternatives"); builder.put(grammarAccess.getLETTERAccess().getAlternatives(), "rule__LETTER__Alternatives"); builder.put(grammarAccess.getLETTER_NO_VXAccess().getAlternatives(), "rule__LETTER_NO_VX__Alternatives"); @@ -71,6 +72,7 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getURLVersionSpecifierAccess().getGroup_1(), "rule__URLVersionSpecifier__Group_1__0"); builder.put(grammarAccess.getURLVersionSpecifierAccess().getGroup_2(), "rule__URLVersionSpecifier__Group_2__0"); builder.put(grammarAccess.getURLSemverAccess().getGroup(), "rule__URLSemver__Group__0"); + builder.put(grammarAccess.getWorkspaceVersionRequirementAccess().getGroup(), "rule__WorkspaceVersionRequirement__Group__0"); builder.put(grammarAccess.getGitHubVersionRequirementAccess().getGroup(), "rule__GitHubVersionRequirement__Group__0"); builder.put(grammarAccess.getGitHubVersionRequirementAccess().getGroup_1(), "rule__GitHubVersionRequirement__Group_1__0"); builder.put(grammarAccess.getVersionRangeSetRequirementAccess().getGroup(), "rule__VersionRangeSetRequirement__Group__0"); @@ -92,6 +94,7 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getQualifierTagAccess().getGroup_1(), "rule__QualifierTag__Group_1__0"); builder.put(grammarAccess.getFILE_TAGAccess().getGroup(), "rule__FILE_TAG__Group__0"); builder.put(grammarAccess.getSEMVER_TAGAccess().getGroup(), "rule__SEMVER_TAG__Group__0"); + builder.put(grammarAccess.getWORKSPACE_TAGAccess().getGroup(), "rule__WORKSPACE_TAG__Group__0"); builder.put(grammarAccess.getURL_PROTOCOLAccess().getGroup(), "rule__URL_PROTOCOL__Group__0"); builder.put(grammarAccess.getURLAccess().getGroup(), "rule__URL__Group__0"); builder.put(grammarAccess.getURL_NO_VXAccess().getGroup(), "rule__URL_NO_VX__Group__0"); @@ -105,9 +108,11 @@ private static void init(ImmutableMap.Builder builder, builder.put(grammarAccess.getURLVersionSpecifierAccess().getCommitISHAssignment_2_1(), "rule__URLVersionSpecifier__CommitISHAssignment_2_1"); builder.put(grammarAccess.getURLSemverAccess().getWithSemverTagAssignment_1(), "rule__URLSemver__WithSemverTagAssignment_1"); builder.put(grammarAccess.getURLSemverAccess().getSimpleVersionAssignment_2(), "rule__URLSemver__SimpleVersionAssignment_2"); - builder.put(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment(), "rule__TagVersionRequirement__TagNameAssignment"); + builder.put(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionAssignment_1_0(), "rule__WorkspaceVersionRequirement__VersionAssignment_1_0"); + builder.put(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionAssignment_1_1(), "rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1"); builder.put(grammarAccess.getGitHubVersionRequirementAccess().getGithubUrlAssignment_0(), "rule__GitHubVersionRequirement__GithubUrlAssignment_0"); builder.put(grammarAccess.getGitHubVersionRequirementAccess().getCommitISHAssignment_1_1(), "rule__GitHubVersionRequirement__CommitISHAssignment_1_1"); + builder.put(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment(), "rule__TagVersionRequirement__TagNameAssignment"); builder.put(grammarAccess.getVersionRangeSetRequirementAccess().getRangesAssignment_1_0(), "rule__VersionRangeSetRequirement__RangesAssignment_1_0"); builder.put(grammarAccess.getVersionRangeSetRequirementAccess().getRangesAssignment_1_1_3(), "rule__VersionRangeSetRequirement__RangesAssignment_1_1_3"); builder.put(grammarAccess.getHyphenVersionRangeAccess().getFromAssignment_1(), "rule__HyphenVersionRange__FromAssignment_1"); diff --git a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemver.g b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemver.g index cbeb5bdbd0..3b479479f3 100644 --- a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemver.g +++ b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemver.g @@ -182,25 +182,25 @@ finally { restoreStackSize(stackSize); } -// Entry rule entryRuleTagVersionRequirement -entryRuleTagVersionRequirement +// Entry rule entryRuleWorkspaceVersionRequirement +entryRuleWorkspaceVersionRequirement : -{ before(grammarAccess.getTagVersionRequirementRule()); } - ruleTagVersionRequirement -{ after(grammarAccess.getTagVersionRequirementRule()); } +{ before(grammarAccess.getWorkspaceVersionRequirementRule()); } + ruleWorkspaceVersionRequirement +{ after(grammarAccess.getWorkspaceVersionRequirementRule()); } EOF ; -// Rule TagVersionRequirement -ruleTagVersionRequirement +// Rule WorkspaceVersionRequirement +ruleWorkspaceVersionRequirement @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment()); } - (rule__TagVersionRequirement__TagNameAssignment) - { after(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment()); } + { before(grammarAccess.getWorkspaceVersionRequirementAccess().getGroup()); } + (rule__WorkspaceVersionRequirement__Group__0) + { after(grammarAccess.getWorkspaceVersionRequirementAccess().getGroup()); } ) ; finally { @@ -232,6 +232,31 @@ finally { restoreStackSize(stackSize); } +// Entry rule entryRuleTagVersionRequirement +entryRuleTagVersionRequirement +: +{ before(grammarAccess.getTagVersionRequirementRule()); } + ruleTagVersionRequirement +{ after(grammarAccess.getTagVersionRequirementRule()); } + EOF +; + +// Rule TagVersionRequirement +ruleTagVersionRequirement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment()); } + (rule__TagVersionRequirement__TagNameAssignment) + { after(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + // Entry rule entryRuleVersionRangeSetRequirement entryRuleVersionRangeSetRequirement : @@ -507,6 +532,31 @@ finally { restoreStackSize(stackSize); } +// Entry rule entryRuleWORKSPACE_TAG +entryRuleWORKSPACE_TAG +: +{ before(grammarAccess.getWORKSPACE_TAGRule()); } + ruleWORKSPACE_TAG +{ after(grammarAccess.getWORKSPACE_TAGRule()); } + EOF +; + +// Rule WORKSPACE_TAG +ruleWORKSPACE_TAG + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getWORKSPACE_TAGAccess().getGroup()); } + (rule__WORKSPACE_TAG__Group__0) + { after(grammarAccess.getWORKSPACE_TAGAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + // Entry rule entryRulePATH entryRulePATH : @@ -639,31 +689,31 @@ finally { restoreStackSize(stackSize); } -// Entry rule entryRuleALPHA_NUMERIC_CHARS -entryRuleALPHA_NUMERIC_CHARS +// Entry rule entryRuleWORKSPACE_VERSION +entryRuleWORKSPACE_VERSION : -{ before(grammarAccess.getALPHA_NUMERIC_CHARSRule()); } - ruleALPHA_NUMERIC_CHARS -{ after(grammarAccess.getALPHA_NUMERIC_CHARSRule()); } +{ before(grammarAccess.getWORKSPACE_VERSIONRule()); } + ruleWORKSPACE_VERSION +{ after(grammarAccess.getWORKSPACE_VERSIONRule()); } EOF ; -// Rule ALPHA_NUMERIC_CHARS -ruleALPHA_NUMERIC_CHARS +// Rule WORKSPACE_VERSION +ruleWORKSPACE_VERSION @init { int stackSize = keepStackSize(); } : ( ( - { before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getAlternatives()); } - (rule__ALPHA_NUMERIC_CHARS__Alternatives) - { after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getAlternatives()); } + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getAlternatives()); } + (rule__WORKSPACE_VERSION__Alternatives) + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getAlternatives()); } ) ( - { before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getAlternatives()); } - (rule__ALPHA_NUMERIC_CHARS__Alternatives)* - { after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getAlternatives()); } + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getAlternatives()); } + (rule__WORKSPACE_VERSION__Alternatives)* + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getAlternatives()); } ) ) ; @@ -696,6 +746,63 @@ finally { restoreStackSize(stackSize); } +// Entry rule entryRuleALPHA_NUMERIC_CHARS +entryRuleALPHA_NUMERIC_CHARS +: +{ before(grammarAccess.getALPHA_NUMERIC_CHARSRule()); } + ruleALPHA_NUMERIC_CHARS +{ after(grammarAccess.getALPHA_NUMERIC_CHARSRule()); } + EOF +; + +// Rule ALPHA_NUMERIC_CHARS +ruleALPHA_NUMERIC_CHARS + @init { + int stackSize = keepStackSize(); + } + : + ( + ( + { before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); } + (ruleALPHA_NUMERIC_CHAR) + { after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); } + ) + ( + { before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); } + (ruleALPHA_NUMERIC_CHAR)* + { after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); } + ) + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleALPHA_NUMERIC_CHAR +entryRuleALPHA_NUMERIC_CHAR +: +{ before(grammarAccess.getALPHA_NUMERIC_CHARRule()); } + ruleALPHA_NUMERIC_CHAR +{ after(grammarAccess.getALPHA_NUMERIC_CHARRule()); } + EOF +; + +// Rule ALPHA_NUMERIC_CHAR +ruleALPHA_NUMERIC_CHAR + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getALPHA_NUMERIC_CHARAccess().getAlternatives()); } + (rule__ALPHA_NUMERIC_CHAR__Alternatives) + { after(grammarAccess.getALPHA_NUMERIC_CHARAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + // Entry rule entryRuleWILDCARD entryRuleWILDCARD : @@ -825,15 +932,36 @@ rule__NPMVersionRequirement__Alternatives_1_0_1 ) | ( - { before(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1()); } + { before(grammarAccess.getNPMVersionRequirementAccess().getAlternatives_1_0_1_1()); } + (rule__NPMVersionRequirement__Alternatives_1_0_1_1) + { after(grammarAccess.getNPMVersionRequirementAccess().getAlternatives_1_0_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NPMVersionRequirement__Alternatives_1_0_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNPMVersionRequirementAccess().getWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0()); } + (ruleWorkspaceVersionRequirement) + { after(grammarAccess.getNPMVersionRequirementAccess().getWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0()); } + ) + | + ( + { before(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1_1()); } ruleGitHubVersionRequirement - { after(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1()); } + { after(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1_1()); } ) | ( - { before(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_2()); } + { before(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_1_2()); } ruleTagVersionRequirement - { after(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_2()); } + { after(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_1_2()); } ) ; finally { @@ -867,6 +995,27 @@ finally { restoreStackSize(stackSize); } +rule__WorkspaceVersionRequirement__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionAssignment_1_0()); } + (rule__WorkspaceVersionRequirement__VersionAssignment_1_0) + { after(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionAssignment_1_1()); } + (rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1) + { after(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionAssignment_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + rule__VersionRange__Alternatives @init { int stackSize = keepStackSize(); @@ -954,27 +1103,15 @@ rule__PATH__Alternatives ) | ( - { before(grammarAccess.getPATHAccess().getHyphenMinusKeyword_3()); } - '-' - { after(grammarAccess.getPATHAccess().getHyphenMinusKeyword_3()); } - ) - | - ( - { before(grammarAccess.getPATHAccess().get_Keyword_4()); } + { before(grammarAccess.getPATHAccess().get_Keyword_3()); } '_' - { after(grammarAccess.getPATHAccess().get_Keyword_4()); } - ) - | - ( - { before(grammarAccess.getPATHAccess().getDIGITSTerminalRuleCall_5()); } - RULE_DIGITS - { after(grammarAccess.getPATHAccess().getDIGITSTerminalRuleCall_5()); } + { after(grammarAccess.getPATHAccess().get_Keyword_3()); } ) | ( - { before(grammarAccess.getPATHAccess().getLETTERParserRuleCall_6()); } - ruleLETTER - { after(grammarAccess.getPATHAccess().getLETTERParserRuleCall_6()); } + { before(grammarAccess.getPATHAccess().getALPHA_NUMERIC_CHARParserRuleCall_4()); } + ruleALPHA_NUMERIC_CHAR + { after(grammarAccess.getPATHAccess().getALPHA_NUMERIC_CHARParserRuleCall_4()); } ) ; finally { @@ -1008,27 +1145,15 @@ rule__URL__Alternatives_0 } : ( - { before(grammarAccess.getURLAccess().getHyphenMinusKeyword_0_0()); } - '-' - { after(grammarAccess.getURLAccess().getHyphenMinusKeyword_0_0()); } - ) - | - ( - { before(grammarAccess.getURLAccess().get_Keyword_0_1()); } + { before(grammarAccess.getURLAccess().get_Keyword_0_0()); } '_' - { after(grammarAccess.getURLAccess().get_Keyword_0_1()); } - ) - | - ( - { before(grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_0_2()); } - RULE_DIGITS - { after(grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_0_2()); } + { after(grammarAccess.getURLAccess().get_Keyword_0_0()); } ) | ( - { before(grammarAccess.getURLAccess().getLETTERParserRuleCall_0_3()); } - ruleLETTER - { after(grammarAccess.getURLAccess().getLETTERParserRuleCall_0_3()); } + { before(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_0_1()); } + ruleALPHA_NUMERIC_CHAR + { after(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_0_1()); } ) ; finally { @@ -1098,27 +1223,15 @@ rule__URL__Alternatives_2 ) | ( - { before(grammarAccess.getURLAccess().getHyphenMinusKeyword_2_4()); } - '-' - { after(grammarAccess.getURLAccess().getHyphenMinusKeyword_2_4()); } - ) - | - ( - { before(grammarAccess.getURLAccess().get_Keyword_2_5()); } + { before(grammarAccess.getURLAccess().get_Keyword_2_4()); } '_' - { after(grammarAccess.getURLAccess().get_Keyword_2_5()); } - ) - | - ( - { before(grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_2_6()); } - RULE_DIGITS - { after(grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_2_6()); } + { after(grammarAccess.getURLAccess().get_Keyword_2_4()); } ) | ( - { before(grammarAccess.getURLAccess().getLETTERParserRuleCall_2_7()); } - ruleLETTER - { after(grammarAccess.getURLAccess().getLETTERParserRuleCall_2_7()); } + { before(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_2_5()); } + ruleALPHA_NUMERIC_CHAR + { after(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_2_5()); } ) ; finally { @@ -1131,15 +1244,15 @@ rule__URL_NO_VX__Alternatives_0 } : ( - { before(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_0()); } - '-' - { after(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_0()); } + { before(grammarAccess.getURL_NO_VXAccess().get_Keyword_0_0()); } + '_' + { after(grammarAccess.getURL_NO_VXAccess().get_Keyword_0_0()); } ) | ( - { before(grammarAccess.getURL_NO_VXAccess().get_Keyword_0_1()); } - '_' - { after(grammarAccess.getURL_NO_VXAccess().get_Keyword_0_1()); } + { before(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_1()); } + '-' + { after(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_1()); } ) | ( @@ -1158,27 +1271,15 @@ rule__URL_NO_VX__Alternatives_1 } : ( - { before(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_1_0()); } - '-' - { after(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_1_0()); } - ) - | - ( - { before(grammarAccess.getURL_NO_VXAccess().get_Keyword_1_1()); } + { before(grammarAccess.getURL_NO_VXAccess().get_Keyword_1_0()); } '_' - { after(grammarAccess.getURL_NO_VXAccess().get_Keyword_1_1()); } - ) - | - ( - { before(grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_1_2()); } - RULE_DIGITS - { after(grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_1_2()); } + { after(grammarAccess.getURL_NO_VXAccess().get_Keyword_1_0()); } ) | ( - { before(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_1_3()); } - ruleLETTER - { after(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_1_3()); } + { before(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_1_1()); } + ruleALPHA_NUMERIC_CHAR + { after(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_1_1()); } ) ; finally { @@ -1248,108 +1349,135 @@ rule__URL_NO_VX__Alternatives_3 ) | ( - { before(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_3_4()); } - '-' - { after(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_3_4()); } - ) - | - ( - { before(grammarAccess.getURL_NO_VXAccess().get_Keyword_3_5()); } + { before(grammarAccess.getURL_NO_VXAccess().get_Keyword_3_4()); } '_' - { after(grammarAccess.getURL_NO_VXAccess().get_Keyword_3_5()); } - ) - | - ( - { before(grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_3_6()); } - RULE_DIGITS - { after(grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_3_6()); } + { after(grammarAccess.getURL_NO_VXAccess().get_Keyword_3_4()); } ) | ( - { before(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_3_7()); } - ruleLETTER - { after(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_3_7()); } + { before(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_3_5()); } + ruleALPHA_NUMERIC_CHAR + { after(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_3_5()); } ) ; finally { restoreStackSize(stackSize); } -rule__TAG__Alternatives_1 +rule__WORKSPACE_VERSION__Alternatives @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTAGAccess().getHyphenMinusKeyword_1_0()); } - '-' - { after(grammarAccess.getTAGAccess().getHyphenMinusKeyword_1_0()); } + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getSolidusKeyword_0()); } + '/' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getSolidusKeyword_0()); } ) | ( - { before(grammarAccess.getTAGAccess().getDIGITSTerminalRuleCall_1_1()); } - RULE_DIGITS - { after(grammarAccess.getTAGAccess().getDIGITSTerminalRuleCall_1_1()); } + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getFullStopKeyword_1()); } + '.' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getFullStopKeyword_1()); } ) | ( - { before(grammarAccess.getTAGAccess().getLETTERParserRuleCall_1_2()); } - ruleLETTER - { after(grammarAccess.getTAGAccess().getLETTERParserRuleCall_1_2()); } + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getColonKeyword_2()); } ) -; -finally { - restoreStackSize(stackSize); -} - -rule__ALPHA_NUMERIC_CHARS__Alternatives - @init { - int stackSize = keepStackSize(); - } -: + | ( - { before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getHyphenMinusKeyword_0()); } - '-' - { after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getHyphenMinusKeyword_0()); } + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getCommercialAtKeyword_3()); } + '@' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getCommercialAtKeyword_3()); } ) | ( - { before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getDIGITSTerminalRuleCall_1()); } - RULE_DIGITS - { after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getDIGITSTerminalRuleCall_1()); } + { before(grammarAccess.getWORKSPACE_VERSIONAccess().get_Keyword_4()); } + '_' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().get_Keyword_4()); } ) | ( - { before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getLETTERParserRuleCall_2()); } - ruleLETTER - { after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getLETTERParserRuleCall_2()); } + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getEqualsSignKeyword_5()); } + '=' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getEqualsSignKeyword_5()); } + ) + | + ( + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getTildeKeyword_6()); } + '~' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getTildeKeyword_6()); } + ) + | + ( + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getCircumflexAccentKeyword_7()); } + '^' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getCircumflexAccentKeyword_7()); } + ) + | + ( + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignKeyword_8()); } + '<' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignKeyword_8()); } + ) + | + ( + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignKeyword_9()); } + '>' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignKeyword_9()); } + ) + | + ( + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignEqualsSignKeyword_10()); } + '<=' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignEqualsSignKeyword_10()); } + ) + | + ( + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignEqualsSignKeyword_11()); } + '>=' + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignEqualsSignKeyword_11()); } + ) + | + ( + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getASTERIXTerminalRuleCall_12()); } + RULE_ASTERIX + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getASTERIXTerminalRuleCall_12()); } + ) + | + ( + { before(grammarAccess.getWORKSPACE_VERSIONAccess().getALPHA_NUMERIC_CHARParserRuleCall_13()); } + ruleALPHA_NUMERIC_CHAR + { after(grammarAccess.getWORKSPACE_VERSIONAccess().getALPHA_NUMERIC_CHARParserRuleCall_13()); } ) ; finally { restoreStackSize(stackSize); } -rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 +rule__ALPHA_NUMERIC_CHAR__Alternatives @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getHyphenMinusKeyword_1_0()); } + { before(grammarAccess.getALPHA_NUMERIC_CHARAccess().getHyphenMinusKeyword_0()); } '-' - { after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getHyphenMinusKeyword_1_0()); } + { after(grammarAccess.getALPHA_NUMERIC_CHARAccess().getHyphenMinusKeyword_0()); } ) | ( - { before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_1_1()); } + { before(grammarAccess.getALPHA_NUMERIC_CHARAccess().getDIGITSTerminalRuleCall_1()); } RULE_DIGITS - { after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_1_1()); } + { after(grammarAccess.getALPHA_NUMERIC_CHARAccess().getDIGITSTerminalRuleCall_1()); } ) | ( - { before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getLETTERParserRuleCall_1_2()); } + { before(grammarAccess.getALPHA_NUMERIC_CHARAccess().getLETTERParserRuleCall_2()); } ruleLETTER - { after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getLETTERParserRuleCall_1_2()); } + { after(grammarAccess.getALPHA_NUMERIC_CHARAccess().getLETTERParserRuleCall_2()); } ) ; finally { @@ -1410,21 +1538,21 @@ rule__LETTER_NO_VX__Alternatives } : ( - { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_0()); } - RULE_LETTER_S - { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_0()); } + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ATerminalRuleCall_0()); } + RULE_LETTER_A + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ATerminalRuleCall_0()); } ) | ( - { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_1()); } - RULE_LETTER_M - { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_1()); } + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_CTerminalRuleCall_1()); } + RULE_LETTER_C + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_CTerminalRuleCall_1()); } ) | ( - { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_2()); } - RULE_LETTER_R - { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_2()); } + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_2()); } + RULE_LETTER_E + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_2()); } ) | ( @@ -1440,21 +1568,57 @@ rule__LETTER_NO_VX__Alternatives ) | ( - { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_5()); } + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_KTerminalRuleCall_5()); } + RULE_LETTER_K + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_KTerminalRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_6()); } RULE_LETTER_L - { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_5()); } + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_6()); } ) | ( - { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_6()); } - RULE_LETTER_E - { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_6()); } + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_7()); } + RULE_LETTER_M + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_7()); } + ) + | + ( + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTerminalRuleCall_8()); } + RULE_LETTER_O + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTerminalRuleCall_8()); } + ) + | + ( + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_PTerminalRuleCall_9()); } + RULE_LETTER_P + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_PTerminalRuleCall_9()); } + ) + | + ( + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_10()); } + RULE_LETTER_R + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_10()); } ) | ( - { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_7()); } + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_11()); } + RULE_LETTER_S + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_11()); } + ) + | + ( + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_WTerminalRuleCall_12()); } + RULE_LETTER_W + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_WTerminalRuleCall_12()); } + ) + | + ( + { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_13()); } RULE_LETTER_OTHER - { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_7()); } + { after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_13()); } ) ; finally { @@ -1473,39 +1637,39 @@ rule__VersionComparator__Alternatives ) | ( - { before(grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_1()); } - ('<') - { after(grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_1()); } - ) - | - ( - { before(grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_2()); } + { before(grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_1()); } ('~') - { after(grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_2()); } + { after(grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_1()); } ) | ( - { before(grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_3()); } + { before(grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_2()); } ('^') - { after(grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_3()); } + { after(grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_2()); } ) | ( - { before(grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_4()); } - ('<=') - { after(grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_4()); } + { before(grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_3()); } + ('<') + { after(grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_3()); } ) | ( - { before(grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_5()); } + { before(grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_4()); } ('>') - { after(grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_5()); } + { after(grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_4()); } ) | ( - { before(grammarAccess.getVersionComparatorAccess().getGreaterEqualsEnumLiteralDeclaration_6()); } - ('>=') - { after(grammarAccess.getVersionComparatorAccess().getGreaterEqualsEnumLiteralDeclaration_6()); } + { before(grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_5()); } + ('<=') + { after(grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_5()); } + ) + | + ( + { before(grammarAccess.getVersionComparatorAccess().getGreaterEqualsEnumLiteralDeclaration_6()); } + ('>=') + { after(grammarAccess.getVersionComparatorAccess().getGreaterEqualsEnumLiteralDeclaration_6()); } ) ; finally { @@ -2133,6 +2297,60 @@ finally { } +rule__WorkspaceVersionRequirement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__WorkspaceVersionRequirement__Group__0__Impl + rule__WorkspaceVersionRequirement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__WorkspaceVersionRequirement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWorkspaceVersionRequirementAccess().getWORKSPACE_TAGParserRuleCall_0()); } + ruleWORKSPACE_TAG + { after(grammarAccess.getWorkspaceVersionRequirementAccess().getWORKSPACE_TAGParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__WorkspaceVersionRequirement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__WorkspaceVersionRequirement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__WorkspaceVersionRequirement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWorkspaceVersionRequirementAccess().getAlternatives_1()); } + (rule__WorkspaceVersionRequirement__Alternatives_1) + { after(grammarAccess.getWorkspaceVersionRequirementAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + rule__GitHubVersionRequirement__Group__0 @init { int stackSize = keepStackSize(); @@ -3312,521 +3530,791 @@ rule__Qualifier__Group_0_2__0__Impl } : ( - { before(grammarAccess.getQualifierAccess().getPlusSignKeyword_0_2_0()); } - '+' - { after(grammarAccess.getQualifierAccess().getPlusSignKeyword_0_2_0()); } + { before(grammarAccess.getQualifierAccess().getPlusSignKeyword_0_2_0()); } + '+' + { after(grammarAccess.getQualifierAccess().getPlusSignKeyword_0_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Qualifier__Group_0_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Qualifier__Group_0_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Qualifier__Group_0_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_0_2_1()); } + (rule__Qualifier__BuildMetadataAssignment_0_2_1) + { after(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_0_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Qualifier__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Qualifier__Group_1__0__Impl + rule__Qualifier__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Qualifier__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifierAccess().getPlusSignKeyword_1_0()); } + '+' + { after(grammarAccess.getQualifierAccess().getPlusSignKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Qualifier__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Qualifier__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Qualifier__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_1_1()); } + (rule__Qualifier__BuildMetadataAssignment_1_1) + { after(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifierTag__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifierTag__Group__0__Impl + rule__QualifierTag__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifierTag__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifierTagAccess().getPartsAssignment_0()); } + (rule__QualifierTag__PartsAssignment_0) + { after(grammarAccess.getQualifierTagAccess().getPartsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifierTag__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifierTag__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifierTag__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifierTagAccess().getGroup_1()); } + (rule__QualifierTag__Group_1__0)* + { after(grammarAccess.getQualifierTagAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifierTag__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifierTag__Group_1__0__Impl + rule__QualifierTag__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifierTag__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifierTagAccess().getFullStopKeyword_1_0()); } + '.' + { after(grammarAccess.getQualifierTagAccess().getFullStopKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifierTag__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifierTag__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifierTag__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifierTagAccess().getPartsAssignment_1_1()); } + (rule__QualifierTag__PartsAssignment_1_1) + { after(grammarAccess.getQualifierTagAccess().getPartsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FILE_TAG__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FILE_TAG__Group__0__Impl + rule__FILE_TAG__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FILE_TAG__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFILE_TAGAccess().getLETTER_FTerminalRuleCall_0()); } + RULE_LETTER_F + { after(grammarAccess.getFILE_TAGAccess().getLETTER_FTerminalRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FILE_TAG__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FILE_TAG__Group__1__Impl + rule__FILE_TAG__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FILE_TAG__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFILE_TAGAccess().getLETTER_ITerminalRuleCall_1()); } + RULE_LETTER_I + { after(grammarAccess.getFILE_TAGAccess().getLETTER_ITerminalRuleCall_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FILE_TAG__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FILE_TAG__Group__2__Impl + rule__FILE_TAG__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__FILE_TAG__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFILE_TAGAccess().getLETTER_LTerminalRuleCall_2()); } + RULE_LETTER_L + { after(grammarAccess.getFILE_TAGAccess().getLETTER_LTerminalRuleCall_2()); } ) ; finally { restoreStackSize(stackSize); } -rule__Qualifier__Group_0_2__1 +rule__FILE_TAG__Group__3 @init { int stackSize = keepStackSize(); } : - rule__Qualifier__Group_0_2__1__Impl + rule__FILE_TAG__Group__3__Impl + rule__FILE_TAG__Group__4 ; finally { restoreStackSize(stackSize); } -rule__Qualifier__Group_0_2__1__Impl +rule__FILE_TAG__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_0_2_1()); } - (rule__Qualifier__BuildMetadataAssignment_0_2_1) - { after(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_0_2_1()); } + { before(grammarAccess.getFILE_TAGAccess().getLETTER_ETerminalRuleCall_3()); } + RULE_LETTER_E + { after(grammarAccess.getFILE_TAGAccess().getLETTER_ETerminalRuleCall_3()); } ) ; finally { restoreStackSize(stackSize); } - -rule__Qualifier__Group_1__0 +rule__FILE_TAG__Group__4 @init { int stackSize = keepStackSize(); } : - rule__Qualifier__Group_1__0__Impl - rule__Qualifier__Group_1__1 + rule__FILE_TAG__Group__4__Impl ; finally { restoreStackSize(stackSize); } -rule__Qualifier__Group_1__0__Impl +rule__FILE_TAG__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifierAccess().getPlusSignKeyword_1_0()); } - '+' - { after(grammarAccess.getQualifierAccess().getPlusSignKeyword_1_0()); } + { before(grammarAccess.getFILE_TAGAccess().getColonKeyword_4()); } + ':' + { after(grammarAccess.getFILE_TAGAccess().getColonKeyword_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__Qualifier__Group_1__1 + +rule__SEMVER_TAG__Group__0 @init { int stackSize = keepStackSize(); } : - rule__Qualifier__Group_1__1__Impl + rule__SEMVER_TAG__Group__0__Impl + rule__SEMVER_TAG__Group__1 ; finally { restoreStackSize(stackSize); } -rule__Qualifier__Group_1__1__Impl +rule__SEMVER_TAG__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_1_1()); } - (rule__Qualifier__BuildMetadataAssignment_1_1) - { after(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_1_1()); } + { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_STerminalRuleCall_0()); } + RULE_LETTER_S + { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_STerminalRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } - -rule__QualifierTag__Group__0 +rule__SEMVER_TAG__Group__1 @init { int stackSize = keepStackSize(); } : - rule__QualifierTag__Group__0__Impl - rule__QualifierTag__Group__1 + rule__SEMVER_TAG__Group__1__Impl + rule__SEMVER_TAG__Group__2 ; finally { restoreStackSize(stackSize); } -rule__QualifierTag__Group__0__Impl +rule__SEMVER_TAG__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifierTagAccess().getPartsAssignment_0()); } - (rule__QualifierTag__PartsAssignment_0) - { after(grammarAccess.getQualifierTagAccess().getPartsAssignment_0()); } + { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_1()); } + RULE_LETTER_E + { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__QualifierTag__Group__1 +rule__SEMVER_TAG__Group__2 @init { int stackSize = keepStackSize(); } : - rule__QualifierTag__Group__1__Impl + rule__SEMVER_TAG__Group__2__Impl + rule__SEMVER_TAG__Group__3 ; finally { restoreStackSize(stackSize); } -rule__QualifierTag__Group__1__Impl +rule__SEMVER_TAG__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifierTagAccess().getGroup_1()); } - (rule__QualifierTag__Group_1__0)* - { after(grammarAccess.getQualifierTagAccess().getGroup_1()); } + { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_MTerminalRuleCall_2()); } + RULE_LETTER_M + { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_MTerminalRuleCall_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__QualifierTag__Group_1__0 +rule__SEMVER_TAG__Group__3 @init { int stackSize = keepStackSize(); } : - rule__QualifierTag__Group_1__0__Impl - rule__QualifierTag__Group_1__1 + rule__SEMVER_TAG__Group__3__Impl + rule__SEMVER_TAG__Group__4 ; finally { restoreStackSize(stackSize); } -rule__QualifierTag__Group_1__0__Impl +rule__SEMVER_TAG__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifierTagAccess().getFullStopKeyword_1_0()); } - '.' - { after(grammarAccess.getQualifierTagAccess().getFullStopKeyword_1_0()); } + { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_VTerminalRuleCall_3()); } + RULE_LETTER_V + { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_VTerminalRuleCall_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__QualifierTag__Group_1__1 +rule__SEMVER_TAG__Group__4 @init { int stackSize = keepStackSize(); } : - rule__QualifierTag__Group_1__1__Impl + rule__SEMVER_TAG__Group__4__Impl + rule__SEMVER_TAG__Group__5 ; finally { restoreStackSize(stackSize); } -rule__QualifierTag__Group_1__1__Impl +rule__SEMVER_TAG__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getQualifierTagAccess().getPartsAssignment_1_1()); } - (rule__QualifierTag__PartsAssignment_1_1) - { after(grammarAccess.getQualifierTagAccess().getPartsAssignment_1_1()); } + { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_4()); } + RULE_LETTER_E + { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_4()); } ) ; finally { restoreStackSize(stackSize); } - -rule__FILE_TAG__Group__0 +rule__SEMVER_TAG__Group__5 @init { int stackSize = keepStackSize(); } : - rule__FILE_TAG__Group__0__Impl - rule__FILE_TAG__Group__1 + rule__SEMVER_TAG__Group__5__Impl + rule__SEMVER_TAG__Group__6 ; finally { restoreStackSize(stackSize); } -rule__FILE_TAG__Group__0__Impl +rule__SEMVER_TAG__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFILE_TAGAccess().getLETTER_FTerminalRuleCall_0()); } - RULE_LETTER_F - { after(grammarAccess.getFILE_TAGAccess().getLETTER_FTerminalRuleCall_0()); } + { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_RTerminalRuleCall_5()); } + RULE_LETTER_R + { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_RTerminalRuleCall_5()); } ) ; finally { restoreStackSize(stackSize); } -rule__FILE_TAG__Group__1 +rule__SEMVER_TAG__Group__6 @init { int stackSize = keepStackSize(); } : - rule__FILE_TAG__Group__1__Impl - rule__FILE_TAG__Group__2 + rule__SEMVER_TAG__Group__6__Impl ; finally { restoreStackSize(stackSize); } -rule__FILE_TAG__Group__1__Impl +rule__SEMVER_TAG__Group__6__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFILE_TAGAccess().getLETTER_ITerminalRuleCall_1()); } - RULE_LETTER_I - { after(grammarAccess.getFILE_TAGAccess().getLETTER_ITerminalRuleCall_1()); } + { before(grammarAccess.getSEMVER_TAGAccess().getColonKeyword_6()); } + ':' + { after(grammarAccess.getSEMVER_TAGAccess().getColonKeyword_6()); } ) ; finally { restoreStackSize(stackSize); } -rule__FILE_TAG__Group__2 + +rule__WORKSPACE_TAG__Group__0 @init { int stackSize = keepStackSize(); } : - rule__FILE_TAG__Group__2__Impl - rule__FILE_TAG__Group__3 + rule__WORKSPACE_TAG__Group__0__Impl + rule__WORKSPACE_TAG__Group__1 ; finally { restoreStackSize(stackSize); } -rule__FILE_TAG__Group__2__Impl +rule__WORKSPACE_TAG__Group__0__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFILE_TAGAccess().getLETTER_LTerminalRuleCall_2()); } - RULE_LETTER_L - { after(grammarAccess.getFILE_TAGAccess().getLETTER_LTerminalRuleCall_2()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_WTerminalRuleCall_0()); } + RULE_LETTER_W + { after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_WTerminalRuleCall_0()); } ) ; finally { restoreStackSize(stackSize); } -rule__FILE_TAG__Group__3 +rule__WORKSPACE_TAG__Group__1 @init { int stackSize = keepStackSize(); } : - rule__FILE_TAG__Group__3__Impl - rule__FILE_TAG__Group__4 + rule__WORKSPACE_TAG__Group__1__Impl + rule__WORKSPACE_TAG__Group__2 ; finally { restoreStackSize(stackSize); } -rule__FILE_TAG__Group__3__Impl +rule__WORKSPACE_TAG__Group__1__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFILE_TAGAccess().getLETTER_ETerminalRuleCall_3()); } - RULE_LETTER_E - { after(grammarAccess.getFILE_TAGAccess().getLETTER_ETerminalRuleCall_3()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_OTerminalRuleCall_1()); } + RULE_LETTER_O + { after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_OTerminalRuleCall_1()); } ) ; finally { restoreStackSize(stackSize); } -rule__FILE_TAG__Group__4 +rule__WORKSPACE_TAG__Group__2 @init { int stackSize = keepStackSize(); } : - rule__FILE_TAG__Group__4__Impl + rule__WORKSPACE_TAG__Group__2__Impl + rule__WORKSPACE_TAG__Group__3 ; finally { restoreStackSize(stackSize); } -rule__FILE_TAG__Group__4__Impl +rule__WORKSPACE_TAG__Group__2__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getFILE_TAGAccess().getColonKeyword_4()); } - ':' - { after(grammarAccess.getFILE_TAGAccess().getColonKeyword_4()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_RTerminalRuleCall_2()); } + RULE_LETTER_R + { after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_RTerminalRuleCall_2()); } ) ; finally { restoreStackSize(stackSize); } - -rule__SEMVER_TAG__Group__0 +rule__WORKSPACE_TAG__Group__3 @init { int stackSize = keepStackSize(); } : - rule__SEMVER_TAG__Group__0__Impl - rule__SEMVER_TAG__Group__1 + rule__WORKSPACE_TAG__Group__3__Impl + rule__WORKSPACE_TAG__Group__4 ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__0__Impl +rule__WORKSPACE_TAG__Group__3__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_STerminalRuleCall_0()); } - RULE_LETTER_S - { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_STerminalRuleCall_0()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_KTerminalRuleCall_3()); } + RULE_LETTER_K + { after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_KTerminalRuleCall_3()); } ) ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__1 +rule__WORKSPACE_TAG__Group__4 @init { int stackSize = keepStackSize(); } : - rule__SEMVER_TAG__Group__1__Impl - rule__SEMVER_TAG__Group__2 + rule__WORKSPACE_TAG__Group__4__Impl + rule__WORKSPACE_TAG__Group__5 ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__1__Impl +rule__WORKSPACE_TAG__Group__4__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_1()); } - RULE_LETTER_E - { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_1()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_STerminalRuleCall_4()); } + RULE_LETTER_S + { after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_STerminalRuleCall_4()); } ) ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__2 +rule__WORKSPACE_TAG__Group__5 @init { int stackSize = keepStackSize(); } : - rule__SEMVER_TAG__Group__2__Impl - rule__SEMVER_TAG__Group__3 + rule__WORKSPACE_TAG__Group__5__Impl + rule__WORKSPACE_TAG__Group__6 ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__2__Impl +rule__WORKSPACE_TAG__Group__5__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_MTerminalRuleCall_2()); } - RULE_LETTER_M - { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_MTerminalRuleCall_2()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_PTerminalRuleCall_5()); } + RULE_LETTER_P + { after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_PTerminalRuleCall_5()); } ) ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__3 +rule__WORKSPACE_TAG__Group__6 @init { int stackSize = keepStackSize(); } : - rule__SEMVER_TAG__Group__3__Impl - rule__SEMVER_TAG__Group__4 + rule__WORKSPACE_TAG__Group__6__Impl + rule__WORKSPACE_TAG__Group__7 ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__3__Impl +rule__WORKSPACE_TAG__Group__6__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_VTerminalRuleCall_3()); } - RULE_LETTER_V - { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_VTerminalRuleCall_3()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ATerminalRuleCall_6()); } + RULE_LETTER_A + { after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ATerminalRuleCall_6()); } ) ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__4 +rule__WORKSPACE_TAG__Group__7 @init { int stackSize = keepStackSize(); } : - rule__SEMVER_TAG__Group__4__Impl - rule__SEMVER_TAG__Group__5 + rule__WORKSPACE_TAG__Group__7__Impl + rule__WORKSPACE_TAG__Group__8 ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__4__Impl +rule__WORKSPACE_TAG__Group__7__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_4()); } - RULE_LETTER_E - { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_4()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_CTerminalRuleCall_7()); } + RULE_LETTER_C + { after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_CTerminalRuleCall_7()); } ) ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__5 +rule__WORKSPACE_TAG__Group__8 @init { int stackSize = keepStackSize(); } : - rule__SEMVER_TAG__Group__5__Impl - rule__SEMVER_TAG__Group__6 + rule__WORKSPACE_TAG__Group__8__Impl + rule__WORKSPACE_TAG__Group__9 ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__5__Impl +rule__WORKSPACE_TAG__Group__8__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_RTerminalRuleCall_5()); } - RULE_LETTER_R - { after(grammarAccess.getSEMVER_TAGAccess().getLETTER_RTerminalRuleCall_5()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ETerminalRuleCall_8()); } + RULE_LETTER_E + { after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ETerminalRuleCall_8()); } ) ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__6 +rule__WORKSPACE_TAG__Group__9 @init { int stackSize = keepStackSize(); } : - rule__SEMVER_TAG__Group__6__Impl + rule__WORKSPACE_TAG__Group__9__Impl ; finally { restoreStackSize(stackSize); } -rule__SEMVER_TAG__Group__6__Impl +rule__WORKSPACE_TAG__Group__9__Impl @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getSEMVER_TAGAccess().getColonKeyword_6()); } + { before(grammarAccess.getWORKSPACE_TAGAccess().getColonKeyword_9()); } ':' - { after(grammarAccess.getSEMVER_TAGAccess().getColonKeyword_6()); } + { after(grammarAccess.getWORKSPACE_TAGAccess().getColonKeyword_9()); } ) ; finally { @@ -4128,16 +4616,9 @@ rule__TAG__Group__1__Impl } : ( - ( - { before(grammarAccess.getTAGAccess().getAlternatives_1()); } - (rule__TAG__Alternatives_1) - { after(grammarAccess.getTAGAccess().getAlternatives_1()); } - ) - ( - { before(grammarAccess.getTAGAccess().getAlternatives_1()); } - (rule__TAG__Alternatives_1)* - { after(grammarAccess.getTAGAccess().getAlternatives_1()); } - ) + { before(grammarAccess.getTAGAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); } + ruleALPHA_NUMERIC_CHARS + { after(grammarAccess.getTAGAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); } ) ; finally { @@ -4189,16 +4670,9 @@ rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl } : ( - ( - { before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getAlternatives_1()); } - (rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1) - { after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getAlternatives_1()); } - ) - ( - { before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getAlternatives_1()); } - (rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1)* - { after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getAlternatives_1()); } - ) + { before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); } + ruleALPHA_NUMERIC_CHARS + { after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); } ) ; finally { @@ -4326,15 +4800,30 @@ finally { restoreStackSize(stackSize); } -rule__TagVersionRequirement__TagNameAssignment +rule__WorkspaceVersionRequirement__VersionAssignment_1_0 @init { int stackSize = keepStackSize(); } : ( - { before(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); } - ruleTAG - { after(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); } + { before(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionSimpleVersionParserRuleCall_1_0_0()); } + ruleSimpleVersion + { after(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionSimpleVersionParserRuleCall_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionWORKSPACE_VERSIONParserRuleCall_1_1_0()); } + ruleWORKSPACE_VERSION + { after(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionWORKSPACE_VERSIONParserRuleCall_1_1_0()); } ) ; finally { @@ -4371,6 +4860,21 @@ finally { restoreStackSize(stackSize); } +rule__TagVersionRequirement__TagNameAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); } + ruleTAG + { after(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + rule__VersionRangeSetRequirement__RangesAssignment_1_0 @init { int stackSize = keepStackSize(); @@ -4686,25 +5190,37 @@ finally { restoreStackSize(stackSize); } -RULE_LETTER_S : ('s'|'S'); +RULE_LETTER_A : ('a'|'A'); -RULE_LETTER_M : ('m'|'M'); +RULE_LETTER_C : ('c'|'C'); -RULE_LETTER_R : ('r'|'R'); +RULE_LETTER_E : ('e'|'E'); RULE_LETTER_F : ('f'|'F'); RULE_LETTER_I : ('i'|'I'); +RULE_LETTER_K : ('k'|'K'); + RULE_LETTER_L : ('l'|'L'); -RULE_LETTER_E : ('e'|'E'); +RULE_LETTER_M : ('m'|'M'); + +RULE_LETTER_O : ('o'|'O'); + +RULE_LETTER_P : ('p'|'P'); + +RULE_LETTER_R : ('r'|'R'); + +RULE_LETTER_S : ('s'|'S'); RULE_LETTER_V : ('v'|'V'); +RULE_LETTER_W : ('w'|'W'); + RULE_LETTER_X : ('x'|'X'); -RULE_LETTER_OTHER : ('a'|'A'|'b'|'B'|'c'|'C'|'d'|'D'|'g'|'G'|'h'|'H'|'j'|'J'|'k'|'K'|'n'|'N'|'o'|'O'|'p'|'P'|'q'|'Q'|'t'|'T'|'u'|'U'|'w'|'W'|'y'|'Y'|'z'|'Z'); +RULE_LETTER_OTHER : ('b'|'B'|'d'|'D'|'g'|'G'|'h'|'H'|'j'|'J'|'n'|'N'|'q'|'Q'|'t'|'T'|'u'|'U'|'y'|'Y'|'z'|'Z'); RULE_ASTERIX : '*'; diff --git a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemver.tokens b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemver.tokens index 277d51fa39..f6a5c8024e 100644 --- a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemver.tokens +++ b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemver.tokens @@ -1,56 +1,56 @@ -'#'=49 -'+'=40 -'-'=38 -'.'=36 -'/'=35 -':'=41 -'<'=43 -'<='=46 -'='=42 -'>'=47 -'>='=48 -'@'=37 -'^'=45 -'_'=39 -'||'=50 -'~'=44 -RULE_ANY_OTHER=34 -RULE_ASTERIX=6 -RULE_BOM=25 -RULE_DECIMAL_DIGIT_FRAGMENT=20 -RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=22 -RULE_DIGITS=4 -RULE_EOL=19 -RULE_HEX_DIGIT=21 -RULE_LETTER_E=14 +'#'=55 +'+'=45 +'-'=47 +'.'=42 +'/'=41 +':'=46 +'<'=51 +'<='=53 +'='=48 +'>'=52 +'>='=54 +'@'=43 +'^'=50 +'_'=44 +'||'=56 +'~'=49 +RULE_ANY_OTHER=40 +RULE_ASTERIX=4 +RULE_BOM=31 +RULE_DECIMAL_DIGIT_FRAGMENT=26 +RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=28 +RULE_DIGITS=5 +RULE_EOL=25 +RULE_HEX_DIGIT=27 +RULE_LETTER_A=8 +RULE_LETTER_C=9 +RULE_LETTER_E=10 RULE_LETTER_F=11 RULE_LETTER_I=12 -RULE_LETTER_L=13 -RULE_LETTER_M=9 -RULE_LETTER_OTHER=15 -RULE_LETTER_R=10 -RULE_LETTER_S=8 +RULE_LETTER_K=13 +RULE_LETTER_L=14 +RULE_LETTER_M=15 +RULE_LETTER_O=16 +RULE_LETTER_OTHER=21 +RULE_LETTER_P=17 +RULE_LETTER_R=18 +RULE_LETTER_S=19 RULE_LETTER_V=7 -RULE_LETTER_X=5 -RULE_LINE_TERMINATOR_FRAGMENT=27 -RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=18 -RULE_ML_COMMENT_FRAGMENT=29 -RULE_SL_COMMENT_FRAGMENT=28 -RULE_UNICODE_COMBINING_MARK_FRAGMENT=30 -RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=32 -RULE_UNICODE_DIGIT_FRAGMENT=31 -RULE_UNICODE_LETTER_FRAGMENT=33 -RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=26 -RULE_WHITESPACE_FRAGMENT=17 -RULE_WS=16 -RULE_ZWJ=23 -RULE_ZWNJ=24 -T__35=35 -T__36=36 -T__37=37 -T__38=38 -T__39=39 -T__40=40 +RULE_LETTER_W=20 +RULE_LETTER_X=6 +RULE_LINE_TERMINATOR_FRAGMENT=33 +RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=24 +RULE_ML_COMMENT_FRAGMENT=35 +RULE_SL_COMMENT_FRAGMENT=34 +RULE_UNICODE_COMBINING_MARK_FRAGMENT=36 +RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=38 +RULE_UNICODE_DIGIT_FRAGMENT=37 +RULE_UNICODE_LETTER_FRAGMENT=39 +RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=32 +RULE_WHITESPACE_FRAGMENT=23 +RULE_WS=22 +RULE_ZWJ=29 +RULE_ZWNJ=30 T__41=41 T__42=42 T__43=43 @@ -61,3 +61,9 @@ T__47=47 T__48=48 T__49=49 T__50=50 +T__51=51 +T__52=52 +T__53=53 +T__54=54 +T__55=55 +T__56=56 diff --git a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemverLexer.java b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemverLexer.java index 8549b7342b..21810e6226 100644 --- a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemverLexer.java +++ b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemverLexer.java @@ -13,50 +13,56 @@ @SuppressWarnings("all") public class InternalSemverLexer extends Lexer { public static final int T__50=50; - public static final int RULE_WHITESPACE_FRAGMENT=17; - public static final int RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=18; - public static final int RULE_EOL=19; - public static final int RULE_LETTER_OTHER=15; - public static final int RULE_UNICODE_COMBINING_MARK_FRAGMENT=30; - public static final int RULE_ZWNJ=24; - public static final int RULE_ASTERIX=6; - public static final int RULE_LETTER_E=14; - public static final int RULE_ML_COMMENT_FRAGMENT=29; - public static final int RULE_DIGITS=4; - public static final int RULE_ZWJ=23; - public static final int RULE_SL_COMMENT_FRAGMENT=28; - public static final int RULE_UNICODE_DIGIT_FRAGMENT=31; - public static final int T__37=37; - public static final int RULE_LETTER_R=10; - public static final int T__38=38; - public static final int RULE_LETTER_S=8; - public static final int T__39=39; + public static final int RULE_WHITESPACE_FRAGMENT=23; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=24; + public static final int RULE_EOL=25; + public static final int RULE_LETTER_OTHER=21; + public static final int RULE_UNICODE_COMBINING_MARK_FRAGMENT=36; + public static final int RULE_ZWNJ=30; + public static final int RULE_LETTER_A=8; + public static final int RULE_LETTER_C=9; + public static final int RULE_ASTERIX=4; + public static final int RULE_LETTER_E=10; + public static final int RULE_ML_COMMENT_FRAGMENT=35; + public static final int RULE_DIGITS=5; + public static final int RULE_LETTER_O=16; + public static final int RULE_ZWJ=29; + public static final int RULE_SL_COMMENT_FRAGMENT=34; + public static final int RULE_LETTER_P=17; + public static final int RULE_UNICODE_DIGIT_FRAGMENT=37; + public static final int RULE_LETTER_R=18; + public static final int RULE_LETTER_S=19; public static final int RULE_LETTER_F=11; - public static final int RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=26; - public static final int T__35=35; - public static final int T__36=36; + public static final int RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=32; public static final int RULE_LETTER_I=12; public static final int EOF=-1; - public static final int RULE_LETTER_L=13; - public static final int RULE_LETTER_M=9; - public static final int RULE_WS=16; - public static final int RULE_BOM=25; + public static final int RULE_LETTER_K=13; + public static final int RULE_LETTER_L=14; + public static final int RULE_LETTER_M=15; + public static final int RULE_WS=22; + public static final int RULE_BOM=31; public static final int RULE_LETTER_V=7; - public static final int RULE_LETTER_X=5; - public static final int RULE_ANY_OTHER=34; - public static final int RULE_LINE_TERMINATOR_FRAGMENT=27; - public static final int RULE_UNICODE_LETTER_FRAGMENT=33; - public static final int RULE_DECIMAL_DIGIT_FRAGMENT=20; + public static final int RULE_LETTER_W=20; + public static final int RULE_LETTER_X=6; + public static final int RULE_ANY_OTHER=40; + public static final int RULE_LINE_TERMINATOR_FRAGMENT=33; + public static final int RULE_UNICODE_LETTER_FRAGMENT=39; + public static final int RULE_DECIMAL_DIGIT_FRAGMENT=26; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; public static final int T__45=45; - public static final int RULE_HEX_DIGIT=21; - public static final int RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=22; - public static final int RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=32; + public static final int RULE_HEX_DIGIT=27; + public static final int RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=28; + public static final int RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=38; public static final int T__46=46; public static final int T__47=47; - public static final int T__40=40; public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; @@ -74,10 +80,10 @@ public InternalSemverLexer(CharStream input, RecognizerSharedState state) { } public String getGrammarFileName() { return "InternalSemver.g"; } - // $ANTLR start "T__35" - public final void mT__35() throws RecognitionException { + // $ANTLR start "T__41" + public final void mT__41() throws RecognitionException { try { - int _type = T__35; + int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:11:7: ( '/' ) // InternalSemver.g:11:9: '/' @@ -92,12 +98,12 @@ public final void mT__35() throws RecognitionException { finally { } } - // $ANTLR end "T__35" + // $ANTLR end "T__41" - // $ANTLR start "T__36" - public final void mT__36() throws RecognitionException { + // $ANTLR start "T__42" + public final void mT__42() throws RecognitionException { try { - int _type = T__36; + int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:12:7: ( '.' ) // InternalSemver.g:12:9: '.' @@ -112,12 +118,12 @@ public final void mT__36() throws RecognitionException { finally { } } - // $ANTLR end "T__36" + // $ANTLR end "T__42" - // $ANTLR start "T__37" - public final void mT__37() throws RecognitionException { + // $ANTLR start "T__43" + public final void mT__43() throws RecognitionException { try { - int _type = T__37; + int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:13:7: ( '@' ) // InternalSemver.g:13:9: '@' @@ -132,17 +138,17 @@ public final void mT__37() throws RecognitionException { finally { } } - // $ANTLR end "T__37" + // $ANTLR end "T__43" - // $ANTLR start "T__38" - public final void mT__38() throws RecognitionException { + // $ANTLR start "T__44" + public final void mT__44() throws RecognitionException { try { - int _type = T__38; + int _type = T__44; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:14:7: ( '-' ) - // InternalSemver.g:14:9: '-' + // InternalSemver.g:14:7: ( '_' ) + // InternalSemver.g:14:9: '_' { - match('-'); + match('_'); } @@ -152,17 +158,17 @@ public final void mT__38() throws RecognitionException { finally { } } - // $ANTLR end "T__38" + // $ANTLR end "T__44" - // $ANTLR start "T__39" - public final void mT__39() throws RecognitionException { + // $ANTLR start "T__45" + public final void mT__45() throws RecognitionException { try { - int _type = T__39; + int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:15:7: ( '_' ) - // InternalSemver.g:15:9: '_' + // InternalSemver.g:15:7: ( '+' ) + // InternalSemver.g:15:9: '+' { - match('_'); + match('+'); } @@ -172,17 +178,17 @@ public final void mT__39() throws RecognitionException { finally { } } - // $ANTLR end "T__39" + // $ANTLR end "T__45" - // $ANTLR start "T__40" - public final void mT__40() throws RecognitionException { + // $ANTLR start "T__46" + public final void mT__46() throws RecognitionException { try { - int _type = T__40; + int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:16:7: ( '+' ) - // InternalSemver.g:16:9: '+' + // InternalSemver.g:16:7: ( ':' ) + // InternalSemver.g:16:9: ':' { - match('+'); + match(':'); } @@ -192,17 +198,17 @@ public final void mT__40() throws RecognitionException { finally { } } - // $ANTLR end "T__40" + // $ANTLR end "T__46" - // $ANTLR start "T__41" - public final void mT__41() throws RecognitionException { + // $ANTLR start "T__47" + public final void mT__47() throws RecognitionException { try { - int _type = T__41; + int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:17:7: ( ':' ) - // InternalSemver.g:17:9: ':' + // InternalSemver.g:17:7: ( '-' ) + // InternalSemver.g:17:9: '-' { - match(':'); + match('-'); } @@ -212,12 +218,12 @@ public final void mT__41() throws RecognitionException { finally { } } - // $ANTLR end "T__41" + // $ANTLR end "T__47" - // $ANTLR start "T__42" - public final void mT__42() throws RecognitionException { + // $ANTLR start "T__48" + public final void mT__48() throws RecognitionException { try { - int _type = T__42; + int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:18:7: ( '=' ) // InternalSemver.g:18:9: '=' @@ -232,17 +238,17 @@ public final void mT__42() throws RecognitionException { finally { } } - // $ANTLR end "T__42" + // $ANTLR end "T__48" - // $ANTLR start "T__43" - public final void mT__43() throws RecognitionException { + // $ANTLR start "T__49" + public final void mT__49() throws RecognitionException { try { - int _type = T__43; + int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:19:7: ( '<' ) - // InternalSemver.g:19:9: '<' + // InternalSemver.g:19:7: ( '~' ) + // InternalSemver.g:19:9: '~' { - match('<'); + match('~'); } @@ -252,17 +258,17 @@ public final void mT__43() throws RecognitionException { finally { } } - // $ANTLR end "T__43" + // $ANTLR end "T__49" - // $ANTLR start "T__44" - public final void mT__44() throws RecognitionException { + // $ANTLR start "T__50" + public final void mT__50() throws RecognitionException { try { - int _type = T__44; + int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:20:7: ( '~' ) - // InternalSemver.g:20:9: '~' + // InternalSemver.g:20:7: ( '^' ) + // InternalSemver.g:20:9: '^' { - match('~'); + match('^'); } @@ -272,17 +278,17 @@ public final void mT__44() throws RecognitionException { finally { } } - // $ANTLR end "T__44" + // $ANTLR end "T__50" - // $ANTLR start "T__45" - public final void mT__45() throws RecognitionException { + // $ANTLR start "T__51" + public final void mT__51() throws RecognitionException { try { - int _type = T__45; + int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:21:7: ( '^' ) - // InternalSemver.g:21:9: '^' + // InternalSemver.g:21:7: ( '<' ) + // InternalSemver.g:21:9: '<' { - match('^'); + match('<'); } @@ -292,18 +298,17 @@ public final void mT__45() throws RecognitionException { finally { } } - // $ANTLR end "T__45" + // $ANTLR end "T__51" - // $ANTLR start "T__46" - public final void mT__46() throws RecognitionException { + // $ANTLR start "T__52" + public final void mT__52() throws RecognitionException { try { - int _type = T__46; + int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:22:7: ( '<=' ) - // InternalSemver.g:22:9: '<=' + // InternalSemver.g:22:7: ( '>' ) + // InternalSemver.g:22:9: '>' { - match("<="); - + match('>'); } @@ -313,17 +318,18 @@ public final void mT__46() throws RecognitionException { finally { } } - // $ANTLR end "T__46" + // $ANTLR end "T__52" - // $ANTLR start "T__47" - public final void mT__47() throws RecognitionException { + // $ANTLR start "T__53" + public final void mT__53() throws RecognitionException { try { - int _type = T__47; + int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:23:7: ( '>' ) - // InternalSemver.g:23:9: '>' + // InternalSemver.g:23:7: ( '<=' ) + // InternalSemver.g:23:9: '<=' { - match('>'); + match("<="); + } @@ -333,12 +339,12 @@ public final void mT__47() throws RecognitionException { finally { } } - // $ANTLR end "T__47" + // $ANTLR end "T__53" - // $ANTLR start "T__48" - public final void mT__48() throws RecognitionException { + // $ANTLR start "T__54" + public final void mT__54() throws RecognitionException { try { - int _type = T__48; + int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:24:7: ( '>=' ) // InternalSemver.g:24:9: '>=' @@ -354,12 +360,12 @@ public final void mT__48() throws RecognitionException { finally { } } - // $ANTLR end "T__48" + // $ANTLR end "T__54" - // $ANTLR start "T__49" - public final void mT__49() throws RecognitionException { + // $ANTLR start "T__55" + public final void mT__55() throws RecognitionException { try { - int _type = T__49; + int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:25:7: ( '#' ) // InternalSemver.g:25:9: '#' @@ -374,12 +380,12 @@ public final void mT__49() throws RecognitionException { finally { } } - // $ANTLR end "T__49" + // $ANTLR end "T__55" - // $ANTLR start "T__50" - public final void mT__50() throws RecognitionException { + // $ANTLR start "T__56" + public final void mT__56() throws RecognitionException { try { - int _type = T__50; + int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:26:7: ( '||' ) // InternalSemver.g:26:9: '||' @@ -395,17 +401,17 @@ public final void mT__50() throws RecognitionException { finally { } } - // $ANTLR end "T__50" + // $ANTLR end "T__56" - // $ANTLR start "RULE_LETTER_S" - public final void mRULE_LETTER_S() throws RecognitionException { + // $ANTLR start "RULE_LETTER_A" + public final void mRULE_LETTER_A() throws RecognitionException { try { - int _type = RULE_LETTER_S; + int _type = RULE_LETTER_A; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4689:15: ( ( 's' | 'S' ) ) - // InternalSemver.g:4689:17: ( 's' | 'S' ) + // InternalSemver.g:5193:15: ( ( 'a' | 'A' ) ) + // InternalSemver.g:5193:17: ( 'a' | 'A' ) { - if ( input.LA(1)=='S'||input.LA(1)=='s' ) { + if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); } @@ -423,17 +429,17 @@ public final void mRULE_LETTER_S() throws RecognitionException { finally { } } - // $ANTLR end "RULE_LETTER_S" + // $ANTLR end "RULE_LETTER_A" - // $ANTLR start "RULE_LETTER_M" - public final void mRULE_LETTER_M() throws RecognitionException { + // $ANTLR start "RULE_LETTER_C" + public final void mRULE_LETTER_C() throws RecognitionException { try { - int _type = RULE_LETTER_M; + int _type = RULE_LETTER_C; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4691:15: ( ( 'm' | 'M' ) ) - // InternalSemver.g:4691:17: ( 'm' | 'M' ) + // InternalSemver.g:5195:15: ( ( 'c' | 'C' ) ) + // InternalSemver.g:5195:17: ( 'c' | 'C' ) { - if ( input.LA(1)=='M'||input.LA(1)=='m' ) { + if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); } @@ -451,17 +457,17 @@ public final void mRULE_LETTER_M() throws RecognitionException { finally { } } - // $ANTLR end "RULE_LETTER_M" + // $ANTLR end "RULE_LETTER_C" - // $ANTLR start "RULE_LETTER_R" - public final void mRULE_LETTER_R() throws RecognitionException { + // $ANTLR start "RULE_LETTER_E" + public final void mRULE_LETTER_E() throws RecognitionException { try { - int _type = RULE_LETTER_R; + int _type = RULE_LETTER_E; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4693:15: ( ( 'r' | 'R' ) ) - // InternalSemver.g:4693:17: ( 'r' | 'R' ) + // InternalSemver.g:5197:15: ( ( 'e' | 'E' ) ) + // InternalSemver.g:5197:17: ( 'e' | 'E' ) { - if ( input.LA(1)=='R'||input.LA(1)=='r' ) { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { input.consume(); } @@ -479,15 +485,15 @@ public final void mRULE_LETTER_R() throws RecognitionException { finally { } } - // $ANTLR end "RULE_LETTER_R" + // $ANTLR end "RULE_LETTER_E" // $ANTLR start "RULE_LETTER_F" public final void mRULE_LETTER_F() throws RecognitionException { try { int _type = RULE_LETTER_F; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4695:15: ( ( 'f' | 'F' ) ) - // InternalSemver.g:4695:17: ( 'f' | 'F' ) + // InternalSemver.g:5199:15: ( ( 'f' | 'F' ) ) + // InternalSemver.g:5199:17: ( 'f' | 'F' ) { if ( input.LA(1)=='F'||input.LA(1)=='f' ) { input.consume(); @@ -514,8 +520,8 @@ public final void mRULE_LETTER_I() throws RecognitionException { try { int _type = RULE_LETTER_I; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4697:15: ( ( 'i' | 'I' ) ) - // InternalSemver.g:4697:17: ( 'i' | 'I' ) + // InternalSemver.g:5201:15: ( ( 'i' | 'I' ) ) + // InternalSemver.g:5201:17: ( 'i' | 'I' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -537,13 +543,41 @@ public final void mRULE_LETTER_I() throws RecognitionException { } // $ANTLR end "RULE_LETTER_I" + // $ANTLR start "RULE_LETTER_K" + public final void mRULE_LETTER_K() throws RecognitionException { + try { + int _type = RULE_LETTER_K; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:5203:15: ( ( 'k' | 'K' ) ) + // InternalSemver.g:5203:17: ( 'k' | 'K' ) + { + if ( input.LA(1)=='K'||input.LA(1)=='k' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_K" + // $ANTLR start "RULE_LETTER_L" public final void mRULE_LETTER_L() throws RecognitionException { try { int _type = RULE_LETTER_L; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4699:15: ( ( 'l' | 'L' ) ) - // InternalSemver.g:4699:17: ( 'l' | 'L' ) + // InternalSemver.g:5205:15: ( ( 'l' | 'L' ) ) + // InternalSemver.g:5205:17: ( 'l' | 'L' ) { if ( input.LA(1)=='L'||input.LA(1)=='l' ) { input.consume(); @@ -565,15 +599,15 @@ public final void mRULE_LETTER_L() throws RecognitionException { } // $ANTLR end "RULE_LETTER_L" - // $ANTLR start "RULE_LETTER_E" - public final void mRULE_LETTER_E() throws RecognitionException { + // $ANTLR start "RULE_LETTER_M" + public final void mRULE_LETTER_M() throws RecognitionException { try { - int _type = RULE_LETTER_E; + int _type = RULE_LETTER_M; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4701:15: ( ( 'e' | 'E' ) ) - // InternalSemver.g:4701:17: ( 'e' | 'E' ) + // InternalSemver.g:5207:15: ( ( 'm' | 'M' ) ) + // InternalSemver.g:5207:17: ( 'm' | 'M' ) { - if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + if ( input.LA(1)=='M'||input.LA(1)=='m' ) { input.consume(); } @@ -591,15 +625,127 @@ public final void mRULE_LETTER_E() throws RecognitionException { finally { } } - // $ANTLR end "RULE_LETTER_E" + // $ANTLR end "RULE_LETTER_M" + + // $ANTLR start "RULE_LETTER_O" + public final void mRULE_LETTER_O() throws RecognitionException { + try { + int _type = RULE_LETTER_O; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:5209:15: ( ( 'o' | 'O' ) ) + // InternalSemver.g:5209:17: ( 'o' | 'O' ) + { + if ( input.LA(1)=='O'||input.LA(1)=='o' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_O" + + // $ANTLR start "RULE_LETTER_P" + public final void mRULE_LETTER_P() throws RecognitionException { + try { + int _type = RULE_LETTER_P; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:5211:15: ( ( 'p' | 'P' ) ) + // InternalSemver.g:5211:17: ( 'p' | 'P' ) + { + if ( input.LA(1)=='P'||input.LA(1)=='p' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_P" + + // $ANTLR start "RULE_LETTER_R" + public final void mRULE_LETTER_R() throws RecognitionException { + try { + int _type = RULE_LETTER_R; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:5213:15: ( ( 'r' | 'R' ) ) + // InternalSemver.g:5213:17: ( 'r' | 'R' ) + { + if ( input.LA(1)=='R'||input.LA(1)=='r' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_R" + + // $ANTLR start "RULE_LETTER_S" + public final void mRULE_LETTER_S() throws RecognitionException { + try { + int _type = RULE_LETTER_S; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:5215:15: ( ( 's' | 'S' ) ) + // InternalSemver.g:5215:17: ( 's' | 'S' ) + { + if ( input.LA(1)=='S'||input.LA(1)=='s' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_S" // $ANTLR start "RULE_LETTER_V" public final void mRULE_LETTER_V() throws RecognitionException { try { int _type = RULE_LETTER_V; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4703:15: ( ( 'v' | 'V' ) ) - // InternalSemver.g:4703:17: ( 'v' | 'V' ) + // InternalSemver.g:5217:15: ( ( 'v' | 'V' ) ) + // InternalSemver.g:5217:17: ( 'v' | 'V' ) { if ( input.LA(1)=='V'||input.LA(1)=='v' ) { input.consume(); @@ -621,13 +767,41 @@ public final void mRULE_LETTER_V() throws RecognitionException { } // $ANTLR end "RULE_LETTER_V" + // $ANTLR start "RULE_LETTER_W" + public final void mRULE_LETTER_W() throws RecognitionException { + try { + int _type = RULE_LETTER_W; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:5219:15: ( ( 'w' | 'W' ) ) + // InternalSemver.g:5219:17: ( 'w' | 'W' ) + { + if ( input.LA(1)=='W'||input.LA(1)=='w' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_W" + // $ANTLR start "RULE_LETTER_X" public final void mRULE_LETTER_X() throws RecognitionException { try { int _type = RULE_LETTER_X; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4705:15: ( ( 'x' | 'X' ) ) - // InternalSemver.g:4705:17: ( 'x' | 'X' ) + // InternalSemver.g:5221:15: ( ( 'x' | 'X' ) ) + // InternalSemver.g:5221:17: ( 'x' | 'X' ) { if ( input.LA(1)=='X'||input.LA(1)=='x' ) { input.consume(); @@ -654,10 +828,10 @@ public final void mRULE_LETTER_OTHER() throws RecognitionException { try { int _type = RULE_LETTER_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4707:19: ( ( 'a' | 'A' | 'b' | 'B' | 'c' | 'C' | 'd' | 'D' | 'g' | 'G' | 'h' | 'H' | 'j' | 'J' | 'k' | 'K' | 'n' | 'N' | 'o' | 'O' | 'p' | 'P' | 'q' | 'Q' | 't' | 'T' | 'u' | 'U' | 'w' | 'W' | 'y' | 'Y' | 'z' | 'Z' ) ) - // InternalSemver.g:4707:21: ( 'a' | 'A' | 'b' | 'B' | 'c' | 'C' | 'd' | 'D' | 'g' | 'G' | 'h' | 'H' | 'j' | 'J' | 'k' | 'K' | 'n' | 'N' | 'o' | 'O' | 'p' | 'P' | 'q' | 'Q' | 't' | 'T' | 'u' | 'U' | 'w' | 'W' | 'y' | 'Y' | 'z' | 'Z' ) + // InternalSemver.g:5223:19: ( ( 'b' | 'B' | 'd' | 'D' | 'g' | 'G' | 'h' | 'H' | 'j' | 'J' | 'n' | 'N' | 'q' | 'Q' | 't' | 'T' | 'u' | 'U' | 'y' | 'Y' | 'z' | 'Z' ) ) + // InternalSemver.g:5223:21: ( 'b' | 'B' | 'd' | 'D' | 'g' | 'G' | 'h' | 'H' | 'j' | 'J' | 'n' | 'N' | 'q' | 'Q' | 't' | 'T' | 'u' | 'U' | 'y' | 'Y' | 'z' | 'Z' ) { - if ( (input.LA(1)>='A' && input.LA(1)<='D')||(input.LA(1)>='G' && input.LA(1)<='H')||(input.LA(1)>='J' && input.LA(1)<='K')||(input.LA(1)>='N' && input.LA(1)<='Q')||(input.LA(1)>='T' && input.LA(1)<='U')||input.LA(1)=='W'||(input.LA(1)>='Y' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='d')||(input.LA(1)>='g' && input.LA(1)<='h')||(input.LA(1)>='j' && input.LA(1)<='k')||(input.LA(1)>='n' && input.LA(1)<='q')||(input.LA(1)>='t' && input.LA(1)<='u')||input.LA(1)=='w'||(input.LA(1)>='y' && input.LA(1)<='z') ) { + if ( input.LA(1)=='B'||input.LA(1)=='D'||(input.LA(1)>='G' && input.LA(1)<='H')||input.LA(1)=='J'||input.LA(1)=='N'||input.LA(1)=='Q'||(input.LA(1)>='T' && input.LA(1)<='U')||(input.LA(1)>='Y' && input.LA(1)<='Z')||input.LA(1)=='b'||input.LA(1)=='d'||(input.LA(1)>='g' && input.LA(1)<='h')||input.LA(1)=='j'||input.LA(1)=='n'||input.LA(1)=='q'||(input.LA(1)>='t' && input.LA(1)<='u')||(input.LA(1)>='y' && input.LA(1)<='z') ) { input.consume(); } @@ -682,8 +856,8 @@ public final void mRULE_ASTERIX() throws RecognitionException { try { int _type = RULE_ASTERIX; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4709:14: ( '*' ) - // InternalSemver.g:4709:16: '*' + // InternalSemver.g:5225:14: ( '*' ) + // InternalSemver.g:5225:16: '*' { match('*'); @@ -702,10 +876,10 @@ public final void mRULE_DIGITS() throws RecognitionException { try { int _type = RULE_DIGITS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4711:13: ( ( '0' .. '9' )+ ) - // InternalSemver.g:4711:15: ( '0' .. '9' )+ + // InternalSemver.g:5227:13: ( ( '0' .. '9' )+ ) + // InternalSemver.g:5227:15: ( '0' .. '9' )+ { - // InternalSemver.g:4711:15: ( '0' .. '9' )+ + // InternalSemver.g:5227:15: ( '0' .. '9' )+ int cnt1=0; loop1: do { @@ -719,7 +893,7 @@ public final void mRULE_DIGITS() throws RecognitionException { switch (alt1) { case 1 : - // InternalSemver.g:4711:16: '0' .. '9' + // InternalSemver.g:5227:16: '0' .. '9' { matchRange('0','9'); @@ -751,10 +925,10 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4713:9: ( ( RULE_WHITESPACE_FRAGMENT )+ ) - // InternalSemver.g:4713:11: ( RULE_WHITESPACE_FRAGMENT )+ + // InternalSemver.g:5229:9: ( ( RULE_WHITESPACE_FRAGMENT )+ ) + // InternalSemver.g:5229:11: ( RULE_WHITESPACE_FRAGMENT )+ { - // InternalSemver.g:4713:11: ( RULE_WHITESPACE_FRAGMENT )+ + // InternalSemver.g:5229:11: ( RULE_WHITESPACE_FRAGMENT )+ int cnt2=0; loop2: do { @@ -768,7 +942,7 @@ public final void mRULE_WS() throws RecognitionException { switch (alt2) { case 1 : - // InternalSemver.g:4713:11: RULE_WHITESPACE_FRAGMENT + // InternalSemver.g:5229:11: RULE_WHITESPACE_FRAGMENT { mRULE_WHITESPACE_FRAGMENT(); @@ -800,8 +974,8 @@ public final void mRULE_EOL() throws RecognitionException { try { int _type = RULE_EOL; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:4715:10: ( RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT ) - // InternalSemver.g:4715:12: RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT + // InternalSemver.g:5231:10: ( RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT ) + // InternalSemver.g:5231:12: RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT { mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT(); @@ -818,8 +992,8 @@ public final void mRULE_EOL() throws RecognitionException { // $ANTLR start "RULE_HEX_DIGIT" public final void mRULE_HEX_DIGIT() throws RecognitionException { try { - // InternalSemver.g:4717:25: ( ( RULE_DECIMAL_DIGIT_FRAGMENT | 'a' .. 'f' | 'A' .. 'F' ) ) - // InternalSemver.g:4717:27: ( RULE_DECIMAL_DIGIT_FRAGMENT | 'a' .. 'f' | 'A' .. 'F' ) + // InternalSemver.g:5233:25: ( ( RULE_DECIMAL_DIGIT_FRAGMENT | 'a' .. 'f' | 'A' .. 'F' ) ) + // InternalSemver.g:5233:27: ( RULE_DECIMAL_DIGIT_FRAGMENT | 'a' .. 'f' | 'A' .. 'F' ) { if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) { input.consume(); @@ -842,10 +1016,10 @@ public final void mRULE_HEX_DIGIT() throws RecognitionException { // $ANTLR start "RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT" public final void mRULE_DECIMAL_INTEGER_LITERAL_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4719:48: ( ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) ) - // InternalSemver.g:4719:50: ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) + // InternalSemver.g:5235:48: ( ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) ) + // InternalSemver.g:5235:50: ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) { - // InternalSemver.g:4719:50: ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) + // InternalSemver.g:5235:50: ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) int alt4=2; int LA4_0 = input.LA(1); @@ -863,17 +1037,17 @@ else if ( ((LA4_0>='1' && LA4_0<='9')) ) { } switch (alt4) { case 1 : - // InternalSemver.g:4719:51: '0' + // InternalSemver.g:5235:51: '0' { match('0'); } break; case 2 : - // InternalSemver.g:4719:55: '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* + // InternalSemver.g:5235:55: '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* { matchRange('1','9'); - // InternalSemver.g:4719:64: ( RULE_DECIMAL_DIGIT_FRAGMENT )* + // InternalSemver.g:5235:64: ( RULE_DECIMAL_DIGIT_FRAGMENT )* loop3: do { int alt3=2; @@ -886,7 +1060,7 @@ else if ( ((LA4_0>='1' && LA4_0<='9')) ) { switch (alt3) { case 1 : - // InternalSemver.g:4719:64: RULE_DECIMAL_DIGIT_FRAGMENT + // InternalSemver.g:5235:64: RULE_DECIMAL_DIGIT_FRAGMENT { mRULE_DECIMAL_DIGIT_FRAGMENT(); @@ -916,8 +1090,8 @@ else if ( ((LA4_0>='1' && LA4_0<='9')) ) { // $ANTLR start "RULE_DECIMAL_DIGIT_FRAGMENT" public final void mRULE_DECIMAL_DIGIT_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4721:38: ( '0' .. '9' ) - // InternalSemver.g:4721:40: '0' .. '9' + // InternalSemver.g:5237:38: ( '0' .. '9' ) + // InternalSemver.g:5237:40: '0' .. '9' { matchRange('0','9'); @@ -932,8 +1106,8 @@ public final void mRULE_DECIMAL_DIGIT_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_ZWJ" public final void mRULE_ZWJ() throws RecognitionException { try { - // InternalSemver.g:4723:19: ( '\\u200D' ) - // InternalSemver.g:4723:21: '\\u200D' + // InternalSemver.g:5239:19: ( '\\u200D' ) + // InternalSemver.g:5239:21: '\\u200D' { match('\u200D'); @@ -948,8 +1122,8 @@ public final void mRULE_ZWJ() throws RecognitionException { // $ANTLR start "RULE_ZWNJ" public final void mRULE_ZWNJ() throws RecognitionException { try { - // InternalSemver.g:4725:20: ( '\\u200C' ) - // InternalSemver.g:4725:22: '\\u200C' + // InternalSemver.g:5241:20: ( '\\u200C' ) + // InternalSemver.g:5241:22: '\\u200C' { match('\u200C'); @@ -964,8 +1138,8 @@ public final void mRULE_ZWNJ() throws RecognitionException { // $ANTLR start "RULE_BOM" public final void mRULE_BOM() throws RecognitionException { try { - // InternalSemver.g:4727:19: ( '\\uFEFF' ) - // InternalSemver.g:4727:21: '\\uFEFF' + // InternalSemver.g:5243:19: ( '\\uFEFF' ) + // InternalSemver.g:5243:21: '\\uFEFF' { match('\uFEFF'); @@ -980,8 +1154,8 @@ public final void mRULE_BOM() throws RecognitionException { // $ANTLR start "RULE_WHITESPACE_FRAGMENT" public final void mRULE_WHITESPACE_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4729:35: ( ( '\\t' | '\\u000B' | '\\f' | ' ' | '\\u00A0' | RULE_BOM | RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT ) ) - // InternalSemver.g:4729:37: ( '\\t' | '\\u000B' | '\\f' | ' ' | '\\u00A0' | RULE_BOM | RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT ) + // InternalSemver.g:5245:35: ( ( '\\t' | '\\u000B' | '\\f' | ' ' | '\\u00A0' | RULE_BOM | RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT ) ) + // InternalSemver.g:5245:37: ( '\\t' | '\\u000B' | '\\f' | ' ' | '\\u00A0' | RULE_BOM | RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT ) { if ( input.LA(1)=='\t'||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||input.LA(1)==' '||input.LA(1)=='\u00A0'||input.LA(1)=='\u1680'||(input.LA(1)>='\u2000' && input.LA(1)<='\u200A')||input.LA(1)=='\u202F'||input.LA(1)=='\u205F'||input.LA(1)=='\u3000'||input.LA(1)=='\uFEFF' ) { input.consume(); @@ -1004,8 +1178,8 @@ public final void mRULE_WHITESPACE_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_LINE_TERMINATOR_FRAGMENT" public final void mRULE_LINE_TERMINATOR_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4731:40: ( ( '\\n' | '\\r' | '\\u2028' | '\\u2029' ) ) - // InternalSemver.g:4731:42: ( '\\n' | '\\r' | '\\u2028' | '\\u2029' ) + // InternalSemver.g:5247:40: ( ( '\\n' | '\\r' | '\\u2028' | '\\u2029' ) ) + // InternalSemver.g:5247:42: ( '\\n' | '\\r' | '\\u2028' | '\\u2029' ) { if ( input.LA(1)=='\n'||input.LA(1)=='\r'||(input.LA(1)>='\u2028' && input.LA(1)<='\u2029') ) { input.consume(); @@ -1028,10 +1202,10 @@ public final void mRULE_LINE_TERMINATOR_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT" public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4733:49: ( ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) ) - // InternalSemver.g:4733:51: ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) + // InternalSemver.g:5249:49: ( ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) ) + // InternalSemver.g:5249:51: ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) { - // InternalSemver.g:4733:51: ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) + // InternalSemver.g:5249:51: ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) int alt6=4; switch ( input.LA(1) ) { case '\n': @@ -1063,17 +1237,17 @@ public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionEx switch (alt6) { case 1 : - // InternalSemver.g:4733:52: '\\n' + // InternalSemver.g:5249:52: '\\n' { match('\n'); } break; case 2 : - // InternalSemver.g:4733:57: '\\r' ( '\\n' )? + // InternalSemver.g:5249:57: '\\r' ( '\\n' )? { match('\r'); - // InternalSemver.g:4733:62: ( '\\n' )? + // InternalSemver.g:5249:62: ( '\\n' )? int alt5=2; int LA5_0 = input.LA(1); @@ -1082,7 +1256,7 @@ public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionEx } switch (alt5) { case 1 : - // InternalSemver.g:4733:62: '\\n' + // InternalSemver.g:5249:62: '\\n' { match('\n'); @@ -1095,14 +1269,14 @@ public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionEx } break; case 3 : - // InternalSemver.g:4733:68: '\\u2028' + // InternalSemver.g:5249:68: '\\u2028' { match('\u2028'); } break; case 4 : - // InternalSemver.g:4733:77: '\\u2029' + // InternalSemver.g:5249:77: '\\u2029' { match('\u2029'); @@ -1123,12 +1297,12 @@ public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionEx // $ANTLR start "RULE_SL_COMMENT_FRAGMENT" public final void mRULE_SL_COMMENT_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4735:35: ( '//' (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* ) - // InternalSemver.g:4735:37: '//' (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* + // InternalSemver.g:5251:35: ( '//' (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* ) + // InternalSemver.g:5251:37: '//' (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* { match("//"); - // InternalSemver.g:4735:42: (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* + // InternalSemver.g:5251:42: (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* loop7: do { int alt7=2; @@ -1141,7 +1315,7 @@ public final void mRULE_SL_COMMENT_FRAGMENT() throws RecognitionException { switch (alt7) { case 1 : - // InternalSemver.g:4735:42: ~ ( RULE_LINE_TERMINATOR_FRAGMENT ) + // InternalSemver.g:5251:42: ~ ( RULE_LINE_TERMINATOR_FRAGMENT ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u2027')||(input.LA(1)>='\u202A' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1173,12 +1347,12 @@ public final void mRULE_SL_COMMENT_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_ML_COMMENT_FRAGMENT" public final void mRULE_ML_COMMENT_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4737:35: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalSemver.g:4737:37: '/*' ( options {greedy=false; } : . )* '*/' + // InternalSemver.g:5253:35: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalSemver.g:5253:37: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalSemver.g:4737:42: ( options {greedy=false; } : . )* + // InternalSemver.g:5253:42: ( options {greedy=false; } : . )* loop8: do { int alt8=2; @@ -1203,7 +1377,7 @@ else if ( ((LA8_0>='\u0000' && LA8_0<=')')||(LA8_0>='+' && LA8_0<='\uFFFF')) ) { switch (alt8) { case 1 : - // InternalSemver.g:4737:70: . + // InternalSemver.g:5253:70: . { matchAny(); @@ -1229,8 +1403,8 @@ else if ( ((LA8_0>='\u0000' && LA8_0<=')')||(LA8_0>='+' && LA8_0<='\uFFFF')) ) { // $ANTLR start "RULE_UNICODE_COMBINING_MARK_FRAGMENT" public final void mRULE_UNICODE_COMBINING_MARK_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4739:47: ( ( '\\u0300' .. '\\u036F' | '\\u0483' .. '\\u0487' | '\\u0591' .. '\\u05BD' | '\\u05BF' | '\\u05C1' .. '\\u05C2' | '\\u05C4' .. '\\u05C5' | '\\u05C7' | '\\u0610' .. '\\u061A' | '\\u064B' .. '\\u065F' | '\\u0670' | '\\u06D6' .. '\\u06DC' | '\\u06DF' .. '\\u06E4' | '\\u06E7' .. '\\u06E8' | '\\u06EA' .. '\\u06ED' | '\\u0711' | '\\u0730' .. '\\u074A' | '\\u07A6' .. '\\u07B0' | '\\u07EB' .. '\\u07F3' | '\\u0816' .. '\\u0819' | '\\u081B' .. '\\u0823' | '\\u0825' .. '\\u0827' | '\\u0829' .. '\\u082D' | '\\u0859' .. '\\u085B' | '\\u08E3' .. '\\u0903' | '\\u093A' .. '\\u093C' | '\\u093E' .. '\\u094F' | '\\u0951' .. '\\u0957' | '\\u0962' .. '\\u0963' | '\\u0981' .. '\\u0983' | '\\u09BC' | '\\u09BE' .. '\\u09C4' | '\\u09C7' .. '\\u09C8' | '\\u09CB' .. '\\u09CD' | '\\u09D7' | '\\u09E2' .. '\\u09E3' | '\\u0A01' .. '\\u0A03' | '\\u0A3C' | '\\u0A3E' .. '\\u0A42' | '\\u0A47' .. '\\u0A48' | '\\u0A4B' .. '\\u0A4D' | '\\u0A51' | '\\u0A70' .. '\\u0A71' | '\\u0A75' | '\\u0A81' .. '\\u0A83' | '\\u0ABC' | '\\u0ABE' .. '\\u0AC5' | '\\u0AC7' .. '\\u0AC9' | '\\u0ACB' .. '\\u0ACD' | '\\u0AE2' .. '\\u0AE3' | '\\u0B01' .. '\\u0B03' | '\\u0B3C' | '\\u0B3E' .. '\\u0B44' | '\\u0B47' .. '\\u0B48' | '\\u0B4B' .. '\\u0B4D' | '\\u0B56' .. '\\u0B57' | '\\u0B62' .. '\\u0B63' | '\\u0B82' | '\\u0BBE' .. '\\u0BC2' | '\\u0BC6' .. '\\u0BC8' | '\\u0BCA' .. '\\u0BCD' | '\\u0BD7' | '\\u0C00' .. '\\u0C03' | '\\u0C3E' .. '\\u0C44' | '\\u0C46' .. '\\u0C48' | '\\u0C4A' .. '\\u0C4D' | '\\u0C55' .. '\\u0C56' | '\\u0C62' .. '\\u0C63' | '\\u0C81' .. '\\u0C83' | '\\u0CBC' | '\\u0CBE' .. '\\u0CC4' | '\\u0CC6' .. '\\u0CC8' | '\\u0CCA' .. '\\u0CCD' | '\\u0CD5' .. '\\u0CD6' | '\\u0CE2' .. '\\u0CE3' | '\\u0D01' .. '\\u0D03' | '\\u0D3E' .. '\\u0D44' | '\\u0D46' .. '\\u0D48' | '\\u0D4A' .. '\\u0D4D' | '\\u0D57' | '\\u0D62' .. '\\u0D63' | '\\u0D82' .. '\\u0D83' | '\\u0DCA' | '\\u0DCF' .. '\\u0DD4' | '\\u0DD6' | '\\u0DD8' .. '\\u0DDF' | '\\u0DF2' .. '\\u0DF3' | '\\u0E31' | '\\u0E34' .. '\\u0E3A' | '\\u0E47' .. '\\u0E4E' | '\\u0EB1' | '\\u0EB4' .. '\\u0EB9' | '\\u0EBB' .. '\\u0EBC' | '\\u0EC8' .. '\\u0ECD' | '\\u0F18' .. '\\u0F19' | '\\u0F35' | '\\u0F37' | '\\u0F39' | '\\u0F3E' .. '\\u0F3F' | '\\u0F71' .. '\\u0F84' | '\\u0F86' .. '\\u0F87' | '\\u0F8D' .. '\\u0F97' | '\\u0F99' .. '\\u0FBC' | '\\u0FC6' | '\\u102B' .. '\\u103E' | '\\u1056' .. '\\u1059' | '\\u105E' .. '\\u1060' | '\\u1062' .. '\\u1064' | '\\u1067' .. '\\u106D' | '\\u1071' .. '\\u1074' | '\\u1082' .. '\\u108D' | '\\u108F' | '\\u109A' .. '\\u109D' | '\\u135D' .. '\\u135F' | '\\u1712' .. '\\u1714' | '\\u1732' .. '\\u1734' | '\\u1752' .. '\\u1753' | '\\u1772' .. '\\u1773' | '\\u17B4' .. '\\u17D3' | '\\u17DD' | '\\u180B' .. '\\u180D' | '\\u18A9' | '\\u1920' .. '\\u192B' | '\\u1930' .. '\\u193B' | '\\u1A17' .. '\\u1A1B' | '\\u1A55' .. '\\u1A5E' | '\\u1A60' .. '\\u1A7C' | '\\u1A7F' | '\\u1AB0' .. '\\u1ABD' | '\\u1B00' .. '\\u1B04' | '\\u1B34' .. '\\u1B44' | '\\u1B6B' .. '\\u1B73' | '\\u1B80' .. '\\u1B82' | '\\u1BA1' .. '\\u1BAD' | '\\u1BE6' .. '\\u1BF3' | '\\u1C24' .. '\\u1C37' | '\\u1CD0' .. '\\u1CD2' | '\\u1CD4' .. '\\u1CE8' | '\\u1CED' | '\\u1CF2' .. '\\u1CF4' | '\\u1CF8' .. '\\u1CF9' | '\\u1DC0' .. '\\u1DF5' | '\\u1DFC' .. '\\u1DFF' | '\\u20D0' .. '\\u20DC' | '\\u20E1' | '\\u20E5' .. '\\u20F0' | '\\u2CEF' .. '\\u2CF1' | '\\u2D7F' | '\\u2DE0' .. '\\u2DFF' | '\\u302A' .. '\\u302F' | '\\u3099' .. '\\u309A' | '\\uA66F' | '\\uA674' .. '\\uA67D' | '\\uA69E' .. '\\uA69F' | '\\uA6F0' .. '\\uA6F1' | '\\uA802' | '\\uA806' | '\\uA80B' | '\\uA823' .. '\\uA827' | '\\uA880' .. '\\uA881' | '\\uA8B4' .. '\\uA8C4' | '\\uA8E0' .. '\\uA8F1' | '\\uA926' .. '\\uA92D' | '\\uA947' .. '\\uA953' | '\\uA980' .. '\\uA983' | '\\uA9B3' .. '\\uA9C0' | '\\uA9E5' | '\\uAA29' .. '\\uAA36' | '\\uAA43' | '\\uAA4C' .. '\\uAA4D' | '\\uAA7B' .. '\\uAA7D' | '\\uAAB0' | '\\uAAB2' .. '\\uAAB4' | '\\uAAB7' .. '\\uAAB8' | '\\uAABE' .. '\\uAABF' | '\\uAAC1' | '\\uAAEB' .. '\\uAAEF' | '\\uAAF5' .. '\\uAAF6' | '\\uABE3' .. '\\uABEA' | '\\uABEC' .. '\\uABED' | '\\uFB1E' | '\\uFE00' .. '\\uFE0F' | '\\uFE20' .. '\\uFE2F' ) ) - // InternalSemver.g:4739:49: ( '\\u0300' .. '\\u036F' | '\\u0483' .. '\\u0487' | '\\u0591' .. '\\u05BD' | '\\u05BF' | '\\u05C1' .. '\\u05C2' | '\\u05C4' .. '\\u05C5' | '\\u05C7' | '\\u0610' .. '\\u061A' | '\\u064B' .. '\\u065F' | '\\u0670' | '\\u06D6' .. '\\u06DC' | '\\u06DF' .. '\\u06E4' | '\\u06E7' .. '\\u06E8' | '\\u06EA' .. '\\u06ED' | '\\u0711' | '\\u0730' .. '\\u074A' | '\\u07A6' .. '\\u07B0' | '\\u07EB' .. '\\u07F3' | '\\u0816' .. '\\u0819' | '\\u081B' .. '\\u0823' | '\\u0825' .. '\\u0827' | '\\u0829' .. '\\u082D' | '\\u0859' .. '\\u085B' | '\\u08E3' .. '\\u0903' | '\\u093A' .. '\\u093C' | '\\u093E' .. '\\u094F' | '\\u0951' .. '\\u0957' | '\\u0962' .. '\\u0963' | '\\u0981' .. '\\u0983' | '\\u09BC' | '\\u09BE' .. '\\u09C4' | '\\u09C7' .. '\\u09C8' | '\\u09CB' .. '\\u09CD' | '\\u09D7' | '\\u09E2' .. '\\u09E3' | '\\u0A01' .. '\\u0A03' | '\\u0A3C' | '\\u0A3E' .. '\\u0A42' | '\\u0A47' .. '\\u0A48' | '\\u0A4B' .. '\\u0A4D' | '\\u0A51' | '\\u0A70' .. '\\u0A71' | '\\u0A75' | '\\u0A81' .. '\\u0A83' | '\\u0ABC' | '\\u0ABE' .. '\\u0AC5' | '\\u0AC7' .. '\\u0AC9' | '\\u0ACB' .. '\\u0ACD' | '\\u0AE2' .. '\\u0AE3' | '\\u0B01' .. '\\u0B03' | '\\u0B3C' | '\\u0B3E' .. '\\u0B44' | '\\u0B47' .. '\\u0B48' | '\\u0B4B' .. '\\u0B4D' | '\\u0B56' .. '\\u0B57' | '\\u0B62' .. '\\u0B63' | '\\u0B82' | '\\u0BBE' .. '\\u0BC2' | '\\u0BC6' .. '\\u0BC8' | '\\u0BCA' .. '\\u0BCD' | '\\u0BD7' | '\\u0C00' .. '\\u0C03' | '\\u0C3E' .. '\\u0C44' | '\\u0C46' .. '\\u0C48' | '\\u0C4A' .. '\\u0C4D' | '\\u0C55' .. '\\u0C56' | '\\u0C62' .. '\\u0C63' | '\\u0C81' .. '\\u0C83' | '\\u0CBC' | '\\u0CBE' .. '\\u0CC4' | '\\u0CC6' .. '\\u0CC8' | '\\u0CCA' .. '\\u0CCD' | '\\u0CD5' .. '\\u0CD6' | '\\u0CE2' .. '\\u0CE3' | '\\u0D01' .. '\\u0D03' | '\\u0D3E' .. '\\u0D44' | '\\u0D46' .. '\\u0D48' | '\\u0D4A' .. '\\u0D4D' | '\\u0D57' | '\\u0D62' .. '\\u0D63' | '\\u0D82' .. '\\u0D83' | '\\u0DCA' | '\\u0DCF' .. '\\u0DD4' | '\\u0DD6' | '\\u0DD8' .. '\\u0DDF' | '\\u0DF2' .. '\\u0DF3' | '\\u0E31' | '\\u0E34' .. '\\u0E3A' | '\\u0E47' .. '\\u0E4E' | '\\u0EB1' | '\\u0EB4' .. '\\u0EB9' | '\\u0EBB' .. '\\u0EBC' | '\\u0EC8' .. '\\u0ECD' | '\\u0F18' .. '\\u0F19' | '\\u0F35' | '\\u0F37' | '\\u0F39' | '\\u0F3E' .. '\\u0F3F' | '\\u0F71' .. '\\u0F84' | '\\u0F86' .. '\\u0F87' | '\\u0F8D' .. '\\u0F97' | '\\u0F99' .. '\\u0FBC' | '\\u0FC6' | '\\u102B' .. '\\u103E' | '\\u1056' .. '\\u1059' | '\\u105E' .. '\\u1060' | '\\u1062' .. '\\u1064' | '\\u1067' .. '\\u106D' | '\\u1071' .. '\\u1074' | '\\u1082' .. '\\u108D' | '\\u108F' | '\\u109A' .. '\\u109D' | '\\u135D' .. '\\u135F' | '\\u1712' .. '\\u1714' | '\\u1732' .. '\\u1734' | '\\u1752' .. '\\u1753' | '\\u1772' .. '\\u1773' | '\\u17B4' .. '\\u17D3' | '\\u17DD' | '\\u180B' .. '\\u180D' | '\\u18A9' | '\\u1920' .. '\\u192B' | '\\u1930' .. '\\u193B' | '\\u1A17' .. '\\u1A1B' | '\\u1A55' .. '\\u1A5E' | '\\u1A60' .. '\\u1A7C' | '\\u1A7F' | '\\u1AB0' .. '\\u1ABD' | '\\u1B00' .. '\\u1B04' | '\\u1B34' .. '\\u1B44' | '\\u1B6B' .. '\\u1B73' | '\\u1B80' .. '\\u1B82' | '\\u1BA1' .. '\\u1BAD' | '\\u1BE6' .. '\\u1BF3' | '\\u1C24' .. '\\u1C37' | '\\u1CD0' .. '\\u1CD2' | '\\u1CD4' .. '\\u1CE8' | '\\u1CED' | '\\u1CF2' .. '\\u1CF4' | '\\u1CF8' .. '\\u1CF9' | '\\u1DC0' .. '\\u1DF5' | '\\u1DFC' .. '\\u1DFF' | '\\u20D0' .. '\\u20DC' | '\\u20E1' | '\\u20E5' .. '\\u20F0' | '\\u2CEF' .. '\\u2CF1' | '\\u2D7F' | '\\u2DE0' .. '\\u2DFF' | '\\u302A' .. '\\u302F' | '\\u3099' .. '\\u309A' | '\\uA66F' | '\\uA674' .. '\\uA67D' | '\\uA69E' .. '\\uA69F' | '\\uA6F0' .. '\\uA6F1' | '\\uA802' | '\\uA806' | '\\uA80B' | '\\uA823' .. '\\uA827' | '\\uA880' .. '\\uA881' | '\\uA8B4' .. '\\uA8C4' | '\\uA8E0' .. '\\uA8F1' | '\\uA926' .. '\\uA92D' | '\\uA947' .. '\\uA953' | '\\uA980' .. '\\uA983' | '\\uA9B3' .. '\\uA9C0' | '\\uA9E5' | '\\uAA29' .. '\\uAA36' | '\\uAA43' | '\\uAA4C' .. '\\uAA4D' | '\\uAA7B' .. '\\uAA7D' | '\\uAAB0' | '\\uAAB2' .. '\\uAAB4' | '\\uAAB7' .. '\\uAAB8' | '\\uAABE' .. '\\uAABF' | '\\uAAC1' | '\\uAAEB' .. '\\uAAEF' | '\\uAAF5' .. '\\uAAF6' | '\\uABE3' .. '\\uABEA' | '\\uABEC' .. '\\uABED' | '\\uFB1E' | '\\uFE00' .. '\\uFE0F' | '\\uFE20' .. '\\uFE2F' ) + // InternalSemver.g:5255:47: ( ( '\\u0300' .. '\\u036F' | '\\u0483' .. '\\u0487' | '\\u0591' .. '\\u05BD' | '\\u05BF' | '\\u05C1' .. '\\u05C2' | '\\u05C4' .. '\\u05C5' | '\\u05C7' | '\\u0610' .. '\\u061A' | '\\u064B' .. '\\u065F' | '\\u0670' | '\\u06D6' .. '\\u06DC' | '\\u06DF' .. '\\u06E4' | '\\u06E7' .. '\\u06E8' | '\\u06EA' .. '\\u06ED' | '\\u0711' | '\\u0730' .. '\\u074A' | '\\u07A6' .. '\\u07B0' | '\\u07EB' .. '\\u07F3' | '\\u0816' .. '\\u0819' | '\\u081B' .. '\\u0823' | '\\u0825' .. '\\u0827' | '\\u0829' .. '\\u082D' | '\\u0859' .. '\\u085B' | '\\u08E3' .. '\\u0903' | '\\u093A' .. '\\u093C' | '\\u093E' .. '\\u094F' | '\\u0951' .. '\\u0957' | '\\u0962' .. '\\u0963' | '\\u0981' .. '\\u0983' | '\\u09BC' | '\\u09BE' .. '\\u09C4' | '\\u09C7' .. '\\u09C8' | '\\u09CB' .. '\\u09CD' | '\\u09D7' | '\\u09E2' .. '\\u09E3' | '\\u0A01' .. '\\u0A03' | '\\u0A3C' | '\\u0A3E' .. '\\u0A42' | '\\u0A47' .. '\\u0A48' | '\\u0A4B' .. '\\u0A4D' | '\\u0A51' | '\\u0A70' .. '\\u0A71' | '\\u0A75' | '\\u0A81' .. '\\u0A83' | '\\u0ABC' | '\\u0ABE' .. '\\u0AC5' | '\\u0AC7' .. '\\u0AC9' | '\\u0ACB' .. '\\u0ACD' | '\\u0AE2' .. '\\u0AE3' | '\\u0B01' .. '\\u0B03' | '\\u0B3C' | '\\u0B3E' .. '\\u0B44' | '\\u0B47' .. '\\u0B48' | '\\u0B4B' .. '\\u0B4D' | '\\u0B56' .. '\\u0B57' | '\\u0B62' .. '\\u0B63' | '\\u0B82' | '\\u0BBE' .. '\\u0BC2' | '\\u0BC6' .. '\\u0BC8' | '\\u0BCA' .. '\\u0BCD' | '\\u0BD7' | '\\u0C00' .. '\\u0C03' | '\\u0C3E' .. '\\u0C44' | '\\u0C46' .. '\\u0C48' | '\\u0C4A' .. '\\u0C4D' | '\\u0C55' .. '\\u0C56' | '\\u0C62' .. '\\u0C63' | '\\u0C81' .. '\\u0C83' | '\\u0CBC' | '\\u0CBE' .. '\\u0CC4' | '\\u0CC6' .. '\\u0CC8' | '\\u0CCA' .. '\\u0CCD' | '\\u0CD5' .. '\\u0CD6' | '\\u0CE2' .. '\\u0CE3' | '\\u0D01' .. '\\u0D03' | '\\u0D3E' .. '\\u0D44' | '\\u0D46' .. '\\u0D48' | '\\u0D4A' .. '\\u0D4D' | '\\u0D57' | '\\u0D62' .. '\\u0D63' | '\\u0D82' .. '\\u0D83' | '\\u0DCA' | '\\u0DCF' .. '\\u0DD4' | '\\u0DD6' | '\\u0DD8' .. '\\u0DDF' | '\\u0DF2' .. '\\u0DF3' | '\\u0E31' | '\\u0E34' .. '\\u0E3A' | '\\u0E47' .. '\\u0E4E' | '\\u0EB1' | '\\u0EB4' .. '\\u0EB9' | '\\u0EBB' .. '\\u0EBC' | '\\u0EC8' .. '\\u0ECD' | '\\u0F18' .. '\\u0F19' | '\\u0F35' | '\\u0F37' | '\\u0F39' | '\\u0F3E' .. '\\u0F3F' | '\\u0F71' .. '\\u0F84' | '\\u0F86' .. '\\u0F87' | '\\u0F8D' .. '\\u0F97' | '\\u0F99' .. '\\u0FBC' | '\\u0FC6' | '\\u102B' .. '\\u103E' | '\\u1056' .. '\\u1059' | '\\u105E' .. '\\u1060' | '\\u1062' .. '\\u1064' | '\\u1067' .. '\\u106D' | '\\u1071' .. '\\u1074' | '\\u1082' .. '\\u108D' | '\\u108F' | '\\u109A' .. '\\u109D' | '\\u135D' .. '\\u135F' | '\\u1712' .. '\\u1714' | '\\u1732' .. '\\u1734' | '\\u1752' .. '\\u1753' | '\\u1772' .. '\\u1773' | '\\u17B4' .. '\\u17D3' | '\\u17DD' | '\\u180B' .. '\\u180D' | '\\u18A9' | '\\u1920' .. '\\u192B' | '\\u1930' .. '\\u193B' | '\\u1A17' .. '\\u1A1B' | '\\u1A55' .. '\\u1A5E' | '\\u1A60' .. '\\u1A7C' | '\\u1A7F' | '\\u1AB0' .. '\\u1ABD' | '\\u1B00' .. '\\u1B04' | '\\u1B34' .. '\\u1B44' | '\\u1B6B' .. '\\u1B73' | '\\u1B80' .. '\\u1B82' | '\\u1BA1' .. '\\u1BAD' | '\\u1BE6' .. '\\u1BF3' | '\\u1C24' .. '\\u1C37' | '\\u1CD0' .. '\\u1CD2' | '\\u1CD4' .. '\\u1CE8' | '\\u1CED' | '\\u1CF2' .. '\\u1CF4' | '\\u1CF8' .. '\\u1CF9' | '\\u1DC0' .. '\\u1DF5' | '\\u1DFC' .. '\\u1DFF' | '\\u20D0' .. '\\u20DC' | '\\u20E1' | '\\u20E5' .. '\\u20F0' | '\\u2CEF' .. '\\u2CF1' | '\\u2D7F' | '\\u2DE0' .. '\\u2DFF' | '\\u302A' .. '\\u302F' | '\\u3099' .. '\\u309A' | '\\uA66F' | '\\uA674' .. '\\uA67D' | '\\uA69E' .. '\\uA69F' | '\\uA6F0' .. '\\uA6F1' | '\\uA802' | '\\uA806' | '\\uA80B' | '\\uA823' .. '\\uA827' | '\\uA880' .. '\\uA881' | '\\uA8B4' .. '\\uA8C4' | '\\uA8E0' .. '\\uA8F1' | '\\uA926' .. '\\uA92D' | '\\uA947' .. '\\uA953' | '\\uA980' .. '\\uA983' | '\\uA9B3' .. '\\uA9C0' | '\\uA9E5' | '\\uAA29' .. '\\uAA36' | '\\uAA43' | '\\uAA4C' .. '\\uAA4D' | '\\uAA7B' .. '\\uAA7D' | '\\uAAB0' | '\\uAAB2' .. '\\uAAB4' | '\\uAAB7' .. '\\uAAB8' | '\\uAABE' .. '\\uAABF' | '\\uAAC1' | '\\uAAEB' .. '\\uAAEF' | '\\uAAF5' .. '\\uAAF6' | '\\uABE3' .. '\\uABEA' | '\\uABEC' .. '\\uABED' | '\\uFB1E' | '\\uFE00' .. '\\uFE0F' | '\\uFE20' .. '\\uFE2F' ) ) + // InternalSemver.g:5255:49: ( '\\u0300' .. '\\u036F' | '\\u0483' .. '\\u0487' | '\\u0591' .. '\\u05BD' | '\\u05BF' | '\\u05C1' .. '\\u05C2' | '\\u05C4' .. '\\u05C5' | '\\u05C7' | '\\u0610' .. '\\u061A' | '\\u064B' .. '\\u065F' | '\\u0670' | '\\u06D6' .. '\\u06DC' | '\\u06DF' .. '\\u06E4' | '\\u06E7' .. '\\u06E8' | '\\u06EA' .. '\\u06ED' | '\\u0711' | '\\u0730' .. '\\u074A' | '\\u07A6' .. '\\u07B0' | '\\u07EB' .. '\\u07F3' | '\\u0816' .. '\\u0819' | '\\u081B' .. '\\u0823' | '\\u0825' .. '\\u0827' | '\\u0829' .. '\\u082D' | '\\u0859' .. '\\u085B' | '\\u08E3' .. '\\u0903' | '\\u093A' .. '\\u093C' | '\\u093E' .. '\\u094F' | '\\u0951' .. '\\u0957' | '\\u0962' .. '\\u0963' | '\\u0981' .. '\\u0983' | '\\u09BC' | '\\u09BE' .. '\\u09C4' | '\\u09C7' .. '\\u09C8' | '\\u09CB' .. '\\u09CD' | '\\u09D7' | '\\u09E2' .. '\\u09E3' | '\\u0A01' .. '\\u0A03' | '\\u0A3C' | '\\u0A3E' .. '\\u0A42' | '\\u0A47' .. '\\u0A48' | '\\u0A4B' .. '\\u0A4D' | '\\u0A51' | '\\u0A70' .. '\\u0A71' | '\\u0A75' | '\\u0A81' .. '\\u0A83' | '\\u0ABC' | '\\u0ABE' .. '\\u0AC5' | '\\u0AC7' .. '\\u0AC9' | '\\u0ACB' .. '\\u0ACD' | '\\u0AE2' .. '\\u0AE3' | '\\u0B01' .. '\\u0B03' | '\\u0B3C' | '\\u0B3E' .. '\\u0B44' | '\\u0B47' .. '\\u0B48' | '\\u0B4B' .. '\\u0B4D' | '\\u0B56' .. '\\u0B57' | '\\u0B62' .. '\\u0B63' | '\\u0B82' | '\\u0BBE' .. '\\u0BC2' | '\\u0BC6' .. '\\u0BC8' | '\\u0BCA' .. '\\u0BCD' | '\\u0BD7' | '\\u0C00' .. '\\u0C03' | '\\u0C3E' .. '\\u0C44' | '\\u0C46' .. '\\u0C48' | '\\u0C4A' .. '\\u0C4D' | '\\u0C55' .. '\\u0C56' | '\\u0C62' .. '\\u0C63' | '\\u0C81' .. '\\u0C83' | '\\u0CBC' | '\\u0CBE' .. '\\u0CC4' | '\\u0CC6' .. '\\u0CC8' | '\\u0CCA' .. '\\u0CCD' | '\\u0CD5' .. '\\u0CD6' | '\\u0CE2' .. '\\u0CE3' | '\\u0D01' .. '\\u0D03' | '\\u0D3E' .. '\\u0D44' | '\\u0D46' .. '\\u0D48' | '\\u0D4A' .. '\\u0D4D' | '\\u0D57' | '\\u0D62' .. '\\u0D63' | '\\u0D82' .. '\\u0D83' | '\\u0DCA' | '\\u0DCF' .. '\\u0DD4' | '\\u0DD6' | '\\u0DD8' .. '\\u0DDF' | '\\u0DF2' .. '\\u0DF3' | '\\u0E31' | '\\u0E34' .. '\\u0E3A' | '\\u0E47' .. '\\u0E4E' | '\\u0EB1' | '\\u0EB4' .. '\\u0EB9' | '\\u0EBB' .. '\\u0EBC' | '\\u0EC8' .. '\\u0ECD' | '\\u0F18' .. '\\u0F19' | '\\u0F35' | '\\u0F37' | '\\u0F39' | '\\u0F3E' .. '\\u0F3F' | '\\u0F71' .. '\\u0F84' | '\\u0F86' .. '\\u0F87' | '\\u0F8D' .. '\\u0F97' | '\\u0F99' .. '\\u0FBC' | '\\u0FC6' | '\\u102B' .. '\\u103E' | '\\u1056' .. '\\u1059' | '\\u105E' .. '\\u1060' | '\\u1062' .. '\\u1064' | '\\u1067' .. '\\u106D' | '\\u1071' .. '\\u1074' | '\\u1082' .. '\\u108D' | '\\u108F' | '\\u109A' .. '\\u109D' | '\\u135D' .. '\\u135F' | '\\u1712' .. '\\u1714' | '\\u1732' .. '\\u1734' | '\\u1752' .. '\\u1753' | '\\u1772' .. '\\u1773' | '\\u17B4' .. '\\u17D3' | '\\u17DD' | '\\u180B' .. '\\u180D' | '\\u18A9' | '\\u1920' .. '\\u192B' | '\\u1930' .. '\\u193B' | '\\u1A17' .. '\\u1A1B' | '\\u1A55' .. '\\u1A5E' | '\\u1A60' .. '\\u1A7C' | '\\u1A7F' | '\\u1AB0' .. '\\u1ABD' | '\\u1B00' .. '\\u1B04' | '\\u1B34' .. '\\u1B44' | '\\u1B6B' .. '\\u1B73' | '\\u1B80' .. '\\u1B82' | '\\u1BA1' .. '\\u1BAD' | '\\u1BE6' .. '\\u1BF3' | '\\u1C24' .. '\\u1C37' | '\\u1CD0' .. '\\u1CD2' | '\\u1CD4' .. '\\u1CE8' | '\\u1CED' | '\\u1CF2' .. '\\u1CF4' | '\\u1CF8' .. '\\u1CF9' | '\\u1DC0' .. '\\u1DF5' | '\\u1DFC' .. '\\u1DFF' | '\\u20D0' .. '\\u20DC' | '\\u20E1' | '\\u20E5' .. '\\u20F0' | '\\u2CEF' .. '\\u2CF1' | '\\u2D7F' | '\\u2DE0' .. '\\u2DFF' | '\\u302A' .. '\\u302F' | '\\u3099' .. '\\u309A' | '\\uA66F' | '\\uA674' .. '\\uA67D' | '\\uA69E' .. '\\uA69F' | '\\uA6F0' .. '\\uA6F1' | '\\uA802' | '\\uA806' | '\\uA80B' | '\\uA823' .. '\\uA827' | '\\uA880' .. '\\uA881' | '\\uA8B4' .. '\\uA8C4' | '\\uA8E0' .. '\\uA8F1' | '\\uA926' .. '\\uA92D' | '\\uA947' .. '\\uA953' | '\\uA980' .. '\\uA983' | '\\uA9B3' .. '\\uA9C0' | '\\uA9E5' | '\\uAA29' .. '\\uAA36' | '\\uAA43' | '\\uAA4C' .. '\\uAA4D' | '\\uAA7B' .. '\\uAA7D' | '\\uAAB0' | '\\uAAB2' .. '\\uAAB4' | '\\uAAB7' .. '\\uAAB8' | '\\uAABE' .. '\\uAABF' | '\\uAAC1' | '\\uAAEB' .. '\\uAAEF' | '\\uAAF5' .. '\\uAAF6' | '\\uABE3' .. '\\uABEA' | '\\uABEC' .. '\\uABED' | '\\uFB1E' | '\\uFE00' .. '\\uFE0F' | '\\uFE20' .. '\\uFE2F' ) { if ( (input.LA(1)>='\u0300' && input.LA(1)<='\u036F')||(input.LA(1)>='\u0483' && input.LA(1)<='\u0487')||(input.LA(1)>='\u0591' && input.LA(1)<='\u05BD')||input.LA(1)=='\u05BF'||(input.LA(1)>='\u05C1' && input.LA(1)<='\u05C2')||(input.LA(1)>='\u05C4' && input.LA(1)<='\u05C5')||input.LA(1)=='\u05C7'||(input.LA(1)>='\u0610' && input.LA(1)<='\u061A')||(input.LA(1)>='\u064B' && input.LA(1)<='\u065F')||input.LA(1)=='\u0670'||(input.LA(1)>='\u06D6' && input.LA(1)<='\u06DC')||(input.LA(1)>='\u06DF' && input.LA(1)<='\u06E4')||(input.LA(1)>='\u06E7' && input.LA(1)<='\u06E8')||(input.LA(1)>='\u06EA' && input.LA(1)<='\u06ED')||input.LA(1)=='\u0711'||(input.LA(1)>='\u0730' && input.LA(1)<='\u074A')||(input.LA(1)>='\u07A6' && input.LA(1)<='\u07B0')||(input.LA(1)>='\u07EB' && input.LA(1)<='\u07F3')||(input.LA(1)>='\u0816' && input.LA(1)<='\u0819')||(input.LA(1)>='\u081B' && input.LA(1)<='\u0823')||(input.LA(1)>='\u0825' && input.LA(1)<='\u0827')||(input.LA(1)>='\u0829' && input.LA(1)<='\u082D')||(input.LA(1)>='\u0859' && input.LA(1)<='\u085B')||(input.LA(1)>='\u08E3' && input.LA(1)<='\u0903')||(input.LA(1)>='\u093A' && input.LA(1)<='\u093C')||(input.LA(1)>='\u093E' && input.LA(1)<='\u094F')||(input.LA(1)>='\u0951' && input.LA(1)<='\u0957')||(input.LA(1)>='\u0962' && input.LA(1)<='\u0963')||(input.LA(1)>='\u0981' && input.LA(1)<='\u0983')||input.LA(1)=='\u09BC'||(input.LA(1)>='\u09BE' && input.LA(1)<='\u09C4')||(input.LA(1)>='\u09C7' && input.LA(1)<='\u09C8')||(input.LA(1)>='\u09CB' && input.LA(1)<='\u09CD')||input.LA(1)=='\u09D7'||(input.LA(1)>='\u09E2' && input.LA(1)<='\u09E3')||(input.LA(1)>='\u0A01' && input.LA(1)<='\u0A03')||input.LA(1)=='\u0A3C'||(input.LA(1)>='\u0A3E' && input.LA(1)<='\u0A42')||(input.LA(1)>='\u0A47' && input.LA(1)<='\u0A48')||(input.LA(1)>='\u0A4B' && input.LA(1)<='\u0A4D')||input.LA(1)=='\u0A51'||(input.LA(1)>='\u0A70' && input.LA(1)<='\u0A71')||input.LA(1)=='\u0A75'||(input.LA(1)>='\u0A81' && input.LA(1)<='\u0A83')||input.LA(1)=='\u0ABC'||(input.LA(1)>='\u0ABE' && input.LA(1)<='\u0AC5')||(input.LA(1)>='\u0AC7' && input.LA(1)<='\u0AC9')||(input.LA(1)>='\u0ACB' && input.LA(1)<='\u0ACD')||(input.LA(1)>='\u0AE2' && input.LA(1)<='\u0AE3')||(input.LA(1)>='\u0B01' && input.LA(1)<='\u0B03')||input.LA(1)=='\u0B3C'||(input.LA(1)>='\u0B3E' && input.LA(1)<='\u0B44')||(input.LA(1)>='\u0B47' && input.LA(1)<='\u0B48')||(input.LA(1)>='\u0B4B' && input.LA(1)<='\u0B4D')||(input.LA(1)>='\u0B56' && input.LA(1)<='\u0B57')||(input.LA(1)>='\u0B62' && input.LA(1)<='\u0B63')||input.LA(1)=='\u0B82'||(input.LA(1)>='\u0BBE' && input.LA(1)<='\u0BC2')||(input.LA(1)>='\u0BC6' && input.LA(1)<='\u0BC8')||(input.LA(1)>='\u0BCA' && input.LA(1)<='\u0BCD')||input.LA(1)=='\u0BD7'||(input.LA(1)>='\u0C00' && input.LA(1)<='\u0C03')||(input.LA(1)>='\u0C3E' && input.LA(1)<='\u0C44')||(input.LA(1)>='\u0C46' && input.LA(1)<='\u0C48')||(input.LA(1)>='\u0C4A' && input.LA(1)<='\u0C4D')||(input.LA(1)>='\u0C55' && input.LA(1)<='\u0C56')||(input.LA(1)>='\u0C62' && input.LA(1)<='\u0C63')||(input.LA(1)>='\u0C81' && input.LA(1)<='\u0C83')||input.LA(1)=='\u0CBC'||(input.LA(1)>='\u0CBE' && input.LA(1)<='\u0CC4')||(input.LA(1)>='\u0CC6' && input.LA(1)<='\u0CC8')||(input.LA(1)>='\u0CCA' && input.LA(1)<='\u0CCD')||(input.LA(1)>='\u0CD5' && input.LA(1)<='\u0CD6')||(input.LA(1)>='\u0CE2' && input.LA(1)<='\u0CE3')||(input.LA(1)>='\u0D01' && input.LA(1)<='\u0D03')||(input.LA(1)>='\u0D3E' && input.LA(1)<='\u0D44')||(input.LA(1)>='\u0D46' && input.LA(1)<='\u0D48')||(input.LA(1)>='\u0D4A' && input.LA(1)<='\u0D4D')||input.LA(1)=='\u0D57'||(input.LA(1)>='\u0D62' && input.LA(1)<='\u0D63')||(input.LA(1)>='\u0D82' && input.LA(1)<='\u0D83')||input.LA(1)=='\u0DCA'||(input.LA(1)>='\u0DCF' && input.LA(1)<='\u0DD4')||input.LA(1)=='\u0DD6'||(input.LA(1)>='\u0DD8' && input.LA(1)<='\u0DDF')||(input.LA(1)>='\u0DF2' && input.LA(1)<='\u0DF3')||input.LA(1)=='\u0E31'||(input.LA(1)>='\u0E34' && input.LA(1)<='\u0E3A')||(input.LA(1)>='\u0E47' && input.LA(1)<='\u0E4E')||input.LA(1)=='\u0EB1'||(input.LA(1)>='\u0EB4' && input.LA(1)<='\u0EB9')||(input.LA(1)>='\u0EBB' && input.LA(1)<='\u0EBC')||(input.LA(1)>='\u0EC8' && input.LA(1)<='\u0ECD')||(input.LA(1)>='\u0F18' && input.LA(1)<='\u0F19')||input.LA(1)=='\u0F35'||input.LA(1)=='\u0F37'||input.LA(1)=='\u0F39'||(input.LA(1)>='\u0F3E' && input.LA(1)<='\u0F3F')||(input.LA(1)>='\u0F71' && input.LA(1)<='\u0F84')||(input.LA(1)>='\u0F86' && input.LA(1)<='\u0F87')||(input.LA(1)>='\u0F8D' && input.LA(1)<='\u0F97')||(input.LA(1)>='\u0F99' && input.LA(1)<='\u0FBC')||input.LA(1)=='\u0FC6'||(input.LA(1)>='\u102B' && input.LA(1)<='\u103E')||(input.LA(1)>='\u1056' && input.LA(1)<='\u1059')||(input.LA(1)>='\u105E' && input.LA(1)<='\u1060')||(input.LA(1)>='\u1062' && input.LA(1)<='\u1064')||(input.LA(1)>='\u1067' && input.LA(1)<='\u106D')||(input.LA(1)>='\u1071' && input.LA(1)<='\u1074')||(input.LA(1)>='\u1082' && input.LA(1)<='\u108D')||input.LA(1)=='\u108F'||(input.LA(1)>='\u109A' && input.LA(1)<='\u109D')||(input.LA(1)>='\u135D' && input.LA(1)<='\u135F')||(input.LA(1)>='\u1712' && input.LA(1)<='\u1714')||(input.LA(1)>='\u1732' && input.LA(1)<='\u1734')||(input.LA(1)>='\u1752' && input.LA(1)<='\u1753')||(input.LA(1)>='\u1772' && input.LA(1)<='\u1773')||(input.LA(1)>='\u17B4' && input.LA(1)<='\u17D3')||input.LA(1)=='\u17DD'||(input.LA(1)>='\u180B' && input.LA(1)<='\u180D')||input.LA(1)=='\u18A9'||(input.LA(1)>='\u1920' && input.LA(1)<='\u192B')||(input.LA(1)>='\u1930' && input.LA(1)<='\u193B')||(input.LA(1)>='\u1A17' && input.LA(1)<='\u1A1B')||(input.LA(1)>='\u1A55' && input.LA(1)<='\u1A5E')||(input.LA(1)>='\u1A60' && input.LA(1)<='\u1A7C')||input.LA(1)=='\u1A7F'||(input.LA(1)>='\u1AB0' && input.LA(1)<='\u1ABD')||(input.LA(1)>='\u1B00' && input.LA(1)<='\u1B04')||(input.LA(1)>='\u1B34' && input.LA(1)<='\u1B44')||(input.LA(1)>='\u1B6B' && input.LA(1)<='\u1B73')||(input.LA(1)>='\u1B80' && input.LA(1)<='\u1B82')||(input.LA(1)>='\u1BA1' && input.LA(1)<='\u1BAD')||(input.LA(1)>='\u1BE6' && input.LA(1)<='\u1BF3')||(input.LA(1)>='\u1C24' && input.LA(1)<='\u1C37')||(input.LA(1)>='\u1CD0' && input.LA(1)<='\u1CD2')||(input.LA(1)>='\u1CD4' && input.LA(1)<='\u1CE8')||input.LA(1)=='\u1CED'||(input.LA(1)>='\u1CF2' && input.LA(1)<='\u1CF4')||(input.LA(1)>='\u1CF8' && input.LA(1)<='\u1CF9')||(input.LA(1)>='\u1DC0' && input.LA(1)<='\u1DF5')||(input.LA(1)>='\u1DFC' && input.LA(1)<='\u1DFF')||(input.LA(1)>='\u20D0' && input.LA(1)<='\u20DC')||input.LA(1)=='\u20E1'||(input.LA(1)>='\u20E5' && input.LA(1)<='\u20F0')||(input.LA(1)>='\u2CEF' && input.LA(1)<='\u2CF1')||input.LA(1)=='\u2D7F'||(input.LA(1)>='\u2DE0' && input.LA(1)<='\u2DFF')||(input.LA(1)>='\u302A' && input.LA(1)<='\u302F')||(input.LA(1)>='\u3099' && input.LA(1)<='\u309A')||input.LA(1)=='\uA66F'||(input.LA(1)>='\uA674' && input.LA(1)<='\uA67D')||(input.LA(1)>='\uA69E' && input.LA(1)<='\uA69F')||(input.LA(1)>='\uA6F0' && input.LA(1)<='\uA6F1')||input.LA(1)=='\uA802'||input.LA(1)=='\uA806'||input.LA(1)=='\uA80B'||(input.LA(1)>='\uA823' && input.LA(1)<='\uA827')||(input.LA(1)>='\uA880' && input.LA(1)<='\uA881')||(input.LA(1)>='\uA8B4' && input.LA(1)<='\uA8C4')||(input.LA(1)>='\uA8E0' && input.LA(1)<='\uA8F1')||(input.LA(1)>='\uA926' && input.LA(1)<='\uA92D')||(input.LA(1)>='\uA947' && input.LA(1)<='\uA953')||(input.LA(1)>='\uA980' && input.LA(1)<='\uA983')||(input.LA(1)>='\uA9B3' && input.LA(1)<='\uA9C0')||input.LA(1)=='\uA9E5'||(input.LA(1)>='\uAA29' && input.LA(1)<='\uAA36')||input.LA(1)=='\uAA43'||(input.LA(1)>='\uAA4C' && input.LA(1)<='\uAA4D')||(input.LA(1)>='\uAA7B' && input.LA(1)<='\uAA7D')||input.LA(1)=='\uAAB0'||(input.LA(1)>='\uAAB2' && input.LA(1)<='\uAAB4')||(input.LA(1)>='\uAAB7' && input.LA(1)<='\uAAB8')||(input.LA(1)>='\uAABE' && input.LA(1)<='\uAABF')||input.LA(1)=='\uAAC1'||(input.LA(1)>='\uAAEB' && input.LA(1)<='\uAAEF')||(input.LA(1)>='\uAAF5' && input.LA(1)<='\uAAF6')||(input.LA(1)>='\uABE3' && input.LA(1)<='\uABEA')||(input.LA(1)>='\uABEC' && input.LA(1)<='\uABED')||input.LA(1)=='\uFB1E'||(input.LA(1)>='\uFE00' && input.LA(1)<='\uFE0F')||(input.LA(1)>='\uFE20' && input.LA(1)<='\uFE2F') ) { input.consume(); @@ -1253,8 +1427,8 @@ public final void mRULE_UNICODE_COMBINING_MARK_FRAGMENT() throws RecognitionExce // $ANTLR start "RULE_UNICODE_DIGIT_FRAGMENT" public final void mRULE_UNICODE_DIGIT_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4741:38: ( ( '0' .. '9' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u07C0' .. '\\u07C9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE6' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0DE6' .. '\\u0DEF' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u0F20' .. '\\u0F29' | '\\u1040' .. '\\u1049' | '\\u1090' .. '\\u1099' | '\\u17E0' .. '\\u17E9' | '\\u1810' .. '\\u1819' | '\\u1946' .. '\\u194F' | '\\u19D0' .. '\\u19D9' | '\\u1A80' .. '\\u1A89' | '\\u1A90' .. '\\u1A99' | '\\u1B50' .. '\\u1B59' | '\\u1BB0' .. '\\u1BB9' | '\\u1C40' .. '\\u1C49' | '\\u1C50' .. '\\u1C59' | '\\uA620' .. '\\uA629' | '\\uA8D0' .. '\\uA8D9' | '\\uA900' .. '\\uA909' | '\\uA9D0' .. '\\uA9D9' | '\\uA9F0' .. '\\uA9F9' | '\\uAA50' .. '\\uAA59' | '\\uABF0' .. '\\uABF9' | '\\uFF10' .. '\\uFF19' ) ) - // InternalSemver.g:4741:40: ( '0' .. '9' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u07C0' .. '\\u07C9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE6' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0DE6' .. '\\u0DEF' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u0F20' .. '\\u0F29' | '\\u1040' .. '\\u1049' | '\\u1090' .. '\\u1099' | '\\u17E0' .. '\\u17E9' | '\\u1810' .. '\\u1819' | '\\u1946' .. '\\u194F' | '\\u19D0' .. '\\u19D9' | '\\u1A80' .. '\\u1A89' | '\\u1A90' .. '\\u1A99' | '\\u1B50' .. '\\u1B59' | '\\u1BB0' .. '\\u1BB9' | '\\u1C40' .. '\\u1C49' | '\\u1C50' .. '\\u1C59' | '\\uA620' .. '\\uA629' | '\\uA8D0' .. '\\uA8D9' | '\\uA900' .. '\\uA909' | '\\uA9D0' .. '\\uA9D9' | '\\uA9F0' .. '\\uA9F9' | '\\uAA50' .. '\\uAA59' | '\\uABF0' .. '\\uABF9' | '\\uFF10' .. '\\uFF19' ) + // InternalSemver.g:5257:38: ( ( '0' .. '9' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u07C0' .. '\\u07C9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE6' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0DE6' .. '\\u0DEF' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u0F20' .. '\\u0F29' | '\\u1040' .. '\\u1049' | '\\u1090' .. '\\u1099' | '\\u17E0' .. '\\u17E9' | '\\u1810' .. '\\u1819' | '\\u1946' .. '\\u194F' | '\\u19D0' .. '\\u19D9' | '\\u1A80' .. '\\u1A89' | '\\u1A90' .. '\\u1A99' | '\\u1B50' .. '\\u1B59' | '\\u1BB0' .. '\\u1BB9' | '\\u1C40' .. '\\u1C49' | '\\u1C50' .. '\\u1C59' | '\\uA620' .. '\\uA629' | '\\uA8D0' .. '\\uA8D9' | '\\uA900' .. '\\uA909' | '\\uA9D0' .. '\\uA9D9' | '\\uA9F0' .. '\\uA9F9' | '\\uAA50' .. '\\uAA59' | '\\uABF0' .. '\\uABF9' | '\\uFF10' .. '\\uFF19' ) ) + // InternalSemver.g:5257:40: ( '0' .. '9' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u07C0' .. '\\u07C9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE6' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0DE6' .. '\\u0DEF' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u0F20' .. '\\u0F29' | '\\u1040' .. '\\u1049' | '\\u1090' .. '\\u1099' | '\\u17E0' .. '\\u17E9' | '\\u1810' .. '\\u1819' | '\\u1946' .. '\\u194F' | '\\u19D0' .. '\\u19D9' | '\\u1A80' .. '\\u1A89' | '\\u1A90' .. '\\u1A99' | '\\u1B50' .. '\\u1B59' | '\\u1BB0' .. '\\u1BB9' | '\\u1C40' .. '\\u1C49' | '\\u1C50' .. '\\u1C59' | '\\uA620' .. '\\uA629' | '\\uA8D0' .. '\\uA8D9' | '\\uA900' .. '\\uA909' | '\\uA9D0' .. '\\uA9D9' | '\\uA9F0' .. '\\uA9F9' | '\\uAA50' .. '\\uAA59' | '\\uABF0' .. '\\uABF9' | '\\uFF10' .. '\\uFF19' ) { if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u06F0' && input.LA(1)<='\u06F9')||(input.LA(1)>='\u07C0' && input.LA(1)<='\u07C9')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09EF')||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A6F')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||(input.LA(1)>='\u0BE6' && input.LA(1)<='\u0BEF')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0DE6' && input.LA(1)<='\u0DEF')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u0F20' && input.LA(1)<='\u0F29')||(input.LA(1)>='\u1040' && input.LA(1)<='\u1049')||(input.LA(1)>='\u1090' && input.LA(1)<='\u1099')||(input.LA(1)>='\u17E0' && input.LA(1)<='\u17E9')||(input.LA(1)>='\u1810' && input.LA(1)<='\u1819')||(input.LA(1)>='\u1946' && input.LA(1)<='\u194F')||(input.LA(1)>='\u19D0' && input.LA(1)<='\u19D9')||(input.LA(1)>='\u1A80' && input.LA(1)<='\u1A89')||(input.LA(1)>='\u1A90' && input.LA(1)<='\u1A99')||(input.LA(1)>='\u1B50' && input.LA(1)<='\u1B59')||(input.LA(1)>='\u1BB0' && input.LA(1)<='\u1BB9')||(input.LA(1)>='\u1C40' && input.LA(1)<='\u1C49')||(input.LA(1)>='\u1C50' && input.LA(1)<='\u1C59')||(input.LA(1)>='\uA620' && input.LA(1)<='\uA629')||(input.LA(1)>='\uA8D0' && input.LA(1)<='\uA8D9')||(input.LA(1)>='\uA900' && input.LA(1)<='\uA909')||(input.LA(1)>='\uA9D0' && input.LA(1)<='\uA9D9')||(input.LA(1)>='\uA9F0' && input.LA(1)<='\uA9F9')||(input.LA(1)>='\uAA50' && input.LA(1)<='\uAA59')||(input.LA(1)>='\uABF0' && input.LA(1)<='\uABF9')||(input.LA(1)>='\uFF10' && input.LA(1)<='\uFF19') ) { input.consume(); @@ -1277,8 +1451,8 @@ public final void mRULE_UNICODE_DIGIT_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT" public final void mRULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4743:54: ( ( '_' | '\\u203F' .. '\\u2040' | '\\u2054' | '\\uFE33' .. '\\uFE34' | '\\uFE4D' .. '\\uFE4F' | '\\uFF3F' ) ) - // InternalSemver.g:4743:56: ( '_' | '\\u203F' .. '\\u2040' | '\\u2054' | '\\uFE33' .. '\\uFE34' | '\\uFE4D' .. '\\uFE4F' | '\\uFF3F' ) + // InternalSemver.g:5259:54: ( ( '_' | '\\u203F' .. '\\u2040' | '\\u2054' | '\\uFE33' .. '\\uFE34' | '\\uFE4D' .. '\\uFE4F' | '\\uFF3F' ) ) + // InternalSemver.g:5259:56: ( '_' | '\\u203F' .. '\\u2040' | '\\u2054' | '\\uFE33' .. '\\uFE34' | '\\uFE4D' .. '\\uFE4F' | '\\uFF3F' ) { if ( input.LA(1)=='_'||(input.LA(1)>='\u203F' && input.LA(1)<='\u2040')||input.LA(1)=='\u2054'||(input.LA(1)>='\uFE33' && input.LA(1)<='\uFE34')||(input.LA(1)>='\uFE4D' && input.LA(1)<='\uFE4F')||input.LA(1)=='\uFF3F' ) { input.consume(); @@ -1301,8 +1475,8 @@ public final void mRULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT() throws Recognit // $ANTLR start "RULE_UNICODE_LETTER_FRAGMENT" public final void mRULE_UNICODE_LETTER_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4745:39: ( ( 'A' .. 'Z' | 'a' .. 'z' | '\\u00AA' | '\\u00B5' | '\\u00BA' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u02C1' | '\\u02C6' .. '\\u02D1' | '\\u02E0' .. '\\u02E4' | '\\u02EC' | '\\u02EE' | '\\u0370' .. '\\u0374' | '\\u0376' .. '\\u0377' | '\\u037A' .. '\\u037D' | '\\u037F' | '\\u0386' | '\\u0388' .. '\\u038A' | '\\u038C' | '\\u038E' .. '\\u03A1' | '\\u03A3' .. '\\u03F5' | '\\u03F7' .. '\\u0481' | '\\u048A' .. '\\u052F' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u05D0' .. '\\u05EA' | '\\u05F0' .. '\\u05F2' | '\\u0620' .. '\\u064A' | '\\u066E' .. '\\u066F' | '\\u0671' .. '\\u06D3' | '\\u06D5' | '\\u06E5' .. '\\u06E6' | '\\u06EE' .. '\\u06EF' | '\\u06FA' .. '\\u06FC' | '\\u06FF' | '\\u0710' | '\\u0712' .. '\\u072F' | '\\u074D' .. '\\u07A5' | '\\u07B1' | '\\u07CA' .. '\\u07EA' | '\\u07F4' .. '\\u07F5' | '\\u07FA' | '\\u0800' .. '\\u0815' | '\\u081A' | '\\u0824' | '\\u0828' | '\\u0840' .. '\\u0858' | '\\u08A0' .. '\\u08B4' | '\\u0904' .. '\\u0939' | '\\u093D' | '\\u0950' | '\\u0958' .. '\\u0961' | '\\u0971' .. '\\u0980' | '\\u0985' .. '\\u098C' | '\\u098F' .. '\\u0990' | '\\u0993' .. '\\u09A8' | '\\u09AA' .. '\\u09B0' | '\\u09B2' | '\\u09B6' .. '\\u09B9' | '\\u09BD' | '\\u09CE' | '\\u09DC' .. '\\u09DD' | '\\u09DF' .. '\\u09E1' | '\\u09F0' .. '\\u09F1' | '\\u0A05' .. '\\u0A0A' | '\\u0A0F' .. '\\u0A10' | '\\u0A13' .. '\\u0A28' | '\\u0A2A' .. '\\u0A30' | '\\u0A32' .. '\\u0A33' | '\\u0A35' .. '\\u0A36' | '\\u0A38' .. '\\u0A39' | '\\u0A59' .. '\\u0A5C' | '\\u0A5E' | '\\u0A72' .. '\\u0A74' | '\\u0A85' .. '\\u0A8D' | '\\u0A8F' .. '\\u0A91' | '\\u0A93' .. '\\u0AA8' | '\\u0AAA' .. '\\u0AB0' | '\\u0AB2' .. '\\u0AB3' | '\\u0AB5' .. '\\u0AB9' | '\\u0ABD' | '\\u0AD0' | '\\u0AE0' .. '\\u0AE1' | '\\u0AF9' | '\\u0B05' .. '\\u0B0C' | '\\u0B0F' .. '\\u0B10' | '\\u0B13' .. '\\u0B28' | '\\u0B2A' .. '\\u0B30' | '\\u0B32' .. '\\u0B33' | '\\u0B35' .. '\\u0B39' | '\\u0B3D' | '\\u0B5C' .. '\\u0B5D' | '\\u0B5F' .. '\\u0B61' | '\\u0B71' | '\\u0B83' | '\\u0B85' .. '\\u0B8A' | '\\u0B8E' .. '\\u0B90' | '\\u0B92' .. '\\u0B95' | '\\u0B99' .. '\\u0B9A' | '\\u0B9C' | '\\u0B9E' .. '\\u0B9F' | '\\u0BA3' .. '\\u0BA4' | '\\u0BA8' .. '\\u0BAA' | '\\u0BAE' .. '\\u0BB9' | '\\u0BD0' | '\\u0C05' .. '\\u0C0C' | '\\u0C0E' .. '\\u0C10' | '\\u0C12' .. '\\u0C28' | '\\u0C2A' .. '\\u0C39' | '\\u0C3D' | '\\u0C58' .. '\\u0C5A' | '\\u0C60' .. '\\u0C61' | '\\u0C85' .. '\\u0C8C' | '\\u0C8E' .. '\\u0C90' | '\\u0C92' .. '\\u0CA8' | '\\u0CAA' .. '\\u0CB3' | '\\u0CB5' .. '\\u0CB9' | '\\u0CBD' | '\\u0CDE' | '\\u0CE0' .. '\\u0CE1' | '\\u0CF1' .. '\\u0CF2' | '\\u0D05' .. '\\u0D0C' | '\\u0D0E' .. '\\u0D10' | '\\u0D12' .. '\\u0D3A' | '\\u0D3D' | '\\u0D4E' | '\\u0D5F' .. '\\u0D61' | '\\u0D7A' .. '\\u0D7F' | '\\u0D85' .. '\\u0D96' | '\\u0D9A' .. '\\u0DB1' | '\\u0DB3' .. '\\u0DBB' | '\\u0DBD' | '\\u0DC0' .. '\\u0DC6' | '\\u0E01' .. '\\u0E30' | '\\u0E32' .. '\\u0E33' | '\\u0E40' .. '\\u0E46' | '\\u0E81' .. '\\u0E82' | '\\u0E84' | '\\u0E87' .. '\\u0E88' | '\\u0E8A' | '\\u0E8D' | '\\u0E94' .. '\\u0E97' | '\\u0E99' .. '\\u0E9F' | '\\u0EA1' .. '\\u0EA3' | '\\u0EA5' | '\\u0EA7' | '\\u0EAA' .. '\\u0EAB' | '\\u0EAD' .. '\\u0EB0' | '\\u0EB2' .. '\\u0EB3' | '\\u0EBD' | '\\u0EC0' .. '\\u0EC4' | '\\u0EC6' | '\\u0EDC' .. '\\u0EDF' | '\\u0F00' | '\\u0F40' .. '\\u0F47' | '\\u0F49' .. '\\u0F6C' | '\\u0F88' .. '\\u0F8C' | '\\u1000' .. '\\u102A' | '\\u103F' | '\\u1050' .. '\\u1055' | '\\u105A' .. '\\u105D' | '\\u1061' | '\\u1065' .. '\\u1066' | '\\u106E' .. '\\u1070' | '\\u1075' .. '\\u1081' | '\\u108E' | '\\u10A0' .. '\\u10C5' | '\\u10C7' | '\\u10CD' | '\\u10D0' .. '\\u10FA' | '\\u10FC' .. '\\u1248' | '\\u124A' .. '\\u124D' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125A' .. '\\u125D' | '\\u1260' .. '\\u1288' | '\\u128A' .. '\\u128D' | '\\u1290' .. '\\u12B0' | '\\u12B2' .. '\\u12B5' | '\\u12B8' .. '\\u12BE' | '\\u12C0' | '\\u12C2' .. '\\u12C5' | '\\u12C8' .. '\\u12D6' | '\\u12D8' .. '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u135A' | '\\u1380' .. '\\u138F' | '\\u13A0' .. '\\u13F5' | '\\u13F8' .. '\\u13FD' | '\\u1401' .. '\\u166C' | '\\u166F' .. '\\u167F' | '\\u1681' .. '\\u169A' | '\\u16A0' .. '\\u16EA' | '\\u16EE' .. '\\u16F8' | '\\u1700' .. '\\u170C' | '\\u170E' .. '\\u1711' | '\\u1720' .. '\\u1731' | '\\u1740' .. '\\u1751' | '\\u1760' .. '\\u176C' | '\\u176E' .. '\\u1770' | '\\u1780' .. '\\u17B3' | '\\u17D7' | '\\u17DC' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18A8' | '\\u18AA' | '\\u18B0' .. '\\u18F5' | '\\u1900' .. '\\u191E' | '\\u1950' .. '\\u196D' | '\\u1970' .. '\\u1974' | '\\u1980' .. '\\u19AB' | '\\u19B0' .. '\\u19C9' | '\\u1A00' .. '\\u1A16' | '\\u1A20' .. '\\u1A54' | '\\u1AA7' | '\\u1B05' .. '\\u1B33' | '\\u1B45' .. '\\u1B4B' | '\\u1B83' .. '\\u1BA0' | '\\u1BAE' .. '\\u1BAF' | '\\u1BBA' .. '\\u1BE5' | '\\u1C00' .. '\\u1C23' | '\\u1C4D' .. '\\u1C4F' | '\\u1C5A' .. '\\u1C7D' | '\\u1CE9' .. '\\u1CEC' | '\\u1CEE' .. '\\u1CF1' | '\\u1CF5' .. '\\u1CF6' | '\\u1D00' .. '\\u1DBF' | '\\u1E00' .. '\\u1F15' | '\\u1F18' .. '\\u1F1D' | '\\u1F20' .. '\\u1F45' | '\\u1F48' .. '\\u1F4D' | '\\u1F50' .. '\\u1F57' | '\\u1F59' | '\\u1F5B' | '\\u1F5D' | '\\u1F5F' .. '\\u1F7D' | '\\u1F80' .. '\\u1FB4' | '\\u1FB6' .. '\\u1FBC' | '\\u1FBE' | '\\u1FC2' .. '\\u1FC4' | '\\u1FC6' .. '\\u1FCC' | '\\u1FD0' .. '\\u1FD3' | '\\u1FD6' .. '\\u1FDB' | '\\u1FE0' .. '\\u1FEC' | '\\u1FF2' .. '\\u1FF4' | '\\u1FF6' .. '\\u1FFC' | '\\u2071' | '\\u207F' | '\\u2090' .. '\\u209C' | '\\u2102' | '\\u2107' | '\\u210A' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211D' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212A' .. '\\u212D' | '\\u212F' .. '\\u2139' | '\\u213C' .. '\\u213F' | '\\u2145' .. '\\u2149' | '\\u214E' | '\\u2160' .. '\\u2188' | '\\u2C00' .. '\\u2C2E' | '\\u2C30' .. '\\u2C5E' | '\\u2C60' .. '\\u2CE4' | '\\u2CEB' .. '\\u2CEE' | '\\u2CF2' .. '\\u2CF3' | '\\u2D00' .. '\\u2D25' | '\\u2D27' | '\\u2D2D' | '\\u2D30' .. '\\u2D67' | '\\u2D6F' | '\\u2D80' .. '\\u2D96' | '\\u2DA0' .. '\\u2DA6' | '\\u2DA8' .. '\\u2DAE' | '\\u2DB0' .. '\\u2DB6' | '\\u2DB8' .. '\\u2DBE' | '\\u2DC0' .. '\\u2DC6' | '\\u2DC8' .. '\\u2DCE' | '\\u2DD0' .. '\\u2DD6' | '\\u2DD8' .. '\\u2DDE' | '\\u2E2F' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u3029' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303C' | '\\u3041' .. '\\u3096' | '\\u309D' .. '\\u309F' | '\\u30A1' .. '\\u30FA' | '\\u30FC' .. '\\u30FF' | '\\u3105' .. '\\u312D' | '\\u3131' .. '\\u318E' | '\\u31A0' .. '\\u31BA' | '\\u31F0' .. '\\u31FF' | '\\u3400' .. '\\u4DB5' | '\\u4E00' .. '\\u9FD5' | '\\uA000' .. '\\uA48C' | '\\uA4D0' .. '\\uA4FD' | '\\uA500' .. '\\uA60C' | '\\uA610' .. '\\uA61F' | '\\uA62A' .. '\\uA62B' | '\\uA640' .. '\\uA66E' | '\\uA67F' .. '\\uA69D' | '\\uA6A0' .. '\\uA6EF' | '\\uA717' .. '\\uA71F' | '\\uA722' .. '\\uA788' | '\\uA78B' .. '\\uA7AD' | '\\uA7B0' .. '\\uA7B7' | '\\uA7F7' .. '\\uA801' | '\\uA803' .. '\\uA805' | '\\uA807' .. '\\uA80A' | '\\uA80C' .. '\\uA822' | '\\uA840' .. '\\uA873' | '\\uA882' .. '\\uA8B3' | '\\uA8F2' .. '\\uA8F7' | '\\uA8FB' | '\\uA8FD' | '\\uA90A' .. '\\uA925' | '\\uA930' .. '\\uA946' | '\\uA960' .. '\\uA97C' | '\\uA984' .. '\\uA9B2' | '\\uA9CF' | '\\uA9E0' .. '\\uA9E4' | '\\uA9E6' .. '\\uA9EF' | '\\uA9FA' .. '\\uA9FE' | '\\uAA00' .. '\\uAA28' | '\\uAA40' .. '\\uAA42' | '\\uAA44' .. '\\uAA4B' | '\\uAA60' .. '\\uAA76' | '\\uAA7A' | '\\uAA7E' .. '\\uAAAF' | '\\uAAB1' | '\\uAAB5' .. '\\uAAB6' | '\\uAAB9' .. '\\uAABD' | '\\uAAC0' | '\\uAAC2' | '\\uAADB' .. '\\uAADD' | '\\uAAE0' .. '\\uAAEA' | '\\uAAF2' .. '\\uAAF4' | '\\uAB01' .. '\\uAB06' | '\\uAB09' .. '\\uAB0E' | '\\uAB11' .. '\\uAB16' | '\\uAB20' .. '\\uAB26' | '\\uAB28' .. '\\uAB2E' | '\\uAB30' .. '\\uAB5A' | '\\uAB5C' .. '\\uAB65' | '\\uAB70' .. '\\uABE2' | '\\uAC00' .. '\\uD7A3' | '\\uD7B0' .. '\\uD7C6' | '\\uD7CB' .. '\\uD7FB' | '\\uF900' .. '\\uFA6D' | '\\uFA70' .. '\\uFAD9' | '\\uFB00' .. '\\uFB06' | '\\uFB13' .. '\\uFB17' | '\\uFB1D' | '\\uFB1F' .. '\\uFB28' | '\\uFB2A' .. '\\uFB36' | '\\uFB38' .. '\\uFB3C' | '\\uFB3E' | '\\uFB40' .. '\\uFB41' | '\\uFB43' .. '\\uFB44' | '\\uFB46' .. '\\uFBB1' | '\\uFBD3' .. '\\uFD3D' | '\\uFD50' .. '\\uFD8F' | '\\uFD92' .. '\\uFDC7' | '\\uFDF0' .. '\\uFDFB' | '\\uFE70' .. '\\uFE74' | '\\uFE76' .. '\\uFEFC' | '\\uFF21' .. '\\uFF3A' | '\\uFF41' .. '\\uFF5A' | '\\uFF66' .. '\\uFFBE' | '\\uFFC2' .. '\\uFFC7' | '\\uFFCA' .. '\\uFFCF' | '\\uFFD2' .. '\\uFFD7' | '\\uFFDA' .. '\\uFFDC' ) ) - // InternalSemver.g:4745:41: ( 'A' .. 'Z' | 'a' .. 'z' | '\\u00AA' | '\\u00B5' | '\\u00BA' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u02C1' | '\\u02C6' .. '\\u02D1' | '\\u02E0' .. '\\u02E4' | '\\u02EC' | '\\u02EE' | '\\u0370' .. '\\u0374' | '\\u0376' .. '\\u0377' | '\\u037A' .. '\\u037D' | '\\u037F' | '\\u0386' | '\\u0388' .. '\\u038A' | '\\u038C' | '\\u038E' .. '\\u03A1' | '\\u03A3' .. '\\u03F5' | '\\u03F7' .. '\\u0481' | '\\u048A' .. '\\u052F' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u05D0' .. '\\u05EA' | '\\u05F0' .. '\\u05F2' | '\\u0620' .. '\\u064A' | '\\u066E' .. '\\u066F' | '\\u0671' .. '\\u06D3' | '\\u06D5' | '\\u06E5' .. '\\u06E6' | '\\u06EE' .. '\\u06EF' | '\\u06FA' .. '\\u06FC' | '\\u06FF' | '\\u0710' | '\\u0712' .. '\\u072F' | '\\u074D' .. '\\u07A5' | '\\u07B1' | '\\u07CA' .. '\\u07EA' | '\\u07F4' .. '\\u07F5' | '\\u07FA' | '\\u0800' .. '\\u0815' | '\\u081A' | '\\u0824' | '\\u0828' | '\\u0840' .. '\\u0858' | '\\u08A0' .. '\\u08B4' | '\\u0904' .. '\\u0939' | '\\u093D' | '\\u0950' | '\\u0958' .. '\\u0961' | '\\u0971' .. '\\u0980' | '\\u0985' .. '\\u098C' | '\\u098F' .. '\\u0990' | '\\u0993' .. '\\u09A8' | '\\u09AA' .. '\\u09B0' | '\\u09B2' | '\\u09B6' .. '\\u09B9' | '\\u09BD' | '\\u09CE' | '\\u09DC' .. '\\u09DD' | '\\u09DF' .. '\\u09E1' | '\\u09F0' .. '\\u09F1' | '\\u0A05' .. '\\u0A0A' | '\\u0A0F' .. '\\u0A10' | '\\u0A13' .. '\\u0A28' | '\\u0A2A' .. '\\u0A30' | '\\u0A32' .. '\\u0A33' | '\\u0A35' .. '\\u0A36' | '\\u0A38' .. '\\u0A39' | '\\u0A59' .. '\\u0A5C' | '\\u0A5E' | '\\u0A72' .. '\\u0A74' | '\\u0A85' .. '\\u0A8D' | '\\u0A8F' .. '\\u0A91' | '\\u0A93' .. '\\u0AA8' | '\\u0AAA' .. '\\u0AB0' | '\\u0AB2' .. '\\u0AB3' | '\\u0AB5' .. '\\u0AB9' | '\\u0ABD' | '\\u0AD0' | '\\u0AE0' .. '\\u0AE1' | '\\u0AF9' | '\\u0B05' .. '\\u0B0C' | '\\u0B0F' .. '\\u0B10' | '\\u0B13' .. '\\u0B28' | '\\u0B2A' .. '\\u0B30' | '\\u0B32' .. '\\u0B33' | '\\u0B35' .. '\\u0B39' | '\\u0B3D' | '\\u0B5C' .. '\\u0B5D' | '\\u0B5F' .. '\\u0B61' | '\\u0B71' | '\\u0B83' | '\\u0B85' .. '\\u0B8A' | '\\u0B8E' .. '\\u0B90' | '\\u0B92' .. '\\u0B95' | '\\u0B99' .. '\\u0B9A' | '\\u0B9C' | '\\u0B9E' .. '\\u0B9F' | '\\u0BA3' .. '\\u0BA4' | '\\u0BA8' .. '\\u0BAA' | '\\u0BAE' .. '\\u0BB9' | '\\u0BD0' | '\\u0C05' .. '\\u0C0C' | '\\u0C0E' .. '\\u0C10' | '\\u0C12' .. '\\u0C28' | '\\u0C2A' .. '\\u0C39' | '\\u0C3D' | '\\u0C58' .. '\\u0C5A' | '\\u0C60' .. '\\u0C61' | '\\u0C85' .. '\\u0C8C' | '\\u0C8E' .. '\\u0C90' | '\\u0C92' .. '\\u0CA8' | '\\u0CAA' .. '\\u0CB3' | '\\u0CB5' .. '\\u0CB9' | '\\u0CBD' | '\\u0CDE' | '\\u0CE0' .. '\\u0CE1' | '\\u0CF1' .. '\\u0CF2' | '\\u0D05' .. '\\u0D0C' | '\\u0D0E' .. '\\u0D10' | '\\u0D12' .. '\\u0D3A' | '\\u0D3D' | '\\u0D4E' | '\\u0D5F' .. '\\u0D61' | '\\u0D7A' .. '\\u0D7F' | '\\u0D85' .. '\\u0D96' | '\\u0D9A' .. '\\u0DB1' | '\\u0DB3' .. '\\u0DBB' | '\\u0DBD' | '\\u0DC0' .. '\\u0DC6' | '\\u0E01' .. '\\u0E30' | '\\u0E32' .. '\\u0E33' | '\\u0E40' .. '\\u0E46' | '\\u0E81' .. '\\u0E82' | '\\u0E84' | '\\u0E87' .. '\\u0E88' | '\\u0E8A' | '\\u0E8D' | '\\u0E94' .. '\\u0E97' | '\\u0E99' .. '\\u0E9F' | '\\u0EA1' .. '\\u0EA3' | '\\u0EA5' | '\\u0EA7' | '\\u0EAA' .. '\\u0EAB' | '\\u0EAD' .. '\\u0EB0' | '\\u0EB2' .. '\\u0EB3' | '\\u0EBD' | '\\u0EC0' .. '\\u0EC4' | '\\u0EC6' | '\\u0EDC' .. '\\u0EDF' | '\\u0F00' | '\\u0F40' .. '\\u0F47' | '\\u0F49' .. '\\u0F6C' | '\\u0F88' .. '\\u0F8C' | '\\u1000' .. '\\u102A' | '\\u103F' | '\\u1050' .. '\\u1055' | '\\u105A' .. '\\u105D' | '\\u1061' | '\\u1065' .. '\\u1066' | '\\u106E' .. '\\u1070' | '\\u1075' .. '\\u1081' | '\\u108E' | '\\u10A0' .. '\\u10C5' | '\\u10C7' | '\\u10CD' | '\\u10D0' .. '\\u10FA' | '\\u10FC' .. '\\u1248' | '\\u124A' .. '\\u124D' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125A' .. '\\u125D' | '\\u1260' .. '\\u1288' | '\\u128A' .. '\\u128D' | '\\u1290' .. '\\u12B0' | '\\u12B2' .. '\\u12B5' | '\\u12B8' .. '\\u12BE' | '\\u12C0' | '\\u12C2' .. '\\u12C5' | '\\u12C8' .. '\\u12D6' | '\\u12D8' .. '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u135A' | '\\u1380' .. '\\u138F' | '\\u13A0' .. '\\u13F5' | '\\u13F8' .. '\\u13FD' | '\\u1401' .. '\\u166C' | '\\u166F' .. '\\u167F' | '\\u1681' .. '\\u169A' | '\\u16A0' .. '\\u16EA' | '\\u16EE' .. '\\u16F8' | '\\u1700' .. '\\u170C' | '\\u170E' .. '\\u1711' | '\\u1720' .. '\\u1731' | '\\u1740' .. '\\u1751' | '\\u1760' .. '\\u176C' | '\\u176E' .. '\\u1770' | '\\u1780' .. '\\u17B3' | '\\u17D7' | '\\u17DC' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18A8' | '\\u18AA' | '\\u18B0' .. '\\u18F5' | '\\u1900' .. '\\u191E' | '\\u1950' .. '\\u196D' | '\\u1970' .. '\\u1974' | '\\u1980' .. '\\u19AB' | '\\u19B0' .. '\\u19C9' | '\\u1A00' .. '\\u1A16' | '\\u1A20' .. '\\u1A54' | '\\u1AA7' | '\\u1B05' .. '\\u1B33' | '\\u1B45' .. '\\u1B4B' | '\\u1B83' .. '\\u1BA0' | '\\u1BAE' .. '\\u1BAF' | '\\u1BBA' .. '\\u1BE5' | '\\u1C00' .. '\\u1C23' | '\\u1C4D' .. '\\u1C4F' | '\\u1C5A' .. '\\u1C7D' | '\\u1CE9' .. '\\u1CEC' | '\\u1CEE' .. '\\u1CF1' | '\\u1CF5' .. '\\u1CF6' | '\\u1D00' .. '\\u1DBF' | '\\u1E00' .. '\\u1F15' | '\\u1F18' .. '\\u1F1D' | '\\u1F20' .. '\\u1F45' | '\\u1F48' .. '\\u1F4D' | '\\u1F50' .. '\\u1F57' | '\\u1F59' | '\\u1F5B' | '\\u1F5D' | '\\u1F5F' .. '\\u1F7D' | '\\u1F80' .. '\\u1FB4' | '\\u1FB6' .. '\\u1FBC' | '\\u1FBE' | '\\u1FC2' .. '\\u1FC4' | '\\u1FC6' .. '\\u1FCC' | '\\u1FD0' .. '\\u1FD3' | '\\u1FD6' .. '\\u1FDB' | '\\u1FE0' .. '\\u1FEC' | '\\u1FF2' .. '\\u1FF4' | '\\u1FF6' .. '\\u1FFC' | '\\u2071' | '\\u207F' | '\\u2090' .. '\\u209C' | '\\u2102' | '\\u2107' | '\\u210A' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211D' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212A' .. '\\u212D' | '\\u212F' .. '\\u2139' | '\\u213C' .. '\\u213F' | '\\u2145' .. '\\u2149' | '\\u214E' | '\\u2160' .. '\\u2188' | '\\u2C00' .. '\\u2C2E' | '\\u2C30' .. '\\u2C5E' | '\\u2C60' .. '\\u2CE4' | '\\u2CEB' .. '\\u2CEE' | '\\u2CF2' .. '\\u2CF3' | '\\u2D00' .. '\\u2D25' | '\\u2D27' | '\\u2D2D' | '\\u2D30' .. '\\u2D67' | '\\u2D6F' | '\\u2D80' .. '\\u2D96' | '\\u2DA0' .. '\\u2DA6' | '\\u2DA8' .. '\\u2DAE' | '\\u2DB0' .. '\\u2DB6' | '\\u2DB8' .. '\\u2DBE' | '\\u2DC0' .. '\\u2DC6' | '\\u2DC8' .. '\\u2DCE' | '\\u2DD0' .. '\\u2DD6' | '\\u2DD8' .. '\\u2DDE' | '\\u2E2F' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u3029' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303C' | '\\u3041' .. '\\u3096' | '\\u309D' .. '\\u309F' | '\\u30A1' .. '\\u30FA' | '\\u30FC' .. '\\u30FF' | '\\u3105' .. '\\u312D' | '\\u3131' .. '\\u318E' | '\\u31A0' .. '\\u31BA' | '\\u31F0' .. '\\u31FF' | '\\u3400' .. '\\u4DB5' | '\\u4E00' .. '\\u9FD5' | '\\uA000' .. '\\uA48C' | '\\uA4D0' .. '\\uA4FD' | '\\uA500' .. '\\uA60C' | '\\uA610' .. '\\uA61F' | '\\uA62A' .. '\\uA62B' | '\\uA640' .. '\\uA66E' | '\\uA67F' .. '\\uA69D' | '\\uA6A0' .. '\\uA6EF' | '\\uA717' .. '\\uA71F' | '\\uA722' .. '\\uA788' | '\\uA78B' .. '\\uA7AD' | '\\uA7B0' .. '\\uA7B7' | '\\uA7F7' .. '\\uA801' | '\\uA803' .. '\\uA805' | '\\uA807' .. '\\uA80A' | '\\uA80C' .. '\\uA822' | '\\uA840' .. '\\uA873' | '\\uA882' .. '\\uA8B3' | '\\uA8F2' .. '\\uA8F7' | '\\uA8FB' | '\\uA8FD' | '\\uA90A' .. '\\uA925' | '\\uA930' .. '\\uA946' | '\\uA960' .. '\\uA97C' | '\\uA984' .. '\\uA9B2' | '\\uA9CF' | '\\uA9E0' .. '\\uA9E4' | '\\uA9E6' .. '\\uA9EF' | '\\uA9FA' .. '\\uA9FE' | '\\uAA00' .. '\\uAA28' | '\\uAA40' .. '\\uAA42' | '\\uAA44' .. '\\uAA4B' | '\\uAA60' .. '\\uAA76' | '\\uAA7A' | '\\uAA7E' .. '\\uAAAF' | '\\uAAB1' | '\\uAAB5' .. '\\uAAB6' | '\\uAAB9' .. '\\uAABD' | '\\uAAC0' | '\\uAAC2' | '\\uAADB' .. '\\uAADD' | '\\uAAE0' .. '\\uAAEA' | '\\uAAF2' .. '\\uAAF4' | '\\uAB01' .. '\\uAB06' | '\\uAB09' .. '\\uAB0E' | '\\uAB11' .. '\\uAB16' | '\\uAB20' .. '\\uAB26' | '\\uAB28' .. '\\uAB2E' | '\\uAB30' .. '\\uAB5A' | '\\uAB5C' .. '\\uAB65' | '\\uAB70' .. '\\uABE2' | '\\uAC00' .. '\\uD7A3' | '\\uD7B0' .. '\\uD7C6' | '\\uD7CB' .. '\\uD7FB' | '\\uF900' .. '\\uFA6D' | '\\uFA70' .. '\\uFAD9' | '\\uFB00' .. '\\uFB06' | '\\uFB13' .. '\\uFB17' | '\\uFB1D' | '\\uFB1F' .. '\\uFB28' | '\\uFB2A' .. '\\uFB36' | '\\uFB38' .. '\\uFB3C' | '\\uFB3E' | '\\uFB40' .. '\\uFB41' | '\\uFB43' .. '\\uFB44' | '\\uFB46' .. '\\uFBB1' | '\\uFBD3' .. '\\uFD3D' | '\\uFD50' .. '\\uFD8F' | '\\uFD92' .. '\\uFDC7' | '\\uFDF0' .. '\\uFDFB' | '\\uFE70' .. '\\uFE74' | '\\uFE76' .. '\\uFEFC' | '\\uFF21' .. '\\uFF3A' | '\\uFF41' .. '\\uFF5A' | '\\uFF66' .. '\\uFFBE' | '\\uFFC2' .. '\\uFFC7' | '\\uFFCA' .. '\\uFFCF' | '\\uFFD2' .. '\\uFFD7' | '\\uFFDA' .. '\\uFFDC' ) + // InternalSemver.g:5261:39: ( ( 'A' .. 'Z' | 'a' .. 'z' | '\\u00AA' | '\\u00B5' | '\\u00BA' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u02C1' | '\\u02C6' .. '\\u02D1' | '\\u02E0' .. '\\u02E4' | '\\u02EC' | '\\u02EE' | '\\u0370' .. '\\u0374' | '\\u0376' .. '\\u0377' | '\\u037A' .. '\\u037D' | '\\u037F' | '\\u0386' | '\\u0388' .. '\\u038A' | '\\u038C' | '\\u038E' .. '\\u03A1' | '\\u03A3' .. '\\u03F5' | '\\u03F7' .. '\\u0481' | '\\u048A' .. '\\u052F' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u05D0' .. '\\u05EA' | '\\u05F0' .. '\\u05F2' | '\\u0620' .. '\\u064A' | '\\u066E' .. '\\u066F' | '\\u0671' .. '\\u06D3' | '\\u06D5' | '\\u06E5' .. '\\u06E6' | '\\u06EE' .. '\\u06EF' | '\\u06FA' .. '\\u06FC' | '\\u06FF' | '\\u0710' | '\\u0712' .. '\\u072F' | '\\u074D' .. '\\u07A5' | '\\u07B1' | '\\u07CA' .. '\\u07EA' | '\\u07F4' .. '\\u07F5' | '\\u07FA' | '\\u0800' .. '\\u0815' | '\\u081A' | '\\u0824' | '\\u0828' | '\\u0840' .. '\\u0858' | '\\u08A0' .. '\\u08B4' | '\\u0904' .. '\\u0939' | '\\u093D' | '\\u0950' | '\\u0958' .. '\\u0961' | '\\u0971' .. '\\u0980' | '\\u0985' .. '\\u098C' | '\\u098F' .. '\\u0990' | '\\u0993' .. '\\u09A8' | '\\u09AA' .. '\\u09B0' | '\\u09B2' | '\\u09B6' .. '\\u09B9' | '\\u09BD' | '\\u09CE' | '\\u09DC' .. '\\u09DD' | '\\u09DF' .. '\\u09E1' | '\\u09F0' .. '\\u09F1' | '\\u0A05' .. '\\u0A0A' | '\\u0A0F' .. '\\u0A10' | '\\u0A13' .. '\\u0A28' | '\\u0A2A' .. '\\u0A30' | '\\u0A32' .. '\\u0A33' | '\\u0A35' .. '\\u0A36' | '\\u0A38' .. '\\u0A39' | '\\u0A59' .. '\\u0A5C' | '\\u0A5E' | '\\u0A72' .. '\\u0A74' | '\\u0A85' .. '\\u0A8D' | '\\u0A8F' .. '\\u0A91' | '\\u0A93' .. '\\u0AA8' | '\\u0AAA' .. '\\u0AB0' | '\\u0AB2' .. '\\u0AB3' | '\\u0AB5' .. '\\u0AB9' | '\\u0ABD' | '\\u0AD0' | '\\u0AE0' .. '\\u0AE1' | '\\u0AF9' | '\\u0B05' .. '\\u0B0C' | '\\u0B0F' .. '\\u0B10' | '\\u0B13' .. '\\u0B28' | '\\u0B2A' .. '\\u0B30' | '\\u0B32' .. '\\u0B33' | '\\u0B35' .. '\\u0B39' | '\\u0B3D' | '\\u0B5C' .. '\\u0B5D' | '\\u0B5F' .. '\\u0B61' | '\\u0B71' | '\\u0B83' | '\\u0B85' .. '\\u0B8A' | '\\u0B8E' .. '\\u0B90' | '\\u0B92' .. '\\u0B95' | '\\u0B99' .. '\\u0B9A' | '\\u0B9C' | '\\u0B9E' .. '\\u0B9F' | '\\u0BA3' .. '\\u0BA4' | '\\u0BA8' .. '\\u0BAA' | '\\u0BAE' .. '\\u0BB9' | '\\u0BD0' | '\\u0C05' .. '\\u0C0C' | '\\u0C0E' .. '\\u0C10' | '\\u0C12' .. '\\u0C28' | '\\u0C2A' .. '\\u0C39' | '\\u0C3D' | '\\u0C58' .. '\\u0C5A' | '\\u0C60' .. '\\u0C61' | '\\u0C85' .. '\\u0C8C' | '\\u0C8E' .. '\\u0C90' | '\\u0C92' .. '\\u0CA8' | '\\u0CAA' .. '\\u0CB3' | '\\u0CB5' .. '\\u0CB9' | '\\u0CBD' | '\\u0CDE' | '\\u0CE0' .. '\\u0CE1' | '\\u0CF1' .. '\\u0CF2' | '\\u0D05' .. '\\u0D0C' | '\\u0D0E' .. '\\u0D10' | '\\u0D12' .. '\\u0D3A' | '\\u0D3D' | '\\u0D4E' | '\\u0D5F' .. '\\u0D61' | '\\u0D7A' .. '\\u0D7F' | '\\u0D85' .. '\\u0D96' | '\\u0D9A' .. '\\u0DB1' | '\\u0DB3' .. '\\u0DBB' | '\\u0DBD' | '\\u0DC0' .. '\\u0DC6' | '\\u0E01' .. '\\u0E30' | '\\u0E32' .. '\\u0E33' | '\\u0E40' .. '\\u0E46' | '\\u0E81' .. '\\u0E82' | '\\u0E84' | '\\u0E87' .. '\\u0E88' | '\\u0E8A' | '\\u0E8D' | '\\u0E94' .. '\\u0E97' | '\\u0E99' .. '\\u0E9F' | '\\u0EA1' .. '\\u0EA3' | '\\u0EA5' | '\\u0EA7' | '\\u0EAA' .. '\\u0EAB' | '\\u0EAD' .. '\\u0EB0' | '\\u0EB2' .. '\\u0EB3' | '\\u0EBD' | '\\u0EC0' .. '\\u0EC4' | '\\u0EC6' | '\\u0EDC' .. '\\u0EDF' | '\\u0F00' | '\\u0F40' .. '\\u0F47' | '\\u0F49' .. '\\u0F6C' | '\\u0F88' .. '\\u0F8C' | '\\u1000' .. '\\u102A' | '\\u103F' | '\\u1050' .. '\\u1055' | '\\u105A' .. '\\u105D' | '\\u1061' | '\\u1065' .. '\\u1066' | '\\u106E' .. '\\u1070' | '\\u1075' .. '\\u1081' | '\\u108E' | '\\u10A0' .. '\\u10C5' | '\\u10C7' | '\\u10CD' | '\\u10D0' .. '\\u10FA' | '\\u10FC' .. '\\u1248' | '\\u124A' .. '\\u124D' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125A' .. '\\u125D' | '\\u1260' .. '\\u1288' | '\\u128A' .. '\\u128D' | '\\u1290' .. '\\u12B0' | '\\u12B2' .. '\\u12B5' | '\\u12B8' .. '\\u12BE' | '\\u12C0' | '\\u12C2' .. '\\u12C5' | '\\u12C8' .. '\\u12D6' | '\\u12D8' .. '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u135A' | '\\u1380' .. '\\u138F' | '\\u13A0' .. '\\u13F5' | '\\u13F8' .. '\\u13FD' | '\\u1401' .. '\\u166C' | '\\u166F' .. '\\u167F' | '\\u1681' .. '\\u169A' | '\\u16A0' .. '\\u16EA' | '\\u16EE' .. '\\u16F8' | '\\u1700' .. '\\u170C' | '\\u170E' .. '\\u1711' | '\\u1720' .. '\\u1731' | '\\u1740' .. '\\u1751' | '\\u1760' .. '\\u176C' | '\\u176E' .. '\\u1770' | '\\u1780' .. '\\u17B3' | '\\u17D7' | '\\u17DC' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18A8' | '\\u18AA' | '\\u18B0' .. '\\u18F5' | '\\u1900' .. '\\u191E' | '\\u1950' .. '\\u196D' | '\\u1970' .. '\\u1974' | '\\u1980' .. '\\u19AB' | '\\u19B0' .. '\\u19C9' | '\\u1A00' .. '\\u1A16' | '\\u1A20' .. '\\u1A54' | '\\u1AA7' | '\\u1B05' .. '\\u1B33' | '\\u1B45' .. '\\u1B4B' | '\\u1B83' .. '\\u1BA0' | '\\u1BAE' .. '\\u1BAF' | '\\u1BBA' .. '\\u1BE5' | '\\u1C00' .. '\\u1C23' | '\\u1C4D' .. '\\u1C4F' | '\\u1C5A' .. '\\u1C7D' | '\\u1CE9' .. '\\u1CEC' | '\\u1CEE' .. '\\u1CF1' | '\\u1CF5' .. '\\u1CF6' | '\\u1D00' .. '\\u1DBF' | '\\u1E00' .. '\\u1F15' | '\\u1F18' .. '\\u1F1D' | '\\u1F20' .. '\\u1F45' | '\\u1F48' .. '\\u1F4D' | '\\u1F50' .. '\\u1F57' | '\\u1F59' | '\\u1F5B' | '\\u1F5D' | '\\u1F5F' .. '\\u1F7D' | '\\u1F80' .. '\\u1FB4' | '\\u1FB6' .. '\\u1FBC' | '\\u1FBE' | '\\u1FC2' .. '\\u1FC4' | '\\u1FC6' .. '\\u1FCC' | '\\u1FD0' .. '\\u1FD3' | '\\u1FD6' .. '\\u1FDB' | '\\u1FE0' .. '\\u1FEC' | '\\u1FF2' .. '\\u1FF4' | '\\u1FF6' .. '\\u1FFC' | '\\u2071' | '\\u207F' | '\\u2090' .. '\\u209C' | '\\u2102' | '\\u2107' | '\\u210A' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211D' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212A' .. '\\u212D' | '\\u212F' .. '\\u2139' | '\\u213C' .. '\\u213F' | '\\u2145' .. '\\u2149' | '\\u214E' | '\\u2160' .. '\\u2188' | '\\u2C00' .. '\\u2C2E' | '\\u2C30' .. '\\u2C5E' | '\\u2C60' .. '\\u2CE4' | '\\u2CEB' .. '\\u2CEE' | '\\u2CF2' .. '\\u2CF3' | '\\u2D00' .. '\\u2D25' | '\\u2D27' | '\\u2D2D' | '\\u2D30' .. '\\u2D67' | '\\u2D6F' | '\\u2D80' .. '\\u2D96' | '\\u2DA0' .. '\\u2DA6' | '\\u2DA8' .. '\\u2DAE' | '\\u2DB0' .. '\\u2DB6' | '\\u2DB8' .. '\\u2DBE' | '\\u2DC0' .. '\\u2DC6' | '\\u2DC8' .. '\\u2DCE' | '\\u2DD0' .. '\\u2DD6' | '\\u2DD8' .. '\\u2DDE' | '\\u2E2F' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u3029' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303C' | '\\u3041' .. '\\u3096' | '\\u309D' .. '\\u309F' | '\\u30A1' .. '\\u30FA' | '\\u30FC' .. '\\u30FF' | '\\u3105' .. '\\u312D' | '\\u3131' .. '\\u318E' | '\\u31A0' .. '\\u31BA' | '\\u31F0' .. '\\u31FF' | '\\u3400' .. '\\u4DB5' | '\\u4E00' .. '\\u9FD5' | '\\uA000' .. '\\uA48C' | '\\uA4D0' .. '\\uA4FD' | '\\uA500' .. '\\uA60C' | '\\uA610' .. '\\uA61F' | '\\uA62A' .. '\\uA62B' | '\\uA640' .. '\\uA66E' | '\\uA67F' .. '\\uA69D' | '\\uA6A0' .. '\\uA6EF' | '\\uA717' .. '\\uA71F' | '\\uA722' .. '\\uA788' | '\\uA78B' .. '\\uA7AD' | '\\uA7B0' .. '\\uA7B7' | '\\uA7F7' .. '\\uA801' | '\\uA803' .. '\\uA805' | '\\uA807' .. '\\uA80A' | '\\uA80C' .. '\\uA822' | '\\uA840' .. '\\uA873' | '\\uA882' .. '\\uA8B3' | '\\uA8F2' .. '\\uA8F7' | '\\uA8FB' | '\\uA8FD' | '\\uA90A' .. '\\uA925' | '\\uA930' .. '\\uA946' | '\\uA960' .. '\\uA97C' | '\\uA984' .. '\\uA9B2' | '\\uA9CF' | '\\uA9E0' .. '\\uA9E4' | '\\uA9E6' .. '\\uA9EF' | '\\uA9FA' .. '\\uA9FE' | '\\uAA00' .. '\\uAA28' | '\\uAA40' .. '\\uAA42' | '\\uAA44' .. '\\uAA4B' | '\\uAA60' .. '\\uAA76' | '\\uAA7A' | '\\uAA7E' .. '\\uAAAF' | '\\uAAB1' | '\\uAAB5' .. '\\uAAB6' | '\\uAAB9' .. '\\uAABD' | '\\uAAC0' | '\\uAAC2' | '\\uAADB' .. '\\uAADD' | '\\uAAE0' .. '\\uAAEA' | '\\uAAF2' .. '\\uAAF4' | '\\uAB01' .. '\\uAB06' | '\\uAB09' .. '\\uAB0E' | '\\uAB11' .. '\\uAB16' | '\\uAB20' .. '\\uAB26' | '\\uAB28' .. '\\uAB2E' | '\\uAB30' .. '\\uAB5A' | '\\uAB5C' .. '\\uAB65' | '\\uAB70' .. '\\uABE2' | '\\uAC00' .. '\\uD7A3' | '\\uD7B0' .. '\\uD7C6' | '\\uD7CB' .. '\\uD7FB' | '\\uF900' .. '\\uFA6D' | '\\uFA70' .. '\\uFAD9' | '\\uFB00' .. '\\uFB06' | '\\uFB13' .. '\\uFB17' | '\\uFB1D' | '\\uFB1F' .. '\\uFB28' | '\\uFB2A' .. '\\uFB36' | '\\uFB38' .. '\\uFB3C' | '\\uFB3E' | '\\uFB40' .. '\\uFB41' | '\\uFB43' .. '\\uFB44' | '\\uFB46' .. '\\uFBB1' | '\\uFBD3' .. '\\uFD3D' | '\\uFD50' .. '\\uFD8F' | '\\uFD92' .. '\\uFDC7' | '\\uFDF0' .. '\\uFDFB' | '\\uFE70' .. '\\uFE74' | '\\uFE76' .. '\\uFEFC' | '\\uFF21' .. '\\uFF3A' | '\\uFF41' .. '\\uFF5A' | '\\uFF66' .. '\\uFFBE' | '\\uFFC2' .. '\\uFFC7' | '\\uFFCA' .. '\\uFFCF' | '\\uFFD2' .. '\\uFFD7' | '\\uFFDA' .. '\\uFFDC' ) ) + // InternalSemver.g:5261:41: ( 'A' .. 'Z' | 'a' .. 'z' | '\\u00AA' | '\\u00B5' | '\\u00BA' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u02C1' | '\\u02C6' .. '\\u02D1' | '\\u02E0' .. '\\u02E4' | '\\u02EC' | '\\u02EE' | '\\u0370' .. '\\u0374' | '\\u0376' .. '\\u0377' | '\\u037A' .. '\\u037D' | '\\u037F' | '\\u0386' | '\\u0388' .. '\\u038A' | '\\u038C' | '\\u038E' .. '\\u03A1' | '\\u03A3' .. '\\u03F5' | '\\u03F7' .. '\\u0481' | '\\u048A' .. '\\u052F' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u05D0' .. '\\u05EA' | '\\u05F0' .. '\\u05F2' | '\\u0620' .. '\\u064A' | '\\u066E' .. '\\u066F' | '\\u0671' .. '\\u06D3' | '\\u06D5' | '\\u06E5' .. '\\u06E6' | '\\u06EE' .. '\\u06EF' | '\\u06FA' .. '\\u06FC' | '\\u06FF' | '\\u0710' | '\\u0712' .. '\\u072F' | '\\u074D' .. '\\u07A5' | '\\u07B1' | '\\u07CA' .. '\\u07EA' | '\\u07F4' .. '\\u07F5' | '\\u07FA' | '\\u0800' .. '\\u0815' | '\\u081A' | '\\u0824' | '\\u0828' | '\\u0840' .. '\\u0858' | '\\u08A0' .. '\\u08B4' | '\\u0904' .. '\\u0939' | '\\u093D' | '\\u0950' | '\\u0958' .. '\\u0961' | '\\u0971' .. '\\u0980' | '\\u0985' .. '\\u098C' | '\\u098F' .. '\\u0990' | '\\u0993' .. '\\u09A8' | '\\u09AA' .. '\\u09B0' | '\\u09B2' | '\\u09B6' .. '\\u09B9' | '\\u09BD' | '\\u09CE' | '\\u09DC' .. '\\u09DD' | '\\u09DF' .. '\\u09E1' | '\\u09F0' .. '\\u09F1' | '\\u0A05' .. '\\u0A0A' | '\\u0A0F' .. '\\u0A10' | '\\u0A13' .. '\\u0A28' | '\\u0A2A' .. '\\u0A30' | '\\u0A32' .. '\\u0A33' | '\\u0A35' .. '\\u0A36' | '\\u0A38' .. '\\u0A39' | '\\u0A59' .. '\\u0A5C' | '\\u0A5E' | '\\u0A72' .. '\\u0A74' | '\\u0A85' .. '\\u0A8D' | '\\u0A8F' .. '\\u0A91' | '\\u0A93' .. '\\u0AA8' | '\\u0AAA' .. '\\u0AB0' | '\\u0AB2' .. '\\u0AB3' | '\\u0AB5' .. '\\u0AB9' | '\\u0ABD' | '\\u0AD0' | '\\u0AE0' .. '\\u0AE1' | '\\u0AF9' | '\\u0B05' .. '\\u0B0C' | '\\u0B0F' .. '\\u0B10' | '\\u0B13' .. '\\u0B28' | '\\u0B2A' .. '\\u0B30' | '\\u0B32' .. '\\u0B33' | '\\u0B35' .. '\\u0B39' | '\\u0B3D' | '\\u0B5C' .. '\\u0B5D' | '\\u0B5F' .. '\\u0B61' | '\\u0B71' | '\\u0B83' | '\\u0B85' .. '\\u0B8A' | '\\u0B8E' .. '\\u0B90' | '\\u0B92' .. '\\u0B95' | '\\u0B99' .. '\\u0B9A' | '\\u0B9C' | '\\u0B9E' .. '\\u0B9F' | '\\u0BA3' .. '\\u0BA4' | '\\u0BA8' .. '\\u0BAA' | '\\u0BAE' .. '\\u0BB9' | '\\u0BD0' | '\\u0C05' .. '\\u0C0C' | '\\u0C0E' .. '\\u0C10' | '\\u0C12' .. '\\u0C28' | '\\u0C2A' .. '\\u0C39' | '\\u0C3D' | '\\u0C58' .. '\\u0C5A' | '\\u0C60' .. '\\u0C61' | '\\u0C85' .. '\\u0C8C' | '\\u0C8E' .. '\\u0C90' | '\\u0C92' .. '\\u0CA8' | '\\u0CAA' .. '\\u0CB3' | '\\u0CB5' .. '\\u0CB9' | '\\u0CBD' | '\\u0CDE' | '\\u0CE0' .. '\\u0CE1' | '\\u0CF1' .. '\\u0CF2' | '\\u0D05' .. '\\u0D0C' | '\\u0D0E' .. '\\u0D10' | '\\u0D12' .. '\\u0D3A' | '\\u0D3D' | '\\u0D4E' | '\\u0D5F' .. '\\u0D61' | '\\u0D7A' .. '\\u0D7F' | '\\u0D85' .. '\\u0D96' | '\\u0D9A' .. '\\u0DB1' | '\\u0DB3' .. '\\u0DBB' | '\\u0DBD' | '\\u0DC0' .. '\\u0DC6' | '\\u0E01' .. '\\u0E30' | '\\u0E32' .. '\\u0E33' | '\\u0E40' .. '\\u0E46' | '\\u0E81' .. '\\u0E82' | '\\u0E84' | '\\u0E87' .. '\\u0E88' | '\\u0E8A' | '\\u0E8D' | '\\u0E94' .. '\\u0E97' | '\\u0E99' .. '\\u0E9F' | '\\u0EA1' .. '\\u0EA3' | '\\u0EA5' | '\\u0EA7' | '\\u0EAA' .. '\\u0EAB' | '\\u0EAD' .. '\\u0EB0' | '\\u0EB2' .. '\\u0EB3' | '\\u0EBD' | '\\u0EC0' .. '\\u0EC4' | '\\u0EC6' | '\\u0EDC' .. '\\u0EDF' | '\\u0F00' | '\\u0F40' .. '\\u0F47' | '\\u0F49' .. '\\u0F6C' | '\\u0F88' .. '\\u0F8C' | '\\u1000' .. '\\u102A' | '\\u103F' | '\\u1050' .. '\\u1055' | '\\u105A' .. '\\u105D' | '\\u1061' | '\\u1065' .. '\\u1066' | '\\u106E' .. '\\u1070' | '\\u1075' .. '\\u1081' | '\\u108E' | '\\u10A0' .. '\\u10C5' | '\\u10C7' | '\\u10CD' | '\\u10D0' .. '\\u10FA' | '\\u10FC' .. '\\u1248' | '\\u124A' .. '\\u124D' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125A' .. '\\u125D' | '\\u1260' .. '\\u1288' | '\\u128A' .. '\\u128D' | '\\u1290' .. '\\u12B0' | '\\u12B2' .. '\\u12B5' | '\\u12B8' .. '\\u12BE' | '\\u12C0' | '\\u12C2' .. '\\u12C5' | '\\u12C8' .. '\\u12D6' | '\\u12D8' .. '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u135A' | '\\u1380' .. '\\u138F' | '\\u13A0' .. '\\u13F5' | '\\u13F8' .. '\\u13FD' | '\\u1401' .. '\\u166C' | '\\u166F' .. '\\u167F' | '\\u1681' .. '\\u169A' | '\\u16A0' .. '\\u16EA' | '\\u16EE' .. '\\u16F8' | '\\u1700' .. '\\u170C' | '\\u170E' .. '\\u1711' | '\\u1720' .. '\\u1731' | '\\u1740' .. '\\u1751' | '\\u1760' .. '\\u176C' | '\\u176E' .. '\\u1770' | '\\u1780' .. '\\u17B3' | '\\u17D7' | '\\u17DC' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18A8' | '\\u18AA' | '\\u18B0' .. '\\u18F5' | '\\u1900' .. '\\u191E' | '\\u1950' .. '\\u196D' | '\\u1970' .. '\\u1974' | '\\u1980' .. '\\u19AB' | '\\u19B0' .. '\\u19C9' | '\\u1A00' .. '\\u1A16' | '\\u1A20' .. '\\u1A54' | '\\u1AA7' | '\\u1B05' .. '\\u1B33' | '\\u1B45' .. '\\u1B4B' | '\\u1B83' .. '\\u1BA0' | '\\u1BAE' .. '\\u1BAF' | '\\u1BBA' .. '\\u1BE5' | '\\u1C00' .. '\\u1C23' | '\\u1C4D' .. '\\u1C4F' | '\\u1C5A' .. '\\u1C7D' | '\\u1CE9' .. '\\u1CEC' | '\\u1CEE' .. '\\u1CF1' | '\\u1CF5' .. '\\u1CF6' | '\\u1D00' .. '\\u1DBF' | '\\u1E00' .. '\\u1F15' | '\\u1F18' .. '\\u1F1D' | '\\u1F20' .. '\\u1F45' | '\\u1F48' .. '\\u1F4D' | '\\u1F50' .. '\\u1F57' | '\\u1F59' | '\\u1F5B' | '\\u1F5D' | '\\u1F5F' .. '\\u1F7D' | '\\u1F80' .. '\\u1FB4' | '\\u1FB6' .. '\\u1FBC' | '\\u1FBE' | '\\u1FC2' .. '\\u1FC4' | '\\u1FC6' .. '\\u1FCC' | '\\u1FD0' .. '\\u1FD3' | '\\u1FD6' .. '\\u1FDB' | '\\u1FE0' .. '\\u1FEC' | '\\u1FF2' .. '\\u1FF4' | '\\u1FF6' .. '\\u1FFC' | '\\u2071' | '\\u207F' | '\\u2090' .. '\\u209C' | '\\u2102' | '\\u2107' | '\\u210A' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211D' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212A' .. '\\u212D' | '\\u212F' .. '\\u2139' | '\\u213C' .. '\\u213F' | '\\u2145' .. '\\u2149' | '\\u214E' | '\\u2160' .. '\\u2188' | '\\u2C00' .. '\\u2C2E' | '\\u2C30' .. '\\u2C5E' | '\\u2C60' .. '\\u2CE4' | '\\u2CEB' .. '\\u2CEE' | '\\u2CF2' .. '\\u2CF3' | '\\u2D00' .. '\\u2D25' | '\\u2D27' | '\\u2D2D' | '\\u2D30' .. '\\u2D67' | '\\u2D6F' | '\\u2D80' .. '\\u2D96' | '\\u2DA0' .. '\\u2DA6' | '\\u2DA8' .. '\\u2DAE' | '\\u2DB0' .. '\\u2DB6' | '\\u2DB8' .. '\\u2DBE' | '\\u2DC0' .. '\\u2DC6' | '\\u2DC8' .. '\\u2DCE' | '\\u2DD0' .. '\\u2DD6' | '\\u2DD8' .. '\\u2DDE' | '\\u2E2F' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u3029' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303C' | '\\u3041' .. '\\u3096' | '\\u309D' .. '\\u309F' | '\\u30A1' .. '\\u30FA' | '\\u30FC' .. '\\u30FF' | '\\u3105' .. '\\u312D' | '\\u3131' .. '\\u318E' | '\\u31A0' .. '\\u31BA' | '\\u31F0' .. '\\u31FF' | '\\u3400' .. '\\u4DB5' | '\\u4E00' .. '\\u9FD5' | '\\uA000' .. '\\uA48C' | '\\uA4D0' .. '\\uA4FD' | '\\uA500' .. '\\uA60C' | '\\uA610' .. '\\uA61F' | '\\uA62A' .. '\\uA62B' | '\\uA640' .. '\\uA66E' | '\\uA67F' .. '\\uA69D' | '\\uA6A0' .. '\\uA6EF' | '\\uA717' .. '\\uA71F' | '\\uA722' .. '\\uA788' | '\\uA78B' .. '\\uA7AD' | '\\uA7B0' .. '\\uA7B7' | '\\uA7F7' .. '\\uA801' | '\\uA803' .. '\\uA805' | '\\uA807' .. '\\uA80A' | '\\uA80C' .. '\\uA822' | '\\uA840' .. '\\uA873' | '\\uA882' .. '\\uA8B3' | '\\uA8F2' .. '\\uA8F7' | '\\uA8FB' | '\\uA8FD' | '\\uA90A' .. '\\uA925' | '\\uA930' .. '\\uA946' | '\\uA960' .. '\\uA97C' | '\\uA984' .. '\\uA9B2' | '\\uA9CF' | '\\uA9E0' .. '\\uA9E4' | '\\uA9E6' .. '\\uA9EF' | '\\uA9FA' .. '\\uA9FE' | '\\uAA00' .. '\\uAA28' | '\\uAA40' .. '\\uAA42' | '\\uAA44' .. '\\uAA4B' | '\\uAA60' .. '\\uAA76' | '\\uAA7A' | '\\uAA7E' .. '\\uAAAF' | '\\uAAB1' | '\\uAAB5' .. '\\uAAB6' | '\\uAAB9' .. '\\uAABD' | '\\uAAC0' | '\\uAAC2' | '\\uAADB' .. '\\uAADD' | '\\uAAE0' .. '\\uAAEA' | '\\uAAF2' .. '\\uAAF4' | '\\uAB01' .. '\\uAB06' | '\\uAB09' .. '\\uAB0E' | '\\uAB11' .. '\\uAB16' | '\\uAB20' .. '\\uAB26' | '\\uAB28' .. '\\uAB2E' | '\\uAB30' .. '\\uAB5A' | '\\uAB5C' .. '\\uAB65' | '\\uAB70' .. '\\uABE2' | '\\uAC00' .. '\\uD7A3' | '\\uD7B0' .. '\\uD7C6' | '\\uD7CB' .. '\\uD7FB' | '\\uF900' .. '\\uFA6D' | '\\uFA70' .. '\\uFAD9' | '\\uFB00' .. '\\uFB06' | '\\uFB13' .. '\\uFB17' | '\\uFB1D' | '\\uFB1F' .. '\\uFB28' | '\\uFB2A' .. '\\uFB36' | '\\uFB38' .. '\\uFB3C' | '\\uFB3E' | '\\uFB40' .. '\\uFB41' | '\\uFB43' .. '\\uFB44' | '\\uFB46' .. '\\uFBB1' | '\\uFBD3' .. '\\uFD3D' | '\\uFD50' .. '\\uFD8F' | '\\uFD92' .. '\\uFDC7' | '\\uFDF0' .. '\\uFDFB' | '\\uFE70' .. '\\uFE74' | '\\uFE76' .. '\\uFEFC' | '\\uFF21' .. '\\uFF3A' | '\\uFF41' .. '\\uFF5A' | '\\uFF66' .. '\\uFFBE' | '\\uFFC2' .. '\\uFFC7' | '\\uFFCA' .. '\\uFFCF' | '\\uFFD2' .. '\\uFFD7' | '\\uFFDA' .. '\\uFFDC' ) { if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00B5'||input.LA(1)=='\u00BA'||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u02C1')||(input.LA(1)>='\u02C6' && input.LA(1)<='\u02D1')||(input.LA(1)>='\u02E0' && input.LA(1)<='\u02E4')||input.LA(1)=='\u02EC'||input.LA(1)=='\u02EE'||(input.LA(1)>='\u0370' && input.LA(1)<='\u0374')||(input.LA(1)>='\u0376' && input.LA(1)<='\u0377')||(input.LA(1)>='\u037A' && input.LA(1)<='\u037D')||input.LA(1)=='\u037F'||input.LA(1)=='\u0386'||(input.LA(1)>='\u0388' && input.LA(1)<='\u038A')||input.LA(1)=='\u038C'||(input.LA(1)>='\u038E' && input.LA(1)<='\u03A1')||(input.LA(1)>='\u03A3' && input.LA(1)<='\u03F5')||(input.LA(1)>='\u03F7' && input.LA(1)<='\u0481')||(input.LA(1)>='\u048A' && input.LA(1)<='\u052F')||(input.LA(1)>='\u0531' && input.LA(1)<='\u0556')||input.LA(1)=='\u0559'||(input.LA(1)>='\u0561' && input.LA(1)<='\u0587')||(input.LA(1)>='\u05D0' && input.LA(1)<='\u05EA')||(input.LA(1)>='\u05F0' && input.LA(1)<='\u05F2')||(input.LA(1)>='\u0620' && input.LA(1)<='\u064A')||(input.LA(1)>='\u066E' && input.LA(1)<='\u066F')||(input.LA(1)>='\u0671' && input.LA(1)<='\u06D3')||input.LA(1)=='\u06D5'||(input.LA(1)>='\u06E5' && input.LA(1)<='\u06E6')||(input.LA(1)>='\u06EE' && input.LA(1)<='\u06EF')||(input.LA(1)>='\u06FA' && input.LA(1)<='\u06FC')||input.LA(1)=='\u06FF'||input.LA(1)=='\u0710'||(input.LA(1)>='\u0712' && input.LA(1)<='\u072F')||(input.LA(1)>='\u074D' && input.LA(1)<='\u07A5')||input.LA(1)=='\u07B1'||(input.LA(1)>='\u07CA' && input.LA(1)<='\u07EA')||(input.LA(1)>='\u07F4' && input.LA(1)<='\u07F5')||input.LA(1)=='\u07FA'||(input.LA(1)>='\u0800' && input.LA(1)<='\u0815')||input.LA(1)=='\u081A'||input.LA(1)=='\u0824'||input.LA(1)=='\u0828'||(input.LA(1)>='\u0840' && input.LA(1)<='\u0858')||(input.LA(1)>='\u08A0' && input.LA(1)<='\u08B4')||(input.LA(1)>='\u0904' && input.LA(1)<='\u0939')||input.LA(1)=='\u093D'||input.LA(1)=='\u0950'||(input.LA(1)>='\u0958' && input.LA(1)<='\u0961')||(input.LA(1)>='\u0971' && input.LA(1)<='\u0980')||(input.LA(1)>='\u0985' && input.LA(1)<='\u098C')||(input.LA(1)>='\u098F' && input.LA(1)<='\u0990')||(input.LA(1)>='\u0993' && input.LA(1)<='\u09A8')||(input.LA(1)>='\u09AA' && input.LA(1)<='\u09B0')||input.LA(1)=='\u09B2'||(input.LA(1)>='\u09B6' && input.LA(1)<='\u09B9')||input.LA(1)=='\u09BD'||input.LA(1)=='\u09CE'||(input.LA(1)>='\u09DC' && input.LA(1)<='\u09DD')||(input.LA(1)>='\u09DF' && input.LA(1)<='\u09E1')||(input.LA(1)>='\u09F0' && input.LA(1)<='\u09F1')||(input.LA(1)>='\u0A05' && input.LA(1)<='\u0A0A')||(input.LA(1)>='\u0A0F' && input.LA(1)<='\u0A10')||(input.LA(1)>='\u0A13' && input.LA(1)<='\u0A28')||(input.LA(1)>='\u0A2A' && input.LA(1)<='\u0A30')||(input.LA(1)>='\u0A32' && input.LA(1)<='\u0A33')||(input.LA(1)>='\u0A35' && input.LA(1)<='\u0A36')||(input.LA(1)>='\u0A38' && input.LA(1)<='\u0A39')||(input.LA(1)>='\u0A59' && input.LA(1)<='\u0A5C')||input.LA(1)=='\u0A5E'||(input.LA(1)>='\u0A72' && input.LA(1)<='\u0A74')||(input.LA(1)>='\u0A85' && input.LA(1)<='\u0A8D')||(input.LA(1)>='\u0A8F' && input.LA(1)<='\u0A91')||(input.LA(1)>='\u0A93' && input.LA(1)<='\u0AA8')||(input.LA(1)>='\u0AAA' && input.LA(1)<='\u0AB0')||(input.LA(1)>='\u0AB2' && input.LA(1)<='\u0AB3')||(input.LA(1)>='\u0AB5' && input.LA(1)<='\u0AB9')||input.LA(1)=='\u0ABD'||input.LA(1)=='\u0AD0'||(input.LA(1)>='\u0AE0' && input.LA(1)<='\u0AE1')||input.LA(1)=='\u0AF9'||(input.LA(1)>='\u0B05' && input.LA(1)<='\u0B0C')||(input.LA(1)>='\u0B0F' && input.LA(1)<='\u0B10')||(input.LA(1)>='\u0B13' && input.LA(1)<='\u0B28')||(input.LA(1)>='\u0B2A' && input.LA(1)<='\u0B30')||(input.LA(1)>='\u0B32' && input.LA(1)<='\u0B33')||(input.LA(1)>='\u0B35' && input.LA(1)<='\u0B39')||input.LA(1)=='\u0B3D'||(input.LA(1)>='\u0B5C' && input.LA(1)<='\u0B5D')||(input.LA(1)>='\u0B5F' && input.LA(1)<='\u0B61')||input.LA(1)=='\u0B71'||input.LA(1)=='\u0B83'||(input.LA(1)>='\u0B85' && input.LA(1)<='\u0B8A')||(input.LA(1)>='\u0B8E' && input.LA(1)<='\u0B90')||(input.LA(1)>='\u0B92' && input.LA(1)<='\u0B95')||(input.LA(1)>='\u0B99' && input.LA(1)<='\u0B9A')||input.LA(1)=='\u0B9C'||(input.LA(1)>='\u0B9E' && input.LA(1)<='\u0B9F')||(input.LA(1)>='\u0BA3' && input.LA(1)<='\u0BA4')||(input.LA(1)>='\u0BA8' && input.LA(1)<='\u0BAA')||(input.LA(1)>='\u0BAE' && input.LA(1)<='\u0BB9')||input.LA(1)=='\u0BD0'||(input.LA(1)>='\u0C05' && input.LA(1)<='\u0C0C')||(input.LA(1)>='\u0C0E' && input.LA(1)<='\u0C10')||(input.LA(1)>='\u0C12' && input.LA(1)<='\u0C28')||(input.LA(1)>='\u0C2A' && input.LA(1)<='\u0C39')||input.LA(1)=='\u0C3D'||(input.LA(1)>='\u0C58' && input.LA(1)<='\u0C5A')||(input.LA(1)>='\u0C60' && input.LA(1)<='\u0C61')||(input.LA(1)>='\u0C85' && input.LA(1)<='\u0C8C')||(input.LA(1)>='\u0C8E' && input.LA(1)<='\u0C90')||(input.LA(1)>='\u0C92' && input.LA(1)<='\u0CA8')||(input.LA(1)>='\u0CAA' && input.LA(1)<='\u0CB3')||(input.LA(1)>='\u0CB5' && input.LA(1)<='\u0CB9')||input.LA(1)=='\u0CBD'||input.LA(1)=='\u0CDE'||(input.LA(1)>='\u0CE0' && input.LA(1)<='\u0CE1')||(input.LA(1)>='\u0CF1' && input.LA(1)<='\u0CF2')||(input.LA(1)>='\u0D05' && input.LA(1)<='\u0D0C')||(input.LA(1)>='\u0D0E' && input.LA(1)<='\u0D10')||(input.LA(1)>='\u0D12' && input.LA(1)<='\u0D3A')||input.LA(1)=='\u0D3D'||input.LA(1)=='\u0D4E'||(input.LA(1)>='\u0D5F' && input.LA(1)<='\u0D61')||(input.LA(1)>='\u0D7A' && input.LA(1)<='\u0D7F')||(input.LA(1)>='\u0D85' && input.LA(1)<='\u0D96')||(input.LA(1)>='\u0D9A' && input.LA(1)<='\u0DB1')||(input.LA(1)>='\u0DB3' && input.LA(1)<='\u0DBB')||input.LA(1)=='\u0DBD'||(input.LA(1)>='\u0DC0' && input.LA(1)<='\u0DC6')||(input.LA(1)>='\u0E01' && input.LA(1)<='\u0E30')||(input.LA(1)>='\u0E32' && input.LA(1)<='\u0E33')||(input.LA(1)>='\u0E40' && input.LA(1)<='\u0E46')||(input.LA(1)>='\u0E81' && input.LA(1)<='\u0E82')||input.LA(1)=='\u0E84'||(input.LA(1)>='\u0E87' && input.LA(1)<='\u0E88')||input.LA(1)=='\u0E8A'||input.LA(1)=='\u0E8D'||(input.LA(1)>='\u0E94' && input.LA(1)<='\u0E97')||(input.LA(1)>='\u0E99' && input.LA(1)<='\u0E9F')||(input.LA(1)>='\u0EA1' && input.LA(1)<='\u0EA3')||input.LA(1)=='\u0EA5'||input.LA(1)=='\u0EA7'||(input.LA(1)>='\u0EAA' && input.LA(1)<='\u0EAB')||(input.LA(1)>='\u0EAD' && input.LA(1)<='\u0EB0')||(input.LA(1)>='\u0EB2' && input.LA(1)<='\u0EB3')||input.LA(1)=='\u0EBD'||(input.LA(1)>='\u0EC0' && input.LA(1)<='\u0EC4')||input.LA(1)=='\u0EC6'||(input.LA(1)>='\u0EDC' && input.LA(1)<='\u0EDF')||input.LA(1)=='\u0F00'||(input.LA(1)>='\u0F40' && input.LA(1)<='\u0F47')||(input.LA(1)>='\u0F49' && input.LA(1)<='\u0F6C')||(input.LA(1)>='\u0F88' && input.LA(1)<='\u0F8C')||(input.LA(1)>='\u1000' && input.LA(1)<='\u102A')||input.LA(1)=='\u103F'||(input.LA(1)>='\u1050' && input.LA(1)<='\u1055')||(input.LA(1)>='\u105A' && input.LA(1)<='\u105D')||input.LA(1)=='\u1061'||(input.LA(1)>='\u1065' && input.LA(1)<='\u1066')||(input.LA(1)>='\u106E' && input.LA(1)<='\u1070')||(input.LA(1)>='\u1075' && input.LA(1)<='\u1081')||input.LA(1)=='\u108E'||(input.LA(1)>='\u10A0' && input.LA(1)<='\u10C5')||input.LA(1)=='\u10C7'||input.LA(1)=='\u10CD'||(input.LA(1)>='\u10D0' && input.LA(1)<='\u10FA')||(input.LA(1)>='\u10FC' && input.LA(1)<='\u1248')||(input.LA(1)>='\u124A' && input.LA(1)<='\u124D')||(input.LA(1)>='\u1250' && input.LA(1)<='\u1256')||input.LA(1)=='\u1258'||(input.LA(1)>='\u125A' && input.LA(1)<='\u125D')||(input.LA(1)>='\u1260' && input.LA(1)<='\u1288')||(input.LA(1)>='\u128A' && input.LA(1)<='\u128D')||(input.LA(1)>='\u1290' && input.LA(1)<='\u12B0')||(input.LA(1)>='\u12B2' && input.LA(1)<='\u12B5')||(input.LA(1)>='\u12B8' && input.LA(1)<='\u12BE')||input.LA(1)=='\u12C0'||(input.LA(1)>='\u12C2' && input.LA(1)<='\u12C5')||(input.LA(1)>='\u12C8' && input.LA(1)<='\u12D6')||(input.LA(1)>='\u12D8' && input.LA(1)<='\u1310')||(input.LA(1)>='\u1312' && input.LA(1)<='\u1315')||(input.LA(1)>='\u1318' && input.LA(1)<='\u135A')||(input.LA(1)>='\u1380' && input.LA(1)<='\u138F')||(input.LA(1)>='\u13A0' && input.LA(1)<='\u13F5')||(input.LA(1)>='\u13F8' && input.LA(1)<='\u13FD')||(input.LA(1)>='\u1401' && input.LA(1)<='\u166C')||(input.LA(1)>='\u166F' && input.LA(1)<='\u167F')||(input.LA(1)>='\u1681' && input.LA(1)<='\u169A')||(input.LA(1)>='\u16A0' && input.LA(1)<='\u16EA')||(input.LA(1)>='\u16EE' && input.LA(1)<='\u16F8')||(input.LA(1)>='\u1700' && input.LA(1)<='\u170C')||(input.LA(1)>='\u170E' && input.LA(1)<='\u1711')||(input.LA(1)>='\u1720' && input.LA(1)<='\u1731')||(input.LA(1)>='\u1740' && input.LA(1)<='\u1751')||(input.LA(1)>='\u1760' && input.LA(1)<='\u176C')||(input.LA(1)>='\u176E' && input.LA(1)<='\u1770')||(input.LA(1)>='\u1780' && input.LA(1)<='\u17B3')||input.LA(1)=='\u17D7'||input.LA(1)=='\u17DC'||(input.LA(1)>='\u1820' && input.LA(1)<='\u1877')||(input.LA(1)>='\u1880' && input.LA(1)<='\u18A8')||input.LA(1)=='\u18AA'||(input.LA(1)>='\u18B0' && input.LA(1)<='\u18F5')||(input.LA(1)>='\u1900' && input.LA(1)<='\u191E')||(input.LA(1)>='\u1950' && input.LA(1)<='\u196D')||(input.LA(1)>='\u1970' && input.LA(1)<='\u1974')||(input.LA(1)>='\u1980' && input.LA(1)<='\u19AB')||(input.LA(1)>='\u19B0' && input.LA(1)<='\u19C9')||(input.LA(1)>='\u1A00' && input.LA(1)<='\u1A16')||(input.LA(1)>='\u1A20' && input.LA(1)<='\u1A54')||input.LA(1)=='\u1AA7'||(input.LA(1)>='\u1B05' && input.LA(1)<='\u1B33')||(input.LA(1)>='\u1B45' && input.LA(1)<='\u1B4B')||(input.LA(1)>='\u1B83' && input.LA(1)<='\u1BA0')||(input.LA(1)>='\u1BAE' && input.LA(1)<='\u1BAF')||(input.LA(1)>='\u1BBA' && input.LA(1)<='\u1BE5')||(input.LA(1)>='\u1C00' && input.LA(1)<='\u1C23')||(input.LA(1)>='\u1C4D' && input.LA(1)<='\u1C4F')||(input.LA(1)>='\u1C5A' && input.LA(1)<='\u1C7D')||(input.LA(1)>='\u1CE9' && input.LA(1)<='\u1CEC')||(input.LA(1)>='\u1CEE' && input.LA(1)<='\u1CF1')||(input.LA(1)>='\u1CF5' && input.LA(1)<='\u1CF6')||(input.LA(1)>='\u1D00' && input.LA(1)<='\u1DBF')||(input.LA(1)>='\u1E00' && input.LA(1)<='\u1F15')||(input.LA(1)>='\u1F18' && input.LA(1)<='\u1F1D')||(input.LA(1)>='\u1F20' && input.LA(1)<='\u1F45')||(input.LA(1)>='\u1F48' && input.LA(1)<='\u1F4D')||(input.LA(1)>='\u1F50' && input.LA(1)<='\u1F57')||input.LA(1)=='\u1F59'||input.LA(1)=='\u1F5B'||input.LA(1)=='\u1F5D'||(input.LA(1)>='\u1F5F' && input.LA(1)<='\u1F7D')||(input.LA(1)>='\u1F80' && input.LA(1)<='\u1FB4')||(input.LA(1)>='\u1FB6' && input.LA(1)<='\u1FBC')||input.LA(1)=='\u1FBE'||(input.LA(1)>='\u1FC2' && input.LA(1)<='\u1FC4')||(input.LA(1)>='\u1FC6' && input.LA(1)<='\u1FCC')||(input.LA(1)>='\u1FD0' && input.LA(1)<='\u1FD3')||(input.LA(1)>='\u1FD6' && input.LA(1)<='\u1FDB')||(input.LA(1)>='\u1FE0' && input.LA(1)<='\u1FEC')||(input.LA(1)>='\u1FF2' && input.LA(1)<='\u1FF4')||(input.LA(1)>='\u1FF6' && input.LA(1)<='\u1FFC')||input.LA(1)=='\u2071'||input.LA(1)=='\u207F'||(input.LA(1)>='\u2090' && input.LA(1)<='\u209C')||input.LA(1)=='\u2102'||input.LA(1)=='\u2107'||(input.LA(1)>='\u210A' && input.LA(1)<='\u2113')||input.LA(1)=='\u2115'||(input.LA(1)>='\u2119' && input.LA(1)<='\u211D')||input.LA(1)=='\u2124'||input.LA(1)=='\u2126'||input.LA(1)=='\u2128'||(input.LA(1)>='\u212A' && input.LA(1)<='\u212D')||(input.LA(1)>='\u212F' && input.LA(1)<='\u2139')||(input.LA(1)>='\u213C' && input.LA(1)<='\u213F')||(input.LA(1)>='\u2145' && input.LA(1)<='\u2149')||input.LA(1)=='\u214E'||(input.LA(1)>='\u2160' && input.LA(1)<='\u2188')||(input.LA(1)>='\u2C00' && input.LA(1)<='\u2C2E')||(input.LA(1)>='\u2C30' && input.LA(1)<='\u2C5E')||(input.LA(1)>='\u2C60' && input.LA(1)<='\u2CE4')||(input.LA(1)>='\u2CEB' && input.LA(1)<='\u2CEE')||(input.LA(1)>='\u2CF2' && input.LA(1)<='\u2CF3')||(input.LA(1)>='\u2D00' && input.LA(1)<='\u2D25')||input.LA(1)=='\u2D27'||input.LA(1)=='\u2D2D'||(input.LA(1)>='\u2D30' && input.LA(1)<='\u2D67')||input.LA(1)=='\u2D6F'||(input.LA(1)>='\u2D80' && input.LA(1)<='\u2D96')||(input.LA(1)>='\u2DA0' && input.LA(1)<='\u2DA6')||(input.LA(1)>='\u2DA8' && input.LA(1)<='\u2DAE')||(input.LA(1)>='\u2DB0' && input.LA(1)<='\u2DB6')||(input.LA(1)>='\u2DB8' && input.LA(1)<='\u2DBE')||(input.LA(1)>='\u2DC0' && input.LA(1)<='\u2DC6')||(input.LA(1)>='\u2DC8' && input.LA(1)<='\u2DCE')||(input.LA(1)>='\u2DD0' && input.LA(1)<='\u2DD6')||(input.LA(1)>='\u2DD8' && input.LA(1)<='\u2DDE')||input.LA(1)=='\u2E2F'||(input.LA(1)>='\u3005' && input.LA(1)<='\u3007')||(input.LA(1)>='\u3021' && input.LA(1)<='\u3029')||(input.LA(1)>='\u3031' && input.LA(1)<='\u3035')||(input.LA(1)>='\u3038' && input.LA(1)<='\u303C')||(input.LA(1)>='\u3041' && input.LA(1)<='\u3096')||(input.LA(1)>='\u309D' && input.LA(1)<='\u309F')||(input.LA(1)>='\u30A1' && input.LA(1)<='\u30FA')||(input.LA(1)>='\u30FC' && input.LA(1)<='\u30FF')||(input.LA(1)>='\u3105' && input.LA(1)<='\u312D')||(input.LA(1)>='\u3131' && input.LA(1)<='\u318E')||(input.LA(1)>='\u31A0' && input.LA(1)<='\u31BA')||(input.LA(1)>='\u31F0' && input.LA(1)<='\u31FF')||(input.LA(1)>='\u3400' && input.LA(1)<='\u4DB5')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FD5')||(input.LA(1)>='\uA000' && input.LA(1)<='\uA48C')||(input.LA(1)>='\uA4D0' && input.LA(1)<='\uA4FD')||(input.LA(1)>='\uA500' && input.LA(1)<='\uA60C')||(input.LA(1)>='\uA610' && input.LA(1)<='\uA61F')||(input.LA(1)>='\uA62A' && input.LA(1)<='\uA62B')||(input.LA(1)>='\uA640' && input.LA(1)<='\uA66E')||(input.LA(1)>='\uA67F' && input.LA(1)<='\uA69D')||(input.LA(1)>='\uA6A0' && input.LA(1)<='\uA6EF')||(input.LA(1)>='\uA717' && input.LA(1)<='\uA71F')||(input.LA(1)>='\uA722' && input.LA(1)<='\uA788')||(input.LA(1)>='\uA78B' && input.LA(1)<='\uA7AD')||(input.LA(1)>='\uA7B0' && input.LA(1)<='\uA7B7')||(input.LA(1)>='\uA7F7' && input.LA(1)<='\uA801')||(input.LA(1)>='\uA803' && input.LA(1)<='\uA805')||(input.LA(1)>='\uA807' && input.LA(1)<='\uA80A')||(input.LA(1)>='\uA80C' && input.LA(1)<='\uA822')||(input.LA(1)>='\uA840' && input.LA(1)<='\uA873')||(input.LA(1)>='\uA882' && input.LA(1)<='\uA8B3')||(input.LA(1)>='\uA8F2' && input.LA(1)<='\uA8F7')||input.LA(1)=='\uA8FB'||input.LA(1)=='\uA8FD'||(input.LA(1)>='\uA90A' && input.LA(1)<='\uA925')||(input.LA(1)>='\uA930' && input.LA(1)<='\uA946')||(input.LA(1)>='\uA960' && input.LA(1)<='\uA97C')||(input.LA(1)>='\uA984' && input.LA(1)<='\uA9B2')||input.LA(1)=='\uA9CF'||(input.LA(1)>='\uA9E0' && input.LA(1)<='\uA9E4')||(input.LA(1)>='\uA9E6' && input.LA(1)<='\uA9EF')||(input.LA(1)>='\uA9FA' && input.LA(1)<='\uA9FE')||(input.LA(1)>='\uAA00' && input.LA(1)<='\uAA28')||(input.LA(1)>='\uAA40' && input.LA(1)<='\uAA42')||(input.LA(1)>='\uAA44' && input.LA(1)<='\uAA4B')||(input.LA(1)>='\uAA60' && input.LA(1)<='\uAA76')||input.LA(1)=='\uAA7A'||(input.LA(1)>='\uAA7E' && input.LA(1)<='\uAAAF')||input.LA(1)=='\uAAB1'||(input.LA(1)>='\uAAB5' && input.LA(1)<='\uAAB6')||(input.LA(1)>='\uAAB9' && input.LA(1)<='\uAABD')||input.LA(1)=='\uAAC0'||input.LA(1)=='\uAAC2'||(input.LA(1)>='\uAADB' && input.LA(1)<='\uAADD')||(input.LA(1)>='\uAAE0' && input.LA(1)<='\uAAEA')||(input.LA(1)>='\uAAF2' && input.LA(1)<='\uAAF4')||(input.LA(1)>='\uAB01' && input.LA(1)<='\uAB06')||(input.LA(1)>='\uAB09' && input.LA(1)<='\uAB0E')||(input.LA(1)>='\uAB11' && input.LA(1)<='\uAB16')||(input.LA(1)>='\uAB20' && input.LA(1)<='\uAB26')||(input.LA(1)>='\uAB28' && input.LA(1)<='\uAB2E')||(input.LA(1)>='\uAB30' && input.LA(1)<='\uAB5A')||(input.LA(1)>='\uAB5C' && input.LA(1)<='\uAB65')||(input.LA(1)>='\uAB70' && input.LA(1)<='\uABE2')||(input.LA(1)>='\uAC00' && input.LA(1)<='\uD7A3')||(input.LA(1)>='\uD7B0' && input.LA(1)<='\uD7C6')||(input.LA(1)>='\uD7CB' && input.LA(1)<='\uD7FB')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFA6D')||(input.LA(1)>='\uFA70' && input.LA(1)<='\uFAD9')||(input.LA(1)>='\uFB00' && input.LA(1)<='\uFB06')||(input.LA(1)>='\uFB13' && input.LA(1)<='\uFB17')||input.LA(1)=='\uFB1D'||(input.LA(1)>='\uFB1F' && input.LA(1)<='\uFB28')||(input.LA(1)>='\uFB2A' && input.LA(1)<='\uFB36')||(input.LA(1)>='\uFB38' && input.LA(1)<='\uFB3C')||input.LA(1)=='\uFB3E'||(input.LA(1)>='\uFB40' && input.LA(1)<='\uFB41')||(input.LA(1)>='\uFB43' && input.LA(1)<='\uFB44')||(input.LA(1)>='\uFB46' && input.LA(1)<='\uFBB1')||(input.LA(1)>='\uFBD3' && input.LA(1)<='\uFD3D')||(input.LA(1)>='\uFD50' && input.LA(1)<='\uFD8F')||(input.LA(1)>='\uFD92' && input.LA(1)<='\uFDC7')||(input.LA(1)>='\uFDF0' && input.LA(1)<='\uFDFB')||(input.LA(1)>='\uFE70' && input.LA(1)<='\uFE74')||(input.LA(1)>='\uFE76' && input.LA(1)<='\uFEFC')||(input.LA(1)>='\uFF21' && input.LA(1)<='\uFF3A')||(input.LA(1)>='\uFF41' && input.LA(1)<='\uFF5A')||(input.LA(1)>='\uFF66' && input.LA(1)<='\uFFBE')||(input.LA(1)>='\uFFC2' && input.LA(1)<='\uFFC7')||(input.LA(1)>='\uFFCA' && input.LA(1)<='\uFFCF')||(input.LA(1)>='\uFFD2' && input.LA(1)<='\uFFD7')||(input.LA(1)>='\uFFDA' && input.LA(1)<='\uFFDC') ) { input.consume(); @@ -1325,8 +1499,8 @@ public final void mRULE_UNICODE_LETTER_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT" public final void mRULE_UNICODE_SPACE_SEPARATOR_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:4747:48: ( ( ' ' | '\\u00A0' | '\\u1680' | '\\u2000' .. '\\u200A' | '\\u202F' | '\\u205F' | '\\u3000' ) ) - // InternalSemver.g:4747:50: ( ' ' | '\\u00A0' | '\\u1680' | '\\u2000' .. '\\u200A' | '\\u202F' | '\\u205F' | '\\u3000' ) + // InternalSemver.g:5263:48: ( ( ' ' | '\\u00A0' | '\\u1680' | '\\u2000' .. '\\u200A' | '\\u202F' | '\\u205F' | '\\u3000' ) ) + // InternalSemver.g:5263:50: ( ' ' | '\\u00A0' | '\\u1680' | '\\u2000' .. '\\u200A' | '\\u202F' | '\\u205F' | '\\u3000' ) { if ( input.LA(1)==' '||input.LA(1)=='\u00A0'||input.LA(1)=='\u1680'||(input.LA(1)>='\u2000' && input.LA(1)<='\u200A')||input.LA(1)=='\u202F'||input.LA(1)=='\u205F'||input.LA(1)=='\u3000' ) { input.consume(); @@ -1349,8 +1523,8 @@ public final void mRULE_UNICODE_SPACE_SEPARATOR_FRAGMENT() throws RecognitionExc // $ANTLR start "RULE_ANY_OTHER" public final void mRULE_ANY_OTHER() throws RecognitionException { try { - // InternalSemver.g:4749:25: ( . ) - // InternalSemver.g:4749:27: . + // InternalSemver.g:5265:25: ( . ) + // InternalSemver.g:5265:27: . { matchAny(); @@ -1363,140 +1537,140 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalSemver.g:1:8: ( T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | RULE_LETTER_S | RULE_LETTER_M | RULE_LETTER_R | RULE_LETTER_F | RULE_LETTER_I | RULE_LETTER_L | RULE_LETTER_E | RULE_LETTER_V | RULE_LETTER_X | RULE_LETTER_OTHER | RULE_ASTERIX | RULE_DIGITS | RULE_WS | RULE_EOL ) - int alt9=30; + // InternalSemver.g:1:8: ( T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | RULE_LETTER_A | RULE_LETTER_C | RULE_LETTER_E | RULE_LETTER_F | RULE_LETTER_I | RULE_LETTER_K | RULE_LETTER_L | RULE_LETTER_M | RULE_LETTER_O | RULE_LETTER_P | RULE_LETTER_R | RULE_LETTER_S | RULE_LETTER_V | RULE_LETTER_W | RULE_LETTER_X | RULE_LETTER_OTHER | RULE_ASTERIX | RULE_DIGITS | RULE_WS | RULE_EOL ) + int alt9=36; alt9 = dfa9.predict(input); switch (alt9) { case 1 : - // InternalSemver.g:1:10: T__35 + // InternalSemver.g:1:10: T__41 { - mT__35(); + mT__41(); } break; case 2 : - // InternalSemver.g:1:16: T__36 + // InternalSemver.g:1:16: T__42 { - mT__36(); + mT__42(); } break; case 3 : - // InternalSemver.g:1:22: T__37 + // InternalSemver.g:1:22: T__43 { - mT__37(); + mT__43(); } break; case 4 : - // InternalSemver.g:1:28: T__38 + // InternalSemver.g:1:28: T__44 { - mT__38(); + mT__44(); } break; case 5 : - // InternalSemver.g:1:34: T__39 + // InternalSemver.g:1:34: T__45 { - mT__39(); + mT__45(); } break; case 6 : - // InternalSemver.g:1:40: T__40 + // InternalSemver.g:1:40: T__46 { - mT__40(); + mT__46(); } break; case 7 : - // InternalSemver.g:1:46: T__41 + // InternalSemver.g:1:46: T__47 { - mT__41(); + mT__47(); } break; case 8 : - // InternalSemver.g:1:52: T__42 + // InternalSemver.g:1:52: T__48 { - mT__42(); + mT__48(); } break; case 9 : - // InternalSemver.g:1:58: T__43 + // InternalSemver.g:1:58: T__49 { - mT__43(); + mT__49(); } break; case 10 : - // InternalSemver.g:1:64: T__44 + // InternalSemver.g:1:64: T__50 { - mT__44(); + mT__50(); } break; case 11 : - // InternalSemver.g:1:70: T__45 + // InternalSemver.g:1:70: T__51 { - mT__45(); + mT__51(); } break; case 12 : - // InternalSemver.g:1:76: T__46 + // InternalSemver.g:1:76: T__52 { - mT__46(); + mT__52(); } break; case 13 : - // InternalSemver.g:1:82: T__47 + // InternalSemver.g:1:82: T__53 { - mT__47(); + mT__53(); } break; case 14 : - // InternalSemver.g:1:88: T__48 + // InternalSemver.g:1:88: T__54 { - mT__48(); + mT__54(); } break; case 15 : - // InternalSemver.g:1:94: T__49 + // InternalSemver.g:1:94: T__55 { - mT__49(); + mT__55(); } break; case 16 : - // InternalSemver.g:1:100: T__50 + // InternalSemver.g:1:100: T__56 { - mT__50(); + mT__56(); } break; case 17 : - // InternalSemver.g:1:106: RULE_LETTER_S + // InternalSemver.g:1:106: RULE_LETTER_A { - mRULE_LETTER_S(); + mRULE_LETTER_A(); } break; case 18 : - // InternalSemver.g:1:120: RULE_LETTER_M + // InternalSemver.g:1:120: RULE_LETTER_C { - mRULE_LETTER_M(); + mRULE_LETTER_C(); } break; case 19 : - // InternalSemver.g:1:134: RULE_LETTER_R + // InternalSemver.g:1:134: RULE_LETTER_E { - mRULE_LETTER_R(); + mRULE_LETTER_E(); } break; @@ -1515,63 +1689,105 @@ public void mTokens() throws RecognitionException { } break; case 22 : - // InternalSemver.g:1:176: RULE_LETTER_L + // InternalSemver.g:1:176: RULE_LETTER_K { - mRULE_LETTER_L(); + mRULE_LETTER_K(); } break; case 23 : - // InternalSemver.g:1:190: RULE_LETTER_E + // InternalSemver.g:1:190: RULE_LETTER_L { - mRULE_LETTER_E(); + mRULE_LETTER_L(); } break; case 24 : - // InternalSemver.g:1:204: RULE_LETTER_V + // InternalSemver.g:1:204: RULE_LETTER_M { - mRULE_LETTER_V(); + mRULE_LETTER_M(); } break; case 25 : - // InternalSemver.g:1:218: RULE_LETTER_X + // InternalSemver.g:1:218: RULE_LETTER_O { - mRULE_LETTER_X(); + mRULE_LETTER_O(); } break; case 26 : - // InternalSemver.g:1:232: RULE_LETTER_OTHER + // InternalSemver.g:1:232: RULE_LETTER_P { - mRULE_LETTER_OTHER(); + mRULE_LETTER_P(); } break; case 27 : - // InternalSemver.g:1:250: RULE_ASTERIX + // InternalSemver.g:1:246: RULE_LETTER_R { - mRULE_ASTERIX(); + mRULE_LETTER_R(); } break; case 28 : - // InternalSemver.g:1:263: RULE_DIGITS + // InternalSemver.g:1:260: RULE_LETTER_S { - mRULE_DIGITS(); + mRULE_LETTER_S(); } break; case 29 : - // InternalSemver.g:1:275: RULE_WS + // InternalSemver.g:1:274: RULE_LETTER_V { - mRULE_WS(); + mRULE_LETTER_V(); } break; case 30 : - // InternalSemver.g:1:283: RULE_EOL + // InternalSemver.g:1:288: RULE_LETTER_W + { + mRULE_LETTER_W(); + + } + break; + case 31 : + // InternalSemver.g:1:302: RULE_LETTER_X + { + mRULE_LETTER_X(); + + } + break; + case 32 : + // InternalSemver.g:1:316: RULE_LETTER_OTHER + { + mRULE_LETTER_OTHER(); + + } + break; + case 33 : + // InternalSemver.g:1:334: RULE_ASTERIX + { + mRULE_ASTERIX(); + + } + break; + case 34 : + // InternalSemver.g:1:347: RULE_DIGITS + { + mRULE_DIGITS(); + + } + break; + case 35 : + // InternalSemver.g:1:359: RULE_WS + { + mRULE_WS(); + + } + break; + case 36 : + // InternalSemver.g:1:367: RULE_EOL { mRULE_EOL(); @@ -1585,31 +1801,37 @@ public void mTokens() throws RecognitionException { protected DFA9 dfa9 = new DFA9(this); static final String DFA9_eotS = - "\11\uffff\1\36\2\uffff\1\40\24\uffff"; + "\13\uffff\1\44\1\46\32\uffff"; static final String DFA9_eofS = - "\41\uffff"; + "\47\uffff"; static final String DFA9_minS = - "\1\11\10\uffff\1\75\2\uffff\1\75\24\uffff"; + "\1\11\12\uffff\2\75\32\uffff"; static final String DFA9_maxS = - "\1\ufeff\10\uffff\1\75\2\uffff\1\75\24\uffff"; + "\1\ufeff\12\uffff\2\75\32\uffff"; static final String DFA9_acceptS = - "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\uffff\1\12\1\13\1\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\14\1\11\1\16\1\15"; + "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\2\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\15\1\13\1\16\1\14"; static final String DFA9_specialS = - "\41\uffff}>"; + "\47\uffff}>"; static final String[] DFA9_transitionS = { - "\1\33\1\34\2\33\1\34\22\uffff\1\33\2\uffff\1\15\6\uffff\1\31\1\6\1\uffff\1\4\1\2\1\1\12\32\1\7\1\uffff\1\11\1\10\1\14\1\uffff\1\3\4\30\1\25\1\22\2\30\1\23\2\30\1\24\1\20\4\30\1\21\1\17\2\30\1\26\1\30\1\27\2\30\3\uffff\1\13\1\5\1\uffff\4\30\1\25\1\22\2\30\1\23\2\30\1\24\1\20\4\30\1\21\1\17\2\30\1\26\1\30\1\27\2\30\1\uffff\1\16\1\uffff\1\12\41\uffff\1\33\u15df\uffff\1\33\u097f\uffff\13\33\35\uffff\2\34\5\uffff\1\33\57\uffff\1\33\u0fa0\uffff\1\33\ucefe\uffff\1\33", + "\1\41\1\42\2\41\1\42\22\uffff\1\41\2\uffff\1\15\6\uffff\1\37\1\5\1\uffff\1\7\1\2\1\1\12\40\1\6\1\uffff\1\13\1\10\1\14\1\uffff\1\3\1\17\1\36\1\20\1\36\1\21\1\22\2\36\1\23\1\36\1\24\1\25\1\26\1\36\1\27\1\30\1\36\1\31\1\32\2\36\1\33\1\34\1\35\2\36\3\uffff\1\12\1\4\1\uffff\1\17\1\36\1\20\1\36\1\21\1\22\2\36\1\23\1\36\1\24\1\25\1\26\1\36\1\27\1\30\1\36\1\31\1\32\2\36\1\33\1\34\1\35\2\36\1\uffff\1\16\1\uffff\1\11\41\uffff\1\41\u15df\uffff\1\41\u097f\uffff\13\41\35\uffff\2\42\5\uffff\1\41\57\uffff\1\41\u0fa0\uffff\1\41\ucefe\uffff\1\41", + "", + "", + "", + "", + "", + "", "", "", "", "", + "\1\43", + "\1\45", "", "", "", "", - "\1\35", "", "", - "\1\37", "", "", "", @@ -1662,7 +1884,7 @@ public DFA9(BaseRecognizer recognizer) { this.transition = DFA9_transition; } public String getDescription() { - return "1:1: Tokens : ( T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | RULE_LETTER_S | RULE_LETTER_M | RULE_LETTER_R | RULE_LETTER_F | RULE_LETTER_I | RULE_LETTER_L | RULE_LETTER_E | RULE_LETTER_V | RULE_LETTER_X | RULE_LETTER_OTHER | RULE_ASTERIX | RULE_DIGITS | RULE_WS | RULE_EOL );"; + return "1:1: Tokens : ( T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | RULE_LETTER_A | RULE_LETTER_C | RULE_LETTER_E | RULE_LETTER_F | RULE_LETTER_I | RULE_LETTER_K | RULE_LETTER_L | RULE_LETTER_M | RULE_LETTER_O | RULE_LETTER_P | RULE_LETTER_R | RULE_LETTER_S | RULE_LETTER_V | RULE_LETTER_W | RULE_LETTER_X | RULE_LETTER_OTHER | RULE_ASTERIX | RULE_DIGITS | RULE_WS | RULE_EOL );"; } } diff --git a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemverParser.java b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemverParser.java index 9fe439cb1b..0e03239656 100644 --- a/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemverParser.java +++ b/plugins/org.eclipse.n4js.semver.ide/src-gen/org/eclipse/n4js/semver/ide/contentassist/antlr/internal/InternalSemverParser.java @@ -33,53 +33,59 @@ @SuppressWarnings("all") public class InternalSemverParser extends AbstractInternalContentAssistParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_DIGITS", "RULE_LETTER_X", "RULE_ASTERIX", "RULE_LETTER_V", "RULE_LETTER_S", "RULE_LETTER_M", "RULE_LETTER_R", "RULE_LETTER_F", "RULE_LETTER_I", "RULE_LETTER_L", "RULE_LETTER_E", "RULE_LETTER_OTHER", "RULE_WS", "RULE_WHITESPACE_FRAGMENT", "RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT", "RULE_EOL", "RULE_DECIMAL_DIGIT_FRAGMENT", "RULE_HEX_DIGIT", "RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT", "RULE_ZWJ", "RULE_ZWNJ", "RULE_BOM", "RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT", "RULE_LINE_TERMINATOR_FRAGMENT", "RULE_SL_COMMENT_FRAGMENT", "RULE_ML_COMMENT_FRAGMENT", "RULE_UNICODE_COMBINING_MARK_FRAGMENT", "RULE_UNICODE_DIGIT_FRAGMENT", "RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT", "RULE_UNICODE_LETTER_FRAGMENT", "RULE_ANY_OTHER", "'/'", "'.'", "'@'", "'-'", "'_'", "'+'", "':'", "'='", "'<'", "'~'", "'^'", "'<='", "'>'", "'>='", "'#'", "'||'" + "", "", "", "", "RULE_ASTERIX", "RULE_DIGITS", "RULE_LETTER_X", "RULE_LETTER_V", "RULE_LETTER_A", "RULE_LETTER_C", "RULE_LETTER_E", "RULE_LETTER_F", "RULE_LETTER_I", "RULE_LETTER_K", "RULE_LETTER_L", "RULE_LETTER_M", "RULE_LETTER_O", "RULE_LETTER_P", "RULE_LETTER_R", "RULE_LETTER_S", "RULE_LETTER_W", "RULE_LETTER_OTHER", "RULE_WS", "RULE_WHITESPACE_FRAGMENT", "RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT", "RULE_EOL", "RULE_DECIMAL_DIGIT_FRAGMENT", "RULE_HEX_DIGIT", "RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT", "RULE_ZWJ", "RULE_ZWNJ", "RULE_BOM", "RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT", "RULE_LINE_TERMINATOR_FRAGMENT", "RULE_SL_COMMENT_FRAGMENT", "RULE_ML_COMMENT_FRAGMENT", "RULE_UNICODE_COMBINING_MARK_FRAGMENT", "RULE_UNICODE_DIGIT_FRAGMENT", "RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT", "RULE_UNICODE_LETTER_FRAGMENT", "RULE_ANY_OTHER", "'/'", "'.'", "'@'", "'_'", "'+'", "':'", "'-'", "'='", "'~'", "'^'", "'<'", "'>'", "'<='", "'>='", "'#'", "'||'" }; public static final int T__50=50; - public static final int RULE_WHITESPACE_FRAGMENT=17; - public static final int RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=18; - public static final int RULE_EOL=19; - public static final int RULE_LETTER_OTHER=15; - public static final int RULE_UNICODE_COMBINING_MARK_FRAGMENT=30; - public static final int RULE_ZWNJ=24; - public static final int RULE_ASTERIX=6; - public static final int RULE_LETTER_E=14; - public static final int RULE_ML_COMMENT_FRAGMENT=29; - public static final int RULE_DIGITS=4; - public static final int RULE_ZWJ=23; - public static final int RULE_SL_COMMENT_FRAGMENT=28; - public static final int RULE_UNICODE_DIGIT_FRAGMENT=31; - public static final int T__37=37; - public static final int RULE_LETTER_R=10; - public static final int T__38=38; - public static final int RULE_LETTER_S=8; - public static final int T__39=39; + public static final int RULE_WHITESPACE_FRAGMENT=23; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=24; + public static final int RULE_EOL=25; + public static final int RULE_LETTER_OTHER=21; + public static final int RULE_UNICODE_COMBINING_MARK_FRAGMENT=36; + public static final int RULE_ZWNJ=30; + public static final int RULE_LETTER_A=8; + public static final int RULE_LETTER_C=9; + public static final int RULE_ASTERIX=4; + public static final int RULE_LETTER_E=10; + public static final int RULE_ML_COMMENT_FRAGMENT=35; + public static final int RULE_DIGITS=5; + public static final int RULE_LETTER_O=16; + public static final int RULE_ZWJ=29; + public static final int RULE_SL_COMMENT_FRAGMENT=34; + public static final int RULE_LETTER_P=17; + public static final int RULE_UNICODE_DIGIT_FRAGMENT=37; + public static final int RULE_LETTER_R=18; + public static final int RULE_LETTER_S=19; public static final int RULE_LETTER_F=11; - public static final int RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=26; - public static final int T__35=35; - public static final int T__36=36; + public static final int RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=32; public static final int RULE_LETTER_I=12; public static final int EOF=-1; - public static final int RULE_LETTER_L=13; - public static final int RULE_LETTER_M=9; - public static final int RULE_WS=16; - public static final int RULE_BOM=25; + public static final int RULE_LETTER_K=13; + public static final int RULE_LETTER_L=14; + public static final int RULE_LETTER_M=15; + public static final int RULE_WS=22; + public static final int RULE_BOM=31; public static final int RULE_LETTER_V=7; - public static final int RULE_LETTER_X=5; - public static final int RULE_ANY_OTHER=34; - public static final int RULE_LINE_TERMINATOR_FRAGMENT=27; - public static final int RULE_UNICODE_LETTER_FRAGMENT=33; - public static final int RULE_DECIMAL_DIGIT_FRAGMENT=20; + public static final int RULE_LETTER_W=20; + public static final int RULE_LETTER_X=6; + public static final int RULE_ANY_OTHER=40; + public static final int RULE_LINE_TERMINATOR_FRAGMENT=33; + public static final int RULE_UNICODE_LETTER_FRAGMENT=39; + public static final int RULE_DECIMAL_DIGIT_FRAGMENT=26; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; public static final int T__45=45; - public static final int RULE_HEX_DIGIT=21; - public static final int RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=22; - public static final int RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=32; + public static final int RULE_HEX_DIGIT=27; + public static final int RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=28; + public static final int RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=38; public static final int T__46=46; public static final int T__47=47; - public static final int T__40=40; public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; @@ -544,23 +550,23 @@ public final void ruleURLSemver() throws RecognitionException { // $ANTLR end "ruleURLSemver" - // $ANTLR start "entryRuleTagVersionRequirement" - // InternalSemver.g:186:1: entryRuleTagVersionRequirement : ruleTagVersionRequirement EOF ; - public final void entryRuleTagVersionRequirement() throws RecognitionException { + // $ANTLR start "entryRuleWorkspaceVersionRequirement" + // InternalSemver.g:186:1: entryRuleWorkspaceVersionRequirement : ruleWorkspaceVersionRequirement EOF ; + public final void entryRuleWorkspaceVersionRequirement() throws RecognitionException { try { - // InternalSemver.g:187:1: ( ruleTagVersionRequirement EOF ) - // InternalSemver.g:188:1: ruleTagVersionRequirement EOF + // InternalSemver.g:187:1: ( ruleWorkspaceVersionRequirement EOF ) + // InternalSemver.g:188:1: ruleWorkspaceVersionRequirement EOF { if ( state.backtracking==0 ) { - before(grammarAccess.getTagVersionRequirementRule()); + before(grammarAccess.getWorkspaceVersionRequirementRule()); } pushFollow(FOLLOW_1); - ruleTagVersionRequirement(); + ruleWorkspaceVersionRequirement(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getTagVersionRequirementRule()); + after(grammarAccess.getWorkspaceVersionRequirementRule()); } match(input,EOF,FOLLOW_2); if (state.failed) return ; @@ -575,30 +581,30 @@ public final void entryRuleTagVersionRequirement() throws RecognitionException { } return ; } - // $ANTLR end "entryRuleTagVersionRequirement" + // $ANTLR end "entryRuleWorkspaceVersionRequirement" - // $ANTLR start "ruleTagVersionRequirement" - // InternalSemver.g:195:1: ruleTagVersionRequirement : ( ( rule__TagVersionRequirement__TagNameAssignment ) ) ; - public final void ruleTagVersionRequirement() throws RecognitionException { + // $ANTLR start "ruleWorkspaceVersionRequirement" + // InternalSemver.g:195:1: ruleWorkspaceVersionRequirement : ( ( rule__WorkspaceVersionRequirement__Group__0 ) ) ; + public final void ruleWorkspaceVersionRequirement() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:199:2: ( ( ( rule__TagVersionRequirement__TagNameAssignment ) ) ) - // InternalSemver.g:200:2: ( ( rule__TagVersionRequirement__TagNameAssignment ) ) + // InternalSemver.g:199:2: ( ( ( rule__WorkspaceVersionRequirement__Group__0 ) ) ) + // InternalSemver.g:200:2: ( ( rule__WorkspaceVersionRequirement__Group__0 ) ) { - // InternalSemver.g:200:2: ( ( rule__TagVersionRequirement__TagNameAssignment ) ) - // InternalSemver.g:201:3: ( rule__TagVersionRequirement__TagNameAssignment ) + // InternalSemver.g:200:2: ( ( rule__WorkspaceVersionRequirement__Group__0 ) ) + // InternalSemver.g:201:3: ( rule__WorkspaceVersionRequirement__Group__0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment()); + before(grammarAccess.getWorkspaceVersionRequirementAccess().getGroup()); } - // InternalSemver.g:202:3: ( rule__TagVersionRequirement__TagNameAssignment ) - // InternalSemver.g:202:4: rule__TagVersionRequirement__TagNameAssignment + // InternalSemver.g:202:3: ( rule__WorkspaceVersionRequirement__Group__0 ) + // InternalSemver.g:202:4: rule__WorkspaceVersionRequirement__Group__0 { pushFollow(FOLLOW_2); - rule__TagVersionRequirement__TagNameAssignment(); + rule__WorkspaceVersionRequirement__Group__0(); state._fsp--; if (state.failed) return ; @@ -606,7 +612,7 @@ public final void ruleTagVersionRequirement() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment()); + after(grammarAccess.getWorkspaceVersionRequirementAccess().getGroup()); } } @@ -626,7 +632,7 @@ public final void ruleTagVersionRequirement() throws RecognitionException { } return ; } - // $ANTLR end "ruleTagVersionRequirement" + // $ANTLR end "ruleWorkspaceVersionRequirement" // $ANTLR start "entryRuleGitHubVersionRequirement" @@ -714,12 +720,97 @@ public final void ruleGitHubVersionRequirement() throws RecognitionException { // $ANTLR end "ruleGitHubVersionRequirement" + // $ANTLR start "entryRuleTagVersionRequirement" + // InternalSemver.g:236:1: entryRuleTagVersionRequirement : ruleTagVersionRequirement EOF ; + public final void entryRuleTagVersionRequirement() throws RecognitionException { + try { + // InternalSemver.g:237:1: ( ruleTagVersionRequirement EOF ) + // InternalSemver.g:238:1: ruleTagVersionRequirement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTagVersionRequirementRule()); + } + pushFollow(FOLLOW_1); + ruleTagVersionRequirement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTagVersionRequirementRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTagVersionRequirement" + + + // $ANTLR start "ruleTagVersionRequirement" + // InternalSemver.g:245:1: ruleTagVersionRequirement : ( ( rule__TagVersionRequirement__TagNameAssignment ) ) ; + public final void ruleTagVersionRequirement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:249:2: ( ( ( rule__TagVersionRequirement__TagNameAssignment ) ) ) + // InternalSemver.g:250:2: ( ( rule__TagVersionRequirement__TagNameAssignment ) ) + { + // InternalSemver.g:250:2: ( ( rule__TagVersionRequirement__TagNameAssignment ) ) + // InternalSemver.g:251:3: ( rule__TagVersionRequirement__TagNameAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment()); + } + // InternalSemver.g:252:3: ( rule__TagVersionRequirement__TagNameAssignment ) + // InternalSemver.g:252:4: rule__TagVersionRequirement__TagNameAssignment + { + pushFollow(FOLLOW_2); + rule__TagVersionRequirement__TagNameAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTagVersionRequirementAccess().getTagNameAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTagVersionRequirement" + + // $ANTLR start "entryRuleVersionRangeSetRequirement" - // InternalSemver.g:236:1: entryRuleVersionRangeSetRequirement : ruleVersionRangeSetRequirement EOF ; + // InternalSemver.g:261:1: entryRuleVersionRangeSetRequirement : ruleVersionRangeSetRequirement EOF ; public final void entryRuleVersionRangeSetRequirement() throws RecognitionException { try { - // InternalSemver.g:237:1: ( ruleVersionRangeSetRequirement EOF ) - // InternalSemver.g:238:1: ruleVersionRangeSetRequirement EOF + // InternalSemver.g:262:1: ( ruleVersionRangeSetRequirement EOF ) + // InternalSemver.g:263:1: ruleVersionRangeSetRequirement EOF { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementRule()); @@ -749,23 +840,23 @@ public final void entryRuleVersionRangeSetRequirement() throws RecognitionExcept // $ANTLR start "ruleVersionRangeSetRequirement" - // InternalSemver.g:245:1: ruleVersionRangeSetRequirement : ( ( rule__VersionRangeSetRequirement__Group__0 ) ) ; + // InternalSemver.g:270:1: ruleVersionRangeSetRequirement : ( ( rule__VersionRangeSetRequirement__Group__0 ) ) ; public final void ruleVersionRangeSetRequirement() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:249:2: ( ( ( rule__VersionRangeSetRequirement__Group__0 ) ) ) - // InternalSemver.g:250:2: ( ( rule__VersionRangeSetRequirement__Group__0 ) ) + // InternalSemver.g:274:2: ( ( ( rule__VersionRangeSetRequirement__Group__0 ) ) ) + // InternalSemver.g:275:2: ( ( rule__VersionRangeSetRequirement__Group__0 ) ) { - // InternalSemver.g:250:2: ( ( rule__VersionRangeSetRequirement__Group__0 ) ) - // InternalSemver.g:251:3: ( rule__VersionRangeSetRequirement__Group__0 ) + // InternalSemver.g:275:2: ( ( rule__VersionRangeSetRequirement__Group__0 ) ) + // InternalSemver.g:276:3: ( rule__VersionRangeSetRequirement__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getGroup()); } - // InternalSemver.g:252:3: ( rule__VersionRangeSetRequirement__Group__0 ) - // InternalSemver.g:252:4: rule__VersionRangeSetRequirement__Group__0 + // InternalSemver.g:277:3: ( rule__VersionRangeSetRequirement__Group__0 ) + // InternalSemver.g:277:4: rule__VersionRangeSetRequirement__Group__0 { pushFollow(FOLLOW_2); rule__VersionRangeSetRequirement__Group__0(); @@ -800,11 +891,11 @@ public final void ruleVersionRangeSetRequirement() throws RecognitionException { // $ANTLR start "entryRuleVersionRange" - // InternalSemver.g:261:1: entryRuleVersionRange : ruleVersionRange EOF ; + // InternalSemver.g:286:1: entryRuleVersionRange : ruleVersionRange EOF ; public final void entryRuleVersionRange() throws RecognitionException { try { - // InternalSemver.g:262:1: ( ruleVersionRange EOF ) - // InternalSemver.g:263:1: ruleVersionRange EOF + // InternalSemver.g:287:1: ( ruleVersionRange EOF ) + // InternalSemver.g:288:1: ruleVersionRange EOF { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeRule()); @@ -834,23 +925,23 @@ public final void entryRuleVersionRange() throws RecognitionException { // $ANTLR start "ruleVersionRange" - // InternalSemver.g:270:1: ruleVersionRange : ( ( rule__VersionRange__Alternatives ) ) ; + // InternalSemver.g:295:1: ruleVersionRange : ( ( rule__VersionRange__Alternatives ) ) ; public final void ruleVersionRange() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:274:2: ( ( ( rule__VersionRange__Alternatives ) ) ) - // InternalSemver.g:275:2: ( ( rule__VersionRange__Alternatives ) ) + // InternalSemver.g:299:2: ( ( ( rule__VersionRange__Alternatives ) ) ) + // InternalSemver.g:300:2: ( ( rule__VersionRange__Alternatives ) ) { - // InternalSemver.g:275:2: ( ( rule__VersionRange__Alternatives ) ) - // InternalSemver.g:276:3: ( rule__VersionRange__Alternatives ) + // InternalSemver.g:300:2: ( ( rule__VersionRange__Alternatives ) ) + // InternalSemver.g:301:3: ( rule__VersionRange__Alternatives ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeAccess().getAlternatives()); } - // InternalSemver.g:277:3: ( rule__VersionRange__Alternatives ) - // InternalSemver.g:277:4: rule__VersionRange__Alternatives + // InternalSemver.g:302:3: ( rule__VersionRange__Alternatives ) + // InternalSemver.g:302:4: rule__VersionRange__Alternatives { pushFollow(FOLLOW_2); rule__VersionRange__Alternatives(); @@ -885,11 +976,11 @@ public final void ruleVersionRange() throws RecognitionException { // $ANTLR start "entryRuleHyphenVersionRange" - // InternalSemver.g:286:1: entryRuleHyphenVersionRange : ruleHyphenVersionRange EOF ; + // InternalSemver.g:311:1: entryRuleHyphenVersionRange : ruleHyphenVersionRange EOF ; public final void entryRuleHyphenVersionRange() throws RecognitionException { try { - // InternalSemver.g:287:1: ( ruleHyphenVersionRange EOF ) - // InternalSemver.g:288:1: ruleHyphenVersionRange EOF + // InternalSemver.g:312:1: ( ruleHyphenVersionRange EOF ) + // InternalSemver.g:313:1: ruleHyphenVersionRange EOF { if ( state.backtracking==0 ) { before(grammarAccess.getHyphenVersionRangeRule()); @@ -919,23 +1010,23 @@ public final void entryRuleHyphenVersionRange() throws RecognitionException { // $ANTLR start "ruleHyphenVersionRange" - // InternalSemver.g:295:1: ruleHyphenVersionRange : ( ( rule__HyphenVersionRange__Group__0 ) ) ; + // InternalSemver.g:320:1: ruleHyphenVersionRange : ( ( rule__HyphenVersionRange__Group__0 ) ) ; public final void ruleHyphenVersionRange() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:299:2: ( ( ( rule__HyphenVersionRange__Group__0 ) ) ) - // InternalSemver.g:300:2: ( ( rule__HyphenVersionRange__Group__0 ) ) + // InternalSemver.g:324:2: ( ( ( rule__HyphenVersionRange__Group__0 ) ) ) + // InternalSemver.g:325:2: ( ( rule__HyphenVersionRange__Group__0 ) ) { - // InternalSemver.g:300:2: ( ( rule__HyphenVersionRange__Group__0 ) ) - // InternalSemver.g:301:3: ( rule__HyphenVersionRange__Group__0 ) + // InternalSemver.g:325:2: ( ( rule__HyphenVersionRange__Group__0 ) ) + // InternalSemver.g:326:3: ( rule__HyphenVersionRange__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getHyphenVersionRangeAccess().getGroup()); } - // InternalSemver.g:302:3: ( rule__HyphenVersionRange__Group__0 ) - // InternalSemver.g:302:4: rule__HyphenVersionRange__Group__0 + // InternalSemver.g:327:3: ( rule__HyphenVersionRange__Group__0 ) + // InternalSemver.g:327:4: rule__HyphenVersionRange__Group__0 { pushFollow(FOLLOW_2); rule__HyphenVersionRange__Group__0(); @@ -970,11 +1061,11 @@ public final void ruleHyphenVersionRange() throws RecognitionException { // $ANTLR start "entryRuleVersionRangeContraint" - // InternalSemver.g:311:1: entryRuleVersionRangeContraint : ruleVersionRangeContraint EOF ; + // InternalSemver.g:336:1: entryRuleVersionRangeContraint : ruleVersionRangeContraint EOF ; public final void entryRuleVersionRangeContraint() throws RecognitionException { try { - // InternalSemver.g:312:1: ( ruleVersionRangeContraint EOF ) - // InternalSemver.g:313:1: ruleVersionRangeContraint EOF + // InternalSemver.g:337:1: ( ruleVersionRangeContraint EOF ) + // InternalSemver.g:338:1: ruleVersionRangeContraint EOF { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeContraintRule()); @@ -1004,23 +1095,23 @@ public final void entryRuleVersionRangeContraint() throws RecognitionException { // $ANTLR start "ruleVersionRangeContraint" - // InternalSemver.g:320:1: ruleVersionRangeContraint : ( ( rule__VersionRangeContraint__Group__0 ) ) ; + // InternalSemver.g:345:1: ruleVersionRangeContraint : ( ( rule__VersionRangeContraint__Group__0 ) ) ; public final void ruleVersionRangeContraint() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:324:2: ( ( ( rule__VersionRangeContraint__Group__0 ) ) ) - // InternalSemver.g:325:2: ( ( rule__VersionRangeContraint__Group__0 ) ) + // InternalSemver.g:349:2: ( ( ( rule__VersionRangeContraint__Group__0 ) ) ) + // InternalSemver.g:350:2: ( ( rule__VersionRangeContraint__Group__0 ) ) { - // InternalSemver.g:325:2: ( ( rule__VersionRangeContraint__Group__0 ) ) - // InternalSemver.g:326:3: ( rule__VersionRangeContraint__Group__0 ) + // InternalSemver.g:350:2: ( ( rule__VersionRangeContraint__Group__0 ) ) + // InternalSemver.g:351:3: ( rule__VersionRangeContraint__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeContraintAccess().getGroup()); } - // InternalSemver.g:327:3: ( rule__VersionRangeContraint__Group__0 ) - // InternalSemver.g:327:4: rule__VersionRangeContraint__Group__0 + // InternalSemver.g:352:3: ( rule__VersionRangeContraint__Group__0 ) + // InternalSemver.g:352:4: rule__VersionRangeContraint__Group__0 { pushFollow(FOLLOW_2); rule__VersionRangeContraint__Group__0(); @@ -1055,11 +1146,11 @@ public final void ruleVersionRangeContraint() throws RecognitionException { // $ANTLR start "entryRuleSimpleVersion" - // InternalSemver.g:336:1: entryRuleSimpleVersion : ruleSimpleVersion EOF ; + // InternalSemver.g:361:1: entryRuleSimpleVersion : ruleSimpleVersion EOF ; public final void entryRuleSimpleVersion() throws RecognitionException { try { - // InternalSemver.g:337:1: ( ruleSimpleVersion EOF ) - // InternalSemver.g:338:1: ruleSimpleVersion EOF + // InternalSemver.g:362:1: ( ruleSimpleVersion EOF ) + // InternalSemver.g:363:1: ruleSimpleVersion EOF { if ( state.backtracking==0 ) { before(grammarAccess.getSimpleVersionRule()); @@ -1089,23 +1180,23 @@ public final void entryRuleSimpleVersion() throws RecognitionException { // $ANTLR start "ruleSimpleVersion" - // InternalSemver.g:345:1: ruleSimpleVersion : ( ( rule__SimpleVersion__Group__0 ) ) ; + // InternalSemver.g:370:1: ruleSimpleVersion : ( ( rule__SimpleVersion__Group__0 ) ) ; public final void ruleSimpleVersion() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:349:2: ( ( ( rule__SimpleVersion__Group__0 ) ) ) - // InternalSemver.g:350:2: ( ( rule__SimpleVersion__Group__0 ) ) + // InternalSemver.g:374:2: ( ( ( rule__SimpleVersion__Group__0 ) ) ) + // InternalSemver.g:375:2: ( ( rule__SimpleVersion__Group__0 ) ) { - // InternalSemver.g:350:2: ( ( rule__SimpleVersion__Group__0 ) ) - // InternalSemver.g:351:3: ( rule__SimpleVersion__Group__0 ) + // InternalSemver.g:375:2: ( ( rule__SimpleVersion__Group__0 ) ) + // InternalSemver.g:376:3: ( rule__SimpleVersion__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getSimpleVersionAccess().getGroup()); } - // InternalSemver.g:352:3: ( rule__SimpleVersion__Group__0 ) - // InternalSemver.g:352:4: rule__SimpleVersion__Group__0 + // InternalSemver.g:377:3: ( rule__SimpleVersion__Group__0 ) + // InternalSemver.g:377:4: rule__SimpleVersion__Group__0 { pushFollow(FOLLOW_2); rule__SimpleVersion__Group__0(); @@ -1140,11 +1231,11 @@ public final void ruleSimpleVersion() throws RecognitionException { // $ANTLR start "entryRuleVersionNumber" - // InternalSemver.g:361:1: entryRuleVersionNumber : ruleVersionNumber EOF ; + // InternalSemver.g:386:1: entryRuleVersionNumber : ruleVersionNumber EOF ; public final void entryRuleVersionNumber() throws RecognitionException { try { - // InternalSemver.g:362:1: ( ruleVersionNumber EOF ) - // InternalSemver.g:363:1: ruleVersionNumber EOF + // InternalSemver.g:387:1: ( ruleVersionNumber EOF ) + // InternalSemver.g:388:1: ruleVersionNumber EOF { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberRule()); @@ -1174,23 +1265,23 @@ public final void entryRuleVersionNumber() throws RecognitionException { // $ANTLR start "ruleVersionNumber" - // InternalSemver.g:370:1: ruleVersionNumber : ( ( rule__VersionNumber__Group__0 ) ) ; + // InternalSemver.g:395:1: ruleVersionNumber : ( ( rule__VersionNumber__Group__0 ) ) ; public final void ruleVersionNumber() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:374:2: ( ( ( rule__VersionNumber__Group__0 ) ) ) - // InternalSemver.g:375:2: ( ( rule__VersionNumber__Group__0 ) ) + // InternalSemver.g:399:2: ( ( ( rule__VersionNumber__Group__0 ) ) ) + // InternalSemver.g:400:2: ( ( rule__VersionNumber__Group__0 ) ) { - // InternalSemver.g:375:2: ( ( rule__VersionNumber__Group__0 ) ) - // InternalSemver.g:376:3: ( rule__VersionNumber__Group__0 ) + // InternalSemver.g:400:2: ( ( rule__VersionNumber__Group__0 ) ) + // InternalSemver.g:401:3: ( rule__VersionNumber__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getGroup()); } - // InternalSemver.g:377:3: ( rule__VersionNumber__Group__0 ) - // InternalSemver.g:377:4: rule__VersionNumber__Group__0 + // InternalSemver.g:402:3: ( rule__VersionNumber__Group__0 ) + // InternalSemver.g:402:4: rule__VersionNumber__Group__0 { pushFollow(FOLLOW_2); rule__VersionNumber__Group__0(); @@ -1225,11 +1316,11 @@ public final void ruleVersionNumber() throws RecognitionException { // $ANTLR start "entryRuleVersionPart" - // InternalSemver.g:386:1: entryRuleVersionPart : ruleVersionPart EOF ; + // InternalSemver.g:411:1: entryRuleVersionPart : ruleVersionPart EOF ; public final void entryRuleVersionPart() throws RecognitionException { try { - // InternalSemver.g:387:1: ( ruleVersionPart EOF ) - // InternalSemver.g:388:1: ruleVersionPart EOF + // InternalSemver.g:412:1: ( ruleVersionPart EOF ) + // InternalSemver.g:413:1: ruleVersionPart EOF { if ( state.backtracking==0 ) { before(grammarAccess.getVersionPartRule()); @@ -1259,23 +1350,23 @@ public final void entryRuleVersionPart() throws RecognitionException { // $ANTLR start "ruleVersionPart" - // InternalSemver.g:395:1: ruleVersionPart : ( ( rule__VersionPart__Alternatives ) ) ; + // InternalSemver.g:420:1: ruleVersionPart : ( ( rule__VersionPart__Alternatives ) ) ; public final void ruleVersionPart() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:399:2: ( ( ( rule__VersionPart__Alternatives ) ) ) - // InternalSemver.g:400:2: ( ( rule__VersionPart__Alternatives ) ) + // InternalSemver.g:424:2: ( ( ( rule__VersionPart__Alternatives ) ) ) + // InternalSemver.g:425:2: ( ( rule__VersionPart__Alternatives ) ) { - // InternalSemver.g:400:2: ( ( rule__VersionPart__Alternatives ) ) - // InternalSemver.g:401:3: ( rule__VersionPart__Alternatives ) + // InternalSemver.g:425:2: ( ( rule__VersionPart__Alternatives ) ) + // InternalSemver.g:426:3: ( rule__VersionPart__Alternatives ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionPartAccess().getAlternatives()); } - // InternalSemver.g:402:3: ( rule__VersionPart__Alternatives ) - // InternalSemver.g:402:4: rule__VersionPart__Alternatives + // InternalSemver.g:427:3: ( rule__VersionPart__Alternatives ) + // InternalSemver.g:427:4: rule__VersionPart__Alternatives { pushFollow(FOLLOW_2); rule__VersionPart__Alternatives(); @@ -1310,11 +1401,11 @@ public final void ruleVersionPart() throws RecognitionException { // $ANTLR start "entryRuleQualifier" - // InternalSemver.g:411:1: entryRuleQualifier : ruleQualifier EOF ; + // InternalSemver.g:436:1: entryRuleQualifier : ruleQualifier EOF ; public final void entryRuleQualifier() throws RecognitionException { try { - // InternalSemver.g:412:1: ( ruleQualifier EOF ) - // InternalSemver.g:413:1: ruleQualifier EOF + // InternalSemver.g:437:1: ( ruleQualifier EOF ) + // InternalSemver.g:438:1: ruleQualifier EOF { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierRule()); @@ -1344,23 +1435,23 @@ public final void entryRuleQualifier() throws RecognitionException { // $ANTLR start "ruleQualifier" - // InternalSemver.g:420:1: ruleQualifier : ( ( rule__Qualifier__Alternatives ) ) ; + // InternalSemver.g:445:1: ruleQualifier : ( ( rule__Qualifier__Alternatives ) ) ; public final void ruleQualifier() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:424:2: ( ( ( rule__Qualifier__Alternatives ) ) ) - // InternalSemver.g:425:2: ( ( rule__Qualifier__Alternatives ) ) + // InternalSemver.g:449:2: ( ( ( rule__Qualifier__Alternatives ) ) ) + // InternalSemver.g:450:2: ( ( rule__Qualifier__Alternatives ) ) { - // InternalSemver.g:425:2: ( ( rule__Qualifier__Alternatives ) ) - // InternalSemver.g:426:3: ( rule__Qualifier__Alternatives ) + // InternalSemver.g:450:2: ( ( rule__Qualifier__Alternatives ) ) + // InternalSemver.g:451:3: ( rule__Qualifier__Alternatives ) { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getAlternatives()); } - // InternalSemver.g:427:3: ( rule__Qualifier__Alternatives ) - // InternalSemver.g:427:4: rule__Qualifier__Alternatives + // InternalSemver.g:452:3: ( rule__Qualifier__Alternatives ) + // InternalSemver.g:452:4: rule__Qualifier__Alternatives { pushFollow(FOLLOW_2); rule__Qualifier__Alternatives(); @@ -1395,11 +1486,11 @@ public final void ruleQualifier() throws RecognitionException { // $ANTLR start "entryRuleQualifierTag" - // InternalSemver.g:436:1: entryRuleQualifierTag : ruleQualifierTag EOF ; + // InternalSemver.g:461:1: entryRuleQualifierTag : ruleQualifierTag EOF ; public final void entryRuleQualifierTag() throws RecognitionException { try { - // InternalSemver.g:437:1: ( ruleQualifierTag EOF ) - // InternalSemver.g:438:1: ruleQualifierTag EOF + // InternalSemver.g:462:1: ( ruleQualifierTag EOF ) + // InternalSemver.g:463:1: ruleQualifierTag EOF { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierTagRule()); @@ -1429,23 +1520,23 @@ public final void entryRuleQualifierTag() throws RecognitionException { // $ANTLR start "ruleQualifierTag" - // InternalSemver.g:445:1: ruleQualifierTag : ( ( rule__QualifierTag__Group__0 ) ) ; + // InternalSemver.g:470:1: ruleQualifierTag : ( ( rule__QualifierTag__Group__0 ) ) ; public final void ruleQualifierTag() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:449:2: ( ( ( rule__QualifierTag__Group__0 ) ) ) - // InternalSemver.g:450:2: ( ( rule__QualifierTag__Group__0 ) ) + // InternalSemver.g:474:2: ( ( ( rule__QualifierTag__Group__0 ) ) ) + // InternalSemver.g:475:2: ( ( rule__QualifierTag__Group__0 ) ) { - // InternalSemver.g:450:2: ( ( rule__QualifierTag__Group__0 ) ) - // InternalSemver.g:451:3: ( rule__QualifierTag__Group__0 ) + // InternalSemver.g:475:2: ( ( rule__QualifierTag__Group__0 ) ) + // InternalSemver.g:476:3: ( rule__QualifierTag__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierTagAccess().getGroup()); } - // InternalSemver.g:452:3: ( rule__QualifierTag__Group__0 ) - // InternalSemver.g:452:4: rule__QualifierTag__Group__0 + // InternalSemver.g:477:3: ( rule__QualifierTag__Group__0 ) + // InternalSemver.g:477:4: rule__QualifierTag__Group__0 { pushFollow(FOLLOW_2); rule__QualifierTag__Group__0(); @@ -1480,11 +1571,11 @@ public final void ruleQualifierTag() throws RecognitionException { // $ANTLR start "entryRuleFILE_TAG" - // InternalSemver.g:461:1: entryRuleFILE_TAG : ruleFILE_TAG EOF ; + // InternalSemver.g:486:1: entryRuleFILE_TAG : ruleFILE_TAG EOF ; public final void entryRuleFILE_TAG() throws RecognitionException { try { - // InternalSemver.g:462:1: ( ruleFILE_TAG EOF ) - // InternalSemver.g:463:1: ruleFILE_TAG EOF + // InternalSemver.g:487:1: ( ruleFILE_TAG EOF ) + // InternalSemver.g:488:1: ruleFILE_TAG EOF { if ( state.backtracking==0 ) { before(grammarAccess.getFILE_TAGRule()); @@ -1514,23 +1605,23 @@ public final void entryRuleFILE_TAG() throws RecognitionException { // $ANTLR start "ruleFILE_TAG" - // InternalSemver.g:470:1: ruleFILE_TAG : ( ( rule__FILE_TAG__Group__0 ) ) ; + // InternalSemver.g:495:1: ruleFILE_TAG : ( ( rule__FILE_TAG__Group__0 ) ) ; public final void ruleFILE_TAG() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:474:2: ( ( ( rule__FILE_TAG__Group__0 ) ) ) - // InternalSemver.g:475:2: ( ( rule__FILE_TAG__Group__0 ) ) + // InternalSemver.g:499:2: ( ( ( rule__FILE_TAG__Group__0 ) ) ) + // InternalSemver.g:500:2: ( ( rule__FILE_TAG__Group__0 ) ) { - // InternalSemver.g:475:2: ( ( rule__FILE_TAG__Group__0 ) ) - // InternalSemver.g:476:3: ( rule__FILE_TAG__Group__0 ) + // InternalSemver.g:500:2: ( ( rule__FILE_TAG__Group__0 ) ) + // InternalSemver.g:501:3: ( rule__FILE_TAG__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getFILE_TAGAccess().getGroup()); } - // InternalSemver.g:477:3: ( rule__FILE_TAG__Group__0 ) - // InternalSemver.g:477:4: rule__FILE_TAG__Group__0 + // InternalSemver.g:502:3: ( rule__FILE_TAG__Group__0 ) + // InternalSemver.g:502:4: rule__FILE_TAG__Group__0 { pushFollow(FOLLOW_2); rule__FILE_TAG__Group__0(); @@ -1565,11 +1656,11 @@ public final void ruleFILE_TAG() throws RecognitionException { // $ANTLR start "entryRuleSEMVER_TAG" - // InternalSemver.g:486:1: entryRuleSEMVER_TAG : ruleSEMVER_TAG EOF ; + // InternalSemver.g:511:1: entryRuleSEMVER_TAG : ruleSEMVER_TAG EOF ; public final void entryRuleSEMVER_TAG() throws RecognitionException { try { - // InternalSemver.g:487:1: ( ruleSEMVER_TAG EOF ) - // InternalSemver.g:488:1: ruleSEMVER_TAG EOF + // InternalSemver.g:512:1: ( ruleSEMVER_TAG EOF ) + // InternalSemver.g:513:1: ruleSEMVER_TAG EOF { if ( state.backtracking==0 ) { before(grammarAccess.getSEMVER_TAGRule()); @@ -1599,23 +1690,23 @@ public final void entryRuleSEMVER_TAG() throws RecognitionException { // $ANTLR start "ruleSEMVER_TAG" - // InternalSemver.g:495:1: ruleSEMVER_TAG : ( ( rule__SEMVER_TAG__Group__0 ) ) ; + // InternalSemver.g:520:1: ruleSEMVER_TAG : ( ( rule__SEMVER_TAG__Group__0 ) ) ; public final void ruleSEMVER_TAG() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:499:2: ( ( ( rule__SEMVER_TAG__Group__0 ) ) ) - // InternalSemver.g:500:2: ( ( rule__SEMVER_TAG__Group__0 ) ) + // InternalSemver.g:524:2: ( ( ( rule__SEMVER_TAG__Group__0 ) ) ) + // InternalSemver.g:525:2: ( ( rule__SEMVER_TAG__Group__0 ) ) { - // InternalSemver.g:500:2: ( ( rule__SEMVER_TAG__Group__0 ) ) - // InternalSemver.g:501:3: ( rule__SEMVER_TAG__Group__0 ) + // InternalSemver.g:525:2: ( ( rule__SEMVER_TAG__Group__0 ) ) + // InternalSemver.g:526:3: ( rule__SEMVER_TAG__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getSEMVER_TAGAccess().getGroup()); } - // InternalSemver.g:502:3: ( rule__SEMVER_TAG__Group__0 ) - // InternalSemver.g:502:4: rule__SEMVER_TAG__Group__0 + // InternalSemver.g:527:3: ( rule__SEMVER_TAG__Group__0 ) + // InternalSemver.g:527:4: rule__SEMVER_TAG__Group__0 { pushFollow(FOLLOW_2); rule__SEMVER_TAG__Group__0(); @@ -1649,12 +1740,97 @@ public final void ruleSEMVER_TAG() throws RecognitionException { // $ANTLR end "ruleSEMVER_TAG" + // $ANTLR start "entryRuleWORKSPACE_TAG" + // InternalSemver.g:536:1: entryRuleWORKSPACE_TAG : ruleWORKSPACE_TAG EOF ; + public final void entryRuleWORKSPACE_TAG() throws RecognitionException { + try { + // InternalSemver.g:537:1: ( ruleWORKSPACE_TAG EOF ) + // InternalSemver.g:538:1: ruleWORKSPACE_TAG EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWORKSPACE_TAGRule()); + } + pushFollow(FOLLOW_1); + ruleWORKSPACE_TAG(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_TAGRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleWORKSPACE_TAG" + + + // $ANTLR start "ruleWORKSPACE_TAG" + // InternalSemver.g:545:1: ruleWORKSPACE_TAG : ( ( rule__WORKSPACE_TAG__Group__0 ) ) ; + public final void ruleWORKSPACE_TAG() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:549:2: ( ( ( rule__WORKSPACE_TAG__Group__0 ) ) ) + // InternalSemver.g:550:2: ( ( rule__WORKSPACE_TAG__Group__0 ) ) + { + // InternalSemver.g:550:2: ( ( rule__WORKSPACE_TAG__Group__0 ) ) + // InternalSemver.g:551:3: ( rule__WORKSPACE_TAG__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWORKSPACE_TAGAccess().getGroup()); + } + // InternalSemver.g:552:3: ( rule__WORKSPACE_TAG__Group__0 ) + // InternalSemver.g:552:4: rule__WORKSPACE_TAG__Group__0 + { + pushFollow(FOLLOW_2); + rule__WORKSPACE_TAG__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_TAGAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleWORKSPACE_TAG" + + // $ANTLR start "entryRulePATH" - // InternalSemver.g:511:1: entryRulePATH : rulePATH EOF ; + // InternalSemver.g:561:1: entryRulePATH : rulePATH EOF ; public final void entryRulePATH() throws RecognitionException { try { - // InternalSemver.g:512:1: ( rulePATH EOF ) - // InternalSemver.g:513:1: rulePATH EOF + // InternalSemver.g:562:1: ( rulePATH EOF ) + // InternalSemver.g:563:1: rulePATH EOF { if ( state.backtracking==0 ) { before(grammarAccess.getPATHRule()); @@ -1684,26 +1860,26 @@ public final void entryRulePATH() throws RecognitionException { // $ANTLR start "rulePATH" - // InternalSemver.g:520:1: rulePATH : ( ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) ) ; + // InternalSemver.g:570:1: rulePATH : ( ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) ) ; public final void rulePATH() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:524:2: ( ( ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) ) ) - // InternalSemver.g:525:2: ( ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) ) + // InternalSemver.g:574:2: ( ( ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) ) ) + // InternalSemver.g:575:2: ( ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) ) { - // InternalSemver.g:525:2: ( ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) ) - // InternalSemver.g:526:3: ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) + // InternalSemver.g:575:2: ( ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) ) + // InternalSemver.g:576:3: ( ( rule__PATH__Alternatives ) ) ( ( rule__PATH__Alternatives )* ) { - // InternalSemver.g:526:3: ( ( rule__PATH__Alternatives ) ) - // InternalSemver.g:527:4: ( rule__PATH__Alternatives ) + // InternalSemver.g:576:3: ( ( rule__PATH__Alternatives ) ) + // InternalSemver.g:577:4: ( rule__PATH__Alternatives ) { if ( state.backtracking==0 ) { before(grammarAccess.getPATHAccess().getAlternatives()); } - // InternalSemver.g:528:4: ( rule__PATH__Alternatives ) - // InternalSemver.g:528:5: rule__PATH__Alternatives + // InternalSemver.g:578:4: ( rule__PATH__Alternatives ) + // InternalSemver.g:578:5: rule__PATH__Alternatives { pushFollow(FOLLOW_3); rule__PATH__Alternatives(); @@ -1719,26 +1895,26 @@ public final void rulePATH() throws RecognitionException { } - // InternalSemver.g:531:3: ( ( rule__PATH__Alternatives )* ) - // InternalSemver.g:532:4: ( rule__PATH__Alternatives )* + // InternalSemver.g:581:3: ( ( rule__PATH__Alternatives )* ) + // InternalSemver.g:582:4: ( rule__PATH__Alternatives )* { if ( state.backtracking==0 ) { before(grammarAccess.getPATHAccess().getAlternatives()); } - // InternalSemver.g:533:4: ( rule__PATH__Alternatives )* + // InternalSemver.g:583:4: ( rule__PATH__Alternatives )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); - if ( ((LA1_0>=RULE_DIGITS && LA1_0<=RULE_LETTER_X)||(LA1_0>=RULE_LETTER_V && LA1_0<=RULE_LETTER_OTHER)||(LA1_0>=35 && LA1_0<=39)) ) { + if ( ((LA1_0>=RULE_DIGITS && LA1_0<=RULE_LETTER_OTHER)||(LA1_0>=41 && LA1_0<=44)||LA1_0==47) ) { alt1=1; } switch (alt1) { case 1 : - // InternalSemver.g:533:5: rule__PATH__Alternatives + // InternalSemver.g:583:5: rule__PATH__Alternatives { pushFollow(FOLLOW_3); rule__PATH__Alternatives(); @@ -1782,11 +1958,11 @@ public final void rulePATH() throws RecognitionException { // $ANTLR start "entryRuleURL_PROTOCOL" - // InternalSemver.g:543:1: entryRuleURL_PROTOCOL : ruleURL_PROTOCOL EOF ; + // InternalSemver.g:593:1: entryRuleURL_PROTOCOL : ruleURL_PROTOCOL EOF ; public final void entryRuleURL_PROTOCOL() throws RecognitionException { try { - // InternalSemver.g:544:1: ( ruleURL_PROTOCOL EOF ) - // InternalSemver.g:545:1: ruleURL_PROTOCOL EOF + // InternalSemver.g:594:1: ( ruleURL_PROTOCOL EOF ) + // InternalSemver.g:595:1: ruleURL_PROTOCOL EOF { if ( state.backtracking==0 ) { before(grammarAccess.getURL_PROTOCOLRule()); @@ -1816,23 +1992,23 @@ public final void entryRuleURL_PROTOCOL() throws RecognitionException { // $ANTLR start "ruleURL_PROTOCOL" - // InternalSemver.g:552:1: ruleURL_PROTOCOL : ( ( rule__URL_PROTOCOL__Group__0 ) ) ; + // InternalSemver.g:602:1: ruleURL_PROTOCOL : ( ( rule__URL_PROTOCOL__Group__0 ) ) ; public final void ruleURL_PROTOCOL() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:556:2: ( ( ( rule__URL_PROTOCOL__Group__0 ) ) ) - // InternalSemver.g:557:2: ( ( rule__URL_PROTOCOL__Group__0 ) ) + // InternalSemver.g:606:2: ( ( ( rule__URL_PROTOCOL__Group__0 ) ) ) + // InternalSemver.g:607:2: ( ( rule__URL_PROTOCOL__Group__0 ) ) { - // InternalSemver.g:557:2: ( ( rule__URL_PROTOCOL__Group__0 ) ) - // InternalSemver.g:558:3: ( rule__URL_PROTOCOL__Group__0 ) + // InternalSemver.g:607:2: ( ( rule__URL_PROTOCOL__Group__0 ) ) + // InternalSemver.g:608:3: ( rule__URL_PROTOCOL__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURL_PROTOCOLAccess().getGroup()); } - // InternalSemver.g:559:3: ( rule__URL_PROTOCOL__Group__0 ) - // InternalSemver.g:559:4: rule__URL_PROTOCOL__Group__0 + // InternalSemver.g:609:3: ( rule__URL_PROTOCOL__Group__0 ) + // InternalSemver.g:609:4: rule__URL_PROTOCOL__Group__0 { pushFollow(FOLLOW_2); rule__URL_PROTOCOL__Group__0(); @@ -1867,11 +2043,11 @@ public final void ruleURL_PROTOCOL() throws RecognitionException { // $ANTLR start "entryRuleURL" - // InternalSemver.g:568:1: entryRuleURL : ruleURL EOF ; + // InternalSemver.g:618:1: entryRuleURL : ruleURL EOF ; public final void entryRuleURL() throws RecognitionException { try { - // InternalSemver.g:569:1: ( ruleURL EOF ) - // InternalSemver.g:570:1: ruleURL EOF + // InternalSemver.g:619:1: ( ruleURL EOF ) + // InternalSemver.g:620:1: ruleURL EOF { if ( state.backtracking==0 ) { before(grammarAccess.getURLRule()); @@ -1901,23 +2077,23 @@ public final void entryRuleURL() throws RecognitionException { // $ANTLR start "ruleURL" - // InternalSemver.g:577:1: ruleURL : ( ( rule__URL__Group__0 ) ) ; + // InternalSemver.g:627:1: ruleURL : ( ( rule__URL__Group__0 ) ) ; public final void ruleURL() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:581:2: ( ( ( rule__URL__Group__0 ) ) ) - // InternalSemver.g:582:2: ( ( rule__URL__Group__0 ) ) + // InternalSemver.g:631:2: ( ( ( rule__URL__Group__0 ) ) ) + // InternalSemver.g:632:2: ( ( rule__URL__Group__0 ) ) { - // InternalSemver.g:582:2: ( ( rule__URL__Group__0 ) ) - // InternalSemver.g:583:3: ( rule__URL__Group__0 ) + // InternalSemver.g:632:2: ( ( rule__URL__Group__0 ) ) + // InternalSemver.g:633:3: ( rule__URL__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLAccess().getGroup()); } - // InternalSemver.g:584:3: ( rule__URL__Group__0 ) - // InternalSemver.g:584:4: rule__URL__Group__0 + // InternalSemver.g:634:3: ( rule__URL__Group__0 ) + // InternalSemver.g:634:4: rule__URL__Group__0 { pushFollow(FOLLOW_2); rule__URL__Group__0(); @@ -1952,11 +2128,11 @@ public final void ruleURL() throws RecognitionException { // $ANTLR start "entryRuleURL_NO_VX" - // InternalSemver.g:593:1: entryRuleURL_NO_VX : ruleURL_NO_VX EOF ; + // InternalSemver.g:643:1: entryRuleURL_NO_VX : ruleURL_NO_VX EOF ; public final void entryRuleURL_NO_VX() throws RecognitionException { try { - // InternalSemver.g:594:1: ( ruleURL_NO_VX EOF ) - // InternalSemver.g:595:1: ruleURL_NO_VX EOF + // InternalSemver.g:644:1: ( ruleURL_NO_VX EOF ) + // InternalSemver.g:645:1: ruleURL_NO_VX EOF { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXRule()); @@ -1986,23 +2162,23 @@ public final void entryRuleURL_NO_VX() throws RecognitionException { // $ANTLR start "ruleURL_NO_VX" - // InternalSemver.g:602:1: ruleURL_NO_VX : ( ( rule__URL_NO_VX__Group__0 ) ) ; + // InternalSemver.g:652:1: ruleURL_NO_VX : ( ( rule__URL_NO_VX__Group__0 ) ) ; public final void ruleURL_NO_VX() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:606:2: ( ( ( rule__URL_NO_VX__Group__0 ) ) ) - // InternalSemver.g:607:2: ( ( rule__URL_NO_VX__Group__0 ) ) + // InternalSemver.g:656:2: ( ( ( rule__URL_NO_VX__Group__0 ) ) ) + // InternalSemver.g:657:2: ( ( rule__URL_NO_VX__Group__0 ) ) { - // InternalSemver.g:607:2: ( ( rule__URL_NO_VX__Group__0 ) ) - // InternalSemver.g:608:3: ( rule__URL_NO_VX__Group__0 ) + // InternalSemver.g:657:2: ( ( rule__URL_NO_VX__Group__0 ) ) + // InternalSemver.g:658:3: ( rule__URL_NO_VX__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getGroup()); } - // InternalSemver.g:609:3: ( rule__URL_NO_VX__Group__0 ) - // InternalSemver.g:609:4: rule__URL_NO_VX__Group__0 + // InternalSemver.g:659:3: ( rule__URL_NO_VX__Group__0 ) + // InternalSemver.g:659:4: rule__URL_NO_VX__Group__0 { pushFollow(FOLLOW_2); rule__URL_NO_VX__Group__0(); @@ -2037,11 +2213,11 @@ public final void ruleURL_NO_VX() throws RecognitionException { // $ANTLR start "entryRuleTAG" - // InternalSemver.g:618:1: entryRuleTAG : ruleTAG EOF ; + // InternalSemver.g:668:1: entryRuleTAG : ruleTAG EOF ; public final void entryRuleTAG() throws RecognitionException { try { - // InternalSemver.g:619:1: ( ruleTAG EOF ) - // InternalSemver.g:620:1: ruleTAG EOF + // InternalSemver.g:669:1: ( ruleTAG EOF ) + // InternalSemver.g:670:1: ruleTAG EOF { if ( state.backtracking==0 ) { before(grammarAccess.getTAGRule()); @@ -2071,23 +2247,23 @@ public final void entryRuleTAG() throws RecognitionException { // $ANTLR start "ruleTAG" - // InternalSemver.g:627:1: ruleTAG : ( ( rule__TAG__Group__0 ) ) ; + // InternalSemver.g:677:1: ruleTAG : ( ( rule__TAG__Group__0 ) ) ; public final void ruleTAG() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:631:2: ( ( ( rule__TAG__Group__0 ) ) ) - // InternalSemver.g:632:2: ( ( rule__TAG__Group__0 ) ) + // InternalSemver.g:681:2: ( ( ( rule__TAG__Group__0 ) ) ) + // InternalSemver.g:682:2: ( ( rule__TAG__Group__0 ) ) { - // InternalSemver.g:632:2: ( ( rule__TAG__Group__0 ) ) - // InternalSemver.g:633:3: ( rule__TAG__Group__0 ) + // InternalSemver.g:682:2: ( ( rule__TAG__Group__0 ) ) + // InternalSemver.g:683:3: ( rule__TAG__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getTAGAccess().getGroup()); } - // InternalSemver.g:634:3: ( rule__TAG__Group__0 ) - // InternalSemver.g:634:4: rule__TAG__Group__0 + // InternalSemver.g:684:3: ( rule__TAG__Group__0 ) + // InternalSemver.g:684:4: rule__TAG__Group__0 { pushFollow(FOLLOW_2); rule__TAG__Group__0(); @@ -2121,23 +2297,23 @@ public final void ruleTAG() throws RecognitionException { // $ANTLR end "ruleTAG" - // $ANTLR start "entryRuleALPHA_NUMERIC_CHARS" - // InternalSemver.g:643:1: entryRuleALPHA_NUMERIC_CHARS : ruleALPHA_NUMERIC_CHARS EOF ; - public final void entryRuleALPHA_NUMERIC_CHARS() throws RecognitionException { + // $ANTLR start "entryRuleWORKSPACE_VERSION" + // InternalSemver.g:693:1: entryRuleWORKSPACE_VERSION : ruleWORKSPACE_VERSION EOF ; + public final void entryRuleWORKSPACE_VERSION() throws RecognitionException { try { - // InternalSemver.g:644:1: ( ruleALPHA_NUMERIC_CHARS EOF ) - // InternalSemver.g:645:1: ruleALPHA_NUMERIC_CHARS EOF + // InternalSemver.g:694:1: ( ruleWORKSPACE_VERSION EOF ) + // InternalSemver.g:695:1: ruleWORKSPACE_VERSION EOF { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARSRule()); + before(grammarAccess.getWORKSPACE_VERSIONRule()); } pushFollow(FOLLOW_1); - ruleALPHA_NUMERIC_CHARS(); + ruleWORKSPACE_VERSION(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARSRule()); + after(grammarAccess.getWORKSPACE_VERSIONRule()); } match(input,EOF,FOLLOW_2); if (state.failed) return ; @@ -2152,33 +2328,33 @@ public final void entryRuleALPHA_NUMERIC_CHARS() throws RecognitionException { } return ; } - // $ANTLR end "entryRuleALPHA_NUMERIC_CHARS" + // $ANTLR end "entryRuleWORKSPACE_VERSION" - // $ANTLR start "ruleALPHA_NUMERIC_CHARS" - // InternalSemver.g:652:1: ruleALPHA_NUMERIC_CHARS : ( ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives ) ) ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives )* ) ) ; - public final void ruleALPHA_NUMERIC_CHARS() throws RecognitionException { + // $ANTLR start "ruleWORKSPACE_VERSION" + // InternalSemver.g:702:1: ruleWORKSPACE_VERSION : ( ( ( rule__WORKSPACE_VERSION__Alternatives ) ) ( ( rule__WORKSPACE_VERSION__Alternatives )* ) ) ; + public final void ruleWORKSPACE_VERSION() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:656:2: ( ( ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives ) ) ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives )* ) ) ) - // InternalSemver.g:657:2: ( ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives ) ) ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives )* ) ) + // InternalSemver.g:706:2: ( ( ( ( rule__WORKSPACE_VERSION__Alternatives ) ) ( ( rule__WORKSPACE_VERSION__Alternatives )* ) ) ) + // InternalSemver.g:707:2: ( ( ( rule__WORKSPACE_VERSION__Alternatives ) ) ( ( rule__WORKSPACE_VERSION__Alternatives )* ) ) { - // InternalSemver.g:657:2: ( ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives ) ) ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives )* ) ) - // InternalSemver.g:658:3: ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives ) ) ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives )* ) + // InternalSemver.g:707:2: ( ( ( rule__WORKSPACE_VERSION__Alternatives ) ) ( ( rule__WORKSPACE_VERSION__Alternatives )* ) ) + // InternalSemver.g:708:3: ( ( rule__WORKSPACE_VERSION__Alternatives ) ) ( ( rule__WORKSPACE_VERSION__Alternatives )* ) { - // InternalSemver.g:658:3: ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives ) ) - // InternalSemver.g:659:4: ( rule__ALPHA_NUMERIC_CHARS__Alternatives ) + // InternalSemver.g:708:3: ( ( rule__WORKSPACE_VERSION__Alternatives ) ) + // InternalSemver.g:709:4: ( rule__WORKSPACE_VERSION__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getAlternatives()); + before(grammarAccess.getWORKSPACE_VERSIONAccess().getAlternatives()); } - // InternalSemver.g:660:4: ( rule__ALPHA_NUMERIC_CHARS__Alternatives ) - // InternalSemver.g:660:5: rule__ALPHA_NUMERIC_CHARS__Alternatives + // InternalSemver.g:710:4: ( rule__WORKSPACE_VERSION__Alternatives ) + // InternalSemver.g:710:5: rule__WORKSPACE_VERSION__Alternatives { - pushFollow(FOLLOW_3); - rule__ALPHA_NUMERIC_CHARS__Alternatives(); + pushFollow(FOLLOW_4); + rule__WORKSPACE_VERSION__Alternatives(); state._fsp--; if (state.failed) return ; @@ -2186,34 +2362,34 @@ public final void ruleALPHA_NUMERIC_CHARS() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getAlternatives()); + after(grammarAccess.getWORKSPACE_VERSIONAccess().getAlternatives()); } } - // InternalSemver.g:663:3: ( ( rule__ALPHA_NUMERIC_CHARS__Alternatives )* ) - // InternalSemver.g:664:4: ( rule__ALPHA_NUMERIC_CHARS__Alternatives )* + // InternalSemver.g:713:3: ( ( rule__WORKSPACE_VERSION__Alternatives )* ) + // InternalSemver.g:714:4: ( rule__WORKSPACE_VERSION__Alternatives )* { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getAlternatives()); + before(grammarAccess.getWORKSPACE_VERSIONAccess().getAlternatives()); } - // InternalSemver.g:665:4: ( rule__ALPHA_NUMERIC_CHARS__Alternatives )* + // InternalSemver.g:715:4: ( rule__WORKSPACE_VERSION__Alternatives )* loop2: do { int alt2=2; int LA2_0 = input.LA(1); - if ( ((LA2_0>=RULE_DIGITS && LA2_0<=RULE_LETTER_X)||(LA2_0>=RULE_LETTER_V && LA2_0<=RULE_LETTER_OTHER)||LA2_0==38) ) { + if ( ((LA2_0>=RULE_ASTERIX && LA2_0<=RULE_LETTER_OTHER)||(LA2_0>=41 && LA2_0<=44)||(LA2_0>=46 && LA2_0<=54)) ) { alt2=1; } switch (alt2) { case 1 : - // InternalSemver.g:665:5: rule__ALPHA_NUMERIC_CHARS__Alternatives + // InternalSemver.g:715:5: rule__WORKSPACE_VERSION__Alternatives { - pushFollow(FOLLOW_3); - rule__ALPHA_NUMERIC_CHARS__Alternatives(); + pushFollow(FOLLOW_4); + rule__WORKSPACE_VERSION__Alternatives(); state._fsp--; if (state.failed) return ; @@ -2227,7 +2403,7 @@ public final void ruleALPHA_NUMERIC_CHARS() throws RecognitionException { } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getAlternatives()); + after(grammarAccess.getWORKSPACE_VERSIONAccess().getAlternatives()); } } @@ -2250,15 +2426,15 @@ public final void ruleALPHA_NUMERIC_CHARS() throws RecognitionException { } return ; } - // $ANTLR end "ruleALPHA_NUMERIC_CHARS" + // $ANTLR end "ruleWORKSPACE_VERSION" // $ANTLR start "entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS" - // InternalSemver.g:675:1: entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS : ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF ; + // InternalSemver.g:725:1: entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS : ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF ; public final void entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() throws RecognitionException { try { - // InternalSemver.g:676:1: ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF ) - // InternalSemver.g:677:1: ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF + // InternalSemver.g:726:1: ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF ) + // InternalSemver.g:727:1: ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF { if ( state.backtracking==0 ) { before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSRule()); @@ -2288,23 +2464,23 @@ public final void entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() throws Recogn // $ANTLR start "ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS" - // InternalSemver.g:684:1: ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS : ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) ) ; + // InternalSemver.g:734:1: ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS : ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) ) ; public final void ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:688:2: ( ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) ) ) - // InternalSemver.g:689:2: ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) ) + // InternalSemver.g:738:2: ( ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) ) ) + // InternalSemver.g:739:2: ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) ) { - // InternalSemver.g:689:2: ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) ) - // InternalSemver.g:690:3: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) + // InternalSemver.g:739:2: ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) ) + // InternalSemver.g:740:3: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getGroup()); } - // InternalSemver.g:691:3: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) - // InternalSemver.g:691:4: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 + // InternalSemver.g:741:3: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 ) + // InternalSemver.g:741:4: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 { pushFollow(FOLLOW_2); rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0(); @@ -2338,23 +2514,23 @@ public final void ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() throws Recognition // $ANTLR end "ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS" - // $ANTLR start "entryRuleWILDCARD" - // InternalSemver.g:700:1: entryRuleWILDCARD : ruleWILDCARD EOF ; - public final void entryRuleWILDCARD() throws RecognitionException { + // $ANTLR start "entryRuleALPHA_NUMERIC_CHARS" + // InternalSemver.g:750:1: entryRuleALPHA_NUMERIC_CHARS : ruleALPHA_NUMERIC_CHARS EOF ; + public final void entryRuleALPHA_NUMERIC_CHARS() throws RecognitionException { try { - // InternalSemver.g:701:1: ( ruleWILDCARD EOF ) - // InternalSemver.g:702:1: ruleWILDCARD EOF + // InternalSemver.g:751:1: ( ruleALPHA_NUMERIC_CHARS EOF ) + // InternalSemver.g:752:1: ruleALPHA_NUMERIC_CHARS EOF { if ( state.backtracking==0 ) { - before(grammarAccess.getWILDCARDRule()); + before(grammarAccess.getALPHA_NUMERIC_CHARSRule()); } pushFollow(FOLLOW_1); - ruleWILDCARD(); + ruleALPHA_NUMERIC_CHARS(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getWILDCARDRule()); + after(grammarAccess.getALPHA_NUMERIC_CHARSRule()); } match(input,EOF,FOLLOW_2); if (state.failed) return ; @@ -2369,30 +2545,33 @@ public final void entryRuleWILDCARD() throws RecognitionException { } return ; } - // $ANTLR end "entryRuleWILDCARD" + // $ANTLR end "entryRuleALPHA_NUMERIC_CHARS" - // $ANTLR start "ruleWILDCARD" - // InternalSemver.g:709:1: ruleWILDCARD : ( ( rule__WILDCARD__Alternatives ) ) ; - public final void ruleWILDCARD() throws RecognitionException { + // $ANTLR start "ruleALPHA_NUMERIC_CHARS" + // InternalSemver.g:759:1: ruleALPHA_NUMERIC_CHARS : ( ( ( ruleALPHA_NUMERIC_CHAR ) ) ( ( ruleALPHA_NUMERIC_CHAR )* ) ) ; + public final void ruleALPHA_NUMERIC_CHARS() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:713:2: ( ( ( rule__WILDCARD__Alternatives ) ) ) - // InternalSemver.g:714:2: ( ( rule__WILDCARD__Alternatives ) ) + // InternalSemver.g:763:2: ( ( ( ( ruleALPHA_NUMERIC_CHAR ) ) ( ( ruleALPHA_NUMERIC_CHAR )* ) ) ) + // InternalSemver.g:764:2: ( ( ( ruleALPHA_NUMERIC_CHAR ) ) ( ( ruleALPHA_NUMERIC_CHAR )* ) ) { - // InternalSemver.g:714:2: ( ( rule__WILDCARD__Alternatives ) ) - // InternalSemver.g:715:3: ( rule__WILDCARD__Alternatives ) + // InternalSemver.g:764:2: ( ( ( ruleALPHA_NUMERIC_CHAR ) ) ( ( ruleALPHA_NUMERIC_CHAR )* ) ) + // InternalSemver.g:765:3: ( ( ruleALPHA_NUMERIC_CHAR ) ) ( ( ruleALPHA_NUMERIC_CHAR )* ) + { + // InternalSemver.g:765:3: ( ( ruleALPHA_NUMERIC_CHAR ) ) + // InternalSemver.g:766:4: ( ruleALPHA_NUMERIC_CHAR ) { if ( state.backtracking==0 ) { - before(grammarAccess.getWILDCARDAccess().getAlternatives()); + before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); } - // InternalSemver.g:716:3: ( rule__WILDCARD__Alternatives ) - // InternalSemver.g:716:4: rule__WILDCARD__Alternatives + // InternalSemver.g:767:4: ( ruleALPHA_NUMERIC_CHAR ) + // InternalSemver.g:767:5: ruleALPHA_NUMERIC_CHAR { - pushFollow(FOLLOW_2); - rule__WILDCARD__Alternatives(); + pushFollow(FOLLOW_3); + ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return ; @@ -2400,9 +2579,53 @@ public final void ruleWILDCARD() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getWILDCARDAccess().getAlternatives()); + after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); + } + + } + + // InternalSemver.g:770:3: ( ( ruleALPHA_NUMERIC_CHAR )* ) + // InternalSemver.g:771:4: ( ruleALPHA_NUMERIC_CHAR )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); + } + // InternalSemver.g:772:4: ( ruleALPHA_NUMERIC_CHAR )* + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( ((LA3_0>=RULE_DIGITS && LA3_0<=RULE_LETTER_OTHER)||LA3_0==47) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // InternalSemver.g:772:5: ruleALPHA_NUMERIC_CHAR + { + pushFollow(FOLLOW_3); + ruleALPHA_NUMERIC_CHAR(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop3; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); + } + } + } @@ -2420,42 +2643,28 @@ public final void ruleWILDCARD() throws RecognitionException { } return ; } - // $ANTLR end "ruleWILDCARD" - + // $ANTLR end "ruleALPHA_NUMERIC_CHARS" - // $ANTLR start "ruleLETTER" - // InternalSemver.g:726:1: ruleLETTER : ( ( rule__LETTER__Alternatives ) ) ; - public final void ruleLETTER() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleALPHA_NUMERIC_CHAR" + // InternalSemver.g:782:1: entryRuleALPHA_NUMERIC_CHAR : ruleALPHA_NUMERIC_CHAR EOF ; + public final void entryRuleALPHA_NUMERIC_CHAR() throws RecognitionException { try { - // InternalSemver.g:730:2: ( ( ( rule__LETTER__Alternatives ) ) ) - // InternalSemver.g:731:2: ( ( rule__LETTER__Alternatives ) ) - { - // InternalSemver.g:731:2: ( ( rule__LETTER__Alternatives ) ) - // InternalSemver.g:732:3: ( rule__LETTER__Alternatives ) + // InternalSemver.g:783:1: ( ruleALPHA_NUMERIC_CHAR EOF ) + // InternalSemver.g:784:1: ruleALPHA_NUMERIC_CHAR EOF { if ( state.backtracking==0 ) { - before(grammarAccess.getLETTERAccess().getAlternatives()); + before(grammarAccess.getALPHA_NUMERIC_CHARRule()); } - // InternalSemver.g:733:3: ( rule__LETTER__Alternatives ) - // InternalSemver.g:733:4: rule__LETTER__Alternatives - { - pushFollow(FOLLOW_2); - rule__LETTER__Alternatives(); + pushFollow(FOLLOW_1); + ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getLETTERAccess().getAlternatives()); - } - + after(grammarAccess.getALPHA_NUMERIC_CHARRule()); } - + match(input,EOF,FOLLOW_2); if (state.failed) return ; } @@ -2465,36 +2674,33 @@ public final void ruleLETTER() throws RecognitionException { recover(input,re); } finally { - - restoreStackSize(stackSize); - } return ; } - // $ANTLR end "ruleLETTER" + // $ANTLR end "entryRuleALPHA_NUMERIC_CHAR" - // $ANTLR start "ruleLETTER_NO_VX" - // InternalSemver.g:743:1: ruleLETTER_NO_VX : ( ( rule__LETTER_NO_VX__Alternatives ) ) ; - public final void ruleLETTER_NO_VX() throws RecognitionException { + // $ANTLR start "ruleALPHA_NUMERIC_CHAR" + // InternalSemver.g:791:1: ruleALPHA_NUMERIC_CHAR : ( ( rule__ALPHA_NUMERIC_CHAR__Alternatives ) ) ; + public final void ruleALPHA_NUMERIC_CHAR() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:747:2: ( ( ( rule__LETTER_NO_VX__Alternatives ) ) ) - // InternalSemver.g:748:2: ( ( rule__LETTER_NO_VX__Alternatives ) ) + // InternalSemver.g:795:2: ( ( ( rule__ALPHA_NUMERIC_CHAR__Alternatives ) ) ) + // InternalSemver.g:796:2: ( ( rule__ALPHA_NUMERIC_CHAR__Alternatives ) ) { - // InternalSemver.g:748:2: ( ( rule__LETTER_NO_VX__Alternatives ) ) - // InternalSemver.g:749:3: ( rule__LETTER_NO_VX__Alternatives ) + // InternalSemver.g:796:2: ( ( rule__ALPHA_NUMERIC_CHAR__Alternatives ) ) + // InternalSemver.g:797:3: ( rule__ALPHA_NUMERIC_CHAR__Alternatives ) { if ( state.backtracking==0 ) { - before(grammarAccess.getLETTER_NO_VXAccess().getAlternatives()); + before(grammarAccess.getALPHA_NUMERIC_CHARAccess().getAlternatives()); } - // InternalSemver.g:750:3: ( rule__LETTER_NO_VX__Alternatives ) - // InternalSemver.g:750:4: rule__LETTER_NO_VX__Alternatives + // InternalSemver.g:798:3: ( rule__ALPHA_NUMERIC_CHAR__Alternatives ) + // InternalSemver.g:798:4: rule__ALPHA_NUMERIC_CHAR__Alternatives { pushFollow(FOLLOW_2); - rule__LETTER_NO_VX__Alternatives(); + rule__ALPHA_NUMERIC_CHAR__Alternatives(); state._fsp--; if (state.failed) return ; @@ -2502,7 +2708,7 @@ public final void ruleLETTER_NO_VX() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getLETTER_NO_VXAccess().getAlternatives()); + after(grammarAccess.getALPHA_NUMERIC_CHARAccess().getAlternatives()); } } @@ -2522,28 +2728,215 @@ public final void ruleLETTER_NO_VX() throws RecognitionException { } return ; } - // $ANTLR end "ruleLETTER_NO_VX" - + // $ANTLR end "ruleALPHA_NUMERIC_CHAR" - // $ANTLR start "ruleVersionComparator" - // InternalSemver.g:759:1: ruleVersionComparator : ( ( rule__VersionComparator__Alternatives ) ) ; - public final void ruleVersionComparator() throws RecognitionException { - int stackSize = keepStackSize(); - + // $ANTLR start "entryRuleWILDCARD" + // InternalSemver.g:807:1: entryRuleWILDCARD : ruleWILDCARD EOF ; + public final void entryRuleWILDCARD() throws RecognitionException { try { - // InternalSemver.g:763:1: ( ( ( rule__VersionComparator__Alternatives ) ) ) - // InternalSemver.g:764:2: ( ( rule__VersionComparator__Alternatives ) ) - { - // InternalSemver.g:764:2: ( ( rule__VersionComparator__Alternatives ) ) - // InternalSemver.g:765:3: ( rule__VersionComparator__Alternatives ) + // InternalSemver.g:808:1: ( ruleWILDCARD EOF ) + // InternalSemver.g:809:1: ruleWILDCARD EOF { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionComparatorAccess().getAlternatives()); + before(grammarAccess.getWILDCARDRule()); } - // InternalSemver.g:766:3: ( rule__VersionComparator__Alternatives ) - // InternalSemver.g:766:4: rule__VersionComparator__Alternatives - { + pushFollow(FOLLOW_1); + ruleWILDCARD(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWILDCARDRule()); + } + match(input,EOF,FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleWILDCARD" + + + // $ANTLR start "ruleWILDCARD" + // InternalSemver.g:816:1: ruleWILDCARD : ( ( rule__WILDCARD__Alternatives ) ) ; + public final void ruleWILDCARD() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:820:2: ( ( ( rule__WILDCARD__Alternatives ) ) ) + // InternalSemver.g:821:2: ( ( rule__WILDCARD__Alternatives ) ) + { + // InternalSemver.g:821:2: ( ( rule__WILDCARD__Alternatives ) ) + // InternalSemver.g:822:3: ( rule__WILDCARD__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWILDCARDAccess().getAlternatives()); + } + // InternalSemver.g:823:3: ( rule__WILDCARD__Alternatives ) + // InternalSemver.g:823:4: rule__WILDCARD__Alternatives + { + pushFollow(FOLLOW_2); + rule__WILDCARD__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWILDCARDAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleWILDCARD" + + + // $ANTLR start "ruleLETTER" + // InternalSemver.g:833:1: ruleLETTER : ( ( rule__LETTER__Alternatives ) ) ; + public final void ruleLETTER() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:837:2: ( ( ( rule__LETTER__Alternatives ) ) ) + // InternalSemver.g:838:2: ( ( rule__LETTER__Alternatives ) ) + { + // InternalSemver.g:838:2: ( ( rule__LETTER__Alternatives ) ) + // InternalSemver.g:839:3: ( rule__LETTER__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLETTERAccess().getAlternatives()); + } + // InternalSemver.g:840:3: ( rule__LETTER__Alternatives ) + // InternalSemver.g:840:4: rule__LETTER__Alternatives + { + pushFollow(FOLLOW_2); + rule__LETTER__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLETTERAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLETTER" + + + // $ANTLR start "ruleLETTER_NO_VX" + // InternalSemver.g:850:1: ruleLETTER_NO_VX : ( ( rule__LETTER_NO_VX__Alternatives ) ) ; + public final void ruleLETTER_NO_VX() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:854:2: ( ( ( rule__LETTER_NO_VX__Alternatives ) ) ) + // InternalSemver.g:855:2: ( ( rule__LETTER_NO_VX__Alternatives ) ) + { + // InternalSemver.g:855:2: ( ( rule__LETTER_NO_VX__Alternatives ) ) + // InternalSemver.g:856:3: ( rule__LETTER_NO_VX__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLETTER_NO_VXAccess().getAlternatives()); + } + // InternalSemver.g:857:3: ( rule__LETTER_NO_VX__Alternatives ) + // InternalSemver.g:857:4: rule__LETTER_NO_VX__Alternatives + { + pushFollow(FOLLOW_2); + rule__LETTER_NO_VX__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLETTER_NO_VXAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLETTER_NO_VX" + + + // $ANTLR start "ruleVersionComparator" + // InternalSemver.g:866:1: ruleVersionComparator : ( ( rule__VersionComparator__Alternatives ) ) ; + public final void ruleVersionComparator() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:870:1: ( ( ( rule__VersionComparator__Alternatives ) ) ) + // InternalSemver.g:871:2: ( ( rule__VersionComparator__Alternatives ) ) + { + // InternalSemver.g:871:2: ( ( rule__VersionComparator__Alternatives ) ) + // InternalSemver.g:872:3: ( rule__VersionComparator__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionComparatorAccess().getAlternatives()); + } + // InternalSemver.g:873:3: ( rule__VersionComparator__Alternatives ) + // InternalSemver.g:873:4: rule__VersionComparator__Alternatives + { pushFollow(FOLLOW_2); rule__VersionComparator__Alternatives(); @@ -2577,41 +2970,41 @@ public final void ruleVersionComparator() throws RecognitionException { // $ANTLR start "rule__NPMVersionRequirement__Alternatives" - // InternalSemver.g:774:1: rule__NPMVersionRequirement__Alternatives : ( ( ( rule__NPMVersionRequirement__Group_0__0 ) ) | ( ( rule__NPMVersionRequirement__Group_1__0 ) ) ); + // InternalSemver.g:881:1: rule__NPMVersionRequirement__Alternatives : ( ( ( rule__NPMVersionRequirement__Group_0__0 ) ) | ( ( rule__NPMVersionRequirement__Group_1__0 ) ) ); public final void rule__NPMVersionRequirement__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:778:1: ( ( ( rule__NPMVersionRequirement__Group_0__0 ) ) | ( ( rule__NPMVersionRequirement__Group_1__0 ) ) ) - int alt3=2; - int LA3_0 = input.LA(1); + // InternalSemver.g:885:1: ( ( ( rule__NPMVersionRequirement__Group_0__0 ) ) | ( ( rule__NPMVersionRequirement__Group_1__0 ) ) ) + int alt4=2; + int LA4_0 = input.LA(1); - if ( (LA3_0==EOF||(LA3_0>=RULE_DIGITS && LA3_0<=RULE_LETTER_V)||LA3_0==RULE_WS||(LA3_0>=42 && LA3_0<=48)) ) { - alt3=1; + if ( (LA4_0==EOF||(LA4_0>=RULE_ASTERIX && LA4_0<=RULE_LETTER_V)||LA4_0==RULE_WS||(LA4_0>=48 && LA4_0<=54)) ) { + alt4=1; } - else if ( ((LA3_0>=RULE_LETTER_S && LA3_0<=RULE_LETTER_OTHER)||(LA3_0>=38 && LA3_0<=39)) ) { - alt3=2; + else if ( ((LA4_0>=RULE_LETTER_A && LA4_0<=RULE_LETTER_OTHER)||LA4_0==44||LA4_0==47) ) { + alt4=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 3, 0, input); + new NoViableAltException("", 4, 0, input); throw nvae; } - switch (alt3) { + switch (alt4) { case 1 : - // InternalSemver.g:779:2: ( ( rule__NPMVersionRequirement__Group_0__0 ) ) + // InternalSemver.g:886:2: ( ( rule__NPMVersionRequirement__Group_0__0 ) ) { - // InternalSemver.g:779:2: ( ( rule__NPMVersionRequirement__Group_0__0 ) ) - // InternalSemver.g:780:3: ( rule__NPMVersionRequirement__Group_0__0 ) + // InternalSemver.g:886:2: ( ( rule__NPMVersionRequirement__Group_0__0 ) ) + // InternalSemver.g:887:3: ( rule__NPMVersionRequirement__Group_0__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getNPMVersionRequirementAccess().getGroup_0()); } - // InternalSemver.g:781:3: ( rule__NPMVersionRequirement__Group_0__0 ) - // InternalSemver.g:781:4: rule__NPMVersionRequirement__Group_0__0 + // InternalSemver.g:888:3: ( rule__NPMVersionRequirement__Group_0__0 ) + // InternalSemver.g:888:4: rule__NPMVersionRequirement__Group_0__0 { pushFollow(FOLLOW_2); rule__NPMVersionRequirement__Group_0__0(); @@ -2631,16 +3024,16 @@ else if ( ((LA3_0>=RULE_LETTER_S && LA3_0<=RULE_LETTER_OTHER)||(LA3_0>=38 && LA3 } break; case 2 : - // InternalSemver.g:785:2: ( ( rule__NPMVersionRequirement__Group_1__0 ) ) + // InternalSemver.g:892:2: ( ( rule__NPMVersionRequirement__Group_1__0 ) ) { - // InternalSemver.g:785:2: ( ( rule__NPMVersionRequirement__Group_1__0 ) ) - // InternalSemver.g:786:3: ( rule__NPMVersionRequirement__Group_1__0 ) + // InternalSemver.g:892:2: ( ( rule__NPMVersionRequirement__Group_1__0 ) ) + // InternalSemver.g:893:3: ( rule__NPMVersionRequirement__Group_1__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getNPMVersionRequirementAccess().getGroup_1()); } - // InternalSemver.g:787:3: ( rule__NPMVersionRequirement__Group_1__0 ) - // InternalSemver.g:787:4: rule__NPMVersionRequirement__Group_1__0 + // InternalSemver.g:894:3: ( rule__NPMVersionRequirement__Group_1__0 ) + // InternalSemver.g:894:4: rule__NPMVersionRequirement__Group_1__0 { pushFollow(FOLLOW_2); rule__NPMVersionRequirement__Group_1__0(); @@ -2677,27 +3070,27 @@ else if ( ((LA3_0>=RULE_LETTER_S && LA3_0<=RULE_LETTER_OTHER)||(LA3_0>=38 && LA3 // $ANTLR start "rule__NPMVersionRequirement__Alternatives_1_0" - // InternalSemver.g:795:1: rule__NPMVersionRequirement__Alternatives_1_0 : ( ( ( ruleLocalPathVersionRequirement ) ) | ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) ); + // InternalSemver.g:902:1: rule__NPMVersionRequirement__Alternatives_1_0 : ( ( ( ruleLocalPathVersionRequirement ) ) | ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) ); public final void rule__NPMVersionRequirement__Alternatives_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:799:1: ( ( ( ruleLocalPathVersionRequirement ) ) | ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) ) - int alt4=2; - alt4 = dfa4.predict(input); - switch (alt4) { + // InternalSemver.g:906:1: ( ( ( ruleLocalPathVersionRequirement ) ) | ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) ) + int alt5=2; + alt5 = dfa5.predict(input); + switch (alt5) { case 1 : - // InternalSemver.g:800:2: ( ( ruleLocalPathVersionRequirement ) ) + // InternalSemver.g:907:2: ( ( ruleLocalPathVersionRequirement ) ) { - // InternalSemver.g:800:2: ( ( ruleLocalPathVersionRequirement ) ) - // InternalSemver.g:801:3: ( ruleLocalPathVersionRequirement ) + // InternalSemver.g:907:2: ( ( ruleLocalPathVersionRequirement ) ) + // InternalSemver.g:908:3: ( ruleLocalPathVersionRequirement ) { if ( state.backtracking==0 ) { before(grammarAccess.getNPMVersionRequirementAccess().getLocalPathVersionRequirementParserRuleCall_1_0_0()); } - // InternalSemver.g:802:3: ( ruleLocalPathVersionRequirement ) - // InternalSemver.g:802:4: ruleLocalPathVersionRequirement + // InternalSemver.g:909:3: ( ruleLocalPathVersionRequirement ) + // InternalSemver.g:909:4: ruleLocalPathVersionRequirement { pushFollow(FOLLOW_2); ruleLocalPathVersionRequirement(); @@ -2717,16 +3110,16 @@ public final void rule__NPMVersionRequirement__Alternatives_1_0() throws Recogni } break; case 2 : - // InternalSemver.g:806:2: ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) + // InternalSemver.g:913:2: ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) { - // InternalSemver.g:806:2: ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) - // InternalSemver.g:807:3: ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) + // InternalSemver.g:913:2: ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) + // InternalSemver.g:914:3: ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getNPMVersionRequirementAccess().getAlternatives_1_0_1()); } - // InternalSemver.g:808:3: ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) - // InternalSemver.g:808:4: rule__NPMVersionRequirement__Alternatives_1_0_1 + // InternalSemver.g:915:3: ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) + // InternalSemver.g:915:4: rule__NPMVersionRequirement__Alternatives_1_0_1 { pushFollow(FOLLOW_2); rule__NPMVersionRequirement__Alternatives_1_0_1(); @@ -2763,27 +3156,27 @@ public final void rule__NPMVersionRequirement__Alternatives_1_0() throws Recogni // $ANTLR start "rule__NPMVersionRequirement__Alternatives_1_0_1" - // InternalSemver.g:816:1: rule__NPMVersionRequirement__Alternatives_1_0_1 : ( ( ( ruleURLVersionRequirement ) ) | ( ruleGitHubVersionRequirement ) | ( ruleTagVersionRequirement ) ); + // InternalSemver.g:923:1: rule__NPMVersionRequirement__Alternatives_1_0_1 : ( ( ( ruleURLVersionRequirement ) ) | ( ( rule__NPMVersionRequirement__Alternatives_1_0_1_1 ) ) ); public final void rule__NPMVersionRequirement__Alternatives_1_0_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:820:1: ( ( ( ruleURLVersionRequirement ) ) | ( ruleGitHubVersionRequirement ) | ( ruleTagVersionRequirement ) ) - int alt5=3; - alt5 = dfa5.predict(input); - switch (alt5) { + // InternalSemver.g:927:1: ( ( ( ruleURLVersionRequirement ) ) | ( ( rule__NPMVersionRequirement__Alternatives_1_0_1_1 ) ) ) + int alt6=2; + alt6 = dfa6.predict(input); + switch (alt6) { case 1 : - // InternalSemver.g:821:2: ( ( ruleURLVersionRequirement ) ) + // InternalSemver.g:928:2: ( ( ruleURLVersionRequirement ) ) { - // InternalSemver.g:821:2: ( ( ruleURLVersionRequirement ) ) - // InternalSemver.g:822:3: ( ruleURLVersionRequirement ) + // InternalSemver.g:928:2: ( ( ruleURLVersionRequirement ) ) + // InternalSemver.g:929:3: ( ruleURLVersionRequirement ) { if ( state.backtracking==0 ) { before(grammarAccess.getNPMVersionRequirementAccess().getURLVersionRequirementParserRuleCall_1_0_1_0()); } - // InternalSemver.g:823:3: ( ruleURLVersionRequirement ) - // InternalSemver.g:823:4: ruleURLVersionRequirement + // InternalSemver.g:930:3: ( ruleURLVersionRequirement ) + // InternalSemver.g:930:4: ruleURLVersionRequirement { pushFollow(FOLLOW_2); ruleURLVersionRequirement(); @@ -2803,13 +3196,99 @@ public final void rule__NPMVersionRequirement__Alternatives_1_0_1() throws Recog } break; case 2 : - // InternalSemver.g:827:2: ( ruleGitHubVersionRequirement ) + // InternalSemver.g:934:2: ( ( rule__NPMVersionRequirement__Alternatives_1_0_1_1 ) ) + { + // InternalSemver.g:934:2: ( ( rule__NPMVersionRequirement__Alternatives_1_0_1_1 ) ) + // InternalSemver.g:935:3: ( rule__NPMVersionRequirement__Alternatives_1_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNPMVersionRequirementAccess().getAlternatives_1_0_1_1()); + } + // InternalSemver.g:936:3: ( rule__NPMVersionRequirement__Alternatives_1_0_1_1 ) + // InternalSemver.g:936:4: rule__NPMVersionRequirement__Alternatives_1_0_1_1 + { + pushFollow(FOLLOW_2); + rule__NPMVersionRequirement__Alternatives_1_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNPMVersionRequirementAccess().getAlternatives_1_0_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NPMVersionRequirement__Alternatives_1_0_1" + + + // $ANTLR start "rule__NPMVersionRequirement__Alternatives_1_0_1_1" + // InternalSemver.g:944:1: rule__NPMVersionRequirement__Alternatives_1_0_1_1 : ( ( ( ruleWorkspaceVersionRequirement ) ) | ( ruleGitHubVersionRequirement ) | ( ruleTagVersionRequirement ) ); + public final void rule__NPMVersionRequirement__Alternatives_1_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:948:1: ( ( ( ruleWorkspaceVersionRequirement ) ) | ( ruleGitHubVersionRequirement ) | ( ruleTagVersionRequirement ) ) + int alt7=3; + alt7 = dfa7.predict(input); + switch (alt7) { + case 1 : + // InternalSemver.g:949:2: ( ( ruleWorkspaceVersionRequirement ) ) + { + // InternalSemver.g:949:2: ( ( ruleWorkspaceVersionRequirement ) ) + // InternalSemver.g:950:3: ( ruleWorkspaceVersionRequirement ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNPMVersionRequirementAccess().getWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0()); + } + // InternalSemver.g:951:3: ( ruleWorkspaceVersionRequirement ) + // InternalSemver.g:951:4: ruleWorkspaceVersionRequirement + { + pushFollow(FOLLOW_2); + ruleWorkspaceVersionRequirement(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNPMVersionRequirementAccess().getWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0()); + } + + } + + + } + break; + case 2 : + // InternalSemver.g:955:2: ( ruleGitHubVersionRequirement ) { - // InternalSemver.g:827:2: ( ruleGitHubVersionRequirement ) - // InternalSemver.g:828:3: ruleGitHubVersionRequirement + // InternalSemver.g:955:2: ( ruleGitHubVersionRequirement ) + // InternalSemver.g:956:3: ruleGitHubVersionRequirement { if ( state.backtracking==0 ) { - before(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1()); + before(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1_1()); } pushFollow(FOLLOW_2); ruleGitHubVersionRequirement(); @@ -2817,7 +3296,7 @@ public final void rule__NPMVersionRequirement__Alternatives_1_0_1() throws Recog state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1()); + after(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1_1()); } } @@ -2826,13 +3305,13 @@ public final void rule__NPMVersionRequirement__Alternatives_1_0_1() throws Recog } break; case 3 : - // InternalSemver.g:833:2: ( ruleTagVersionRequirement ) + // InternalSemver.g:961:2: ( ruleTagVersionRequirement ) { - // InternalSemver.g:833:2: ( ruleTagVersionRequirement ) - // InternalSemver.g:834:3: ruleTagVersionRequirement + // InternalSemver.g:961:2: ( ruleTagVersionRequirement ) + // InternalSemver.g:962:3: ruleTagVersionRequirement { if ( state.backtracking==0 ) { - before(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_2()); + before(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_1_2()); } pushFollow(FOLLOW_2); ruleTagVersionRequirement(); @@ -2840,7 +3319,7 @@ public final void rule__NPMVersionRequirement__Alternatives_1_0_1() throws Recog state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_2()); + after(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_1_2()); } } @@ -2862,31 +3341,31 @@ public final void rule__NPMVersionRequirement__Alternatives_1_0_1() throws Recog } return ; } - // $ANTLR end "rule__NPMVersionRequirement__Alternatives_1_0_1" + // $ANTLR end "rule__NPMVersionRequirement__Alternatives_1_0_1_1" // $ANTLR start "rule__URLVersionSpecifier__Alternatives" - // InternalSemver.g:843:1: rule__URLVersionSpecifier__Alternatives : ( ( ( rule__URLVersionSpecifier__Group_0__0 ) ) | ( ( rule__URLVersionSpecifier__Group_1__0 ) ) | ( ( rule__URLVersionSpecifier__Group_2__0 ) ) ); + // InternalSemver.g:971:1: rule__URLVersionSpecifier__Alternatives : ( ( ( rule__URLVersionSpecifier__Group_0__0 ) ) | ( ( rule__URLVersionSpecifier__Group_1__0 ) ) | ( ( rule__URLVersionSpecifier__Group_2__0 ) ) ); public final void rule__URLVersionSpecifier__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:847:1: ( ( ( rule__URLVersionSpecifier__Group_0__0 ) ) | ( ( rule__URLVersionSpecifier__Group_1__0 ) ) | ( ( rule__URLVersionSpecifier__Group_2__0 ) ) ) - int alt6=3; - alt6 = dfa6.predict(input); - switch (alt6) { + // InternalSemver.g:975:1: ( ( ( rule__URLVersionSpecifier__Group_0__0 ) ) | ( ( rule__URLVersionSpecifier__Group_1__0 ) ) | ( ( rule__URLVersionSpecifier__Group_2__0 ) ) ) + int alt8=3; + alt8 = dfa8.predict(input); + switch (alt8) { case 1 : - // InternalSemver.g:848:2: ( ( rule__URLVersionSpecifier__Group_0__0 ) ) + // InternalSemver.g:976:2: ( ( rule__URLVersionSpecifier__Group_0__0 ) ) { - // InternalSemver.g:848:2: ( ( rule__URLVersionSpecifier__Group_0__0 ) ) - // InternalSemver.g:849:3: ( rule__URLVersionSpecifier__Group_0__0 ) + // InternalSemver.g:976:2: ( ( rule__URLVersionSpecifier__Group_0__0 ) ) + // InternalSemver.g:977:3: ( rule__URLVersionSpecifier__Group_0__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionSpecifierAccess().getGroup_0()); } - // InternalSemver.g:850:3: ( rule__URLVersionSpecifier__Group_0__0 ) - // InternalSemver.g:850:4: rule__URLVersionSpecifier__Group_0__0 + // InternalSemver.g:978:3: ( rule__URLVersionSpecifier__Group_0__0 ) + // InternalSemver.g:978:4: rule__URLVersionSpecifier__Group_0__0 { pushFollow(FOLLOW_2); rule__URLVersionSpecifier__Group_0__0(); @@ -2906,16 +3385,16 @@ public final void rule__URLVersionSpecifier__Alternatives() throws RecognitionEx } break; case 2 : - // InternalSemver.g:854:2: ( ( rule__URLVersionSpecifier__Group_1__0 ) ) + // InternalSemver.g:982:2: ( ( rule__URLVersionSpecifier__Group_1__0 ) ) { - // InternalSemver.g:854:2: ( ( rule__URLVersionSpecifier__Group_1__0 ) ) - // InternalSemver.g:855:3: ( rule__URLVersionSpecifier__Group_1__0 ) + // InternalSemver.g:982:2: ( ( rule__URLVersionSpecifier__Group_1__0 ) ) + // InternalSemver.g:983:3: ( rule__URLVersionSpecifier__Group_1__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionSpecifierAccess().getGroup_1()); } - // InternalSemver.g:856:3: ( rule__URLVersionSpecifier__Group_1__0 ) - // InternalSemver.g:856:4: rule__URLVersionSpecifier__Group_1__0 + // InternalSemver.g:984:3: ( rule__URLVersionSpecifier__Group_1__0 ) + // InternalSemver.g:984:4: rule__URLVersionSpecifier__Group_1__0 { pushFollow(FOLLOW_2); rule__URLVersionSpecifier__Group_1__0(); @@ -2935,16 +3414,16 @@ public final void rule__URLVersionSpecifier__Alternatives() throws RecognitionEx } break; case 3 : - // InternalSemver.g:860:2: ( ( rule__URLVersionSpecifier__Group_2__0 ) ) + // InternalSemver.g:988:2: ( ( rule__URLVersionSpecifier__Group_2__0 ) ) { - // InternalSemver.g:860:2: ( ( rule__URLVersionSpecifier__Group_2__0 ) ) - // InternalSemver.g:861:3: ( rule__URLVersionSpecifier__Group_2__0 ) + // InternalSemver.g:988:2: ( ( rule__URLVersionSpecifier__Group_2__0 ) ) + // InternalSemver.g:989:3: ( rule__URLVersionSpecifier__Group_2__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionSpecifierAccess().getGroup_2()); } - // InternalSemver.g:862:3: ( rule__URLVersionSpecifier__Group_2__0 ) - // InternalSemver.g:862:4: rule__URLVersionSpecifier__Group_2__0 + // InternalSemver.g:990:3: ( rule__URLVersionSpecifier__Group_2__0 ) + // InternalSemver.g:990:4: rule__URLVersionSpecifier__Group_2__0 { pushFollow(FOLLOW_2); rule__URLVersionSpecifier__Group_2__0(); @@ -2980,28 +3459,114 @@ public final void rule__URLVersionSpecifier__Alternatives() throws RecognitionEx // $ANTLR end "rule__URLVersionSpecifier__Alternatives" - // $ANTLR start "rule__VersionRange__Alternatives" - // InternalSemver.g:870:1: rule__VersionRange__Alternatives : ( ( ruleVersionRangeContraint ) | ( ruleHyphenVersionRange ) ); - public final void rule__VersionRange__Alternatives() throws RecognitionException { + // $ANTLR start "rule__WorkspaceVersionRequirement__Alternatives_1" + // InternalSemver.g:998:1: rule__WorkspaceVersionRequirement__Alternatives_1 : ( ( ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) ) | ( ( rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 ) ) ); + public final void rule__WorkspaceVersionRequirement__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:874:1: ( ( ruleVersionRangeContraint ) | ( ruleHyphenVersionRange ) ) - int alt7=2; - alt7 = dfa7.predict(input); - switch (alt7) { + // InternalSemver.g:1002:1: ( ( ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) ) | ( ( rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 ) ) ) + int alt9=2; + alt9 = dfa9.predict(input); + switch (alt9) { case 1 : - // InternalSemver.g:875:2: ( ruleVersionRangeContraint ) + // InternalSemver.g:1003:2: ( ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) ) { - // InternalSemver.g:875:2: ( ruleVersionRangeContraint ) - // InternalSemver.g:876:3: ruleVersionRangeContraint + // InternalSemver.g:1003:2: ( ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) ) + // InternalSemver.g:1004:3: ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionRangeAccess().getVersionRangeContraintParserRuleCall_0()); + before(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionAssignment_1_0()); } + // InternalSemver.g:1005:3: ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) + // InternalSemver.g:1005:4: rule__WorkspaceVersionRequirement__VersionAssignment_1_0 + { pushFollow(FOLLOW_2); - ruleVersionRangeContraint(); + rule__WorkspaceVersionRequirement__VersionAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionAssignment_1_0()); + } + + } + + + } + break; + case 2 : + // InternalSemver.g:1009:2: ( ( rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 ) ) + { + // InternalSemver.g:1009:2: ( ( rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 ) ) + // InternalSemver.g:1010:3: ( rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionAssignment_1_1()); + } + // InternalSemver.g:1011:3: ( rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 ) + // InternalSemver.g:1011:4: rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionAssignment_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WorkspaceVersionRequirement__Alternatives_1" + + + // $ANTLR start "rule__VersionRange__Alternatives" + // InternalSemver.g:1019:1: rule__VersionRange__Alternatives : ( ( ruleVersionRangeContraint ) | ( ruleHyphenVersionRange ) ); + public final void rule__VersionRange__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:1023:1: ( ( ruleVersionRangeContraint ) | ( ruleHyphenVersionRange ) ) + int alt10=2; + alt10 = dfa10.predict(input); + switch (alt10) { + case 1 : + // InternalSemver.g:1024:2: ( ruleVersionRangeContraint ) + { + // InternalSemver.g:1024:2: ( ruleVersionRangeContraint ) + // InternalSemver.g:1025:3: ruleVersionRangeContraint + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionRangeAccess().getVersionRangeContraintParserRuleCall_0()); + } + pushFollow(FOLLOW_2); + ruleVersionRangeContraint(); state._fsp--; if (state.failed) return ; @@ -3015,10 +3580,10 @@ public final void rule__VersionRange__Alternatives() throws RecognitionException } break; case 2 : - // InternalSemver.g:881:2: ( ruleHyphenVersionRange ) + // InternalSemver.g:1030:2: ( ruleHyphenVersionRange ) { - // InternalSemver.g:881:2: ( ruleHyphenVersionRange ) - // InternalSemver.g:882:3: ruleHyphenVersionRange + // InternalSemver.g:1030:2: ( ruleHyphenVersionRange ) + // InternalSemver.g:1031:3: ruleHyphenVersionRange { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeAccess().getHyphenVersionRangeParserRuleCall_1()); @@ -3055,41 +3620,41 @@ public final void rule__VersionRange__Alternatives() throws RecognitionException // $ANTLR start "rule__VersionPart__Alternatives" - // InternalSemver.g:891:1: rule__VersionPart__Alternatives : ( ( ( rule__VersionPart__WildcardAssignment_0 ) ) | ( ( rule__VersionPart__NumberRawAssignment_1 ) ) ); + // InternalSemver.g:1040:1: rule__VersionPart__Alternatives : ( ( ( rule__VersionPart__WildcardAssignment_0 ) ) | ( ( rule__VersionPart__NumberRawAssignment_1 ) ) ); public final void rule__VersionPart__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:895:1: ( ( ( rule__VersionPart__WildcardAssignment_0 ) ) | ( ( rule__VersionPart__NumberRawAssignment_1 ) ) ) - int alt8=2; - int LA8_0 = input.LA(1); + // InternalSemver.g:1044:1: ( ( ( rule__VersionPart__WildcardAssignment_0 ) ) | ( ( rule__VersionPart__NumberRawAssignment_1 ) ) ) + int alt11=2; + int LA11_0 = input.LA(1); - if ( ((LA8_0>=RULE_LETTER_X && LA8_0<=RULE_ASTERIX)) ) { - alt8=1; + if ( (LA11_0==RULE_ASTERIX||LA11_0==RULE_LETTER_X) ) { + alt11=1; } - else if ( (LA8_0==RULE_DIGITS) ) { - alt8=2; + else if ( (LA11_0==RULE_DIGITS) ) { + alt11=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); + new NoViableAltException("", 11, 0, input); throw nvae; } - switch (alt8) { + switch (alt11) { case 1 : - // InternalSemver.g:896:2: ( ( rule__VersionPart__WildcardAssignment_0 ) ) + // InternalSemver.g:1045:2: ( ( rule__VersionPart__WildcardAssignment_0 ) ) { - // InternalSemver.g:896:2: ( ( rule__VersionPart__WildcardAssignment_0 ) ) - // InternalSemver.g:897:3: ( rule__VersionPart__WildcardAssignment_0 ) + // InternalSemver.g:1045:2: ( ( rule__VersionPart__WildcardAssignment_0 ) ) + // InternalSemver.g:1046:3: ( rule__VersionPart__WildcardAssignment_0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionPartAccess().getWildcardAssignment_0()); } - // InternalSemver.g:898:3: ( rule__VersionPart__WildcardAssignment_0 ) - // InternalSemver.g:898:4: rule__VersionPart__WildcardAssignment_0 + // InternalSemver.g:1047:3: ( rule__VersionPart__WildcardAssignment_0 ) + // InternalSemver.g:1047:4: rule__VersionPart__WildcardAssignment_0 { pushFollow(FOLLOW_2); rule__VersionPart__WildcardAssignment_0(); @@ -3109,16 +3674,16 @@ else if ( (LA8_0==RULE_DIGITS) ) { } break; case 2 : - // InternalSemver.g:902:2: ( ( rule__VersionPart__NumberRawAssignment_1 ) ) + // InternalSemver.g:1051:2: ( ( rule__VersionPart__NumberRawAssignment_1 ) ) { - // InternalSemver.g:902:2: ( ( rule__VersionPart__NumberRawAssignment_1 ) ) - // InternalSemver.g:903:3: ( rule__VersionPart__NumberRawAssignment_1 ) + // InternalSemver.g:1051:2: ( ( rule__VersionPart__NumberRawAssignment_1 ) ) + // InternalSemver.g:1052:3: ( rule__VersionPart__NumberRawAssignment_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionPartAccess().getNumberRawAssignment_1()); } - // InternalSemver.g:904:3: ( rule__VersionPart__NumberRawAssignment_1 ) - // InternalSemver.g:904:4: rule__VersionPart__NumberRawAssignment_1 + // InternalSemver.g:1053:3: ( rule__VersionPart__NumberRawAssignment_1 ) + // InternalSemver.g:1053:4: rule__VersionPart__NumberRawAssignment_1 { pushFollow(FOLLOW_2); rule__VersionPart__NumberRawAssignment_1(); @@ -3155,41 +3720,41 @@ else if ( (LA8_0==RULE_DIGITS) ) { // $ANTLR start "rule__Qualifier__Alternatives" - // InternalSemver.g:912:1: rule__Qualifier__Alternatives : ( ( ( rule__Qualifier__Group_0__0 ) ) | ( ( rule__Qualifier__Group_1__0 ) ) ); + // InternalSemver.g:1061:1: rule__Qualifier__Alternatives : ( ( ( rule__Qualifier__Group_0__0 ) ) | ( ( rule__Qualifier__Group_1__0 ) ) ); public final void rule__Qualifier__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:916:1: ( ( ( rule__Qualifier__Group_0__0 ) ) | ( ( rule__Qualifier__Group_1__0 ) ) ) - int alt9=2; - int LA9_0 = input.LA(1); + // InternalSemver.g:1065:1: ( ( ( rule__Qualifier__Group_0__0 ) ) | ( ( rule__Qualifier__Group_1__0 ) ) ) + int alt12=2; + int LA12_0 = input.LA(1); - if ( (LA9_0==38) ) { - alt9=1; + if ( (LA12_0==47) ) { + alt12=1; } - else if ( (LA9_0==40) ) { - alt9=2; + else if ( (LA12_0==45) ) { + alt12=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 9, 0, input); + new NoViableAltException("", 12, 0, input); throw nvae; } - switch (alt9) { + switch (alt12) { case 1 : - // InternalSemver.g:917:2: ( ( rule__Qualifier__Group_0__0 ) ) + // InternalSemver.g:1066:2: ( ( rule__Qualifier__Group_0__0 ) ) { - // InternalSemver.g:917:2: ( ( rule__Qualifier__Group_0__0 ) ) - // InternalSemver.g:918:3: ( rule__Qualifier__Group_0__0 ) + // InternalSemver.g:1066:2: ( ( rule__Qualifier__Group_0__0 ) ) + // InternalSemver.g:1067:3: ( rule__Qualifier__Group_0__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getGroup_0()); } - // InternalSemver.g:919:3: ( rule__Qualifier__Group_0__0 ) - // InternalSemver.g:919:4: rule__Qualifier__Group_0__0 + // InternalSemver.g:1068:3: ( rule__Qualifier__Group_0__0 ) + // InternalSemver.g:1068:4: rule__Qualifier__Group_0__0 { pushFollow(FOLLOW_2); rule__Qualifier__Group_0__0(); @@ -3209,16 +3774,16 @@ else if ( (LA9_0==40) ) { } break; case 2 : - // InternalSemver.g:923:2: ( ( rule__Qualifier__Group_1__0 ) ) + // InternalSemver.g:1072:2: ( ( rule__Qualifier__Group_1__0 ) ) { - // InternalSemver.g:923:2: ( ( rule__Qualifier__Group_1__0 ) ) - // InternalSemver.g:924:3: ( rule__Qualifier__Group_1__0 ) + // InternalSemver.g:1072:2: ( ( rule__Qualifier__Group_1__0 ) ) + // InternalSemver.g:1073:3: ( rule__Qualifier__Group_1__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getGroup_1()); } - // InternalSemver.g:925:3: ( rule__Qualifier__Group_1__0 ) - // InternalSemver.g:925:4: rule__Qualifier__Group_1__0 + // InternalSemver.g:1074:3: ( rule__Qualifier__Group_1__0 ) + // InternalSemver.g:1074:4: rule__Qualifier__Group_1__0 { pushFollow(FOLLOW_2); rule__Qualifier__Group_1__0(); @@ -3255,78 +3820,76 @@ else if ( (LA9_0==40) ) { // $ANTLR start "rule__PATH__Alternatives" - // InternalSemver.g:933:1: rule__PATH__Alternatives : ( ( '/' ) | ( '.' ) | ( '@' ) | ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ); + // InternalSemver.g:1082:1: rule__PATH__Alternatives : ( ( '/' ) | ( '.' ) | ( '@' ) | ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ); public final void rule__PATH__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:937:1: ( ( '/' ) | ( '.' ) | ( '@' ) | ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ) - int alt10=7; + // InternalSemver.g:1086:1: ( ( '/' ) | ( '.' ) | ( '@' ) | ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ) + int alt13=5; switch ( input.LA(1) ) { - case 35: - { - alt10=1; - } - break; - case 36: + case 41: { - alt10=2; + alt13=1; } break; - case 37: + case 42: { - alt10=3; + alt13=2; } break; - case 38: + case 43: { - alt10=4; + alt13=3; } break; - case 39: + case 44: { - alt10=5; + alt13=4; } break; case RULE_DIGITS: - { - alt10=6; - } - break; case RULE_LETTER_X: case RULE_LETTER_V: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: + case RULE_LETTER_A: + case RULE_LETTER_C: + case RULE_LETTER_E: case RULE_LETTER_F: case RULE_LETTER_I: + case RULE_LETTER_K: case RULE_LETTER_L: - case RULE_LETTER_E: + case RULE_LETTER_M: + case RULE_LETTER_O: + case RULE_LETTER_P: + case RULE_LETTER_R: + case RULE_LETTER_S: + case RULE_LETTER_W: case RULE_LETTER_OTHER: + case 47: { - alt10=7; + alt13=5; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 10, 0, input); + new NoViableAltException("", 13, 0, input); throw nvae; } - switch (alt10) { + switch (alt13) { case 1 : - // InternalSemver.g:938:2: ( '/' ) + // InternalSemver.g:1087:2: ( '/' ) { - // InternalSemver.g:938:2: ( '/' ) - // InternalSemver.g:939:3: '/' + // InternalSemver.g:1087:2: ( '/' ) + // InternalSemver.g:1088:3: '/' { if ( state.backtracking==0 ) { before(grammarAccess.getPATHAccess().getSolidusKeyword_0()); } - match(input,35,FOLLOW_2); if (state.failed) return ; + match(input,41,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getPATHAccess().getSolidusKeyword_0()); } @@ -3337,15 +3900,15 @@ public final void rule__PATH__Alternatives() throws RecognitionException { } break; case 2 : - // InternalSemver.g:944:2: ( '.' ) + // InternalSemver.g:1093:2: ( '.' ) { - // InternalSemver.g:944:2: ( '.' ) - // InternalSemver.g:945:3: '.' + // InternalSemver.g:1093:2: ( '.' ) + // InternalSemver.g:1094:3: '.' { if ( state.backtracking==0 ) { before(grammarAccess.getPATHAccess().getFullStopKeyword_1()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getPATHAccess().getFullStopKeyword_1()); } @@ -3356,15 +3919,15 @@ public final void rule__PATH__Alternatives() throws RecognitionException { } break; case 3 : - // InternalSemver.g:950:2: ( '@' ) + // InternalSemver.g:1099:2: ( '@' ) { - // InternalSemver.g:950:2: ( '@' ) - // InternalSemver.g:951:3: '@' + // InternalSemver.g:1099:2: ( '@' ) + // InternalSemver.g:1100:3: '@' { if ( state.backtracking==0 ) { before(grammarAccess.getPATHAccess().getCommercialAtKeyword_2()); } - match(input,37,FOLLOW_2); if (state.failed) return ; + match(input,43,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getPATHAccess().getCommercialAtKeyword_2()); } @@ -3375,17 +3938,17 @@ public final void rule__PATH__Alternatives() throws RecognitionException { } break; case 4 : - // InternalSemver.g:956:2: ( '-' ) + // InternalSemver.g:1105:2: ( '_' ) { - // InternalSemver.g:956:2: ( '-' ) - // InternalSemver.g:957:3: '-' + // InternalSemver.g:1105:2: ( '_' ) + // InternalSemver.g:1106:3: '_' { if ( state.backtracking==0 ) { - before(grammarAccess.getPATHAccess().getHyphenMinusKeyword_3()); + before(grammarAccess.getPATHAccess().get_Keyword_3()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,44,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getPATHAccess().getHyphenMinusKeyword_3()); + after(grammarAccess.getPATHAccess().get_Keyword_3()); } } @@ -3394,59 +3957,21 @@ public final void rule__PATH__Alternatives() throws RecognitionException { } break; case 5 : - // InternalSemver.g:962:2: ( '_' ) - { - // InternalSemver.g:962:2: ( '_' ) - // InternalSemver.g:963:3: '_' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPATHAccess().get_Keyword_4()); - } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPATHAccess().get_Keyword_4()); - } - - } - - - } - break; - case 6 : - // InternalSemver.g:968:2: ( RULE_DIGITS ) - { - // InternalSemver.g:968:2: ( RULE_DIGITS ) - // InternalSemver.g:969:3: RULE_DIGITS - { - if ( state.backtracking==0 ) { - before(grammarAccess.getPATHAccess().getDIGITSTerminalRuleCall_5()); - } - match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getPATHAccess().getDIGITSTerminalRuleCall_5()); - } - - } - - - } - break; - case 7 : - // InternalSemver.g:974:2: ( ruleLETTER ) + // InternalSemver.g:1111:2: ( ruleALPHA_NUMERIC_CHAR ) { - // InternalSemver.g:974:2: ( ruleLETTER ) - // InternalSemver.g:975:3: ruleLETTER + // InternalSemver.g:1111:2: ( ruleALPHA_NUMERIC_CHAR ) + // InternalSemver.g:1112:3: ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - before(grammarAccess.getPATHAccess().getLETTERParserRuleCall_6()); + before(grammarAccess.getPATHAccess().getALPHA_NUMERIC_CHARParserRuleCall_4()); } pushFollow(FOLLOW_2); - ruleLETTER(); + ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getPATHAccess().getLETTERParserRuleCall_6()); + after(grammarAccess.getPATHAccess().getALPHA_NUMERIC_CHARParserRuleCall_4()); } } @@ -3472,35 +3997,35 @@ public final void rule__PATH__Alternatives() throws RecognitionException { // $ANTLR start "rule__URL_PROTOCOL__Alternatives_1" - // InternalSemver.g:984:1: rule__URL_PROTOCOL__Alternatives_1 : ( ( ruleLETTER ) | ( '+' ) ); + // InternalSemver.g:1121:1: rule__URL_PROTOCOL__Alternatives_1 : ( ( ruleLETTER ) | ( '+' ) ); public final void rule__URL_PROTOCOL__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:988:1: ( ( ruleLETTER ) | ( '+' ) ) - int alt11=2; - int LA11_0 = input.LA(1); + // InternalSemver.g:1125:1: ( ( ruleLETTER ) | ( '+' ) ) + int alt14=2; + int LA14_0 = input.LA(1); - if ( (LA11_0==RULE_LETTER_X||(LA11_0>=RULE_LETTER_V && LA11_0<=RULE_LETTER_OTHER)) ) { - alt11=1; + if ( ((LA14_0>=RULE_LETTER_X && LA14_0<=RULE_LETTER_OTHER)) ) { + alt14=1; } - else if ( (LA11_0==40) ) { - alt11=2; + else if ( (LA14_0==45) ) { + alt14=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 11, 0, input); + new NoViableAltException("", 14, 0, input); throw nvae; } - switch (alt11) { + switch (alt14) { case 1 : - // InternalSemver.g:989:2: ( ruleLETTER ) + // InternalSemver.g:1126:2: ( ruleLETTER ) { - // InternalSemver.g:989:2: ( ruleLETTER ) - // InternalSemver.g:990:3: ruleLETTER + // InternalSemver.g:1126:2: ( ruleLETTER ) + // InternalSemver.g:1127:3: ruleLETTER { if ( state.backtracking==0 ) { before(grammarAccess.getURL_PROTOCOLAccess().getLETTERParserRuleCall_1_0()); @@ -3520,15 +4045,15 @@ else if ( (LA11_0==40) ) { } break; case 2 : - // InternalSemver.g:995:2: ( '+' ) + // InternalSemver.g:1132:2: ( '+' ) { - // InternalSemver.g:995:2: ( '+' ) - // InternalSemver.g:996:3: '+' + // InternalSemver.g:1132:2: ( '+' ) + // InternalSemver.g:1133:3: '+' { if ( state.backtracking==0 ) { before(grammarAccess.getURL_PROTOCOLAccess().getPlusSignKeyword_1_1()); } - match(input,40,FOLLOW_2); if (state.failed) return ; + match(input,45,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURL_PROTOCOLAccess().getPlusSignKeyword_1_1()); } @@ -3556,65 +4081,42 @@ else if ( (LA11_0==40) ) { // $ANTLR start "rule__URL__Alternatives_0" - // InternalSemver.g:1005:1: rule__URL__Alternatives_0 : ( ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ); + // InternalSemver.g:1142:1: rule__URL__Alternatives_0 : ( ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ); public final void rule__URL__Alternatives_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1009:1: ( ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ) - int alt12=4; - switch ( input.LA(1) ) { - case 38: - { - alt12=1; - } - break; - case 39: - { - alt12=2; - } - break; - case RULE_DIGITS: - { - alt12=3; - } - break; - case RULE_LETTER_X: - case RULE_LETTER_V: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: - case RULE_LETTER_F: - case RULE_LETTER_I: - case RULE_LETTER_L: - case RULE_LETTER_E: - case RULE_LETTER_OTHER: - { - alt12=4; - } - break; - default: + // InternalSemver.g:1146:1: ( ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ) + int alt15=2; + int LA15_0 = input.LA(1); + + if ( (LA15_0==44) ) { + alt15=1; + } + else if ( ((LA15_0>=RULE_DIGITS && LA15_0<=RULE_LETTER_OTHER)||LA15_0==47) ) { + alt15=2; + } + else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 12, 0, input); + new NoViableAltException("", 15, 0, input); throw nvae; } - - switch (alt12) { + switch (alt15) { case 1 : - // InternalSemver.g:1010:2: ( '-' ) + // InternalSemver.g:1147:2: ( '_' ) { - // InternalSemver.g:1010:2: ( '-' ) - // InternalSemver.g:1011:3: '-' + // InternalSemver.g:1147:2: ( '_' ) + // InternalSemver.g:1148:3: '_' { if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().getHyphenMinusKeyword_0_0()); + before(grammarAccess.getURLAccess().get_Keyword_0_0()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,44,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().getHyphenMinusKeyword_0_0()); + after(grammarAccess.getURLAccess().get_Keyword_0_0()); } } @@ -3623,59 +4125,21 @@ public final void rule__URL__Alternatives_0() throws RecognitionException { } break; case 2 : - // InternalSemver.g:1016:2: ( '_' ) - { - // InternalSemver.g:1016:2: ( '_' ) - // InternalSemver.g:1017:3: '_' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().get_Keyword_0_1()); - } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().get_Keyword_0_1()); - } - - } - - - } - break; - case 3 : - // InternalSemver.g:1022:2: ( RULE_DIGITS ) - { - // InternalSemver.g:1022:2: ( RULE_DIGITS ) - // InternalSemver.g:1023:3: RULE_DIGITS - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_0_2()); - } - match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_0_2()); - } - - } - - - } - break; - case 4 : - // InternalSemver.g:1028:2: ( ruleLETTER ) + // InternalSemver.g:1153:2: ( ruleALPHA_NUMERIC_CHAR ) { - // InternalSemver.g:1028:2: ( ruleLETTER ) - // InternalSemver.g:1029:3: ruleLETTER + // InternalSemver.g:1153:2: ( ruleALPHA_NUMERIC_CHAR ) + // InternalSemver.g:1154:3: ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().getLETTERParserRuleCall_0_3()); + before(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_0_1()); } pushFollow(FOLLOW_2); - ruleLETTER(); + ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().getLETTERParserRuleCall_0_3()); + after(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_0_1()); } } @@ -3701,54 +4165,54 @@ public final void rule__URL__Alternatives_0() throws RecognitionException { // $ANTLR start "rule__URL__Alternatives_1" - // InternalSemver.g:1038:1: rule__URL__Alternatives_1 : ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) ); + // InternalSemver.g:1163:1: rule__URL__Alternatives_1 : ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) ); public final void rule__URL__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1042:1: ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) ) - int alt13=4; + // InternalSemver.g:1167:1: ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) ) + int alt16=4; switch ( input.LA(1) ) { - case 35: + case 41: { - alt13=1; + alt16=1; } break; - case 36: + case 42: { - alt13=2; + alt16=2; } break; - case 41: + case 46: { - alt13=3; + alt16=3; } break; - case 37: + case 43: { - alt13=4; + alt16=4; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 13, 0, input); + new NoViableAltException("", 16, 0, input); throw nvae; } - switch (alt13) { + switch (alt16) { case 1 : - // InternalSemver.g:1043:2: ( '/' ) + // InternalSemver.g:1168:2: ( '/' ) { - // InternalSemver.g:1043:2: ( '/' ) - // InternalSemver.g:1044:3: '/' + // InternalSemver.g:1168:2: ( '/' ) + // InternalSemver.g:1169:3: '/' { if ( state.backtracking==0 ) { before(grammarAccess.getURLAccess().getSolidusKeyword_1_0()); } - match(input,35,FOLLOW_2); if (state.failed) return ; + match(input,41,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLAccess().getSolidusKeyword_1_0()); } @@ -3759,15 +4223,15 @@ public final void rule__URL__Alternatives_1() throws RecognitionException { } break; case 2 : - // InternalSemver.g:1049:2: ( '.' ) + // InternalSemver.g:1174:2: ( '.' ) { - // InternalSemver.g:1049:2: ( '.' ) - // InternalSemver.g:1050:3: '.' + // InternalSemver.g:1174:2: ( '.' ) + // InternalSemver.g:1175:3: '.' { if ( state.backtracking==0 ) { before(grammarAccess.getURLAccess().getFullStopKeyword_1_1()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLAccess().getFullStopKeyword_1_1()); } @@ -3778,15 +4242,15 @@ public final void rule__URL__Alternatives_1() throws RecognitionException { } break; case 3 : - // InternalSemver.g:1055:2: ( ':' ) + // InternalSemver.g:1180:2: ( ':' ) { - // InternalSemver.g:1055:2: ( ':' ) - // InternalSemver.g:1056:3: ':' + // InternalSemver.g:1180:2: ( ':' ) + // InternalSemver.g:1181:3: ':' { if ( state.backtracking==0 ) { before(grammarAccess.getURLAccess().getColonKeyword_1_2()); } - match(input,41,FOLLOW_2); if (state.failed) return ; + match(input,46,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLAccess().getColonKeyword_1_2()); } @@ -3797,15 +4261,15 @@ public final void rule__URL__Alternatives_1() throws RecognitionException { } break; case 4 : - // InternalSemver.g:1061:2: ( '@' ) + // InternalSemver.g:1186:2: ( '@' ) { - // InternalSemver.g:1061:2: ( '@' ) - // InternalSemver.g:1062:3: '@' + // InternalSemver.g:1186:2: ( '@' ) + // InternalSemver.g:1187:3: '@' { if ( state.backtracking==0 ) { before(grammarAccess.getURLAccess().getCommercialAtKeyword_1_3()); } - match(input,37,FOLLOW_2); if (state.failed) return ; + match(input,43,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLAccess().getCommercialAtKeyword_1_3()); } @@ -3833,83 +4297,81 @@ public final void rule__URL__Alternatives_1() throws RecognitionException { // $ANTLR start "rule__URL__Alternatives_2" - // InternalSemver.g:1071:1: rule__URL__Alternatives_2 : ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ); + // InternalSemver.g:1196:1: rule__URL__Alternatives_2 : ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ); public final void rule__URL__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1075:1: ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ) - int alt14=8; + // InternalSemver.g:1200:1: ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ) + int alt17=6; switch ( input.LA(1) ) { - case 35: - { - alt14=1; - } - break; - case 36: - { - alt14=2; - } - break; case 41: { - alt14=3; + alt17=1; } break; - case 37: + case 42: { - alt14=4; + alt17=2; } break; - case 38: + case 46: { - alt14=5; + alt17=3; } break; - case 39: + case 43: { - alt14=6; + alt17=4; } break; - case RULE_DIGITS: + case 44: { - alt14=7; + alt17=5; } break; + case RULE_DIGITS: case RULE_LETTER_X: case RULE_LETTER_V: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: + case RULE_LETTER_A: + case RULE_LETTER_C: + case RULE_LETTER_E: case RULE_LETTER_F: case RULE_LETTER_I: + case RULE_LETTER_K: case RULE_LETTER_L: - case RULE_LETTER_E: + case RULE_LETTER_M: + case RULE_LETTER_O: + case RULE_LETTER_P: + case RULE_LETTER_R: + case RULE_LETTER_S: + case RULE_LETTER_W: case RULE_LETTER_OTHER: + case 47: { - alt14=8; + alt17=6; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 14, 0, input); + new NoViableAltException("", 17, 0, input); throw nvae; } - switch (alt14) { + switch (alt17) { case 1 : - // InternalSemver.g:1076:2: ( '/' ) + // InternalSemver.g:1201:2: ( '/' ) { - // InternalSemver.g:1076:2: ( '/' ) - // InternalSemver.g:1077:3: '/' + // InternalSemver.g:1201:2: ( '/' ) + // InternalSemver.g:1202:3: '/' { if ( state.backtracking==0 ) { before(grammarAccess.getURLAccess().getSolidusKeyword_2_0()); } - match(input,35,FOLLOW_2); if (state.failed) return ; + match(input,41,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLAccess().getSolidusKeyword_2_0()); } @@ -3920,15 +4382,15 @@ public final void rule__URL__Alternatives_2() throws RecognitionException { } break; case 2 : - // InternalSemver.g:1082:2: ( '.' ) + // InternalSemver.g:1207:2: ( '.' ) { - // InternalSemver.g:1082:2: ( '.' ) - // InternalSemver.g:1083:3: '.' + // InternalSemver.g:1207:2: ( '.' ) + // InternalSemver.g:1208:3: '.' { if ( state.backtracking==0 ) { before(grammarAccess.getURLAccess().getFullStopKeyword_2_1()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLAccess().getFullStopKeyword_2_1()); } @@ -3939,15 +4401,15 @@ public final void rule__URL__Alternatives_2() throws RecognitionException { } break; case 3 : - // InternalSemver.g:1088:2: ( ':' ) + // InternalSemver.g:1213:2: ( ':' ) { - // InternalSemver.g:1088:2: ( ':' ) - // InternalSemver.g:1089:3: ':' + // InternalSemver.g:1213:2: ( ':' ) + // InternalSemver.g:1214:3: ':' { if ( state.backtracking==0 ) { before(grammarAccess.getURLAccess().getColonKeyword_2_2()); } - match(input,41,FOLLOW_2); if (state.failed) return ; + match(input,46,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLAccess().getColonKeyword_2_2()); } @@ -3958,15 +4420,15 @@ public final void rule__URL__Alternatives_2() throws RecognitionException { } break; case 4 : - // InternalSemver.g:1094:2: ( '@' ) + // InternalSemver.g:1219:2: ( '@' ) { - // InternalSemver.g:1094:2: ( '@' ) - // InternalSemver.g:1095:3: '@' + // InternalSemver.g:1219:2: ( '@' ) + // InternalSemver.g:1220:3: '@' { if ( state.backtracking==0 ) { before(grammarAccess.getURLAccess().getCommercialAtKeyword_2_3()); } - match(input,37,FOLLOW_2); if (state.failed) return ; + match(input,43,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLAccess().getCommercialAtKeyword_2_3()); } @@ -3977,17 +4439,17 @@ public final void rule__URL__Alternatives_2() throws RecognitionException { } break; case 5 : - // InternalSemver.g:1100:2: ( '-' ) + // InternalSemver.g:1225:2: ( '_' ) { - // InternalSemver.g:1100:2: ( '-' ) - // InternalSemver.g:1101:3: '-' + // InternalSemver.g:1225:2: ( '_' ) + // InternalSemver.g:1226:3: '_' { if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().getHyphenMinusKeyword_2_4()); + before(grammarAccess.getURLAccess().get_Keyword_2_4()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,44,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().getHyphenMinusKeyword_2_4()); + after(grammarAccess.getURLAccess().get_Keyword_2_4()); } } @@ -3996,59 +4458,21 @@ public final void rule__URL__Alternatives_2() throws RecognitionException { } break; case 6 : - // InternalSemver.g:1106:2: ( '_' ) - { - // InternalSemver.g:1106:2: ( '_' ) - // InternalSemver.g:1107:3: '_' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().get_Keyword_2_5()); - } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().get_Keyword_2_5()); - } - - } - - - } - break; - case 7 : - // InternalSemver.g:1112:2: ( RULE_DIGITS ) + // InternalSemver.g:1231:2: ( ruleALPHA_NUMERIC_CHAR ) { - // InternalSemver.g:1112:2: ( RULE_DIGITS ) - // InternalSemver.g:1113:3: RULE_DIGITS + // InternalSemver.g:1231:2: ( ruleALPHA_NUMERIC_CHAR ) + // InternalSemver.g:1232:3: ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_2_6()); - } - match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_2_6()); - } - - } - - - } - break; - case 8 : - // InternalSemver.g:1118:2: ( ruleLETTER ) - { - // InternalSemver.g:1118:2: ( ruleLETTER ) - // InternalSemver.g:1119:3: ruleLETTER - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().getLETTERParserRuleCall_2_7()); + before(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_2_5()); } pushFollow(FOLLOW_2); - ruleLETTER(); + ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().getLETTERParserRuleCall_2_7()); + after(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_2_5()); } } @@ -4074,58 +4498,64 @@ public final void rule__URL__Alternatives_2() throws RecognitionException { // $ANTLR start "rule__URL_NO_VX__Alternatives_0" - // InternalSemver.g:1128:1: rule__URL_NO_VX__Alternatives_0 : ( ( '-' ) | ( '_' ) | ( ruleLETTER_NO_VX ) ); + // InternalSemver.g:1241:1: rule__URL_NO_VX__Alternatives_0 : ( ( '_' ) | ( '-' ) | ( ruleLETTER_NO_VX ) ); public final void rule__URL_NO_VX__Alternatives_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1132:1: ( ( '-' ) | ( '_' ) | ( ruleLETTER_NO_VX ) ) - int alt15=3; + // InternalSemver.g:1245:1: ( ( '_' ) | ( '-' ) | ( ruleLETTER_NO_VX ) ) + int alt18=3; switch ( input.LA(1) ) { - case 38: + case 44: { - alt15=1; + alt18=1; } break; - case 39: + case 47: { - alt15=2; + alt18=2; } break; - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: + case RULE_LETTER_A: + case RULE_LETTER_C: + case RULE_LETTER_E: case RULE_LETTER_F: case RULE_LETTER_I: + case RULE_LETTER_K: case RULE_LETTER_L: - case RULE_LETTER_E: + case RULE_LETTER_M: + case RULE_LETTER_O: + case RULE_LETTER_P: + case RULE_LETTER_R: + case RULE_LETTER_S: + case RULE_LETTER_W: case RULE_LETTER_OTHER: { - alt15=3; + alt18=3; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 15, 0, input); + new NoViableAltException("", 18, 0, input); throw nvae; } - switch (alt15) { + switch (alt18) { case 1 : - // InternalSemver.g:1133:2: ( '-' ) + // InternalSemver.g:1246:2: ( '_' ) { - // InternalSemver.g:1133:2: ( '-' ) - // InternalSemver.g:1134:3: '-' + // InternalSemver.g:1246:2: ( '_' ) + // InternalSemver.g:1247:3: '_' { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_0()); + before(grammarAccess.getURL_NO_VXAccess().get_Keyword_0_0()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,44,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_0()); + after(grammarAccess.getURL_NO_VXAccess().get_Keyword_0_0()); } } @@ -4134,17 +4564,17 @@ public final void rule__URL_NO_VX__Alternatives_0() throws RecognitionException } break; case 2 : - // InternalSemver.g:1139:2: ( '_' ) + // InternalSemver.g:1252:2: ( '-' ) { - // InternalSemver.g:1139:2: ( '_' ) - // InternalSemver.g:1140:3: '_' + // InternalSemver.g:1252:2: ( '-' ) + // InternalSemver.g:1253:3: '-' { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().get_Keyword_0_1()); + before(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_1()); } - match(input,39,FOLLOW_2); if (state.failed) return ; + match(input,47,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().get_Keyword_0_1()); + after(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_1()); } } @@ -4153,10 +4583,10 @@ public final void rule__URL_NO_VX__Alternatives_0() throws RecognitionException } break; case 3 : - // InternalSemver.g:1145:2: ( ruleLETTER_NO_VX ) + // InternalSemver.g:1258:2: ( ruleLETTER_NO_VX ) { - // InternalSemver.g:1145:2: ( ruleLETTER_NO_VX ) - // InternalSemver.g:1146:3: ruleLETTER_NO_VX + // InternalSemver.g:1258:2: ( ruleLETTER_NO_VX ) + // InternalSemver.g:1259:3: ruleLETTER_NO_VX { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getLETTER_NO_VXParserRuleCall_0_2()); @@ -4193,65 +4623,42 @@ public final void rule__URL_NO_VX__Alternatives_0() throws RecognitionException // $ANTLR start "rule__URL_NO_VX__Alternatives_1" - // InternalSemver.g:1155:1: rule__URL_NO_VX__Alternatives_1 : ( ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ); + // InternalSemver.g:1268:1: rule__URL_NO_VX__Alternatives_1 : ( ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ); public final void rule__URL_NO_VX__Alternatives_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1159:1: ( ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ) - int alt16=4; - switch ( input.LA(1) ) { - case 38: - { - alt16=1; - } - break; - case 39: - { - alt16=2; - } - break; - case RULE_DIGITS: - { - alt16=3; - } - break; - case RULE_LETTER_X: - case RULE_LETTER_V: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: - case RULE_LETTER_F: - case RULE_LETTER_I: - case RULE_LETTER_L: - case RULE_LETTER_E: - case RULE_LETTER_OTHER: - { - alt16=4; - } - break; - default: + // InternalSemver.g:1272:1: ( ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ) + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==44) ) { + alt19=1; + } + else if ( ((LA19_0>=RULE_DIGITS && LA19_0<=RULE_LETTER_OTHER)||LA19_0==47) ) { + alt19=2; + } + else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 16, 0, input); + new NoViableAltException("", 19, 0, input); throw nvae; } - - switch (alt16) { + switch (alt19) { case 1 : - // InternalSemver.g:1160:2: ( '-' ) + // InternalSemver.g:1273:2: ( '_' ) { - // InternalSemver.g:1160:2: ( '-' ) - // InternalSemver.g:1161:3: '-' + // InternalSemver.g:1273:2: ( '_' ) + // InternalSemver.g:1274:3: '_' { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_1_0()); + before(grammarAccess.getURL_NO_VXAccess().get_Keyword_1_0()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,44,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_1_0()); + after(grammarAccess.getURL_NO_VXAccess().get_Keyword_1_0()); } } @@ -4260,59 +4667,21 @@ public final void rule__URL_NO_VX__Alternatives_1() throws RecognitionException } break; case 2 : - // InternalSemver.g:1166:2: ( '_' ) - { - // InternalSemver.g:1166:2: ( '_' ) - // InternalSemver.g:1167:3: '_' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().get_Keyword_1_1()); - } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().get_Keyword_1_1()); - } - - } - - - } - break; - case 3 : - // InternalSemver.g:1172:2: ( RULE_DIGITS ) - { - // InternalSemver.g:1172:2: ( RULE_DIGITS ) - // InternalSemver.g:1173:3: RULE_DIGITS - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_1_2()); - } - match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_1_2()); - } - - } - - - } - break; - case 4 : - // InternalSemver.g:1178:2: ( ruleLETTER ) + // InternalSemver.g:1279:2: ( ruleALPHA_NUMERIC_CHAR ) { - // InternalSemver.g:1178:2: ( ruleLETTER ) - // InternalSemver.g:1179:3: ruleLETTER + // InternalSemver.g:1279:2: ( ruleALPHA_NUMERIC_CHAR ) + // InternalSemver.g:1280:3: ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_1_3()); + before(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_1_1()); } pushFollow(FOLLOW_2); - ruleLETTER(); + ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_1_3()); + after(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_1_1()); } } @@ -4338,54 +4707,54 @@ public final void rule__URL_NO_VX__Alternatives_1() throws RecognitionException // $ANTLR start "rule__URL_NO_VX__Alternatives_2" - // InternalSemver.g:1188:1: rule__URL_NO_VX__Alternatives_2 : ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) ); + // InternalSemver.g:1289:1: rule__URL_NO_VX__Alternatives_2 : ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) ); public final void rule__URL_NO_VX__Alternatives_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1192:1: ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) ) - int alt17=4; + // InternalSemver.g:1293:1: ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) ) + int alt20=4; switch ( input.LA(1) ) { - case 35: + case 41: { - alt17=1; + alt20=1; } break; - case 36: + case 42: { - alt17=2; + alt20=2; } break; - case 41: + case 46: { - alt17=3; + alt20=3; } break; - case 37: + case 43: { - alt17=4; + alt20=4; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 17, 0, input); + new NoViableAltException("", 20, 0, input); throw nvae; } - switch (alt17) { + switch (alt20) { case 1 : - // InternalSemver.g:1193:2: ( '/' ) + // InternalSemver.g:1294:2: ( '/' ) { - // InternalSemver.g:1193:2: ( '/' ) - // InternalSemver.g:1194:3: '/' + // InternalSemver.g:1294:2: ( '/' ) + // InternalSemver.g:1295:3: '/' { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getSolidusKeyword_2_0()); } - match(input,35,FOLLOW_2); if (state.failed) return ; + match(input,41,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURL_NO_VXAccess().getSolidusKeyword_2_0()); } @@ -4396,15 +4765,15 @@ public final void rule__URL_NO_VX__Alternatives_2() throws RecognitionException } break; case 2 : - // InternalSemver.g:1199:2: ( '.' ) + // InternalSemver.g:1300:2: ( '.' ) { - // InternalSemver.g:1199:2: ( '.' ) - // InternalSemver.g:1200:3: '.' + // InternalSemver.g:1300:2: ( '.' ) + // InternalSemver.g:1301:3: '.' { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getFullStopKeyword_2_1()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURL_NO_VXAccess().getFullStopKeyword_2_1()); } @@ -4415,15 +4784,15 @@ public final void rule__URL_NO_VX__Alternatives_2() throws RecognitionException } break; case 3 : - // InternalSemver.g:1205:2: ( ':' ) + // InternalSemver.g:1306:2: ( ':' ) { - // InternalSemver.g:1205:2: ( ':' ) - // InternalSemver.g:1206:3: ':' + // InternalSemver.g:1306:2: ( ':' ) + // InternalSemver.g:1307:3: ':' { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getColonKeyword_2_2()); } - match(input,41,FOLLOW_2); if (state.failed) return ; + match(input,46,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURL_NO_VXAccess().getColonKeyword_2_2()); } @@ -4434,15 +4803,15 @@ public final void rule__URL_NO_VX__Alternatives_2() throws RecognitionException } break; case 4 : - // InternalSemver.g:1211:2: ( '@' ) + // InternalSemver.g:1312:2: ( '@' ) { - // InternalSemver.g:1211:2: ( '@' ) - // InternalSemver.g:1212:3: '@' + // InternalSemver.g:1312:2: ( '@' ) + // InternalSemver.g:1313:3: '@' { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getCommercialAtKeyword_2_3()); } - match(input,37,FOLLOW_2); if (state.failed) return ; + match(input,43,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURL_NO_VXAccess().getCommercialAtKeyword_2_3()); } @@ -4470,83 +4839,81 @@ public final void rule__URL_NO_VX__Alternatives_2() throws RecognitionException // $ANTLR start "rule__URL_NO_VX__Alternatives_3" - // InternalSemver.g:1221:1: rule__URL_NO_VX__Alternatives_3 : ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ); + // InternalSemver.g:1322:1: rule__URL_NO_VX__Alternatives_3 : ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ); public final void rule__URL_NO_VX__Alternatives_3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1225:1: ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '-' ) | ( '_' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ) - int alt18=8; + // InternalSemver.g:1326:1: ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '_' ) | ( ruleALPHA_NUMERIC_CHAR ) ) + int alt21=6; switch ( input.LA(1) ) { - case 35: - { - alt18=1; - } - break; - case 36: - { - alt18=2; - } - break; case 41: { - alt18=3; + alt21=1; } break; - case 37: + case 42: { - alt18=4; + alt21=2; } break; - case 38: + case 46: { - alt18=5; + alt21=3; } break; - case 39: + case 43: { - alt18=6; + alt21=4; } break; - case RULE_DIGITS: + case 44: { - alt18=7; + alt21=5; } break; + case RULE_DIGITS: case RULE_LETTER_X: case RULE_LETTER_V: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: + case RULE_LETTER_A: + case RULE_LETTER_C: + case RULE_LETTER_E: case RULE_LETTER_F: case RULE_LETTER_I: + case RULE_LETTER_K: case RULE_LETTER_L: - case RULE_LETTER_E: + case RULE_LETTER_M: + case RULE_LETTER_O: + case RULE_LETTER_P: + case RULE_LETTER_R: + case RULE_LETTER_S: + case RULE_LETTER_W: case RULE_LETTER_OTHER: + case 47: { - alt18=8; + alt21=6; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 18, 0, input); + new NoViableAltException("", 21, 0, input); throw nvae; } - switch (alt18) { + switch (alt21) { case 1 : - // InternalSemver.g:1226:2: ( '/' ) + // InternalSemver.g:1327:2: ( '/' ) { - // InternalSemver.g:1226:2: ( '/' ) - // InternalSemver.g:1227:3: '/' + // InternalSemver.g:1327:2: ( '/' ) + // InternalSemver.g:1328:3: '/' { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getSolidusKeyword_3_0()); } - match(input,35,FOLLOW_2); if (state.failed) return ; + match(input,41,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURL_NO_VXAccess().getSolidusKeyword_3_0()); } @@ -4557,15 +4924,15 @@ public final void rule__URL_NO_VX__Alternatives_3() throws RecognitionException } break; case 2 : - // InternalSemver.g:1232:2: ( '.' ) + // InternalSemver.g:1333:2: ( '.' ) { - // InternalSemver.g:1232:2: ( '.' ) - // InternalSemver.g:1233:3: '.' + // InternalSemver.g:1333:2: ( '.' ) + // InternalSemver.g:1334:3: '.' { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getFullStopKeyword_3_1()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURL_NO_VXAccess().getFullStopKeyword_3_1()); } @@ -4576,15 +4943,15 @@ public final void rule__URL_NO_VX__Alternatives_3() throws RecognitionException } break; case 3 : - // InternalSemver.g:1238:2: ( ':' ) + // InternalSemver.g:1339:2: ( ':' ) { - // InternalSemver.g:1238:2: ( ':' ) - // InternalSemver.g:1239:3: ':' + // InternalSemver.g:1339:2: ( ':' ) + // InternalSemver.g:1340:3: ':' { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getColonKeyword_3_2()); } - match(input,41,FOLLOW_2); if (state.failed) return ; + match(input,46,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURL_NO_VXAccess().getColonKeyword_3_2()); } @@ -4595,15 +4962,15 @@ public final void rule__URL_NO_VX__Alternatives_3() throws RecognitionException } break; case 4 : - // InternalSemver.g:1244:2: ( '@' ) + // InternalSemver.g:1345:2: ( '@' ) { - // InternalSemver.g:1244:2: ( '@' ) - // InternalSemver.g:1245:3: '@' + // InternalSemver.g:1345:2: ( '@' ) + // InternalSemver.g:1346:3: '@' { if ( state.backtracking==0 ) { before(grammarAccess.getURL_NO_VXAccess().getCommercialAtKeyword_3_3()); } - match(input,37,FOLLOW_2); if (state.failed) return ; + match(input,43,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURL_NO_VXAccess().getCommercialAtKeyword_3_3()); } @@ -4614,17 +4981,17 @@ public final void rule__URL_NO_VX__Alternatives_3() throws RecognitionException } break; case 5 : - // InternalSemver.g:1250:2: ( '-' ) + // InternalSemver.g:1351:2: ( '_' ) { - // InternalSemver.g:1250:2: ( '-' ) - // InternalSemver.g:1251:3: '-' + // InternalSemver.g:1351:2: ( '_' ) + // InternalSemver.g:1352:3: '_' { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_3_4()); + before(grammarAccess.getURL_NO_VXAccess().get_Keyword_3_4()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,44,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_3_4()); + after(grammarAccess.getURL_NO_VXAccess().get_Keyword_3_4()); } } @@ -4633,59 +5000,21 @@ public final void rule__URL_NO_VX__Alternatives_3() throws RecognitionException } break; case 6 : - // InternalSemver.g:1256:2: ( '_' ) - { - // InternalSemver.g:1256:2: ( '_' ) - // InternalSemver.g:1257:3: '_' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().get_Keyword_3_5()); - } - match(input,39,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().get_Keyword_3_5()); - } - - } - - - } - break; - case 7 : - // InternalSemver.g:1262:2: ( RULE_DIGITS ) - { - // InternalSemver.g:1262:2: ( RULE_DIGITS ) - // InternalSemver.g:1263:3: RULE_DIGITS - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_3_6()); - } - match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_3_6()); - } - - } - - - } - break; - case 8 : - // InternalSemver.g:1268:2: ( ruleLETTER ) + // InternalSemver.g:1357:2: ( ruleALPHA_NUMERIC_CHAR ) { - // InternalSemver.g:1268:2: ( ruleLETTER ) - // InternalSemver.g:1269:3: ruleLETTER + // InternalSemver.g:1357:2: ( ruleALPHA_NUMERIC_CHAR ) + // InternalSemver.g:1358:3: ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_3_7()); + before(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_3_5()); } pushFollow(FOLLOW_2); - ruleLETTER(); + ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_3_7()); + after(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_3_5()); } } @@ -4710,61 +5039,124 @@ public final void rule__URL_NO_VX__Alternatives_3() throws RecognitionException // $ANTLR end "rule__URL_NO_VX__Alternatives_3" - // $ANTLR start "rule__TAG__Alternatives_1" - // InternalSemver.g:1278:1: rule__TAG__Alternatives_1 : ( ( '-' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ); - public final void rule__TAG__Alternatives_1() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_VERSION__Alternatives" + // InternalSemver.g:1367:1: rule__WORKSPACE_VERSION__Alternatives : ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '_' ) | ( '=' ) | ( '~' ) | ( '^' ) | ( '<' ) | ( '>' ) | ( '<=' ) | ( '>=' ) | ( RULE_ASTERIX ) | ( ruleALPHA_NUMERIC_CHAR ) ); + public final void rule__WORKSPACE_VERSION__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1282:1: ( ( '-' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ) - int alt19=3; + // InternalSemver.g:1371:1: ( ( '/' ) | ( '.' ) | ( ':' ) | ( '@' ) | ( '_' ) | ( '=' ) | ( '~' ) | ( '^' ) | ( '<' ) | ( '>' ) | ( '<=' ) | ( '>=' ) | ( RULE_ASTERIX ) | ( ruleALPHA_NUMERIC_CHAR ) ) + int alt22=14; switch ( input.LA(1) ) { - case 38: + case 41: { - alt19=1; + alt22=1; } break; - case RULE_DIGITS: + case 42: { - alt19=2; + alt22=2; } break; - case RULE_LETTER_X: - case RULE_LETTER_V: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: - case RULE_LETTER_F: - case RULE_LETTER_I: - case RULE_LETTER_L: - case RULE_LETTER_E: - case RULE_LETTER_OTHER: + case 46: { - alt19=3; + alt22=3; } break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 19, 0, input); - - throw nvae; - } - - switch (alt19) { - case 1 : - // InternalSemver.g:1283:2: ( '-' ) - { - // InternalSemver.g:1283:2: ( '-' ) - // InternalSemver.g:1284:3: '-' - { - if ( state.backtracking==0 ) { - before(grammarAccess.getTAGAccess().getHyphenMinusKeyword_1_0()); - } - match(input,38,FOLLOW_2); if (state.failed) return ; + case 43: + { + alt22=4; + } + break; + case 44: + { + alt22=5; + } + break; + case 48: + { + alt22=6; + } + break; + case 49: + { + alt22=7; + } + break; + case 50: + { + alt22=8; + } + break; + case 51: + { + alt22=9; + } + break; + case 52: + { + alt22=10; + } + break; + case 53: + { + alt22=11; + } + break; + case 54: + { + alt22=12; + } + break; + case RULE_ASTERIX: + { + alt22=13; + } + break; + case RULE_DIGITS: + case RULE_LETTER_X: + case RULE_LETTER_V: + case RULE_LETTER_A: + case RULE_LETTER_C: + case RULE_LETTER_E: + case RULE_LETTER_F: + case RULE_LETTER_I: + case RULE_LETTER_K: + case RULE_LETTER_L: + case RULE_LETTER_M: + case RULE_LETTER_O: + case RULE_LETTER_P: + case RULE_LETTER_R: + case RULE_LETTER_S: + case RULE_LETTER_W: + case RULE_LETTER_OTHER: + case 47: + { + alt22=14; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 22, 0, input); + + throw nvae; + } + + switch (alt22) { + case 1 : + // InternalSemver.g:1372:2: ( '/' ) + { + // InternalSemver.g:1372:2: ( '/' ) + // InternalSemver.g:1373:3: '/' + { if ( state.backtracking==0 ) { - after(grammarAccess.getTAGAccess().getHyphenMinusKeyword_1_0()); + before(grammarAccess.getWORKSPACE_VERSIONAccess().getSolidusKeyword_0()); + } + match(input,41,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().getSolidusKeyword_0()); } } @@ -4773,17 +5165,17 @@ public final void rule__TAG__Alternatives_1() throws RecognitionException { } break; case 2 : - // InternalSemver.g:1289:2: ( RULE_DIGITS ) + // InternalSemver.g:1378:2: ( '.' ) { - // InternalSemver.g:1289:2: ( RULE_DIGITS ) - // InternalSemver.g:1290:3: RULE_DIGITS + // InternalSemver.g:1378:2: ( '.' ) + // InternalSemver.g:1379:3: '.' { if ( state.backtracking==0 ) { - before(grammarAccess.getTAGAccess().getDIGITSTerminalRuleCall_1_1()); + before(grammarAccess.getWORKSPACE_VERSIONAccess().getFullStopKeyword_1()); } - match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getTAGAccess().getDIGITSTerminalRuleCall_1_1()); + after(grammarAccess.getWORKSPACE_VERSIONAccess().getFullStopKeyword_1()); } } @@ -4792,21 +5184,36 @@ public final void rule__TAG__Alternatives_1() throws RecognitionException { } break; case 3 : - // InternalSemver.g:1295:2: ( ruleLETTER ) + // InternalSemver.g:1384:2: ( ':' ) { - // InternalSemver.g:1295:2: ( ruleLETTER ) - // InternalSemver.g:1296:3: ruleLETTER + // InternalSemver.g:1384:2: ( ':' ) + // InternalSemver.g:1385:3: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getTAGAccess().getLETTERParserRuleCall_1_2()); + before(grammarAccess.getWORKSPACE_VERSIONAccess().getColonKeyword_2()); + } + match(input,46,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().getColonKeyword_2()); } - pushFollow(FOLLOW_2); - ruleLETTER(); - state._fsp--; - if (state.failed) return ; + } + + + } + break; + case 4 : + // InternalSemver.g:1390:2: ( '@' ) + { + // InternalSemver.g:1390:2: ( '@' ) + // InternalSemver.g:1391:3: '@' + { if ( state.backtracking==0 ) { - after(grammarAccess.getTAGAccess().getLETTERParserRuleCall_1_2()); + before(grammarAccess.getWORKSPACE_VERSIONAccess().getCommercialAtKeyword_3()); + } + match(input,43,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().getCommercialAtKeyword_3()); } } @@ -4814,78 +5221,75 @@ public final void rule__TAG__Alternatives_1() throws RecognitionException { } break; + case 5 : + // InternalSemver.g:1396:2: ( '_' ) + { + // InternalSemver.g:1396:2: ( '_' ) + // InternalSemver.g:1397:3: '_' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWORKSPACE_VERSIONAccess().get_Keyword_4()); + } + match(input,44,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().get_Keyword_4()); + } - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } - restoreStackSize(stackSize); - } - return ; - } - // $ANTLR end "rule__TAG__Alternatives_1" + } + break; + case 6 : + // InternalSemver.g:1402:2: ( '=' ) + { + // InternalSemver.g:1402:2: ( '=' ) + // InternalSemver.g:1403:3: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWORKSPACE_VERSIONAccess().getEqualsSignKeyword_5()); + } + match(input,48,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().getEqualsSignKeyword_5()); + } + } - // $ANTLR start "rule__ALPHA_NUMERIC_CHARS__Alternatives" - // InternalSemver.g:1305:1: rule__ALPHA_NUMERIC_CHARS__Alternatives : ( ( '-' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ); - public final void rule__ALPHA_NUMERIC_CHARS__Alternatives() throws RecognitionException { - int stackSize = keepStackSize(); - - try { - // InternalSemver.g:1309:1: ( ( '-' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ) - int alt20=3; - switch ( input.LA(1) ) { - case 38: - { - alt20=1; - } - break; - case RULE_DIGITS: - { - alt20=2; - } - break; - case RULE_LETTER_X: - case RULE_LETTER_V: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: - case RULE_LETTER_F: - case RULE_LETTER_I: - case RULE_LETTER_L: - case RULE_LETTER_E: - case RULE_LETTER_OTHER: - { - alt20=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return ;} - NoViableAltException nvae = - new NoViableAltException("", 20, 0, input); + } + break; + case 7 : + // InternalSemver.g:1408:2: ( '~' ) + { + // InternalSemver.g:1408:2: ( '~' ) + // InternalSemver.g:1409:3: '~' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWORKSPACE_VERSIONAccess().getTildeKeyword_6()); + } + match(input,49,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().getTildeKeyword_6()); + } - throw nvae; - } + } - switch (alt20) { - case 1 : - // InternalSemver.g:1310:2: ( '-' ) + + } + break; + case 8 : + // InternalSemver.g:1414:2: ( '^' ) { - // InternalSemver.g:1310:2: ( '-' ) - // InternalSemver.g:1311:3: '-' + // InternalSemver.g:1414:2: ( '^' ) + // InternalSemver.g:1415:3: '^' { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getHyphenMinusKeyword_0()); + before(grammarAccess.getWORKSPACE_VERSIONAccess().getCircumflexAccentKeyword_7()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,50,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getHyphenMinusKeyword_0()); + after(grammarAccess.getWORKSPACE_VERSIONAccess().getCircumflexAccentKeyword_7()); } } @@ -4893,18 +5297,18 @@ public final void rule__ALPHA_NUMERIC_CHARS__Alternatives() throws RecognitionEx } break; - case 2 : - // InternalSemver.g:1316:2: ( RULE_DIGITS ) + case 9 : + // InternalSemver.g:1420:2: ( '<' ) { - // InternalSemver.g:1316:2: ( RULE_DIGITS ) - // InternalSemver.g:1317:3: RULE_DIGITS + // InternalSemver.g:1420:2: ( '<' ) + // InternalSemver.g:1421:3: '<' { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getDIGITSTerminalRuleCall_1()); + before(grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignKeyword_8()); } - match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; + match(input,51,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getDIGITSTerminalRuleCall_1()); + after(grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignKeyword_8()); } } @@ -4912,22 +5316,98 @@ public final void rule__ALPHA_NUMERIC_CHARS__Alternatives() throws RecognitionEx } break; - case 3 : - // InternalSemver.g:1322:2: ( ruleLETTER ) + case 10 : + // InternalSemver.g:1426:2: ( '>' ) + { + // InternalSemver.g:1426:2: ( '>' ) + // InternalSemver.g:1427:3: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignKeyword_9()); + } + match(input,52,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignKeyword_9()); + } + + } + + + } + break; + case 11 : + // InternalSemver.g:1432:2: ( '<=' ) + { + // InternalSemver.g:1432:2: ( '<=' ) + // InternalSemver.g:1433:3: '<=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignEqualsSignKeyword_10()); + } + match(input,53,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignEqualsSignKeyword_10()); + } + + } + + + } + break; + case 12 : + // InternalSemver.g:1438:2: ( '>=' ) + { + // InternalSemver.g:1438:2: ( '>=' ) + // InternalSemver.g:1439:3: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignEqualsSignKeyword_11()); + } + match(input,54,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignEqualsSignKeyword_11()); + } + + } + + + } + break; + case 13 : + // InternalSemver.g:1444:2: ( RULE_ASTERIX ) + { + // InternalSemver.g:1444:2: ( RULE_ASTERIX ) + // InternalSemver.g:1445:3: RULE_ASTERIX + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWORKSPACE_VERSIONAccess().getASTERIXTerminalRuleCall_12()); + } + match(input,RULE_ASTERIX,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_VERSIONAccess().getASTERIXTerminalRuleCall_12()); + } + + } + + + } + break; + case 14 : + // InternalSemver.g:1450:2: ( ruleALPHA_NUMERIC_CHAR ) { - // InternalSemver.g:1322:2: ( ruleLETTER ) - // InternalSemver.g:1323:3: ruleLETTER + // InternalSemver.g:1450:2: ( ruleALPHA_NUMERIC_CHAR ) + // InternalSemver.g:1451:3: ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getLETTERParserRuleCall_2()); + before(grammarAccess.getWORKSPACE_VERSIONAccess().getALPHA_NUMERIC_CHARParserRuleCall_13()); } pushFollow(FOLLOW_2); - ruleLETTER(); + ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getLETTERParserRuleCall_2()); + after(grammarAccess.getWORKSPACE_VERSIONAccess().getALPHA_NUMERIC_CHARParserRuleCall_13()); } } @@ -4949,64 +5429,70 @@ public final void rule__ALPHA_NUMERIC_CHARS__Alternatives() throws RecognitionEx } return ; } - // $ANTLR end "rule__ALPHA_NUMERIC_CHARS__Alternatives" + // $ANTLR end "rule__WORKSPACE_VERSION__Alternatives" - // $ANTLR start "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1" - // InternalSemver.g:1332:1: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 : ( ( '-' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ); - public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1() throws RecognitionException { + // $ANTLR start "rule__ALPHA_NUMERIC_CHAR__Alternatives" + // InternalSemver.g:1460:1: rule__ALPHA_NUMERIC_CHAR__Alternatives : ( ( '-' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ); + public final void rule__ALPHA_NUMERIC_CHAR__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1336:1: ( ( '-' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ) - int alt21=3; + // InternalSemver.g:1464:1: ( ( '-' ) | ( RULE_DIGITS ) | ( ruleLETTER ) ) + int alt23=3; switch ( input.LA(1) ) { - case 38: + case 47: { - alt21=1; + alt23=1; } break; case RULE_DIGITS: { - alt21=2; + alt23=2; } break; case RULE_LETTER_X: case RULE_LETTER_V: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: + case RULE_LETTER_A: + case RULE_LETTER_C: + case RULE_LETTER_E: case RULE_LETTER_F: case RULE_LETTER_I: + case RULE_LETTER_K: case RULE_LETTER_L: - case RULE_LETTER_E: + case RULE_LETTER_M: + case RULE_LETTER_O: + case RULE_LETTER_P: + case RULE_LETTER_R: + case RULE_LETTER_S: + case RULE_LETTER_W: case RULE_LETTER_OTHER: { - alt21=3; + alt23=3; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 21, 0, input); + new NoViableAltException("", 23, 0, input); throw nvae; } - switch (alt21) { + switch (alt23) { case 1 : - // InternalSemver.g:1337:2: ( '-' ) + // InternalSemver.g:1465:2: ( '-' ) { - // InternalSemver.g:1337:2: ( '-' ) - // InternalSemver.g:1338:3: '-' + // InternalSemver.g:1465:2: ( '-' ) + // InternalSemver.g:1466:3: '-' { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getHyphenMinusKeyword_1_0()); + before(grammarAccess.getALPHA_NUMERIC_CHARAccess().getHyphenMinusKeyword_0()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,47,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getHyphenMinusKeyword_1_0()); + after(grammarAccess.getALPHA_NUMERIC_CHARAccess().getHyphenMinusKeyword_0()); } } @@ -5015,17 +5501,17 @@ public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1() } break; case 2 : - // InternalSemver.g:1343:2: ( RULE_DIGITS ) + // InternalSemver.g:1471:2: ( RULE_DIGITS ) { - // InternalSemver.g:1343:2: ( RULE_DIGITS ) - // InternalSemver.g:1344:3: RULE_DIGITS + // InternalSemver.g:1471:2: ( RULE_DIGITS ) + // InternalSemver.g:1472:3: RULE_DIGITS { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_1_1()); + before(grammarAccess.getALPHA_NUMERIC_CHARAccess().getDIGITSTerminalRuleCall_1()); } match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_1_1()); + after(grammarAccess.getALPHA_NUMERIC_CHARAccess().getDIGITSTerminalRuleCall_1()); } } @@ -5034,13 +5520,13 @@ public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1() } break; case 3 : - // InternalSemver.g:1349:2: ( ruleLETTER ) + // InternalSemver.g:1477:2: ( ruleLETTER ) { - // InternalSemver.g:1349:2: ( ruleLETTER ) - // InternalSemver.g:1350:3: ruleLETTER + // InternalSemver.g:1477:2: ( ruleLETTER ) + // InternalSemver.g:1478:3: ruleLETTER { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getLETTERParserRuleCall_1_2()); + before(grammarAccess.getALPHA_NUMERIC_CHARAccess().getLETTERParserRuleCall_2()); } pushFollow(FOLLOW_2); ruleLETTER(); @@ -5048,7 +5534,7 @@ public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1() state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getLETTERParserRuleCall_1_2()); + after(grammarAccess.getALPHA_NUMERIC_CHARAccess().getLETTERParserRuleCall_2()); } } @@ -5070,39 +5556,39 @@ public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1() } return ; } - // $ANTLR end "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1" + // $ANTLR end "rule__ALPHA_NUMERIC_CHAR__Alternatives" // $ANTLR start "rule__WILDCARD__Alternatives" - // InternalSemver.g:1359:1: rule__WILDCARD__Alternatives : ( ( RULE_LETTER_X ) | ( RULE_ASTERIX ) ); + // InternalSemver.g:1487:1: rule__WILDCARD__Alternatives : ( ( RULE_LETTER_X ) | ( RULE_ASTERIX ) ); public final void rule__WILDCARD__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1363:1: ( ( RULE_LETTER_X ) | ( RULE_ASTERIX ) ) - int alt22=2; - int LA22_0 = input.LA(1); + // InternalSemver.g:1491:1: ( ( RULE_LETTER_X ) | ( RULE_ASTERIX ) ) + int alt24=2; + int LA24_0 = input.LA(1); - if ( (LA22_0==RULE_LETTER_X) ) { - alt22=1; + if ( (LA24_0==RULE_LETTER_X) ) { + alt24=1; } - else if ( (LA22_0==RULE_ASTERIX) ) { - alt22=2; + else if ( (LA24_0==RULE_ASTERIX) ) { + alt24=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 22, 0, input); + new NoViableAltException("", 24, 0, input); throw nvae; } - switch (alt22) { + switch (alt24) { case 1 : - // InternalSemver.g:1364:2: ( RULE_LETTER_X ) + // InternalSemver.g:1492:2: ( RULE_LETTER_X ) { - // InternalSemver.g:1364:2: ( RULE_LETTER_X ) - // InternalSemver.g:1365:3: RULE_LETTER_X + // InternalSemver.g:1492:2: ( RULE_LETTER_X ) + // InternalSemver.g:1493:3: RULE_LETTER_X { if ( state.backtracking==0 ) { before(grammarAccess.getWILDCARDAccess().getLETTER_XTerminalRuleCall_0()); @@ -5118,10 +5604,10 @@ else if ( (LA22_0==RULE_ASTERIX) ) { } break; case 2 : - // InternalSemver.g:1370:2: ( RULE_ASTERIX ) + // InternalSemver.g:1498:2: ( RULE_ASTERIX ) { - // InternalSemver.g:1370:2: ( RULE_ASTERIX ) - // InternalSemver.g:1371:3: RULE_ASTERIX + // InternalSemver.g:1498:2: ( RULE_ASTERIX ) + // InternalSemver.g:1499:3: RULE_ASTERIX { if ( state.backtracking==0 ) { before(grammarAccess.getWILDCARDAccess().getASTERIXTerminalRuleCall_1()); @@ -5154,51 +5640,57 @@ else if ( (LA22_0==RULE_ASTERIX) ) { // $ANTLR start "rule__LETTER__Alternatives" - // InternalSemver.g:1380:1: rule__LETTER__Alternatives : ( ( RULE_LETTER_V ) | ( RULE_LETTER_X ) | ( ruleLETTER_NO_VX ) ); + // InternalSemver.g:1508:1: rule__LETTER__Alternatives : ( ( RULE_LETTER_V ) | ( RULE_LETTER_X ) | ( ruleLETTER_NO_VX ) ); public final void rule__LETTER__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1384:1: ( ( RULE_LETTER_V ) | ( RULE_LETTER_X ) | ( ruleLETTER_NO_VX ) ) - int alt23=3; + // InternalSemver.g:1512:1: ( ( RULE_LETTER_V ) | ( RULE_LETTER_X ) | ( ruleLETTER_NO_VX ) ) + int alt25=3; switch ( input.LA(1) ) { case RULE_LETTER_V: { - alt23=1; + alt25=1; } break; case RULE_LETTER_X: { - alt23=2; + alt25=2; } break; - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: + case RULE_LETTER_A: + case RULE_LETTER_C: + case RULE_LETTER_E: case RULE_LETTER_F: case RULE_LETTER_I: + case RULE_LETTER_K: case RULE_LETTER_L: - case RULE_LETTER_E: - case RULE_LETTER_OTHER: + case RULE_LETTER_M: + case RULE_LETTER_O: + case RULE_LETTER_P: + case RULE_LETTER_R: + case RULE_LETTER_S: + case RULE_LETTER_W: + case RULE_LETTER_OTHER: { - alt23=3; + alt25=3; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 23, 0, input); + new NoViableAltException("", 25, 0, input); throw nvae; } - switch (alt23) { + switch (alt25) { case 1 : - // InternalSemver.g:1385:2: ( RULE_LETTER_V ) + // InternalSemver.g:1513:2: ( RULE_LETTER_V ) { - // InternalSemver.g:1385:2: ( RULE_LETTER_V ) - // InternalSemver.g:1386:3: RULE_LETTER_V + // InternalSemver.g:1513:2: ( RULE_LETTER_V ) + // InternalSemver.g:1514:3: RULE_LETTER_V { if ( state.backtracking==0 ) { before(grammarAccess.getLETTERAccess().getLETTER_VTerminalRuleCall_0()); @@ -5214,10 +5706,10 @@ public final void rule__LETTER__Alternatives() throws RecognitionException { } break; case 2 : - // InternalSemver.g:1391:2: ( RULE_LETTER_X ) + // InternalSemver.g:1519:2: ( RULE_LETTER_X ) { - // InternalSemver.g:1391:2: ( RULE_LETTER_X ) - // InternalSemver.g:1392:3: RULE_LETTER_X + // InternalSemver.g:1519:2: ( RULE_LETTER_X ) + // InternalSemver.g:1520:3: RULE_LETTER_X { if ( state.backtracking==0 ) { before(grammarAccess.getLETTERAccess().getLETTER_XTerminalRuleCall_1()); @@ -5233,10 +5725,10 @@ public final void rule__LETTER__Alternatives() throws RecognitionException { } break; case 3 : - // InternalSemver.g:1397:2: ( ruleLETTER_NO_VX ) + // InternalSemver.g:1525:2: ( ruleLETTER_NO_VX ) { - // InternalSemver.g:1397:2: ( ruleLETTER_NO_VX ) - // InternalSemver.g:1398:3: ruleLETTER_NO_VX + // InternalSemver.g:1525:2: ( ruleLETTER_NO_VX ) + // InternalSemver.g:1526:3: ruleLETTER_NO_VX { if ( state.backtracking==0 ) { before(grammarAccess.getLETTERAccess().getLETTER_NO_VXParserRuleCall_2()); @@ -5273,76 +5765,106 @@ public final void rule__LETTER__Alternatives() throws RecognitionException { // $ANTLR start "rule__LETTER_NO_VX__Alternatives" - // InternalSemver.g:1407:1: rule__LETTER_NO_VX__Alternatives : ( ( RULE_LETTER_S ) | ( RULE_LETTER_M ) | ( RULE_LETTER_R ) | ( RULE_LETTER_F ) | ( RULE_LETTER_I ) | ( RULE_LETTER_L ) | ( RULE_LETTER_E ) | ( RULE_LETTER_OTHER ) ); + // InternalSemver.g:1535:1: rule__LETTER_NO_VX__Alternatives : ( ( RULE_LETTER_A ) | ( RULE_LETTER_C ) | ( RULE_LETTER_E ) | ( RULE_LETTER_F ) | ( RULE_LETTER_I ) | ( RULE_LETTER_K ) | ( RULE_LETTER_L ) | ( RULE_LETTER_M ) | ( RULE_LETTER_O ) | ( RULE_LETTER_P ) | ( RULE_LETTER_R ) | ( RULE_LETTER_S ) | ( RULE_LETTER_W ) | ( RULE_LETTER_OTHER ) ); public final void rule__LETTER_NO_VX__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1411:1: ( ( RULE_LETTER_S ) | ( RULE_LETTER_M ) | ( RULE_LETTER_R ) | ( RULE_LETTER_F ) | ( RULE_LETTER_I ) | ( RULE_LETTER_L ) | ( RULE_LETTER_E ) | ( RULE_LETTER_OTHER ) ) - int alt24=8; + // InternalSemver.g:1539:1: ( ( RULE_LETTER_A ) | ( RULE_LETTER_C ) | ( RULE_LETTER_E ) | ( RULE_LETTER_F ) | ( RULE_LETTER_I ) | ( RULE_LETTER_K ) | ( RULE_LETTER_L ) | ( RULE_LETTER_M ) | ( RULE_LETTER_O ) | ( RULE_LETTER_P ) | ( RULE_LETTER_R ) | ( RULE_LETTER_S ) | ( RULE_LETTER_W ) | ( RULE_LETTER_OTHER ) ) + int alt26=14; switch ( input.LA(1) ) { - case RULE_LETTER_S: + case RULE_LETTER_A: { - alt24=1; + alt26=1; } break; - case RULE_LETTER_M: + case RULE_LETTER_C: { - alt24=2; + alt26=2; } break; - case RULE_LETTER_R: + case RULE_LETTER_E: { - alt24=3; + alt26=3; } break; case RULE_LETTER_F: { - alt24=4; + alt26=4; } break; case RULE_LETTER_I: { - alt24=5; + alt26=5; + } + break; + case RULE_LETTER_K: + { + alt26=6; } break; case RULE_LETTER_L: { - alt24=6; + alt26=7; } break; - case RULE_LETTER_E: + case RULE_LETTER_M: + { + alt26=8; + } + break; + case RULE_LETTER_O: + { + alt26=9; + } + break; + case RULE_LETTER_P: + { + alt26=10; + } + break; + case RULE_LETTER_R: { - alt24=7; + alt26=11; + } + break; + case RULE_LETTER_S: + { + alt26=12; + } + break; + case RULE_LETTER_W: + { + alt26=13; } break; case RULE_LETTER_OTHER: { - alt24=8; + alt26=14; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 24, 0, input); + new NoViableAltException("", 26, 0, input); throw nvae; } - switch (alt24) { + switch (alt26) { case 1 : - // InternalSemver.g:1412:2: ( RULE_LETTER_S ) + // InternalSemver.g:1540:2: ( RULE_LETTER_A ) { - // InternalSemver.g:1412:2: ( RULE_LETTER_S ) - // InternalSemver.g:1413:3: RULE_LETTER_S + // InternalSemver.g:1540:2: ( RULE_LETTER_A ) + // InternalSemver.g:1541:3: RULE_LETTER_A { if ( state.backtracking==0 ) { - before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_0()); + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ATerminalRuleCall_0()); } - match(input,RULE_LETTER_S,FOLLOW_2); if (state.failed) return ; + match(input,RULE_LETTER_A,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_0()); + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ATerminalRuleCall_0()); } } @@ -5351,17 +5873,17 @@ public final void rule__LETTER_NO_VX__Alternatives() throws RecognitionException } break; case 2 : - // InternalSemver.g:1418:2: ( RULE_LETTER_M ) + // InternalSemver.g:1546:2: ( RULE_LETTER_C ) { - // InternalSemver.g:1418:2: ( RULE_LETTER_M ) - // InternalSemver.g:1419:3: RULE_LETTER_M + // InternalSemver.g:1546:2: ( RULE_LETTER_C ) + // InternalSemver.g:1547:3: RULE_LETTER_C { if ( state.backtracking==0 ) { - before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_1()); + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_CTerminalRuleCall_1()); } - match(input,RULE_LETTER_M,FOLLOW_2); if (state.failed) return ; + match(input,RULE_LETTER_C,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_1()); + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_CTerminalRuleCall_1()); } } @@ -5370,17 +5892,17 @@ public final void rule__LETTER_NO_VX__Alternatives() throws RecognitionException } break; case 3 : - // InternalSemver.g:1424:2: ( RULE_LETTER_R ) + // InternalSemver.g:1552:2: ( RULE_LETTER_E ) { - // InternalSemver.g:1424:2: ( RULE_LETTER_R ) - // InternalSemver.g:1425:3: RULE_LETTER_R + // InternalSemver.g:1552:2: ( RULE_LETTER_E ) + // InternalSemver.g:1553:3: RULE_LETTER_E { if ( state.backtracking==0 ) { - before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_2()); + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_2()); } - match(input,RULE_LETTER_R,FOLLOW_2); if (state.failed) return ; + match(input,RULE_LETTER_E,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_2()); + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_2()); } } @@ -5389,10 +5911,10 @@ public final void rule__LETTER_NO_VX__Alternatives() throws RecognitionException } break; case 4 : - // InternalSemver.g:1430:2: ( RULE_LETTER_F ) + // InternalSemver.g:1558:2: ( RULE_LETTER_F ) { - // InternalSemver.g:1430:2: ( RULE_LETTER_F ) - // InternalSemver.g:1431:3: RULE_LETTER_F + // InternalSemver.g:1558:2: ( RULE_LETTER_F ) + // InternalSemver.g:1559:3: RULE_LETTER_F { if ( state.backtracking==0 ) { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_FTerminalRuleCall_3()); @@ -5408,10 +5930,10 @@ public final void rule__LETTER_NO_VX__Alternatives() throws RecognitionException } break; case 5 : - // InternalSemver.g:1436:2: ( RULE_LETTER_I ) + // InternalSemver.g:1564:2: ( RULE_LETTER_I ) { - // InternalSemver.g:1436:2: ( RULE_LETTER_I ) - // InternalSemver.g:1437:3: RULE_LETTER_I + // InternalSemver.g:1564:2: ( RULE_LETTER_I ) + // InternalSemver.g:1565:3: RULE_LETTER_I { if ( state.backtracking==0 ) { before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ITerminalRuleCall_4()); @@ -5427,17 +5949,17 @@ public final void rule__LETTER_NO_VX__Alternatives() throws RecognitionException } break; case 6 : - // InternalSemver.g:1442:2: ( RULE_LETTER_L ) + // InternalSemver.g:1570:2: ( RULE_LETTER_K ) { - // InternalSemver.g:1442:2: ( RULE_LETTER_L ) - // InternalSemver.g:1443:3: RULE_LETTER_L + // InternalSemver.g:1570:2: ( RULE_LETTER_K ) + // InternalSemver.g:1571:3: RULE_LETTER_K { if ( state.backtracking==0 ) { - before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_5()); + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_KTerminalRuleCall_5()); } - match(input,RULE_LETTER_L,FOLLOW_2); if (state.failed) return ; + match(input,RULE_LETTER_K,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_5()); + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_KTerminalRuleCall_5()); } } @@ -5446,17 +5968,17 @@ public final void rule__LETTER_NO_VX__Alternatives() throws RecognitionException } break; case 7 : - // InternalSemver.g:1448:2: ( RULE_LETTER_E ) + // InternalSemver.g:1576:2: ( RULE_LETTER_L ) { - // InternalSemver.g:1448:2: ( RULE_LETTER_E ) - // InternalSemver.g:1449:3: RULE_LETTER_E + // InternalSemver.g:1576:2: ( RULE_LETTER_L ) + // InternalSemver.g:1577:3: RULE_LETTER_L { if ( state.backtracking==0 ) { - before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_6()); + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_6()); } - match(input,RULE_LETTER_E,FOLLOW_2); if (state.failed) return ; + match(input,RULE_LETTER_L,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_6()); + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_6()); } } @@ -5465,17 +5987,131 @@ public final void rule__LETTER_NO_VX__Alternatives() throws RecognitionException } break; case 8 : - // InternalSemver.g:1454:2: ( RULE_LETTER_OTHER ) + // InternalSemver.g:1582:2: ( RULE_LETTER_M ) + { + // InternalSemver.g:1582:2: ( RULE_LETTER_M ) + // InternalSemver.g:1583:3: RULE_LETTER_M + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_7()); + } + match(input,RULE_LETTER_M,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_7()); + } + + } + + + } + break; + case 9 : + // InternalSemver.g:1588:2: ( RULE_LETTER_O ) + { + // InternalSemver.g:1588:2: ( RULE_LETTER_O ) + // InternalSemver.g:1589:3: RULE_LETTER_O + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTerminalRuleCall_8()); + } + match(input,RULE_LETTER_O,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTerminalRuleCall_8()); + } + + } + + + } + break; + case 10 : + // InternalSemver.g:1594:2: ( RULE_LETTER_P ) + { + // InternalSemver.g:1594:2: ( RULE_LETTER_P ) + // InternalSemver.g:1595:3: RULE_LETTER_P + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_PTerminalRuleCall_9()); + } + match(input,RULE_LETTER_P,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_PTerminalRuleCall_9()); + } + + } + + + } + break; + case 11 : + // InternalSemver.g:1600:2: ( RULE_LETTER_R ) + { + // InternalSemver.g:1600:2: ( RULE_LETTER_R ) + // InternalSemver.g:1601:3: RULE_LETTER_R + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_10()); + } + match(input,RULE_LETTER_R,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_10()); + } + + } + + + } + break; + case 12 : + // InternalSemver.g:1606:2: ( RULE_LETTER_S ) + { + // InternalSemver.g:1606:2: ( RULE_LETTER_S ) + // InternalSemver.g:1607:3: RULE_LETTER_S + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_11()); + } + match(input,RULE_LETTER_S,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_11()); + } + + } + + + } + break; + case 13 : + // InternalSemver.g:1612:2: ( RULE_LETTER_W ) { - // InternalSemver.g:1454:2: ( RULE_LETTER_OTHER ) - // InternalSemver.g:1455:3: RULE_LETTER_OTHER + // InternalSemver.g:1612:2: ( RULE_LETTER_W ) + // InternalSemver.g:1613:3: RULE_LETTER_W { if ( state.backtracking==0 ) { - before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_7()); + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_WTerminalRuleCall_12()); + } + match(input,RULE_LETTER_W,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_WTerminalRuleCall_12()); + } + + } + + + } + break; + case 14 : + // InternalSemver.g:1618:2: ( RULE_LETTER_OTHER ) + { + // InternalSemver.g:1618:2: ( RULE_LETTER_OTHER ) + // InternalSemver.g:1619:3: RULE_LETTER_OTHER + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_13()); } match(input,RULE_LETTER_OTHER,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_7()); + after(grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_13()); } } @@ -5501,72 +6137,72 @@ public final void rule__LETTER_NO_VX__Alternatives() throws RecognitionException // $ANTLR start "rule__VersionComparator__Alternatives" - // InternalSemver.g:1464:1: rule__VersionComparator__Alternatives : ( ( ( '=' ) ) | ( ( '<' ) ) | ( ( '~' ) ) | ( ( '^' ) ) | ( ( '<=' ) ) | ( ( '>' ) ) | ( ( '>=' ) ) ); + // InternalSemver.g:1628:1: rule__VersionComparator__Alternatives : ( ( ( '=' ) ) | ( ( '~' ) ) | ( ( '^' ) ) | ( ( '<' ) ) | ( ( '>' ) ) | ( ( '<=' ) ) | ( ( '>=' ) ) ); public final void rule__VersionComparator__Alternatives() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1468:1: ( ( ( '=' ) ) | ( ( '<' ) ) | ( ( '~' ) ) | ( ( '^' ) ) | ( ( '<=' ) ) | ( ( '>' ) ) | ( ( '>=' ) ) ) - int alt25=7; + // InternalSemver.g:1632:1: ( ( ( '=' ) ) | ( ( '~' ) ) | ( ( '^' ) ) | ( ( '<' ) ) | ( ( '>' ) ) | ( ( '<=' ) ) | ( ( '>=' ) ) ) + int alt27=7; switch ( input.LA(1) ) { - case 42: + case 48: { - alt25=1; + alt27=1; } break; - case 43: + case 49: { - alt25=2; + alt27=2; } break; - case 44: + case 50: { - alt25=3; + alt27=3; } break; - case 45: + case 51: { - alt25=4; + alt27=4; } break; - case 46: + case 52: { - alt25=5; + alt27=5; } break; - case 47: + case 53: { - alt25=6; + alt27=6; } break; - case 48: + case 54: { - alt25=7; + alt27=7; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("", 25, 0, input); + new NoViableAltException("", 27, 0, input); throw nvae; } - switch (alt25) { + switch (alt27) { case 1 : - // InternalSemver.g:1469:2: ( ( '=' ) ) + // InternalSemver.g:1633:2: ( ( '=' ) ) { - // InternalSemver.g:1469:2: ( ( '=' ) ) - // InternalSemver.g:1470:3: ( '=' ) + // InternalSemver.g:1633:2: ( ( '=' ) ) + // InternalSemver.g:1634:3: ( '=' ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionComparatorAccess().getEqualsEnumLiteralDeclaration_0()); } - // InternalSemver.g:1471:3: ( '=' ) - // InternalSemver.g:1471:4: '=' + // InternalSemver.g:1635:3: ( '=' ) + // InternalSemver.g:1635:4: '=' { - match(input,42,FOLLOW_2); if (state.failed) return ; + match(input,48,FOLLOW_2); if (state.failed) return ; } @@ -5580,23 +6216,23 @@ public final void rule__VersionComparator__Alternatives() throws RecognitionExce } break; case 2 : - // InternalSemver.g:1475:2: ( ( '<' ) ) + // InternalSemver.g:1639:2: ( ( '~' ) ) { - // InternalSemver.g:1475:2: ( ( '<' ) ) - // InternalSemver.g:1476:3: ( '<' ) + // InternalSemver.g:1639:2: ( ( '~' ) ) + // InternalSemver.g:1640:3: ( '~' ) { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_1()); + before(grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_1()); } - // InternalSemver.g:1477:3: ( '<' ) - // InternalSemver.g:1477:4: '<' + // InternalSemver.g:1641:3: ( '~' ) + // InternalSemver.g:1641:4: '~' { - match(input,43,FOLLOW_2); if (state.failed) return ; + match(input,49,FOLLOW_2); if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_1()); + after(grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_1()); } } @@ -5605,23 +6241,23 @@ public final void rule__VersionComparator__Alternatives() throws RecognitionExce } break; case 3 : - // InternalSemver.g:1481:2: ( ( '~' ) ) + // InternalSemver.g:1645:2: ( ( '^' ) ) { - // InternalSemver.g:1481:2: ( ( '~' ) ) - // InternalSemver.g:1482:3: ( '~' ) + // InternalSemver.g:1645:2: ( ( '^' ) ) + // InternalSemver.g:1646:3: ( '^' ) { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_2()); + before(grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_2()); } - // InternalSemver.g:1483:3: ( '~' ) - // InternalSemver.g:1483:4: '~' + // InternalSemver.g:1647:3: ( '^' ) + // InternalSemver.g:1647:4: '^' { - match(input,44,FOLLOW_2); if (state.failed) return ; + match(input,50,FOLLOW_2); if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_2()); + after(grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_2()); } } @@ -5630,23 +6266,23 @@ public final void rule__VersionComparator__Alternatives() throws RecognitionExce } break; case 4 : - // InternalSemver.g:1487:2: ( ( '^' ) ) + // InternalSemver.g:1651:2: ( ( '<' ) ) { - // InternalSemver.g:1487:2: ( ( '^' ) ) - // InternalSemver.g:1488:3: ( '^' ) + // InternalSemver.g:1651:2: ( ( '<' ) ) + // InternalSemver.g:1652:3: ( '<' ) { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_3()); + before(grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_3()); } - // InternalSemver.g:1489:3: ( '^' ) - // InternalSemver.g:1489:4: '^' + // InternalSemver.g:1653:3: ( '<' ) + // InternalSemver.g:1653:4: '<' { - match(input,45,FOLLOW_2); if (state.failed) return ; + match(input,51,FOLLOW_2); if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_3()); + after(grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_3()); } } @@ -5655,23 +6291,23 @@ public final void rule__VersionComparator__Alternatives() throws RecognitionExce } break; case 5 : - // InternalSemver.g:1493:2: ( ( '<=' ) ) + // InternalSemver.g:1657:2: ( ( '>' ) ) { - // InternalSemver.g:1493:2: ( ( '<=' ) ) - // InternalSemver.g:1494:3: ( '<=' ) + // InternalSemver.g:1657:2: ( ( '>' ) ) + // InternalSemver.g:1658:3: ( '>' ) { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_4()); + before(grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_4()); } - // InternalSemver.g:1495:3: ( '<=' ) - // InternalSemver.g:1495:4: '<=' + // InternalSemver.g:1659:3: ( '>' ) + // InternalSemver.g:1659:4: '>' { - match(input,46,FOLLOW_2); if (state.failed) return ; + match(input,52,FOLLOW_2); if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_4()); + after(grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_4()); } } @@ -5680,23 +6316,23 @@ public final void rule__VersionComparator__Alternatives() throws RecognitionExce } break; case 6 : - // InternalSemver.g:1499:2: ( ( '>' ) ) + // InternalSemver.g:1663:2: ( ( '<=' ) ) { - // InternalSemver.g:1499:2: ( ( '>' ) ) - // InternalSemver.g:1500:3: ( '>' ) + // InternalSemver.g:1663:2: ( ( '<=' ) ) + // InternalSemver.g:1664:3: ( '<=' ) { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_5()); + before(grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_5()); } - // InternalSemver.g:1501:3: ( '>' ) - // InternalSemver.g:1501:4: '>' + // InternalSemver.g:1665:3: ( '<=' ) + // InternalSemver.g:1665:4: '<=' { - match(input,47,FOLLOW_2); if (state.failed) return ; + match(input,53,FOLLOW_2); if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_5()); + after(grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_5()); } } @@ -5705,18 +6341,18 @@ public final void rule__VersionComparator__Alternatives() throws RecognitionExce } break; case 7 : - // InternalSemver.g:1505:2: ( ( '>=' ) ) + // InternalSemver.g:1669:2: ( ( '>=' ) ) { - // InternalSemver.g:1505:2: ( ( '>=' ) ) - // InternalSemver.g:1506:3: ( '>=' ) + // InternalSemver.g:1669:2: ( ( '>=' ) ) + // InternalSemver.g:1670:3: ( '>=' ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionComparatorAccess().getGreaterEqualsEnumLiteralDeclaration_6()); } - // InternalSemver.g:1507:3: ( '>=' ) - // InternalSemver.g:1507:4: '>=' + // InternalSemver.g:1671:3: ( '>=' ) + // InternalSemver.g:1671:4: '>=' { - match(input,48,FOLLOW_2); if (state.failed) return ; + match(input,54,FOLLOW_2); if (state.failed) return ; } @@ -5747,16 +6383,16 @@ public final void rule__VersionComparator__Alternatives() throws RecognitionExce // $ANTLR start "rule__NPMVersionRequirement__Group_0__0" - // InternalSemver.g:1515:1: rule__NPMVersionRequirement__Group_0__0 : rule__NPMVersionRequirement__Group_0__0__Impl rule__NPMVersionRequirement__Group_0__1 ; + // InternalSemver.g:1679:1: rule__NPMVersionRequirement__Group_0__0 : rule__NPMVersionRequirement__Group_0__0__Impl rule__NPMVersionRequirement__Group_0__1 ; public final void rule__NPMVersionRequirement__Group_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1519:1: ( rule__NPMVersionRequirement__Group_0__0__Impl rule__NPMVersionRequirement__Group_0__1 ) - // InternalSemver.g:1520:2: rule__NPMVersionRequirement__Group_0__0__Impl rule__NPMVersionRequirement__Group_0__1 + // InternalSemver.g:1683:1: ( rule__NPMVersionRequirement__Group_0__0__Impl rule__NPMVersionRequirement__Group_0__1 ) + // InternalSemver.g:1684:2: rule__NPMVersionRequirement__Group_0__0__Impl rule__NPMVersionRequirement__Group_0__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__NPMVersionRequirement__Group_0__0__Impl(); state._fsp--; @@ -5785,31 +6421,31 @@ public final void rule__NPMVersionRequirement__Group_0__0() throws RecognitionEx // $ANTLR start "rule__NPMVersionRequirement__Group_0__0__Impl" - // InternalSemver.g:1527:1: rule__NPMVersionRequirement__Group_0__0__Impl : ( ( RULE_WS )? ) ; + // InternalSemver.g:1691:1: rule__NPMVersionRequirement__Group_0__0__Impl : ( ( RULE_WS )? ) ; public final void rule__NPMVersionRequirement__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1531:1: ( ( ( RULE_WS )? ) ) - // InternalSemver.g:1532:1: ( ( RULE_WS )? ) + // InternalSemver.g:1695:1: ( ( ( RULE_WS )? ) ) + // InternalSemver.g:1696:1: ( ( RULE_WS )? ) { - // InternalSemver.g:1532:1: ( ( RULE_WS )? ) - // InternalSemver.g:1533:2: ( RULE_WS )? + // InternalSemver.g:1696:1: ( ( RULE_WS )? ) + // InternalSemver.g:1697:2: ( RULE_WS )? { if ( state.backtracking==0 ) { before(grammarAccess.getNPMVersionRequirementAccess().getWSTerminalRuleCall_0_0()); } - // InternalSemver.g:1534:2: ( RULE_WS )? - int alt26=2; - int LA26_0 = input.LA(1); + // InternalSemver.g:1698:2: ( RULE_WS )? + int alt28=2; + int LA28_0 = input.LA(1); - if ( (LA26_0==RULE_WS) ) { - alt26=1; + if ( (LA28_0==RULE_WS) ) { + alt28=1; } - switch (alt26) { + switch (alt28) { case 1 : - // InternalSemver.g:1534:3: RULE_WS + // InternalSemver.g:1698:3: RULE_WS { match(input,RULE_WS,FOLLOW_2); if (state.failed) return ; @@ -5843,14 +6479,14 @@ public final void rule__NPMVersionRequirement__Group_0__0__Impl() throws Recogni // $ANTLR start "rule__NPMVersionRequirement__Group_0__1" - // InternalSemver.g:1542:1: rule__NPMVersionRequirement__Group_0__1 : rule__NPMVersionRequirement__Group_0__1__Impl ; + // InternalSemver.g:1706:1: rule__NPMVersionRequirement__Group_0__1 : rule__NPMVersionRequirement__Group_0__1__Impl ; public final void rule__NPMVersionRequirement__Group_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1546:1: ( rule__NPMVersionRequirement__Group_0__1__Impl ) - // InternalSemver.g:1547:2: rule__NPMVersionRequirement__Group_0__1__Impl + // InternalSemver.g:1710:1: ( rule__NPMVersionRequirement__Group_0__1__Impl ) + // InternalSemver.g:1711:2: rule__NPMVersionRequirement__Group_0__1__Impl { pushFollow(FOLLOW_2); rule__NPMVersionRequirement__Group_0__1__Impl(); @@ -5876,17 +6512,17 @@ public final void rule__NPMVersionRequirement__Group_0__1() throws RecognitionEx // $ANTLR start "rule__NPMVersionRequirement__Group_0__1__Impl" - // InternalSemver.g:1553:1: rule__NPMVersionRequirement__Group_0__1__Impl : ( ruleVersionRangeSetRequirement ) ; + // InternalSemver.g:1717:1: rule__NPMVersionRequirement__Group_0__1__Impl : ( ruleVersionRangeSetRequirement ) ; public final void rule__NPMVersionRequirement__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1557:1: ( ( ruleVersionRangeSetRequirement ) ) - // InternalSemver.g:1558:1: ( ruleVersionRangeSetRequirement ) + // InternalSemver.g:1721:1: ( ( ruleVersionRangeSetRequirement ) ) + // InternalSemver.g:1722:1: ( ruleVersionRangeSetRequirement ) { - // InternalSemver.g:1558:1: ( ruleVersionRangeSetRequirement ) - // InternalSemver.g:1559:2: ruleVersionRangeSetRequirement + // InternalSemver.g:1722:1: ( ruleVersionRangeSetRequirement ) + // InternalSemver.g:1723:2: ruleVersionRangeSetRequirement { if ( state.backtracking==0 ) { before(grammarAccess.getNPMVersionRequirementAccess().getVersionRangeSetRequirementParserRuleCall_0_1()); @@ -5921,16 +6557,16 @@ public final void rule__NPMVersionRequirement__Group_0__1__Impl() throws Recogni // $ANTLR start "rule__NPMVersionRequirement__Group_1__0" - // InternalSemver.g:1569:1: rule__NPMVersionRequirement__Group_1__0 : rule__NPMVersionRequirement__Group_1__0__Impl rule__NPMVersionRequirement__Group_1__1 ; + // InternalSemver.g:1733:1: rule__NPMVersionRequirement__Group_1__0 : rule__NPMVersionRequirement__Group_1__0__Impl rule__NPMVersionRequirement__Group_1__1 ; public final void rule__NPMVersionRequirement__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1573:1: ( rule__NPMVersionRequirement__Group_1__0__Impl rule__NPMVersionRequirement__Group_1__1 ) - // InternalSemver.g:1574:2: rule__NPMVersionRequirement__Group_1__0__Impl rule__NPMVersionRequirement__Group_1__1 + // InternalSemver.g:1737:1: ( rule__NPMVersionRequirement__Group_1__0__Impl rule__NPMVersionRequirement__Group_1__1 ) + // InternalSemver.g:1738:2: rule__NPMVersionRequirement__Group_1__0__Impl rule__NPMVersionRequirement__Group_1__1 { - pushFollow(FOLLOW_5); + pushFollow(FOLLOW_6); rule__NPMVersionRequirement__Group_1__0__Impl(); state._fsp--; @@ -5959,23 +6595,23 @@ public final void rule__NPMVersionRequirement__Group_1__0() throws RecognitionEx // $ANTLR start "rule__NPMVersionRequirement__Group_1__0__Impl" - // InternalSemver.g:1581:1: rule__NPMVersionRequirement__Group_1__0__Impl : ( ( rule__NPMVersionRequirement__Alternatives_1_0 ) ) ; + // InternalSemver.g:1745:1: rule__NPMVersionRequirement__Group_1__0__Impl : ( ( rule__NPMVersionRequirement__Alternatives_1_0 ) ) ; public final void rule__NPMVersionRequirement__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1585:1: ( ( ( rule__NPMVersionRequirement__Alternatives_1_0 ) ) ) - // InternalSemver.g:1586:1: ( ( rule__NPMVersionRequirement__Alternatives_1_0 ) ) + // InternalSemver.g:1749:1: ( ( ( rule__NPMVersionRequirement__Alternatives_1_0 ) ) ) + // InternalSemver.g:1750:1: ( ( rule__NPMVersionRequirement__Alternatives_1_0 ) ) { - // InternalSemver.g:1586:1: ( ( rule__NPMVersionRequirement__Alternatives_1_0 ) ) - // InternalSemver.g:1587:2: ( rule__NPMVersionRequirement__Alternatives_1_0 ) + // InternalSemver.g:1750:1: ( ( rule__NPMVersionRequirement__Alternatives_1_0 ) ) + // InternalSemver.g:1751:2: ( rule__NPMVersionRequirement__Alternatives_1_0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getNPMVersionRequirementAccess().getAlternatives_1_0()); } - // InternalSemver.g:1588:2: ( rule__NPMVersionRequirement__Alternatives_1_0 ) - // InternalSemver.g:1588:3: rule__NPMVersionRequirement__Alternatives_1_0 + // InternalSemver.g:1752:2: ( rule__NPMVersionRequirement__Alternatives_1_0 ) + // InternalSemver.g:1752:3: rule__NPMVersionRequirement__Alternatives_1_0 { pushFollow(FOLLOW_2); rule__NPMVersionRequirement__Alternatives_1_0(); @@ -6010,14 +6646,14 @@ public final void rule__NPMVersionRequirement__Group_1__0__Impl() throws Recogni // $ANTLR start "rule__NPMVersionRequirement__Group_1__1" - // InternalSemver.g:1596:1: rule__NPMVersionRequirement__Group_1__1 : rule__NPMVersionRequirement__Group_1__1__Impl ; + // InternalSemver.g:1760:1: rule__NPMVersionRequirement__Group_1__1 : rule__NPMVersionRequirement__Group_1__1__Impl ; public final void rule__NPMVersionRequirement__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1600:1: ( rule__NPMVersionRequirement__Group_1__1__Impl ) - // InternalSemver.g:1601:2: rule__NPMVersionRequirement__Group_1__1__Impl + // InternalSemver.g:1764:1: ( rule__NPMVersionRequirement__Group_1__1__Impl ) + // InternalSemver.g:1765:2: rule__NPMVersionRequirement__Group_1__1__Impl { pushFollow(FOLLOW_2); rule__NPMVersionRequirement__Group_1__1__Impl(); @@ -6043,31 +6679,31 @@ public final void rule__NPMVersionRequirement__Group_1__1() throws RecognitionEx // $ANTLR start "rule__NPMVersionRequirement__Group_1__1__Impl" - // InternalSemver.g:1607:1: rule__NPMVersionRequirement__Group_1__1__Impl : ( ( RULE_WS )? ) ; + // InternalSemver.g:1771:1: rule__NPMVersionRequirement__Group_1__1__Impl : ( ( RULE_WS )? ) ; public final void rule__NPMVersionRequirement__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1611:1: ( ( ( RULE_WS )? ) ) - // InternalSemver.g:1612:1: ( ( RULE_WS )? ) + // InternalSemver.g:1775:1: ( ( ( RULE_WS )? ) ) + // InternalSemver.g:1776:1: ( ( RULE_WS )? ) { - // InternalSemver.g:1612:1: ( ( RULE_WS )? ) - // InternalSemver.g:1613:2: ( RULE_WS )? + // InternalSemver.g:1776:1: ( ( RULE_WS )? ) + // InternalSemver.g:1777:2: ( RULE_WS )? { if ( state.backtracking==0 ) { before(grammarAccess.getNPMVersionRequirementAccess().getWSTerminalRuleCall_1_1()); } - // InternalSemver.g:1614:2: ( RULE_WS )? - int alt27=2; - int LA27_0 = input.LA(1); + // InternalSemver.g:1778:2: ( RULE_WS )? + int alt29=2; + int LA29_0 = input.LA(1); - if ( (LA27_0==RULE_WS) ) { - alt27=1; + if ( (LA29_0==RULE_WS) ) { + alt29=1; } - switch (alt27) { + switch (alt29) { case 1 : - // InternalSemver.g:1614:3: RULE_WS + // InternalSemver.g:1778:3: RULE_WS { match(input,RULE_WS,FOLLOW_2); if (state.failed) return ; @@ -6101,16 +6737,16 @@ public final void rule__NPMVersionRequirement__Group_1__1__Impl() throws Recogni // $ANTLR start "rule__LocalPathVersionRequirement__Group__0" - // InternalSemver.g:1623:1: rule__LocalPathVersionRequirement__Group__0 : rule__LocalPathVersionRequirement__Group__0__Impl rule__LocalPathVersionRequirement__Group__1 ; + // InternalSemver.g:1787:1: rule__LocalPathVersionRequirement__Group__0 : rule__LocalPathVersionRequirement__Group__0__Impl rule__LocalPathVersionRequirement__Group__1 ; public final void rule__LocalPathVersionRequirement__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1627:1: ( rule__LocalPathVersionRequirement__Group__0__Impl rule__LocalPathVersionRequirement__Group__1 ) - // InternalSemver.g:1628:2: rule__LocalPathVersionRequirement__Group__0__Impl rule__LocalPathVersionRequirement__Group__1 + // InternalSemver.g:1791:1: ( rule__LocalPathVersionRequirement__Group__0__Impl rule__LocalPathVersionRequirement__Group__1 ) + // InternalSemver.g:1792:2: rule__LocalPathVersionRequirement__Group__0__Impl rule__LocalPathVersionRequirement__Group__1 { - pushFollow(FOLLOW_6); + pushFollow(FOLLOW_7); rule__LocalPathVersionRequirement__Group__0__Impl(); state._fsp--; @@ -6139,17 +6775,17 @@ public final void rule__LocalPathVersionRequirement__Group__0() throws Recogniti // $ANTLR start "rule__LocalPathVersionRequirement__Group__0__Impl" - // InternalSemver.g:1635:1: rule__LocalPathVersionRequirement__Group__0__Impl : ( ruleFILE_TAG ) ; + // InternalSemver.g:1799:1: rule__LocalPathVersionRequirement__Group__0__Impl : ( ruleFILE_TAG ) ; public final void rule__LocalPathVersionRequirement__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1639:1: ( ( ruleFILE_TAG ) ) - // InternalSemver.g:1640:1: ( ruleFILE_TAG ) + // InternalSemver.g:1803:1: ( ( ruleFILE_TAG ) ) + // InternalSemver.g:1804:1: ( ruleFILE_TAG ) { - // InternalSemver.g:1640:1: ( ruleFILE_TAG ) - // InternalSemver.g:1641:2: ruleFILE_TAG + // InternalSemver.g:1804:1: ( ruleFILE_TAG ) + // InternalSemver.g:1805:2: ruleFILE_TAG { if ( state.backtracking==0 ) { before(grammarAccess.getLocalPathVersionRequirementAccess().getFILE_TAGParserRuleCall_0()); @@ -6184,14 +6820,14 @@ public final void rule__LocalPathVersionRequirement__Group__0__Impl() throws Rec // $ANTLR start "rule__LocalPathVersionRequirement__Group__1" - // InternalSemver.g:1650:1: rule__LocalPathVersionRequirement__Group__1 : rule__LocalPathVersionRequirement__Group__1__Impl ; + // InternalSemver.g:1814:1: rule__LocalPathVersionRequirement__Group__1 : rule__LocalPathVersionRequirement__Group__1__Impl ; public final void rule__LocalPathVersionRequirement__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1654:1: ( rule__LocalPathVersionRequirement__Group__1__Impl ) - // InternalSemver.g:1655:2: rule__LocalPathVersionRequirement__Group__1__Impl + // InternalSemver.g:1818:1: ( rule__LocalPathVersionRequirement__Group__1__Impl ) + // InternalSemver.g:1819:2: rule__LocalPathVersionRequirement__Group__1__Impl { pushFollow(FOLLOW_2); rule__LocalPathVersionRequirement__Group__1__Impl(); @@ -6217,23 +6853,23 @@ public final void rule__LocalPathVersionRequirement__Group__1() throws Recogniti // $ANTLR start "rule__LocalPathVersionRequirement__Group__1__Impl" - // InternalSemver.g:1661:1: rule__LocalPathVersionRequirement__Group__1__Impl : ( ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) ) ; + // InternalSemver.g:1825:1: rule__LocalPathVersionRequirement__Group__1__Impl : ( ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) ) ; public final void rule__LocalPathVersionRequirement__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1665:1: ( ( ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) ) ) - // InternalSemver.g:1666:1: ( ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) ) + // InternalSemver.g:1829:1: ( ( ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) ) ) + // InternalSemver.g:1830:1: ( ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) ) { - // InternalSemver.g:1666:1: ( ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) ) - // InternalSemver.g:1667:2: ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) + // InternalSemver.g:1830:1: ( ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) ) + // InternalSemver.g:1831:2: ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getLocalPathVersionRequirementAccess().getLocalPathAssignment_1()); } - // InternalSemver.g:1668:2: ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) - // InternalSemver.g:1668:3: rule__LocalPathVersionRequirement__LocalPathAssignment_1 + // InternalSemver.g:1832:2: ( rule__LocalPathVersionRequirement__LocalPathAssignment_1 ) + // InternalSemver.g:1832:3: rule__LocalPathVersionRequirement__LocalPathAssignment_1 { pushFollow(FOLLOW_2); rule__LocalPathVersionRequirement__LocalPathAssignment_1(); @@ -6268,16 +6904,16 @@ public final void rule__LocalPathVersionRequirement__Group__1__Impl() throws Rec // $ANTLR start "rule__URLVersionRequirement__Group__0" - // InternalSemver.g:1677:1: rule__URLVersionRequirement__Group__0 : rule__URLVersionRequirement__Group__0__Impl rule__URLVersionRequirement__Group__1 ; + // InternalSemver.g:1841:1: rule__URLVersionRequirement__Group__0 : rule__URLVersionRequirement__Group__0__Impl rule__URLVersionRequirement__Group__1 ; public final void rule__URLVersionRequirement__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1681:1: ( rule__URLVersionRequirement__Group__0__Impl rule__URLVersionRequirement__Group__1 ) - // InternalSemver.g:1682:2: rule__URLVersionRequirement__Group__0__Impl rule__URLVersionRequirement__Group__1 + // InternalSemver.g:1845:1: ( rule__URLVersionRequirement__Group__0__Impl rule__URLVersionRequirement__Group__1 ) + // InternalSemver.g:1846:2: rule__URLVersionRequirement__Group__0__Impl rule__URLVersionRequirement__Group__1 { - pushFollow(FOLLOW_7); + pushFollow(FOLLOW_8); rule__URLVersionRequirement__Group__0__Impl(); state._fsp--; @@ -6306,23 +6942,23 @@ public final void rule__URLVersionRequirement__Group__0() throws RecognitionExce // $ANTLR start "rule__URLVersionRequirement__Group__0__Impl" - // InternalSemver.g:1689:1: rule__URLVersionRequirement__Group__0__Impl : ( ( rule__URLVersionRequirement__ProtocolAssignment_0 ) ) ; + // InternalSemver.g:1853:1: rule__URLVersionRequirement__Group__0__Impl : ( ( rule__URLVersionRequirement__ProtocolAssignment_0 ) ) ; public final void rule__URLVersionRequirement__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1693:1: ( ( ( rule__URLVersionRequirement__ProtocolAssignment_0 ) ) ) - // InternalSemver.g:1694:1: ( ( rule__URLVersionRequirement__ProtocolAssignment_0 ) ) + // InternalSemver.g:1857:1: ( ( ( rule__URLVersionRequirement__ProtocolAssignment_0 ) ) ) + // InternalSemver.g:1858:1: ( ( rule__URLVersionRequirement__ProtocolAssignment_0 ) ) { - // InternalSemver.g:1694:1: ( ( rule__URLVersionRequirement__ProtocolAssignment_0 ) ) - // InternalSemver.g:1695:2: ( rule__URLVersionRequirement__ProtocolAssignment_0 ) + // InternalSemver.g:1858:1: ( ( rule__URLVersionRequirement__ProtocolAssignment_0 ) ) + // InternalSemver.g:1859:2: ( rule__URLVersionRequirement__ProtocolAssignment_0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionRequirementAccess().getProtocolAssignment_0()); } - // InternalSemver.g:1696:2: ( rule__URLVersionRequirement__ProtocolAssignment_0 ) - // InternalSemver.g:1696:3: rule__URLVersionRequirement__ProtocolAssignment_0 + // InternalSemver.g:1860:2: ( rule__URLVersionRequirement__ProtocolAssignment_0 ) + // InternalSemver.g:1860:3: rule__URLVersionRequirement__ProtocolAssignment_0 { pushFollow(FOLLOW_2); rule__URLVersionRequirement__ProtocolAssignment_0(); @@ -6357,16 +6993,16 @@ public final void rule__URLVersionRequirement__Group__0__Impl() throws Recogniti // $ANTLR start "rule__URLVersionRequirement__Group__1" - // InternalSemver.g:1704:1: rule__URLVersionRequirement__Group__1 : rule__URLVersionRequirement__Group__1__Impl rule__URLVersionRequirement__Group__2 ; + // InternalSemver.g:1868:1: rule__URLVersionRequirement__Group__1 : rule__URLVersionRequirement__Group__1__Impl rule__URLVersionRequirement__Group__2 ; public final void rule__URLVersionRequirement__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1708:1: ( rule__URLVersionRequirement__Group__1__Impl rule__URLVersionRequirement__Group__2 ) - // InternalSemver.g:1709:2: rule__URLVersionRequirement__Group__1__Impl rule__URLVersionRequirement__Group__2 + // InternalSemver.g:1872:1: ( rule__URLVersionRequirement__Group__1__Impl rule__URLVersionRequirement__Group__2 ) + // InternalSemver.g:1873:2: rule__URLVersionRequirement__Group__1__Impl rule__URLVersionRequirement__Group__2 { - pushFollow(FOLLOW_8); + pushFollow(FOLLOW_9); rule__URLVersionRequirement__Group__1__Impl(); state._fsp--; @@ -6395,23 +7031,23 @@ public final void rule__URLVersionRequirement__Group__1() throws RecognitionExce // $ANTLR start "rule__URLVersionRequirement__Group__1__Impl" - // InternalSemver.g:1716:1: rule__URLVersionRequirement__Group__1__Impl : ( ( rule__URLVersionRequirement__Group_1__0 ) ) ; + // InternalSemver.g:1880:1: rule__URLVersionRequirement__Group__1__Impl : ( ( rule__URLVersionRequirement__Group_1__0 ) ) ; public final void rule__URLVersionRequirement__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1720:1: ( ( ( rule__URLVersionRequirement__Group_1__0 ) ) ) - // InternalSemver.g:1721:1: ( ( rule__URLVersionRequirement__Group_1__0 ) ) + // InternalSemver.g:1884:1: ( ( ( rule__URLVersionRequirement__Group_1__0 ) ) ) + // InternalSemver.g:1885:1: ( ( rule__URLVersionRequirement__Group_1__0 ) ) { - // InternalSemver.g:1721:1: ( ( rule__URLVersionRequirement__Group_1__0 ) ) - // InternalSemver.g:1722:2: ( rule__URLVersionRequirement__Group_1__0 ) + // InternalSemver.g:1885:1: ( ( rule__URLVersionRequirement__Group_1__0 ) ) + // InternalSemver.g:1886:2: ( rule__URLVersionRequirement__Group_1__0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionRequirementAccess().getGroup_1()); } - // InternalSemver.g:1723:2: ( rule__URLVersionRequirement__Group_1__0 ) - // InternalSemver.g:1723:3: rule__URLVersionRequirement__Group_1__0 + // InternalSemver.g:1887:2: ( rule__URLVersionRequirement__Group_1__0 ) + // InternalSemver.g:1887:3: rule__URLVersionRequirement__Group_1__0 { pushFollow(FOLLOW_2); rule__URLVersionRequirement__Group_1__0(); @@ -6446,16 +7082,16 @@ public final void rule__URLVersionRequirement__Group__1__Impl() throws Recogniti // $ANTLR start "rule__URLVersionRequirement__Group__2" - // InternalSemver.g:1731:1: rule__URLVersionRequirement__Group__2 : rule__URLVersionRequirement__Group__2__Impl rule__URLVersionRequirement__Group__3 ; + // InternalSemver.g:1895:1: rule__URLVersionRequirement__Group__2 : rule__URLVersionRequirement__Group__2__Impl rule__URLVersionRequirement__Group__3 ; public final void rule__URLVersionRequirement__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1735:1: ( rule__URLVersionRequirement__Group__2__Impl rule__URLVersionRequirement__Group__3 ) - // InternalSemver.g:1736:2: rule__URLVersionRequirement__Group__2__Impl rule__URLVersionRequirement__Group__3 + // InternalSemver.g:1899:1: ( rule__URLVersionRequirement__Group__2__Impl rule__URLVersionRequirement__Group__3 ) + // InternalSemver.g:1900:2: rule__URLVersionRequirement__Group__2__Impl rule__URLVersionRequirement__Group__3 { - pushFollow(FOLLOW_9); + pushFollow(FOLLOW_10); rule__URLVersionRequirement__Group__2__Impl(); state._fsp--; @@ -6484,23 +7120,23 @@ public final void rule__URLVersionRequirement__Group__2() throws RecognitionExce // $ANTLR start "rule__URLVersionRequirement__Group__2__Impl" - // InternalSemver.g:1743:1: rule__URLVersionRequirement__Group__2__Impl : ( ( rule__URLVersionRequirement__UrlAssignment_2 ) ) ; + // InternalSemver.g:1907:1: rule__URLVersionRequirement__Group__2__Impl : ( ( rule__URLVersionRequirement__UrlAssignment_2 ) ) ; public final void rule__URLVersionRequirement__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1747:1: ( ( ( rule__URLVersionRequirement__UrlAssignment_2 ) ) ) - // InternalSemver.g:1748:1: ( ( rule__URLVersionRequirement__UrlAssignment_2 ) ) + // InternalSemver.g:1911:1: ( ( ( rule__URLVersionRequirement__UrlAssignment_2 ) ) ) + // InternalSemver.g:1912:1: ( ( rule__URLVersionRequirement__UrlAssignment_2 ) ) { - // InternalSemver.g:1748:1: ( ( rule__URLVersionRequirement__UrlAssignment_2 ) ) - // InternalSemver.g:1749:2: ( rule__URLVersionRequirement__UrlAssignment_2 ) + // InternalSemver.g:1912:1: ( ( rule__URLVersionRequirement__UrlAssignment_2 ) ) + // InternalSemver.g:1913:2: ( rule__URLVersionRequirement__UrlAssignment_2 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionRequirementAccess().getUrlAssignment_2()); } - // InternalSemver.g:1750:2: ( rule__URLVersionRequirement__UrlAssignment_2 ) - // InternalSemver.g:1750:3: rule__URLVersionRequirement__UrlAssignment_2 + // InternalSemver.g:1914:2: ( rule__URLVersionRequirement__UrlAssignment_2 ) + // InternalSemver.g:1914:3: rule__URLVersionRequirement__UrlAssignment_2 { pushFollow(FOLLOW_2); rule__URLVersionRequirement__UrlAssignment_2(); @@ -6535,14 +7171,14 @@ public final void rule__URLVersionRequirement__Group__2__Impl() throws Recogniti // $ANTLR start "rule__URLVersionRequirement__Group__3" - // InternalSemver.g:1758:1: rule__URLVersionRequirement__Group__3 : rule__URLVersionRequirement__Group__3__Impl ; + // InternalSemver.g:1922:1: rule__URLVersionRequirement__Group__3 : rule__URLVersionRequirement__Group__3__Impl ; public final void rule__URLVersionRequirement__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1762:1: ( rule__URLVersionRequirement__Group__3__Impl ) - // InternalSemver.g:1763:2: rule__URLVersionRequirement__Group__3__Impl + // InternalSemver.g:1926:1: ( rule__URLVersionRequirement__Group__3__Impl ) + // InternalSemver.g:1927:2: rule__URLVersionRequirement__Group__3__Impl { pushFollow(FOLLOW_2); rule__URLVersionRequirement__Group__3__Impl(); @@ -6568,31 +7204,31 @@ public final void rule__URLVersionRequirement__Group__3() throws RecognitionExce // $ANTLR start "rule__URLVersionRequirement__Group__3__Impl" - // InternalSemver.g:1769:1: rule__URLVersionRequirement__Group__3__Impl : ( ( rule__URLVersionRequirement__Group_3__0 )? ) ; + // InternalSemver.g:1933:1: rule__URLVersionRequirement__Group__3__Impl : ( ( rule__URLVersionRequirement__Group_3__0 )? ) ; public final void rule__URLVersionRequirement__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1773:1: ( ( ( rule__URLVersionRequirement__Group_3__0 )? ) ) - // InternalSemver.g:1774:1: ( ( rule__URLVersionRequirement__Group_3__0 )? ) + // InternalSemver.g:1937:1: ( ( ( rule__URLVersionRequirement__Group_3__0 )? ) ) + // InternalSemver.g:1938:1: ( ( rule__URLVersionRequirement__Group_3__0 )? ) { - // InternalSemver.g:1774:1: ( ( rule__URLVersionRequirement__Group_3__0 )? ) - // InternalSemver.g:1775:2: ( rule__URLVersionRequirement__Group_3__0 )? + // InternalSemver.g:1938:1: ( ( rule__URLVersionRequirement__Group_3__0 )? ) + // InternalSemver.g:1939:2: ( rule__URLVersionRequirement__Group_3__0 )? { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionRequirementAccess().getGroup_3()); } - // InternalSemver.g:1776:2: ( rule__URLVersionRequirement__Group_3__0 )? - int alt28=2; - int LA28_0 = input.LA(1); + // InternalSemver.g:1940:2: ( rule__URLVersionRequirement__Group_3__0 )? + int alt30=2; + int LA30_0 = input.LA(1); - if ( (LA28_0==49) ) { - alt28=1; + if ( (LA30_0==55) ) { + alt30=1; } - switch (alt28) { + switch (alt30) { case 1 : - // InternalSemver.g:1776:3: rule__URLVersionRequirement__Group_3__0 + // InternalSemver.g:1940:3: rule__URLVersionRequirement__Group_3__0 { pushFollow(FOLLOW_2); rule__URLVersionRequirement__Group_3__0(); @@ -6630,16 +7266,16 @@ public final void rule__URLVersionRequirement__Group__3__Impl() throws Recogniti // $ANTLR start "rule__URLVersionRequirement__Group_1__0" - // InternalSemver.g:1785:1: rule__URLVersionRequirement__Group_1__0 : rule__URLVersionRequirement__Group_1__0__Impl rule__URLVersionRequirement__Group_1__1 ; + // InternalSemver.g:1949:1: rule__URLVersionRequirement__Group_1__0 : rule__URLVersionRequirement__Group_1__0__Impl rule__URLVersionRequirement__Group_1__1 ; public final void rule__URLVersionRequirement__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1789:1: ( rule__URLVersionRequirement__Group_1__0__Impl rule__URLVersionRequirement__Group_1__1 ) - // InternalSemver.g:1790:2: rule__URLVersionRequirement__Group_1__0__Impl rule__URLVersionRequirement__Group_1__1 + // InternalSemver.g:1953:1: ( rule__URLVersionRequirement__Group_1__0__Impl rule__URLVersionRequirement__Group_1__1 ) + // InternalSemver.g:1954:2: rule__URLVersionRequirement__Group_1__0__Impl rule__URLVersionRequirement__Group_1__1 { - pushFollow(FOLLOW_10); + pushFollow(FOLLOW_11); rule__URLVersionRequirement__Group_1__0__Impl(); state._fsp--; @@ -6668,22 +7304,22 @@ public final void rule__URLVersionRequirement__Group_1__0() throws RecognitionEx // $ANTLR start "rule__URLVersionRequirement__Group_1__0__Impl" - // InternalSemver.g:1797:1: rule__URLVersionRequirement__Group_1__0__Impl : ( ':' ) ; + // InternalSemver.g:1961:1: rule__URLVersionRequirement__Group_1__0__Impl : ( ':' ) ; public final void rule__URLVersionRequirement__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1801:1: ( ( ':' ) ) - // InternalSemver.g:1802:1: ( ':' ) + // InternalSemver.g:1965:1: ( ( ':' ) ) + // InternalSemver.g:1966:1: ( ':' ) { - // InternalSemver.g:1802:1: ( ':' ) - // InternalSemver.g:1803:2: ':' + // InternalSemver.g:1966:1: ( ':' ) + // InternalSemver.g:1967:2: ':' { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionRequirementAccess().getColonKeyword_1_0()); } - match(input,41,FOLLOW_2); if (state.failed) return ; + match(input,46,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLVersionRequirementAccess().getColonKeyword_1_0()); } @@ -6709,16 +7345,16 @@ public final void rule__URLVersionRequirement__Group_1__0__Impl() throws Recogni // $ANTLR start "rule__URLVersionRequirement__Group_1__1" - // InternalSemver.g:1812:1: rule__URLVersionRequirement__Group_1__1 : rule__URLVersionRequirement__Group_1__1__Impl rule__URLVersionRequirement__Group_1__2 ; + // InternalSemver.g:1976:1: rule__URLVersionRequirement__Group_1__1 : rule__URLVersionRequirement__Group_1__1__Impl rule__URLVersionRequirement__Group_1__2 ; public final void rule__URLVersionRequirement__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1816:1: ( rule__URLVersionRequirement__Group_1__1__Impl rule__URLVersionRequirement__Group_1__2 ) - // InternalSemver.g:1817:2: rule__URLVersionRequirement__Group_1__1__Impl rule__URLVersionRequirement__Group_1__2 + // InternalSemver.g:1980:1: ( rule__URLVersionRequirement__Group_1__1__Impl rule__URLVersionRequirement__Group_1__2 ) + // InternalSemver.g:1981:2: rule__URLVersionRequirement__Group_1__1__Impl rule__URLVersionRequirement__Group_1__2 { - pushFollow(FOLLOW_10); + pushFollow(FOLLOW_11); rule__URLVersionRequirement__Group_1__1__Impl(); state._fsp--; @@ -6747,22 +7383,22 @@ public final void rule__URLVersionRequirement__Group_1__1() throws RecognitionEx // $ANTLR start "rule__URLVersionRequirement__Group_1__1__Impl" - // InternalSemver.g:1824:1: rule__URLVersionRequirement__Group_1__1__Impl : ( '/' ) ; + // InternalSemver.g:1988:1: rule__URLVersionRequirement__Group_1__1__Impl : ( '/' ) ; public final void rule__URLVersionRequirement__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1828:1: ( ( '/' ) ) - // InternalSemver.g:1829:1: ( '/' ) + // InternalSemver.g:1992:1: ( ( '/' ) ) + // InternalSemver.g:1993:1: ( '/' ) { - // InternalSemver.g:1829:1: ( '/' ) - // InternalSemver.g:1830:2: '/' + // InternalSemver.g:1993:1: ( '/' ) + // InternalSemver.g:1994:2: '/' { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionRequirementAccess().getSolidusKeyword_1_1()); } - match(input,35,FOLLOW_2); if (state.failed) return ; + match(input,41,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLVersionRequirementAccess().getSolidusKeyword_1_1()); } @@ -6788,14 +7424,14 @@ public final void rule__URLVersionRequirement__Group_1__1__Impl() throws Recogni // $ANTLR start "rule__URLVersionRequirement__Group_1__2" - // InternalSemver.g:1839:1: rule__URLVersionRequirement__Group_1__2 : rule__URLVersionRequirement__Group_1__2__Impl ; + // InternalSemver.g:2003:1: rule__URLVersionRequirement__Group_1__2 : rule__URLVersionRequirement__Group_1__2__Impl ; public final void rule__URLVersionRequirement__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1843:1: ( rule__URLVersionRequirement__Group_1__2__Impl ) - // InternalSemver.g:1844:2: rule__URLVersionRequirement__Group_1__2__Impl + // InternalSemver.g:2007:1: ( rule__URLVersionRequirement__Group_1__2__Impl ) + // InternalSemver.g:2008:2: rule__URLVersionRequirement__Group_1__2__Impl { pushFollow(FOLLOW_2); rule__URLVersionRequirement__Group_1__2__Impl(); @@ -6821,22 +7457,22 @@ public final void rule__URLVersionRequirement__Group_1__2() throws RecognitionEx // $ANTLR start "rule__URLVersionRequirement__Group_1__2__Impl" - // InternalSemver.g:1850:1: rule__URLVersionRequirement__Group_1__2__Impl : ( '/' ) ; + // InternalSemver.g:2014:1: rule__URLVersionRequirement__Group_1__2__Impl : ( '/' ) ; public final void rule__URLVersionRequirement__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1854:1: ( ( '/' ) ) - // InternalSemver.g:1855:1: ( '/' ) + // InternalSemver.g:2018:1: ( ( '/' ) ) + // InternalSemver.g:2019:1: ( '/' ) { - // InternalSemver.g:1855:1: ( '/' ) - // InternalSemver.g:1856:2: '/' + // InternalSemver.g:2019:1: ( '/' ) + // InternalSemver.g:2020:2: '/' { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionRequirementAccess().getSolidusKeyword_1_2()); } - match(input,35,FOLLOW_2); if (state.failed) return ; + match(input,41,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLVersionRequirementAccess().getSolidusKeyword_1_2()); } @@ -6862,16 +7498,16 @@ public final void rule__URLVersionRequirement__Group_1__2__Impl() throws Recogni // $ANTLR start "rule__URLVersionRequirement__Group_3__0" - // InternalSemver.g:1866:1: rule__URLVersionRequirement__Group_3__0 : rule__URLVersionRequirement__Group_3__0__Impl rule__URLVersionRequirement__Group_3__1 ; + // InternalSemver.g:2030:1: rule__URLVersionRequirement__Group_3__0 : rule__URLVersionRequirement__Group_3__0__Impl rule__URLVersionRequirement__Group_3__1 ; public final void rule__URLVersionRequirement__Group_3__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1870:1: ( rule__URLVersionRequirement__Group_3__0__Impl rule__URLVersionRequirement__Group_3__1 ) - // InternalSemver.g:1871:2: rule__URLVersionRequirement__Group_3__0__Impl rule__URLVersionRequirement__Group_3__1 + // InternalSemver.g:2034:1: ( rule__URLVersionRequirement__Group_3__0__Impl rule__URLVersionRequirement__Group_3__1 ) + // InternalSemver.g:2035:2: rule__URLVersionRequirement__Group_3__0__Impl rule__URLVersionRequirement__Group_3__1 { - pushFollow(FOLLOW_11); + pushFollow(FOLLOW_12); rule__URLVersionRequirement__Group_3__0__Impl(); state._fsp--; @@ -6900,22 +7536,22 @@ public final void rule__URLVersionRequirement__Group_3__0() throws RecognitionEx // $ANTLR start "rule__URLVersionRequirement__Group_3__0__Impl" - // InternalSemver.g:1878:1: rule__URLVersionRequirement__Group_3__0__Impl : ( '#' ) ; + // InternalSemver.g:2042:1: rule__URLVersionRequirement__Group_3__0__Impl : ( '#' ) ; public final void rule__URLVersionRequirement__Group_3__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1882:1: ( ( '#' ) ) - // InternalSemver.g:1883:1: ( '#' ) + // InternalSemver.g:2046:1: ( ( '#' ) ) + // InternalSemver.g:2047:1: ( '#' ) { - // InternalSemver.g:1883:1: ( '#' ) - // InternalSemver.g:1884:2: '#' + // InternalSemver.g:2047:1: ( '#' ) + // InternalSemver.g:2048:2: '#' { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionRequirementAccess().getNumberSignKeyword_3_0()); } - match(input,49,FOLLOW_2); if (state.failed) return ; + match(input,55,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getURLVersionRequirementAccess().getNumberSignKeyword_3_0()); } @@ -6941,14 +7577,14 @@ public final void rule__URLVersionRequirement__Group_3__0__Impl() throws Recogni // $ANTLR start "rule__URLVersionRequirement__Group_3__1" - // InternalSemver.g:1893:1: rule__URLVersionRequirement__Group_3__1 : rule__URLVersionRequirement__Group_3__1__Impl ; + // InternalSemver.g:2057:1: rule__URLVersionRequirement__Group_3__1 : rule__URLVersionRequirement__Group_3__1__Impl ; public final void rule__URLVersionRequirement__Group_3__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1897:1: ( rule__URLVersionRequirement__Group_3__1__Impl ) - // InternalSemver.g:1898:2: rule__URLVersionRequirement__Group_3__1__Impl + // InternalSemver.g:2061:1: ( rule__URLVersionRequirement__Group_3__1__Impl ) + // InternalSemver.g:2062:2: rule__URLVersionRequirement__Group_3__1__Impl { pushFollow(FOLLOW_2); rule__URLVersionRequirement__Group_3__1__Impl(); @@ -6974,23 +7610,23 @@ public final void rule__URLVersionRequirement__Group_3__1() throws RecognitionEx // $ANTLR start "rule__URLVersionRequirement__Group_3__1__Impl" - // InternalSemver.g:1904:1: rule__URLVersionRequirement__Group_3__1__Impl : ( ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) ) ; + // InternalSemver.g:2068:1: rule__URLVersionRequirement__Group_3__1__Impl : ( ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) ) ; public final void rule__URLVersionRequirement__Group_3__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1908:1: ( ( ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) ) ) - // InternalSemver.g:1909:1: ( ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) ) + // InternalSemver.g:2072:1: ( ( ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) ) ) + // InternalSemver.g:2073:1: ( ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) ) { - // InternalSemver.g:1909:1: ( ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) ) - // InternalSemver.g:1910:2: ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) + // InternalSemver.g:2073:1: ( ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) ) + // InternalSemver.g:2074:2: ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionRequirementAccess().getVersionSpecifierAssignment_3_1()); } - // InternalSemver.g:1911:2: ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) - // InternalSemver.g:1911:3: rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 + // InternalSemver.g:2075:2: ( rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 ) + // InternalSemver.g:2075:3: rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 { pushFollow(FOLLOW_2); rule__URLVersionRequirement__VersionSpecifierAssignment_3_1(); @@ -7025,14 +7661,14 @@ public final void rule__URLVersionRequirement__Group_3__1__Impl() throws Recogni // $ANTLR start "rule__URLVersionSpecifier__Group_0__0" - // InternalSemver.g:1920:1: rule__URLVersionSpecifier__Group_0__0 : rule__URLVersionSpecifier__Group_0__0__Impl ; + // InternalSemver.g:2084:1: rule__URLVersionSpecifier__Group_0__0 : rule__URLVersionSpecifier__Group_0__0__Impl ; public final void rule__URLVersionSpecifier__Group_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1924:1: ( rule__URLVersionSpecifier__Group_0__0__Impl ) - // InternalSemver.g:1925:2: rule__URLVersionSpecifier__Group_0__0__Impl + // InternalSemver.g:2088:1: ( rule__URLVersionSpecifier__Group_0__0__Impl ) + // InternalSemver.g:2089:2: rule__URLVersionSpecifier__Group_0__0__Impl { pushFollow(FOLLOW_2); rule__URLVersionSpecifier__Group_0__0__Impl(); @@ -7058,17 +7694,17 @@ public final void rule__URLVersionSpecifier__Group_0__0() throws RecognitionExce // $ANTLR start "rule__URLVersionSpecifier__Group_0__0__Impl" - // InternalSemver.g:1931:1: rule__URLVersionSpecifier__Group_0__0__Impl : ( ruleURLSemver ) ; + // InternalSemver.g:2095:1: rule__URLVersionSpecifier__Group_0__0__Impl : ( ruleURLSemver ) ; public final void rule__URLVersionSpecifier__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1935:1: ( ( ruleURLSemver ) ) - // InternalSemver.g:1936:1: ( ruleURLSemver ) + // InternalSemver.g:2099:1: ( ( ruleURLSemver ) ) + // InternalSemver.g:2100:1: ( ruleURLSemver ) { - // InternalSemver.g:1936:1: ( ruleURLSemver ) - // InternalSemver.g:1937:2: ruleURLSemver + // InternalSemver.g:2100:1: ( ruleURLSemver ) + // InternalSemver.g:2101:2: ruleURLSemver { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionSpecifierAccess().getURLSemverParserRuleCall_0_0()); @@ -7103,16 +7739,16 @@ public final void rule__URLVersionSpecifier__Group_0__0__Impl() throws Recogniti // $ANTLR start "rule__URLVersionSpecifier__Group_1__0" - // InternalSemver.g:1947:1: rule__URLVersionSpecifier__Group_1__0 : rule__URLVersionSpecifier__Group_1__0__Impl rule__URLVersionSpecifier__Group_1__1 ; + // InternalSemver.g:2111:1: rule__URLVersionSpecifier__Group_1__0 : rule__URLVersionSpecifier__Group_1__0__Impl rule__URLVersionSpecifier__Group_1__1 ; public final void rule__URLVersionSpecifier__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1951:1: ( rule__URLVersionSpecifier__Group_1__0__Impl rule__URLVersionSpecifier__Group_1__1 ) - // InternalSemver.g:1952:2: rule__URLVersionSpecifier__Group_1__0__Impl rule__URLVersionSpecifier__Group_1__1 + // InternalSemver.g:2115:1: ( rule__URLVersionSpecifier__Group_1__0__Impl rule__URLVersionSpecifier__Group_1__1 ) + // InternalSemver.g:2116:2: rule__URLVersionSpecifier__Group_1__0__Impl rule__URLVersionSpecifier__Group_1__1 { - pushFollow(FOLLOW_12); + pushFollow(FOLLOW_13); rule__URLVersionSpecifier__Group_1__0__Impl(); state._fsp--; @@ -7141,23 +7777,23 @@ public final void rule__URLVersionSpecifier__Group_1__0() throws RecognitionExce // $ANTLR start "rule__URLVersionSpecifier__Group_1__0__Impl" - // InternalSemver.g:1959:1: rule__URLVersionSpecifier__Group_1__0__Impl : ( () ) ; + // InternalSemver.g:2123:1: rule__URLVersionSpecifier__Group_1__0__Impl : ( () ) ; public final void rule__URLVersionSpecifier__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1963:1: ( ( () ) ) - // InternalSemver.g:1964:1: ( () ) + // InternalSemver.g:2127:1: ( ( () ) ) + // InternalSemver.g:2128:1: ( () ) { - // InternalSemver.g:1964:1: ( () ) - // InternalSemver.g:1965:2: () + // InternalSemver.g:2128:1: ( () ) + // InternalSemver.g:2129:2: () { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionSpecifierAccess().getURLCommitISHAction_1_0()); } - // InternalSemver.g:1966:2: () - // InternalSemver.g:1966:3: + // InternalSemver.g:2130:2: () + // InternalSemver.g:2130:3: { } @@ -7182,14 +7818,14 @@ public final void rule__URLVersionSpecifier__Group_1__0__Impl() throws Recogniti // $ANTLR start "rule__URLVersionSpecifier__Group_1__1" - // InternalSemver.g:1974:1: rule__URLVersionSpecifier__Group_1__1 : rule__URLVersionSpecifier__Group_1__1__Impl ; + // InternalSemver.g:2138:1: rule__URLVersionSpecifier__Group_1__1 : rule__URLVersionSpecifier__Group_1__1__Impl ; public final void rule__URLVersionSpecifier__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1978:1: ( rule__URLVersionSpecifier__Group_1__1__Impl ) - // InternalSemver.g:1979:2: rule__URLVersionSpecifier__Group_1__1__Impl + // InternalSemver.g:2142:1: ( rule__URLVersionSpecifier__Group_1__1__Impl ) + // InternalSemver.g:2143:2: rule__URLVersionSpecifier__Group_1__1__Impl { pushFollow(FOLLOW_2); rule__URLVersionSpecifier__Group_1__1__Impl(); @@ -7215,23 +7851,23 @@ public final void rule__URLVersionSpecifier__Group_1__1() throws RecognitionExce // $ANTLR start "rule__URLVersionSpecifier__Group_1__1__Impl" - // InternalSemver.g:1985:1: rule__URLVersionSpecifier__Group_1__1__Impl : ( ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) ) ; + // InternalSemver.g:2149:1: rule__URLVersionSpecifier__Group_1__1__Impl : ( ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) ) ; public final void rule__URLVersionSpecifier__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:1989:1: ( ( ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) ) ) - // InternalSemver.g:1990:1: ( ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) ) + // InternalSemver.g:2153:1: ( ( ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) ) ) + // InternalSemver.g:2154:1: ( ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) ) { - // InternalSemver.g:1990:1: ( ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) ) - // InternalSemver.g:1991:2: ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) + // InternalSemver.g:2154:1: ( ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) ) + // InternalSemver.g:2155:2: ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionSpecifierAccess().getCommitISHAssignment_1_1()); } - // InternalSemver.g:1992:2: ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) - // InternalSemver.g:1992:3: rule__URLVersionSpecifier__CommitISHAssignment_1_1 + // InternalSemver.g:2156:2: ( rule__URLVersionSpecifier__CommitISHAssignment_1_1 ) + // InternalSemver.g:2156:3: rule__URLVersionSpecifier__CommitISHAssignment_1_1 { pushFollow(FOLLOW_2); rule__URLVersionSpecifier__CommitISHAssignment_1_1(); @@ -7266,16 +7902,16 @@ public final void rule__URLVersionSpecifier__Group_1__1__Impl() throws Recogniti // $ANTLR start "rule__URLVersionSpecifier__Group_2__0" - // InternalSemver.g:2001:1: rule__URLVersionSpecifier__Group_2__0 : rule__URLVersionSpecifier__Group_2__0__Impl rule__URLVersionSpecifier__Group_2__1 ; + // InternalSemver.g:2165:1: rule__URLVersionSpecifier__Group_2__0 : rule__URLVersionSpecifier__Group_2__0__Impl rule__URLVersionSpecifier__Group_2__1 ; public final void rule__URLVersionSpecifier__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2005:1: ( rule__URLVersionSpecifier__Group_2__0__Impl rule__URLVersionSpecifier__Group_2__1 ) - // InternalSemver.g:2006:2: rule__URLVersionSpecifier__Group_2__0__Impl rule__URLVersionSpecifier__Group_2__1 + // InternalSemver.g:2169:1: ( rule__URLVersionSpecifier__Group_2__0__Impl rule__URLVersionSpecifier__Group_2__1 ) + // InternalSemver.g:2170:2: rule__URLVersionSpecifier__Group_2__0__Impl rule__URLVersionSpecifier__Group_2__1 { - pushFollow(FOLLOW_11); + pushFollow(FOLLOW_12); rule__URLVersionSpecifier__Group_2__0__Impl(); state._fsp--; @@ -7304,23 +7940,23 @@ public final void rule__URLVersionSpecifier__Group_2__0() throws RecognitionExce // $ANTLR start "rule__URLVersionSpecifier__Group_2__0__Impl" - // InternalSemver.g:2013:1: rule__URLVersionSpecifier__Group_2__0__Impl : ( () ) ; + // InternalSemver.g:2177:1: rule__URLVersionSpecifier__Group_2__0__Impl : ( () ) ; public final void rule__URLVersionSpecifier__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2017:1: ( ( () ) ) - // InternalSemver.g:2018:1: ( () ) + // InternalSemver.g:2181:1: ( ( () ) ) + // InternalSemver.g:2182:1: ( () ) { - // InternalSemver.g:2018:1: ( () ) - // InternalSemver.g:2019:2: () + // InternalSemver.g:2182:1: ( () ) + // InternalSemver.g:2183:2: () { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionSpecifierAccess().getURLCommitISHAction_2_0()); } - // InternalSemver.g:2020:2: () - // InternalSemver.g:2020:3: + // InternalSemver.g:2184:2: () + // InternalSemver.g:2184:3: { } @@ -7345,14 +7981,14 @@ public final void rule__URLVersionSpecifier__Group_2__0__Impl() throws Recogniti // $ANTLR start "rule__URLVersionSpecifier__Group_2__1" - // InternalSemver.g:2028:1: rule__URLVersionSpecifier__Group_2__1 : rule__URLVersionSpecifier__Group_2__1__Impl ; + // InternalSemver.g:2192:1: rule__URLVersionSpecifier__Group_2__1 : rule__URLVersionSpecifier__Group_2__1__Impl ; public final void rule__URLVersionSpecifier__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2032:1: ( rule__URLVersionSpecifier__Group_2__1__Impl ) - // InternalSemver.g:2033:2: rule__URLVersionSpecifier__Group_2__1__Impl + // InternalSemver.g:2196:1: ( rule__URLVersionSpecifier__Group_2__1__Impl ) + // InternalSemver.g:2197:2: rule__URLVersionSpecifier__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__URLVersionSpecifier__Group_2__1__Impl(); @@ -7378,23 +8014,23 @@ public final void rule__URLVersionSpecifier__Group_2__1() throws RecognitionExce // $ANTLR start "rule__URLVersionSpecifier__Group_2__1__Impl" - // InternalSemver.g:2039:1: rule__URLVersionSpecifier__Group_2__1__Impl : ( ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) ) ; + // InternalSemver.g:2203:1: rule__URLVersionSpecifier__Group_2__1__Impl : ( ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) ) ; public final void rule__URLVersionSpecifier__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2043:1: ( ( ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) ) ) - // InternalSemver.g:2044:1: ( ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) ) + // InternalSemver.g:2207:1: ( ( ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) ) ) + // InternalSemver.g:2208:1: ( ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) ) { - // InternalSemver.g:2044:1: ( ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) ) - // InternalSemver.g:2045:2: ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) + // InternalSemver.g:2208:1: ( ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) ) + // InternalSemver.g:2209:2: ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLVersionSpecifierAccess().getCommitISHAssignment_2_1()); } - // InternalSemver.g:2046:2: ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) - // InternalSemver.g:2046:3: rule__URLVersionSpecifier__CommitISHAssignment_2_1 + // InternalSemver.g:2210:2: ( rule__URLVersionSpecifier__CommitISHAssignment_2_1 ) + // InternalSemver.g:2210:3: rule__URLVersionSpecifier__CommitISHAssignment_2_1 { pushFollow(FOLLOW_2); rule__URLVersionSpecifier__CommitISHAssignment_2_1(); @@ -7429,16 +8065,16 @@ public final void rule__URLVersionSpecifier__Group_2__1__Impl() throws Recogniti // $ANTLR start "rule__URLSemver__Group__0" - // InternalSemver.g:2055:1: rule__URLSemver__Group__0 : rule__URLSemver__Group__0__Impl rule__URLSemver__Group__1 ; + // InternalSemver.g:2219:1: rule__URLSemver__Group__0 : rule__URLSemver__Group__0__Impl rule__URLSemver__Group__1 ; public final void rule__URLSemver__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2059:1: ( rule__URLSemver__Group__0__Impl rule__URLSemver__Group__1 ) - // InternalSemver.g:2060:2: rule__URLSemver__Group__0__Impl rule__URLSemver__Group__1 + // InternalSemver.g:2223:1: ( rule__URLSemver__Group__0__Impl rule__URLSemver__Group__1 ) + // InternalSemver.g:2224:2: rule__URLSemver__Group__0__Impl rule__URLSemver__Group__1 { - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_14); rule__URLSemver__Group__0__Impl(); state._fsp--; @@ -7467,23 +8103,23 @@ public final void rule__URLSemver__Group__0() throws RecognitionException { // $ANTLR start "rule__URLSemver__Group__0__Impl" - // InternalSemver.g:2067:1: rule__URLSemver__Group__0__Impl : ( () ) ; + // InternalSemver.g:2231:1: rule__URLSemver__Group__0__Impl : ( () ) ; public final void rule__URLSemver__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2071:1: ( ( () ) ) - // InternalSemver.g:2072:1: ( () ) + // InternalSemver.g:2235:1: ( ( () ) ) + // InternalSemver.g:2236:1: ( () ) { - // InternalSemver.g:2072:1: ( () ) - // InternalSemver.g:2073:2: () + // InternalSemver.g:2236:1: ( () ) + // InternalSemver.g:2237:2: () { if ( state.backtracking==0 ) { before(grammarAccess.getURLSemverAccess().getURLSemverAction_0()); } - // InternalSemver.g:2074:2: () - // InternalSemver.g:2074:3: + // InternalSemver.g:2238:2: () + // InternalSemver.g:2238:3: { } @@ -7508,16 +8144,16 @@ public final void rule__URLSemver__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__URLSemver__Group__1" - // InternalSemver.g:2082:1: rule__URLSemver__Group__1 : rule__URLSemver__Group__1__Impl rule__URLSemver__Group__2 ; + // InternalSemver.g:2246:1: rule__URLSemver__Group__1 : rule__URLSemver__Group__1__Impl rule__URLSemver__Group__2 ; public final void rule__URLSemver__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2086:1: ( rule__URLSemver__Group__1__Impl rule__URLSemver__Group__2 ) - // InternalSemver.g:2087:2: rule__URLSemver__Group__1__Impl rule__URLSemver__Group__2 + // InternalSemver.g:2250:1: ( rule__URLSemver__Group__1__Impl rule__URLSemver__Group__2 ) + // InternalSemver.g:2251:2: rule__URLSemver__Group__1__Impl rule__URLSemver__Group__2 { - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_14); rule__URLSemver__Group__1__Impl(); state._fsp--; @@ -7546,31 +8182,31 @@ public final void rule__URLSemver__Group__1() throws RecognitionException { // $ANTLR start "rule__URLSemver__Group__1__Impl" - // InternalSemver.g:2094:1: rule__URLSemver__Group__1__Impl : ( ( rule__URLSemver__WithSemverTagAssignment_1 )? ) ; + // InternalSemver.g:2258:1: rule__URLSemver__Group__1__Impl : ( ( rule__URLSemver__WithSemverTagAssignment_1 )? ) ; public final void rule__URLSemver__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2098:1: ( ( ( rule__URLSemver__WithSemverTagAssignment_1 )? ) ) - // InternalSemver.g:2099:1: ( ( rule__URLSemver__WithSemverTagAssignment_1 )? ) + // InternalSemver.g:2262:1: ( ( ( rule__URLSemver__WithSemverTagAssignment_1 )? ) ) + // InternalSemver.g:2263:1: ( ( rule__URLSemver__WithSemverTagAssignment_1 )? ) { - // InternalSemver.g:2099:1: ( ( rule__URLSemver__WithSemverTagAssignment_1 )? ) - // InternalSemver.g:2100:2: ( rule__URLSemver__WithSemverTagAssignment_1 )? + // InternalSemver.g:2263:1: ( ( rule__URLSemver__WithSemverTagAssignment_1 )? ) + // InternalSemver.g:2264:2: ( rule__URLSemver__WithSemverTagAssignment_1 )? { if ( state.backtracking==0 ) { before(grammarAccess.getURLSemverAccess().getWithSemverTagAssignment_1()); } - // InternalSemver.g:2101:2: ( rule__URLSemver__WithSemverTagAssignment_1 )? - int alt29=2; - int LA29_0 = input.LA(1); + // InternalSemver.g:2265:2: ( rule__URLSemver__WithSemverTagAssignment_1 )? + int alt31=2; + int LA31_0 = input.LA(1); - if ( (LA29_0==RULE_LETTER_S) ) { - alt29=1; + if ( (LA31_0==RULE_LETTER_S) ) { + alt31=1; } - switch (alt29) { + switch (alt31) { case 1 : - // InternalSemver.g:2101:3: rule__URLSemver__WithSemverTagAssignment_1 + // InternalSemver.g:2265:3: rule__URLSemver__WithSemverTagAssignment_1 { pushFollow(FOLLOW_2); rule__URLSemver__WithSemverTagAssignment_1(); @@ -7608,14 +8244,14 @@ public final void rule__URLSemver__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__URLSemver__Group__2" - // InternalSemver.g:2109:1: rule__URLSemver__Group__2 : rule__URLSemver__Group__2__Impl ; + // InternalSemver.g:2273:1: rule__URLSemver__Group__2 : rule__URLSemver__Group__2__Impl ; public final void rule__URLSemver__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2113:1: ( rule__URLSemver__Group__2__Impl ) - // InternalSemver.g:2114:2: rule__URLSemver__Group__2__Impl + // InternalSemver.g:2277:1: ( rule__URLSemver__Group__2__Impl ) + // InternalSemver.g:2278:2: rule__URLSemver__Group__2__Impl { pushFollow(FOLLOW_2); rule__URLSemver__Group__2__Impl(); @@ -7641,23 +8277,23 @@ public final void rule__URLSemver__Group__2() throws RecognitionException { // $ANTLR start "rule__URLSemver__Group__2__Impl" - // InternalSemver.g:2120:1: rule__URLSemver__Group__2__Impl : ( ( rule__URLSemver__SimpleVersionAssignment_2 ) ) ; + // InternalSemver.g:2284:1: rule__URLSemver__Group__2__Impl : ( ( rule__URLSemver__SimpleVersionAssignment_2 ) ) ; public final void rule__URLSemver__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2124:1: ( ( ( rule__URLSemver__SimpleVersionAssignment_2 ) ) ) - // InternalSemver.g:2125:1: ( ( rule__URLSemver__SimpleVersionAssignment_2 ) ) + // InternalSemver.g:2288:1: ( ( ( rule__URLSemver__SimpleVersionAssignment_2 ) ) ) + // InternalSemver.g:2289:1: ( ( rule__URLSemver__SimpleVersionAssignment_2 ) ) { - // InternalSemver.g:2125:1: ( ( rule__URLSemver__SimpleVersionAssignment_2 ) ) - // InternalSemver.g:2126:2: ( rule__URLSemver__SimpleVersionAssignment_2 ) + // InternalSemver.g:2289:1: ( ( rule__URLSemver__SimpleVersionAssignment_2 ) ) + // InternalSemver.g:2290:2: ( rule__URLSemver__SimpleVersionAssignment_2 ) { if ( state.backtracking==0 ) { before(grammarAccess.getURLSemverAccess().getSimpleVersionAssignment_2()); } - // InternalSemver.g:2127:2: ( rule__URLSemver__SimpleVersionAssignment_2 ) - // InternalSemver.g:2127:3: rule__URLSemver__SimpleVersionAssignment_2 + // InternalSemver.g:2291:2: ( rule__URLSemver__SimpleVersionAssignment_2 ) + // InternalSemver.g:2291:3: rule__URLSemver__SimpleVersionAssignment_2 { pushFollow(FOLLOW_2); rule__URLSemver__SimpleVersionAssignment_2(); @@ -7691,23 +8327,23 @@ public final void rule__URLSemver__Group__2__Impl() throws RecognitionException // $ANTLR end "rule__URLSemver__Group__2__Impl" - // $ANTLR start "rule__GitHubVersionRequirement__Group__0" - // InternalSemver.g:2136:1: rule__GitHubVersionRequirement__Group__0 : rule__GitHubVersionRequirement__Group__0__Impl rule__GitHubVersionRequirement__Group__1 ; - public final void rule__GitHubVersionRequirement__Group__0() throws RecognitionException { + // $ANTLR start "rule__WorkspaceVersionRequirement__Group__0" + // InternalSemver.g:2300:1: rule__WorkspaceVersionRequirement__Group__0 : rule__WorkspaceVersionRequirement__Group__0__Impl rule__WorkspaceVersionRequirement__Group__1 ; + public final void rule__WorkspaceVersionRequirement__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2140:1: ( rule__GitHubVersionRequirement__Group__0__Impl rule__GitHubVersionRequirement__Group__1 ) - // InternalSemver.g:2141:2: rule__GitHubVersionRequirement__Group__0__Impl rule__GitHubVersionRequirement__Group__1 + // InternalSemver.g:2304:1: ( rule__WorkspaceVersionRequirement__Group__0__Impl rule__WorkspaceVersionRequirement__Group__1 ) + // InternalSemver.g:2305:2: rule__WorkspaceVersionRequirement__Group__0__Impl rule__WorkspaceVersionRequirement__Group__1 { - pushFollow(FOLLOW_9); - rule__GitHubVersionRequirement__Group__0__Impl(); + pushFollow(FOLLOW_15); + rule__WorkspaceVersionRequirement__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GitHubVersionRequirement__Group__1(); + rule__WorkspaceVersionRequirement__Group__1(); state._fsp--; if (state.failed) return ; @@ -7726,38 +8362,32 @@ public final void rule__GitHubVersionRequirement__Group__0() throws RecognitionE } return ; } - // $ANTLR end "rule__GitHubVersionRequirement__Group__0" + // $ANTLR end "rule__WorkspaceVersionRequirement__Group__0" - // $ANTLR start "rule__GitHubVersionRequirement__Group__0__Impl" - // InternalSemver.g:2148:1: rule__GitHubVersionRequirement__Group__0__Impl : ( ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) ) ; - public final void rule__GitHubVersionRequirement__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__WorkspaceVersionRequirement__Group__0__Impl" + // InternalSemver.g:2312:1: rule__WorkspaceVersionRequirement__Group__0__Impl : ( ruleWORKSPACE_TAG ) ; + public final void rule__WorkspaceVersionRequirement__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2152:1: ( ( ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) ) ) - // InternalSemver.g:2153:1: ( ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) ) + // InternalSemver.g:2316:1: ( ( ruleWORKSPACE_TAG ) ) + // InternalSemver.g:2317:1: ( ruleWORKSPACE_TAG ) { - // InternalSemver.g:2153:1: ( ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) ) - // InternalSemver.g:2154:2: ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) + // InternalSemver.g:2317:1: ( ruleWORKSPACE_TAG ) + // InternalSemver.g:2318:2: ruleWORKSPACE_TAG { if ( state.backtracking==0 ) { - before(grammarAccess.getGitHubVersionRequirementAccess().getGithubUrlAssignment_0()); + before(grammarAccess.getWorkspaceVersionRequirementAccess().getWORKSPACE_TAGParserRuleCall_0()); } - // InternalSemver.g:2155:2: ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) - // InternalSemver.g:2155:3: rule__GitHubVersionRequirement__GithubUrlAssignment_0 - { pushFollow(FOLLOW_2); - rule__GitHubVersionRequirement__GithubUrlAssignment_0(); + ruleWORKSPACE_TAG(); state._fsp--; if (state.failed) return ; - - } - if ( state.backtracking==0 ) { - after(grammarAccess.getGitHubVersionRequirementAccess().getGithubUrlAssignment_0()); + after(grammarAccess.getWorkspaceVersionRequirementAccess().getWORKSPACE_TAGParserRuleCall_0()); } } @@ -7777,21 +8407,21 @@ public final void rule__GitHubVersionRequirement__Group__0__Impl() throws Recogn } return ; } - // $ANTLR end "rule__GitHubVersionRequirement__Group__0__Impl" + // $ANTLR end "rule__WorkspaceVersionRequirement__Group__0__Impl" - // $ANTLR start "rule__GitHubVersionRequirement__Group__1" - // InternalSemver.g:2163:1: rule__GitHubVersionRequirement__Group__1 : rule__GitHubVersionRequirement__Group__1__Impl ; - public final void rule__GitHubVersionRequirement__Group__1() throws RecognitionException { + // $ANTLR start "rule__WorkspaceVersionRequirement__Group__1" + // InternalSemver.g:2327:1: rule__WorkspaceVersionRequirement__Group__1 : rule__WorkspaceVersionRequirement__Group__1__Impl ; + public final void rule__WorkspaceVersionRequirement__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2167:1: ( rule__GitHubVersionRequirement__Group__1__Impl ) - // InternalSemver.g:2168:2: rule__GitHubVersionRequirement__Group__1__Impl + // InternalSemver.g:2331:1: ( rule__WorkspaceVersionRequirement__Group__1__Impl ) + // InternalSemver.g:2332:2: rule__WorkspaceVersionRequirement__Group__1__Impl { pushFollow(FOLLOW_2); - rule__GitHubVersionRequirement__Group__1__Impl(); + rule__WorkspaceVersionRequirement__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -7810,49 +8440,38 @@ public final void rule__GitHubVersionRequirement__Group__1() throws RecognitionE } return ; } - // $ANTLR end "rule__GitHubVersionRequirement__Group__1" + // $ANTLR end "rule__WorkspaceVersionRequirement__Group__1" - // $ANTLR start "rule__GitHubVersionRequirement__Group__1__Impl" - // InternalSemver.g:2174:1: rule__GitHubVersionRequirement__Group__1__Impl : ( ( rule__GitHubVersionRequirement__Group_1__0 )? ) ; - public final void rule__GitHubVersionRequirement__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__WorkspaceVersionRequirement__Group__1__Impl" + // InternalSemver.g:2338:1: rule__WorkspaceVersionRequirement__Group__1__Impl : ( ( rule__WorkspaceVersionRequirement__Alternatives_1 ) ) ; + public final void rule__WorkspaceVersionRequirement__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2178:1: ( ( ( rule__GitHubVersionRequirement__Group_1__0 )? ) ) - // InternalSemver.g:2179:1: ( ( rule__GitHubVersionRequirement__Group_1__0 )? ) + // InternalSemver.g:2342:1: ( ( ( rule__WorkspaceVersionRequirement__Alternatives_1 ) ) ) + // InternalSemver.g:2343:1: ( ( rule__WorkspaceVersionRequirement__Alternatives_1 ) ) { - // InternalSemver.g:2179:1: ( ( rule__GitHubVersionRequirement__Group_1__0 )? ) - // InternalSemver.g:2180:2: ( rule__GitHubVersionRequirement__Group_1__0 )? + // InternalSemver.g:2343:1: ( ( rule__WorkspaceVersionRequirement__Alternatives_1 ) ) + // InternalSemver.g:2344:2: ( rule__WorkspaceVersionRequirement__Alternatives_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getGitHubVersionRequirementAccess().getGroup_1()); - } - // InternalSemver.g:2181:2: ( rule__GitHubVersionRequirement__Group_1__0 )? - int alt30=2; - int LA30_0 = input.LA(1); - - if ( (LA30_0==49) ) { - alt30=1; + before(grammarAccess.getWorkspaceVersionRequirementAccess().getAlternatives_1()); } - switch (alt30) { - case 1 : - // InternalSemver.g:2181:3: rule__GitHubVersionRequirement__Group_1__0 - { - pushFollow(FOLLOW_2); - rule__GitHubVersionRequirement__Group_1__0(); - - state._fsp--; - if (state.failed) return ; + // InternalSemver.g:2345:2: ( rule__WorkspaceVersionRequirement__Alternatives_1 ) + // InternalSemver.g:2345:3: rule__WorkspaceVersionRequirement__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__WorkspaceVersionRequirement__Alternatives_1(); - } - break; + state._fsp--; + if (state.failed) return ; } if ( state.backtracking==0 ) { - after(grammarAccess.getGitHubVersionRequirementAccess().getGroup_1()); + after(grammarAccess.getWorkspaceVersionRequirementAccess().getAlternatives_1()); } } @@ -7872,26 +8491,210 @@ public final void rule__GitHubVersionRequirement__Group__1__Impl() throws Recogn } return ; } - // $ANTLR end "rule__GitHubVersionRequirement__Group__1__Impl" + // $ANTLR end "rule__WorkspaceVersionRequirement__Group__1__Impl" - // $ANTLR start "rule__GitHubVersionRequirement__Group_1__0" - // InternalSemver.g:2190:1: rule__GitHubVersionRequirement__Group_1__0 : rule__GitHubVersionRequirement__Group_1__0__Impl rule__GitHubVersionRequirement__Group_1__1 ; - public final void rule__GitHubVersionRequirement__Group_1__0() throws RecognitionException { + // $ANTLR start "rule__GitHubVersionRequirement__Group__0" + // InternalSemver.g:2354:1: rule__GitHubVersionRequirement__Group__0 : rule__GitHubVersionRequirement__Group__0__Impl rule__GitHubVersionRequirement__Group__1 ; + public final void rule__GitHubVersionRequirement__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2194:1: ( rule__GitHubVersionRequirement__Group_1__0__Impl rule__GitHubVersionRequirement__Group_1__1 ) - // InternalSemver.g:2195:2: rule__GitHubVersionRequirement__Group_1__0__Impl rule__GitHubVersionRequirement__Group_1__1 + // InternalSemver.g:2358:1: ( rule__GitHubVersionRequirement__Group__0__Impl rule__GitHubVersionRequirement__Group__1 ) + // InternalSemver.g:2359:2: rule__GitHubVersionRequirement__Group__0__Impl rule__GitHubVersionRequirement__Group__1 { - pushFollow(FOLLOW_11); - rule__GitHubVersionRequirement__Group_1__0__Impl(); + pushFollow(FOLLOW_10); + rule__GitHubVersionRequirement__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__GitHubVersionRequirement__Group_1__1(); + rule__GitHubVersionRequirement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GitHubVersionRequirement__Group__0" + + + // $ANTLR start "rule__GitHubVersionRequirement__Group__0__Impl" + // InternalSemver.g:2366:1: rule__GitHubVersionRequirement__Group__0__Impl : ( ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) ) ; + public final void rule__GitHubVersionRequirement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:2370:1: ( ( ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) ) ) + // InternalSemver.g:2371:1: ( ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) ) + { + // InternalSemver.g:2371:1: ( ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) ) + // InternalSemver.g:2372:2: ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGitHubVersionRequirementAccess().getGithubUrlAssignment_0()); + } + // InternalSemver.g:2373:2: ( rule__GitHubVersionRequirement__GithubUrlAssignment_0 ) + // InternalSemver.g:2373:3: rule__GitHubVersionRequirement__GithubUrlAssignment_0 + { + pushFollow(FOLLOW_2); + rule__GitHubVersionRequirement__GithubUrlAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGitHubVersionRequirementAccess().getGithubUrlAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GitHubVersionRequirement__Group__0__Impl" + + + // $ANTLR start "rule__GitHubVersionRequirement__Group__1" + // InternalSemver.g:2381:1: rule__GitHubVersionRequirement__Group__1 : rule__GitHubVersionRequirement__Group__1__Impl ; + public final void rule__GitHubVersionRequirement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:2385:1: ( rule__GitHubVersionRequirement__Group__1__Impl ) + // InternalSemver.g:2386:2: rule__GitHubVersionRequirement__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__GitHubVersionRequirement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GitHubVersionRequirement__Group__1" + + + // $ANTLR start "rule__GitHubVersionRequirement__Group__1__Impl" + // InternalSemver.g:2392:1: rule__GitHubVersionRequirement__Group__1__Impl : ( ( rule__GitHubVersionRequirement__Group_1__0 )? ) ; + public final void rule__GitHubVersionRequirement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:2396:1: ( ( ( rule__GitHubVersionRequirement__Group_1__0 )? ) ) + // InternalSemver.g:2397:1: ( ( rule__GitHubVersionRequirement__Group_1__0 )? ) + { + // InternalSemver.g:2397:1: ( ( rule__GitHubVersionRequirement__Group_1__0 )? ) + // InternalSemver.g:2398:2: ( rule__GitHubVersionRequirement__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getGitHubVersionRequirementAccess().getGroup_1()); + } + // InternalSemver.g:2399:2: ( rule__GitHubVersionRequirement__Group_1__0 )? + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==55) ) { + alt32=1; + } + switch (alt32) { + case 1 : + // InternalSemver.g:2399:3: rule__GitHubVersionRequirement__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__GitHubVersionRequirement__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getGitHubVersionRequirementAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GitHubVersionRequirement__Group__1__Impl" + + + // $ANTLR start "rule__GitHubVersionRequirement__Group_1__0" + // InternalSemver.g:2408:1: rule__GitHubVersionRequirement__Group_1__0 : rule__GitHubVersionRequirement__Group_1__0__Impl rule__GitHubVersionRequirement__Group_1__1 ; + public final void rule__GitHubVersionRequirement__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:2412:1: ( rule__GitHubVersionRequirement__Group_1__0__Impl rule__GitHubVersionRequirement__Group_1__1 ) + // InternalSemver.g:2413:2: rule__GitHubVersionRequirement__Group_1__0__Impl rule__GitHubVersionRequirement__Group_1__1 + { + pushFollow(FOLLOW_12); + rule__GitHubVersionRequirement__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__GitHubVersionRequirement__Group_1__1(); state._fsp--; if (state.failed) return ; @@ -7914,22 +8717,22 @@ public final void rule__GitHubVersionRequirement__Group_1__0() throws Recognitio // $ANTLR start "rule__GitHubVersionRequirement__Group_1__0__Impl" - // InternalSemver.g:2202:1: rule__GitHubVersionRequirement__Group_1__0__Impl : ( '#' ) ; + // InternalSemver.g:2420:1: rule__GitHubVersionRequirement__Group_1__0__Impl : ( '#' ) ; public final void rule__GitHubVersionRequirement__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2206:1: ( ( '#' ) ) - // InternalSemver.g:2207:1: ( '#' ) + // InternalSemver.g:2424:1: ( ( '#' ) ) + // InternalSemver.g:2425:1: ( '#' ) { - // InternalSemver.g:2207:1: ( '#' ) - // InternalSemver.g:2208:2: '#' + // InternalSemver.g:2425:1: ( '#' ) + // InternalSemver.g:2426:2: '#' { if ( state.backtracking==0 ) { before(grammarAccess.getGitHubVersionRequirementAccess().getNumberSignKeyword_1_0()); } - match(input,49,FOLLOW_2); if (state.failed) return ; + match(input,55,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getGitHubVersionRequirementAccess().getNumberSignKeyword_1_0()); } @@ -7955,14 +8758,14 @@ public final void rule__GitHubVersionRequirement__Group_1__0__Impl() throws Reco // $ANTLR start "rule__GitHubVersionRequirement__Group_1__1" - // InternalSemver.g:2217:1: rule__GitHubVersionRequirement__Group_1__1 : rule__GitHubVersionRequirement__Group_1__1__Impl ; + // InternalSemver.g:2435:1: rule__GitHubVersionRequirement__Group_1__1 : rule__GitHubVersionRequirement__Group_1__1__Impl ; public final void rule__GitHubVersionRequirement__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2221:1: ( rule__GitHubVersionRequirement__Group_1__1__Impl ) - // InternalSemver.g:2222:2: rule__GitHubVersionRequirement__Group_1__1__Impl + // InternalSemver.g:2439:1: ( rule__GitHubVersionRequirement__Group_1__1__Impl ) + // InternalSemver.g:2440:2: rule__GitHubVersionRequirement__Group_1__1__Impl { pushFollow(FOLLOW_2); rule__GitHubVersionRequirement__Group_1__1__Impl(); @@ -7988,23 +8791,23 @@ public final void rule__GitHubVersionRequirement__Group_1__1() throws Recognitio // $ANTLR start "rule__GitHubVersionRequirement__Group_1__1__Impl" - // InternalSemver.g:2228:1: rule__GitHubVersionRequirement__Group_1__1__Impl : ( ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) ) ; + // InternalSemver.g:2446:1: rule__GitHubVersionRequirement__Group_1__1__Impl : ( ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) ) ; public final void rule__GitHubVersionRequirement__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2232:1: ( ( ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) ) ) - // InternalSemver.g:2233:1: ( ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) ) + // InternalSemver.g:2450:1: ( ( ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) ) ) + // InternalSemver.g:2451:1: ( ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) ) { - // InternalSemver.g:2233:1: ( ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) ) - // InternalSemver.g:2234:2: ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) + // InternalSemver.g:2451:1: ( ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) ) + // InternalSemver.g:2452:2: ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getGitHubVersionRequirementAccess().getCommitISHAssignment_1_1()); } - // InternalSemver.g:2235:2: ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) - // InternalSemver.g:2235:3: rule__GitHubVersionRequirement__CommitISHAssignment_1_1 + // InternalSemver.g:2453:2: ( rule__GitHubVersionRequirement__CommitISHAssignment_1_1 ) + // InternalSemver.g:2453:3: rule__GitHubVersionRequirement__CommitISHAssignment_1_1 { pushFollow(FOLLOW_2); rule__GitHubVersionRequirement__CommitISHAssignment_1_1(); @@ -8039,16 +8842,16 @@ public final void rule__GitHubVersionRequirement__Group_1__1__Impl() throws Reco // $ANTLR start "rule__VersionRangeSetRequirement__Group__0" - // InternalSemver.g:2244:1: rule__VersionRangeSetRequirement__Group__0 : rule__VersionRangeSetRequirement__Group__0__Impl rule__VersionRangeSetRequirement__Group__1 ; + // InternalSemver.g:2462:1: rule__VersionRangeSetRequirement__Group__0 : rule__VersionRangeSetRequirement__Group__0__Impl rule__VersionRangeSetRequirement__Group__1 ; public final void rule__VersionRangeSetRequirement__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2248:1: ( rule__VersionRangeSetRequirement__Group__0__Impl rule__VersionRangeSetRequirement__Group__1 ) - // InternalSemver.g:2249:2: rule__VersionRangeSetRequirement__Group__0__Impl rule__VersionRangeSetRequirement__Group__1 + // InternalSemver.g:2466:1: ( rule__VersionRangeSetRequirement__Group__0__Impl rule__VersionRangeSetRequirement__Group__1 ) + // InternalSemver.g:2467:2: rule__VersionRangeSetRequirement__Group__0__Impl rule__VersionRangeSetRequirement__Group__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__VersionRangeSetRequirement__Group__0__Impl(); state._fsp--; @@ -8077,23 +8880,23 @@ public final void rule__VersionRangeSetRequirement__Group__0() throws Recognitio // $ANTLR start "rule__VersionRangeSetRequirement__Group__0__Impl" - // InternalSemver.g:2256:1: rule__VersionRangeSetRequirement__Group__0__Impl : ( () ) ; + // InternalSemver.g:2474:1: rule__VersionRangeSetRequirement__Group__0__Impl : ( () ) ; public final void rule__VersionRangeSetRequirement__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2260:1: ( ( () ) ) - // InternalSemver.g:2261:1: ( () ) + // InternalSemver.g:2478:1: ( ( () ) ) + // InternalSemver.g:2479:1: ( () ) { - // InternalSemver.g:2261:1: ( () ) - // InternalSemver.g:2262:2: () + // InternalSemver.g:2479:1: ( () ) + // InternalSemver.g:2480:2: () { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getVersionRangeSetRequirementAction_0()); } - // InternalSemver.g:2263:2: () - // InternalSemver.g:2263:3: + // InternalSemver.g:2481:2: () + // InternalSemver.g:2481:3: { } @@ -8118,14 +8921,14 @@ public final void rule__VersionRangeSetRequirement__Group__0__Impl() throws Reco // $ANTLR start "rule__VersionRangeSetRequirement__Group__1" - // InternalSemver.g:2271:1: rule__VersionRangeSetRequirement__Group__1 : rule__VersionRangeSetRequirement__Group__1__Impl ; + // InternalSemver.g:2489:1: rule__VersionRangeSetRequirement__Group__1 : rule__VersionRangeSetRequirement__Group__1__Impl ; public final void rule__VersionRangeSetRequirement__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2275:1: ( rule__VersionRangeSetRequirement__Group__1__Impl ) - // InternalSemver.g:2276:2: rule__VersionRangeSetRequirement__Group__1__Impl + // InternalSemver.g:2493:1: ( rule__VersionRangeSetRequirement__Group__1__Impl ) + // InternalSemver.g:2494:2: rule__VersionRangeSetRequirement__Group__1__Impl { pushFollow(FOLLOW_2); rule__VersionRangeSetRequirement__Group__1__Impl(); @@ -8151,31 +8954,31 @@ public final void rule__VersionRangeSetRequirement__Group__1() throws Recognitio // $ANTLR start "rule__VersionRangeSetRequirement__Group__1__Impl" - // InternalSemver.g:2282:1: rule__VersionRangeSetRequirement__Group__1__Impl : ( ( rule__VersionRangeSetRequirement__Group_1__0 )? ) ; + // InternalSemver.g:2500:1: rule__VersionRangeSetRequirement__Group__1__Impl : ( ( rule__VersionRangeSetRequirement__Group_1__0 )? ) ; public final void rule__VersionRangeSetRequirement__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2286:1: ( ( ( rule__VersionRangeSetRequirement__Group_1__0 )? ) ) - // InternalSemver.g:2287:1: ( ( rule__VersionRangeSetRequirement__Group_1__0 )? ) + // InternalSemver.g:2504:1: ( ( ( rule__VersionRangeSetRequirement__Group_1__0 )? ) ) + // InternalSemver.g:2505:1: ( ( rule__VersionRangeSetRequirement__Group_1__0 )? ) { - // InternalSemver.g:2287:1: ( ( rule__VersionRangeSetRequirement__Group_1__0 )? ) - // InternalSemver.g:2288:2: ( rule__VersionRangeSetRequirement__Group_1__0 )? + // InternalSemver.g:2505:1: ( ( rule__VersionRangeSetRequirement__Group_1__0 )? ) + // InternalSemver.g:2506:2: ( rule__VersionRangeSetRequirement__Group_1__0 )? { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getGroup_1()); } - // InternalSemver.g:2289:2: ( rule__VersionRangeSetRequirement__Group_1__0 )? - int alt31=2; - int LA31_0 = input.LA(1); + // InternalSemver.g:2507:2: ( rule__VersionRangeSetRequirement__Group_1__0 )? + int alt33=2; + int LA33_0 = input.LA(1); - if ( ((LA31_0>=RULE_DIGITS && LA31_0<=RULE_LETTER_V)||(LA31_0>=42 && LA31_0<=48)) ) { - alt31=1; + if ( ((LA33_0>=RULE_ASTERIX && LA33_0<=RULE_LETTER_V)||(LA33_0>=48 && LA33_0<=54)) ) { + alt33=1; } - switch (alt31) { + switch (alt33) { case 1 : - // InternalSemver.g:2289:3: rule__VersionRangeSetRequirement__Group_1__0 + // InternalSemver.g:2507:3: rule__VersionRangeSetRequirement__Group_1__0 { pushFollow(FOLLOW_2); rule__VersionRangeSetRequirement__Group_1__0(); @@ -8213,16 +9016,16 @@ public final void rule__VersionRangeSetRequirement__Group__1__Impl() throws Reco // $ANTLR start "rule__VersionRangeSetRequirement__Group_1__0" - // InternalSemver.g:2298:1: rule__VersionRangeSetRequirement__Group_1__0 : rule__VersionRangeSetRequirement__Group_1__0__Impl rule__VersionRangeSetRequirement__Group_1__1 ; + // InternalSemver.g:2516:1: rule__VersionRangeSetRequirement__Group_1__0 : rule__VersionRangeSetRequirement__Group_1__0__Impl rule__VersionRangeSetRequirement__Group_1__1 ; public final void rule__VersionRangeSetRequirement__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2302:1: ( rule__VersionRangeSetRequirement__Group_1__0__Impl rule__VersionRangeSetRequirement__Group_1__1 ) - // InternalSemver.g:2303:2: rule__VersionRangeSetRequirement__Group_1__0__Impl rule__VersionRangeSetRequirement__Group_1__1 + // InternalSemver.g:2520:1: ( rule__VersionRangeSetRequirement__Group_1__0__Impl rule__VersionRangeSetRequirement__Group_1__1 ) + // InternalSemver.g:2521:2: rule__VersionRangeSetRequirement__Group_1__0__Impl rule__VersionRangeSetRequirement__Group_1__1 { - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_16); rule__VersionRangeSetRequirement__Group_1__0__Impl(); state._fsp--; @@ -8251,23 +9054,23 @@ public final void rule__VersionRangeSetRequirement__Group_1__0() throws Recognit // $ANTLR start "rule__VersionRangeSetRequirement__Group_1__0__Impl" - // InternalSemver.g:2310:1: rule__VersionRangeSetRequirement__Group_1__0__Impl : ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) ) ; + // InternalSemver.g:2528:1: rule__VersionRangeSetRequirement__Group_1__0__Impl : ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) ) ; public final void rule__VersionRangeSetRequirement__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2314:1: ( ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) ) ) - // InternalSemver.g:2315:1: ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) ) + // InternalSemver.g:2532:1: ( ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) ) ) + // InternalSemver.g:2533:1: ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) ) { - // InternalSemver.g:2315:1: ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) ) - // InternalSemver.g:2316:2: ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) + // InternalSemver.g:2533:1: ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) ) + // InternalSemver.g:2534:2: ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getRangesAssignment_1_0()); } - // InternalSemver.g:2317:2: ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) - // InternalSemver.g:2317:3: rule__VersionRangeSetRequirement__RangesAssignment_1_0 + // InternalSemver.g:2535:2: ( rule__VersionRangeSetRequirement__RangesAssignment_1_0 ) + // InternalSemver.g:2535:3: rule__VersionRangeSetRequirement__RangesAssignment_1_0 { pushFollow(FOLLOW_2); rule__VersionRangeSetRequirement__RangesAssignment_1_0(); @@ -8302,16 +9105,16 @@ public final void rule__VersionRangeSetRequirement__Group_1__0__Impl() throws Re // $ANTLR start "rule__VersionRangeSetRequirement__Group_1__1" - // InternalSemver.g:2325:1: rule__VersionRangeSetRequirement__Group_1__1 : rule__VersionRangeSetRequirement__Group_1__1__Impl rule__VersionRangeSetRequirement__Group_1__2 ; + // InternalSemver.g:2543:1: rule__VersionRangeSetRequirement__Group_1__1 : rule__VersionRangeSetRequirement__Group_1__1__Impl rule__VersionRangeSetRequirement__Group_1__2 ; public final void rule__VersionRangeSetRequirement__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2329:1: ( rule__VersionRangeSetRequirement__Group_1__1__Impl rule__VersionRangeSetRequirement__Group_1__2 ) - // InternalSemver.g:2330:2: rule__VersionRangeSetRequirement__Group_1__1__Impl rule__VersionRangeSetRequirement__Group_1__2 + // InternalSemver.g:2547:1: ( rule__VersionRangeSetRequirement__Group_1__1__Impl rule__VersionRangeSetRequirement__Group_1__2 ) + // InternalSemver.g:2548:2: rule__VersionRangeSetRequirement__Group_1__1__Impl rule__VersionRangeSetRequirement__Group_1__2 { - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_16); rule__VersionRangeSetRequirement__Group_1__1__Impl(); state._fsp--; @@ -8340,46 +9143,46 @@ public final void rule__VersionRangeSetRequirement__Group_1__1() throws Recognit // $ANTLR start "rule__VersionRangeSetRequirement__Group_1__1__Impl" - // InternalSemver.g:2337:1: rule__VersionRangeSetRequirement__Group_1__1__Impl : ( ( rule__VersionRangeSetRequirement__Group_1_1__0 )* ) ; + // InternalSemver.g:2555:1: rule__VersionRangeSetRequirement__Group_1__1__Impl : ( ( rule__VersionRangeSetRequirement__Group_1_1__0 )* ) ; public final void rule__VersionRangeSetRequirement__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2341:1: ( ( ( rule__VersionRangeSetRequirement__Group_1_1__0 )* ) ) - // InternalSemver.g:2342:1: ( ( rule__VersionRangeSetRequirement__Group_1_1__0 )* ) + // InternalSemver.g:2559:1: ( ( ( rule__VersionRangeSetRequirement__Group_1_1__0 )* ) ) + // InternalSemver.g:2560:1: ( ( rule__VersionRangeSetRequirement__Group_1_1__0 )* ) { - // InternalSemver.g:2342:1: ( ( rule__VersionRangeSetRequirement__Group_1_1__0 )* ) - // InternalSemver.g:2343:2: ( rule__VersionRangeSetRequirement__Group_1_1__0 )* + // InternalSemver.g:2560:1: ( ( rule__VersionRangeSetRequirement__Group_1_1__0 )* ) + // InternalSemver.g:2561:2: ( rule__VersionRangeSetRequirement__Group_1_1__0 )* { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getGroup_1_1()); } - // InternalSemver.g:2344:2: ( rule__VersionRangeSetRequirement__Group_1_1__0 )* - loop32: + // InternalSemver.g:2562:2: ( rule__VersionRangeSetRequirement__Group_1_1__0 )* + loop34: do { - int alt32=2; - int LA32_0 = input.LA(1); + int alt34=2; + int LA34_0 = input.LA(1); - if ( (LA32_0==RULE_WS) ) { - int LA32_1 = input.LA(2); + if ( (LA34_0==RULE_WS) ) { + int LA34_1 = input.LA(2); - if ( (LA32_1==50) ) { - alt32=1; + if ( (LA34_1==56) ) { + alt34=1; } } - else if ( (LA32_0==50) ) { - alt32=1; + else if ( (LA34_0==56) ) { + alt34=1; } - switch (alt32) { + switch (alt34) { case 1 : - // InternalSemver.g:2344:3: rule__VersionRangeSetRequirement__Group_1_1__0 + // InternalSemver.g:2562:3: rule__VersionRangeSetRequirement__Group_1_1__0 { - pushFollow(FOLLOW_15); + pushFollow(FOLLOW_17); rule__VersionRangeSetRequirement__Group_1_1__0(); state._fsp--; @@ -8389,7 +9192,7 @@ else if ( (LA32_0==50) ) { break; default : - break loop32; + break loop34; } } while (true); @@ -8418,14 +9221,14 @@ else if ( (LA32_0==50) ) { // $ANTLR start "rule__VersionRangeSetRequirement__Group_1__2" - // InternalSemver.g:2352:1: rule__VersionRangeSetRequirement__Group_1__2 : rule__VersionRangeSetRequirement__Group_1__2__Impl ; + // InternalSemver.g:2570:1: rule__VersionRangeSetRequirement__Group_1__2 : rule__VersionRangeSetRequirement__Group_1__2__Impl ; public final void rule__VersionRangeSetRequirement__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2356:1: ( rule__VersionRangeSetRequirement__Group_1__2__Impl ) - // InternalSemver.g:2357:2: rule__VersionRangeSetRequirement__Group_1__2__Impl + // InternalSemver.g:2574:1: ( rule__VersionRangeSetRequirement__Group_1__2__Impl ) + // InternalSemver.g:2575:2: rule__VersionRangeSetRequirement__Group_1__2__Impl { pushFollow(FOLLOW_2); rule__VersionRangeSetRequirement__Group_1__2__Impl(); @@ -8451,31 +9254,31 @@ public final void rule__VersionRangeSetRequirement__Group_1__2() throws Recognit // $ANTLR start "rule__VersionRangeSetRequirement__Group_1__2__Impl" - // InternalSemver.g:2363:1: rule__VersionRangeSetRequirement__Group_1__2__Impl : ( ( RULE_WS )? ) ; + // InternalSemver.g:2581:1: rule__VersionRangeSetRequirement__Group_1__2__Impl : ( ( RULE_WS )? ) ; public final void rule__VersionRangeSetRequirement__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2367:1: ( ( ( RULE_WS )? ) ) - // InternalSemver.g:2368:1: ( ( RULE_WS )? ) + // InternalSemver.g:2585:1: ( ( ( RULE_WS )? ) ) + // InternalSemver.g:2586:1: ( ( RULE_WS )? ) { - // InternalSemver.g:2368:1: ( ( RULE_WS )? ) - // InternalSemver.g:2369:2: ( RULE_WS )? + // InternalSemver.g:2586:1: ( ( RULE_WS )? ) + // InternalSemver.g:2587:2: ( RULE_WS )? { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getWSTerminalRuleCall_1_2()); } - // InternalSemver.g:2370:2: ( RULE_WS )? - int alt33=2; - int LA33_0 = input.LA(1); + // InternalSemver.g:2588:2: ( RULE_WS )? + int alt35=2; + int LA35_0 = input.LA(1); - if ( (LA33_0==RULE_WS) ) { - alt33=1; + if ( (LA35_0==RULE_WS) ) { + alt35=1; } - switch (alt33) { + switch (alt35) { case 1 : - // InternalSemver.g:2370:3: RULE_WS + // InternalSemver.g:2588:3: RULE_WS { match(input,RULE_WS,FOLLOW_2); if (state.failed) return ; @@ -8509,16 +9312,16 @@ public final void rule__VersionRangeSetRequirement__Group_1__2__Impl() throws Re // $ANTLR start "rule__VersionRangeSetRequirement__Group_1_1__0" - // InternalSemver.g:2379:1: rule__VersionRangeSetRequirement__Group_1_1__0 : rule__VersionRangeSetRequirement__Group_1_1__0__Impl rule__VersionRangeSetRequirement__Group_1_1__1 ; + // InternalSemver.g:2597:1: rule__VersionRangeSetRequirement__Group_1_1__0 : rule__VersionRangeSetRequirement__Group_1_1__0__Impl rule__VersionRangeSetRequirement__Group_1_1__1 ; public final void rule__VersionRangeSetRequirement__Group_1_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2383:1: ( rule__VersionRangeSetRequirement__Group_1_1__0__Impl rule__VersionRangeSetRequirement__Group_1_1__1 ) - // InternalSemver.g:2384:2: rule__VersionRangeSetRequirement__Group_1_1__0__Impl rule__VersionRangeSetRequirement__Group_1_1__1 + // InternalSemver.g:2601:1: ( rule__VersionRangeSetRequirement__Group_1_1__0__Impl rule__VersionRangeSetRequirement__Group_1_1__1 ) + // InternalSemver.g:2602:2: rule__VersionRangeSetRequirement__Group_1_1__0__Impl rule__VersionRangeSetRequirement__Group_1_1__1 { - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_16); rule__VersionRangeSetRequirement__Group_1_1__0__Impl(); state._fsp--; @@ -8547,31 +9350,31 @@ public final void rule__VersionRangeSetRequirement__Group_1_1__0() throws Recogn // $ANTLR start "rule__VersionRangeSetRequirement__Group_1_1__0__Impl" - // InternalSemver.g:2391:1: rule__VersionRangeSetRequirement__Group_1_1__0__Impl : ( ( RULE_WS )? ) ; + // InternalSemver.g:2609:1: rule__VersionRangeSetRequirement__Group_1_1__0__Impl : ( ( RULE_WS )? ) ; public final void rule__VersionRangeSetRequirement__Group_1_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2395:1: ( ( ( RULE_WS )? ) ) - // InternalSemver.g:2396:1: ( ( RULE_WS )? ) + // InternalSemver.g:2613:1: ( ( ( RULE_WS )? ) ) + // InternalSemver.g:2614:1: ( ( RULE_WS )? ) { - // InternalSemver.g:2396:1: ( ( RULE_WS )? ) - // InternalSemver.g:2397:2: ( RULE_WS )? + // InternalSemver.g:2614:1: ( ( RULE_WS )? ) + // InternalSemver.g:2615:2: ( RULE_WS )? { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getWSTerminalRuleCall_1_1_0()); } - // InternalSemver.g:2398:2: ( RULE_WS )? - int alt34=2; - int LA34_0 = input.LA(1); + // InternalSemver.g:2616:2: ( RULE_WS )? + int alt36=2; + int LA36_0 = input.LA(1); - if ( (LA34_0==RULE_WS) ) { - alt34=1; + if ( (LA36_0==RULE_WS) ) { + alt36=1; } - switch (alt34) { + switch (alt36) { case 1 : - // InternalSemver.g:2398:3: RULE_WS + // InternalSemver.g:2616:3: RULE_WS { match(input,RULE_WS,FOLLOW_2); if (state.failed) return ; @@ -8605,16 +9408,16 @@ public final void rule__VersionRangeSetRequirement__Group_1_1__0__Impl() throws // $ANTLR start "rule__VersionRangeSetRequirement__Group_1_1__1" - // InternalSemver.g:2406:1: rule__VersionRangeSetRequirement__Group_1_1__1 : rule__VersionRangeSetRequirement__Group_1_1__1__Impl rule__VersionRangeSetRequirement__Group_1_1__2 ; + // InternalSemver.g:2624:1: rule__VersionRangeSetRequirement__Group_1_1__1 : rule__VersionRangeSetRequirement__Group_1_1__1__Impl rule__VersionRangeSetRequirement__Group_1_1__2 ; public final void rule__VersionRangeSetRequirement__Group_1_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2410:1: ( rule__VersionRangeSetRequirement__Group_1_1__1__Impl rule__VersionRangeSetRequirement__Group_1_1__2 ) - // InternalSemver.g:2411:2: rule__VersionRangeSetRequirement__Group_1_1__1__Impl rule__VersionRangeSetRequirement__Group_1_1__2 + // InternalSemver.g:2628:1: ( rule__VersionRangeSetRequirement__Group_1_1__1__Impl rule__VersionRangeSetRequirement__Group_1_1__2 ) + // InternalSemver.g:2629:2: rule__VersionRangeSetRequirement__Group_1_1__1__Impl rule__VersionRangeSetRequirement__Group_1_1__2 { - pushFollow(FOLLOW_16); + pushFollow(FOLLOW_18); rule__VersionRangeSetRequirement__Group_1_1__1__Impl(); state._fsp--; @@ -8643,22 +9446,22 @@ public final void rule__VersionRangeSetRequirement__Group_1_1__1() throws Recogn // $ANTLR start "rule__VersionRangeSetRequirement__Group_1_1__1__Impl" - // InternalSemver.g:2418:1: rule__VersionRangeSetRequirement__Group_1_1__1__Impl : ( '||' ) ; + // InternalSemver.g:2636:1: rule__VersionRangeSetRequirement__Group_1_1__1__Impl : ( '||' ) ; public final void rule__VersionRangeSetRequirement__Group_1_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2422:1: ( ( '||' ) ) - // InternalSemver.g:2423:1: ( '||' ) + // InternalSemver.g:2640:1: ( ( '||' ) ) + // InternalSemver.g:2641:1: ( '||' ) { - // InternalSemver.g:2423:1: ( '||' ) - // InternalSemver.g:2424:2: '||' + // InternalSemver.g:2641:1: ( '||' ) + // InternalSemver.g:2642:2: '||' { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getVerticalLineVerticalLineKeyword_1_1_1()); } - match(input,50,FOLLOW_2); if (state.failed) return ; + match(input,56,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getVersionRangeSetRequirementAccess().getVerticalLineVerticalLineKeyword_1_1_1()); } @@ -8684,16 +9487,16 @@ public final void rule__VersionRangeSetRequirement__Group_1_1__1__Impl() throws // $ANTLR start "rule__VersionRangeSetRequirement__Group_1_1__2" - // InternalSemver.g:2433:1: rule__VersionRangeSetRequirement__Group_1_1__2 : rule__VersionRangeSetRequirement__Group_1_1__2__Impl rule__VersionRangeSetRequirement__Group_1_1__3 ; + // InternalSemver.g:2651:1: rule__VersionRangeSetRequirement__Group_1_1__2 : rule__VersionRangeSetRequirement__Group_1_1__2__Impl rule__VersionRangeSetRequirement__Group_1_1__3 ; public final void rule__VersionRangeSetRequirement__Group_1_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2437:1: ( rule__VersionRangeSetRequirement__Group_1_1__2__Impl rule__VersionRangeSetRequirement__Group_1_1__3 ) - // InternalSemver.g:2438:2: rule__VersionRangeSetRequirement__Group_1_1__2__Impl rule__VersionRangeSetRequirement__Group_1_1__3 + // InternalSemver.g:2655:1: ( rule__VersionRangeSetRequirement__Group_1_1__2__Impl rule__VersionRangeSetRequirement__Group_1_1__3 ) + // InternalSemver.g:2656:2: rule__VersionRangeSetRequirement__Group_1_1__2__Impl rule__VersionRangeSetRequirement__Group_1_1__3 { - pushFollow(FOLLOW_16); + pushFollow(FOLLOW_18); rule__VersionRangeSetRequirement__Group_1_1__2__Impl(); state._fsp--; @@ -8722,31 +9525,31 @@ public final void rule__VersionRangeSetRequirement__Group_1_1__2() throws Recogn // $ANTLR start "rule__VersionRangeSetRequirement__Group_1_1__2__Impl" - // InternalSemver.g:2445:1: rule__VersionRangeSetRequirement__Group_1_1__2__Impl : ( ( RULE_WS )? ) ; + // InternalSemver.g:2663:1: rule__VersionRangeSetRequirement__Group_1_1__2__Impl : ( ( RULE_WS )? ) ; public final void rule__VersionRangeSetRequirement__Group_1_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2449:1: ( ( ( RULE_WS )? ) ) - // InternalSemver.g:2450:1: ( ( RULE_WS )? ) + // InternalSemver.g:2667:1: ( ( ( RULE_WS )? ) ) + // InternalSemver.g:2668:1: ( ( RULE_WS )? ) { - // InternalSemver.g:2450:1: ( ( RULE_WS )? ) - // InternalSemver.g:2451:2: ( RULE_WS )? + // InternalSemver.g:2668:1: ( ( RULE_WS )? ) + // InternalSemver.g:2669:2: ( RULE_WS )? { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getWSTerminalRuleCall_1_1_2()); } - // InternalSemver.g:2452:2: ( RULE_WS )? - int alt35=2; - int LA35_0 = input.LA(1); + // InternalSemver.g:2670:2: ( RULE_WS )? + int alt37=2; + int LA37_0 = input.LA(1); - if ( (LA35_0==RULE_WS) ) { - alt35=1; + if ( (LA37_0==RULE_WS) ) { + alt37=1; } - switch (alt35) { + switch (alt37) { case 1 : - // InternalSemver.g:2452:3: RULE_WS + // InternalSemver.g:2670:3: RULE_WS { match(input,RULE_WS,FOLLOW_2); if (state.failed) return ; @@ -8780,14 +9583,14 @@ public final void rule__VersionRangeSetRequirement__Group_1_1__2__Impl() throws // $ANTLR start "rule__VersionRangeSetRequirement__Group_1_1__3" - // InternalSemver.g:2460:1: rule__VersionRangeSetRequirement__Group_1_1__3 : rule__VersionRangeSetRequirement__Group_1_1__3__Impl ; + // InternalSemver.g:2678:1: rule__VersionRangeSetRequirement__Group_1_1__3 : rule__VersionRangeSetRequirement__Group_1_1__3__Impl ; public final void rule__VersionRangeSetRequirement__Group_1_1__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2464:1: ( rule__VersionRangeSetRequirement__Group_1_1__3__Impl ) - // InternalSemver.g:2465:2: rule__VersionRangeSetRequirement__Group_1_1__3__Impl + // InternalSemver.g:2682:1: ( rule__VersionRangeSetRequirement__Group_1_1__3__Impl ) + // InternalSemver.g:2683:2: rule__VersionRangeSetRequirement__Group_1_1__3__Impl { pushFollow(FOLLOW_2); rule__VersionRangeSetRequirement__Group_1_1__3__Impl(); @@ -8813,23 +9616,23 @@ public final void rule__VersionRangeSetRequirement__Group_1_1__3() throws Recogn // $ANTLR start "rule__VersionRangeSetRequirement__Group_1_1__3__Impl" - // InternalSemver.g:2471:1: rule__VersionRangeSetRequirement__Group_1_1__3__Impl : ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) ) ; + // InternalSemver.g:2689:1: rule__VersionRangeSetRequirement__Group_1_1__3__Impl : ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) ) ; public final void rule__VersionRangeSetRequirement__Group_1_1__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2475:1: ( ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) ) ) - // InternalSemver.g:2476:1: ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) ) + // InternalSemver.g:2693:1: ( ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) ) ) + // InternalSemver.g:2694:1: ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) ) { - // InternalSemver.g:2476:1: ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) ) - // InternalSemver.g:2477:2: ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) + // InternalSemver.g:2694:1: ( ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) ) + // InternalSemver.g:2695:2: ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeSetRequirementAccess().getRangesAssignment_1_1_3()); } - // InternalSemver.g:2478:2: ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) - // InternalSemver.g:2478:3: rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 + // InternalSemver.g:2696:2: ( rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 ) + // InternalSemver.g:2696:3: rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 { pushFollow(FOLLOW_2); rule__VersionRangeSetRequirement__RangesAssignment_1_1_3(); @@ -8864,16 +9667,16 @@ public final void rule__VersionRangeSetRequirement__Group_1_1__3__Impl() throws // $ANTLR start "rule__HyphenVersionRange__Group__0" - // InternalSemver.g:2487:1: rule__HyphenVersionRange__Group__0 : rule__HyphenVersionRange__Group__0__Impl rule__HyphenVersionRange__Group__1 ; + // InternalSemver.g:2705:1: rule__HyphenVersionRange__Group__0 : rule__HyphenVersionRange__Group__0__Impl rule__HyphenVersionRange__Group__1 ; public final void rule__HyphenVersionRange__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2491:1: ( rule__HyphenVersionRange__Group__0__Impl rule__HyphenVersionRange__Group__1 ) - // InternalSemver.g:2492:2: rule__HyphenVersionRange__Group__0__Impl rule__HyphenVersionRange__Group__1 + // InternalSemver.g:2709:1: ( rule__HyphenVersionRange__Group__0__Impl rule__HyphenVersionRange__Group__1 ) + // InternalSemver.g:2710:2: rule__HyphenVersionRange__Group__0__Impl rule__HyphenVersionRange__Group__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__HyphenVersionRange__Group__0__Impl(); state._fsp--; @@ -8902,23 +9705,23 @@ public final void rule__HyphenVersionRange__Group__0() throws RecognitionExcepti // $ANTLR start "rule__HyphenVersionRange__Group__0__Impl" - // InternalSemver.g:2499:1: rule__HyphenVersionRange__Group__0__Impl : ( () ) ; + // InternalSemver.g:2717:1: rule__HyphenVersionRange__Group__0__Impl : ( () ) ; public final void rule__HyphenVersionRange__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2503:1: ( ( () ) ) - // InternalSemver.g:2504:1: ( () ) + // InternalSemver.g:2721:1: ( ( () ) ) + // InternalSemver.g:2722:1: ( () ) { - // InternalSemver.g:2504:1: ( () ) - // InternalSemver.g:2505:2: () + // InternalSemver.g:2722:1: ( () ) + // InternalSemver.g:2723:2: () { if ( state.backtracking==0 ) { before(grammarAccess.getHyphenVersionRangeAccess().getHyphenVersionRangeAction_0()); } - // InternalSemver.g:2506:2: () - // InternalSemver.g:2506:3: + // InternalSemver.g:2724:2: () + // InternalSemver.g:2724:3: { } @@ -8943,16 +9746,16 @@ public final void rule__HyphenVersionRange__Group__0__Impl() throws RecognitionE // $ANTLR start "rule__HyphenVersionRange__Group__1" - // InternalSemver.g:2514:1: rule__HyphenVersionRange__Group__1 : rule__HyphenVersionRange__Group__1__Impl rule__HyphenVersionRange__Group__2 ; + // InternalSemver.g:2732:1: rule__HyphenVersionRange__Group__1 : rule__HyphenVersionRange__Group__1__Impl rule__HyphenVersionRange__Group__2 ; public final void rule__HyphenVersionRange__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2518:1: ( rule__HyphenVersionRange__Group__1__Impl rule__HyphenVersionRange__Group__2 ) - // InternalSemver.g:2519:2: rule__HyphenVersionRange__Group__1__Impl rule__HyphenVersionRange__Group__2 + // InternalSemver.g:2736:1: ( rule__HyphenVersionRange__Group__1__Impl rule__HyphenVersionRange__Group__2 ) + // InternalSemver.g:2737:2: rule__HyphenVersionRange__Group__1__Impl rule__HyphenVersionRange__Group__2 { - pushFollow(FOLLOW_5); + pushFollow(FOLLOW_6); rule__HyphenVersionRange__Group__1__Impl(); state._fsp--; @@ -8981,23 +9784,23 @@ public final void rule__HyphenVersionRange__Group__1() throws RecognitionExcepti // $ANTLR start "rule__HyphenVersionRange__Group__1__Impl" - // InternalSemver.g:2526:1: rule__HyphenVersionRange__Group__1__Impl : ( ( rule__HyphenVersionRange__FromAssignment_1 ) ) ; + // InternalSemver.g:2744:1: rule__HyphenVersionRange__Group__1__Impl : ( ( rule__HyphenVersionRange__FromAssignment_1 ) ) ; public final void rule__HyphenVersionRange__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2530:1: ( ( ( rule__HyphenVersionRange__FromAssignment_1 ) ) ) - // InternalSemver.g:2531:1: ( ( rule__HyphenVersionRange__FromAssignment_1 ) ) + // InternalSemver.g:2748:1: ( ( ( rule__HyphenVersionRange__FromAssignment_1 ) ) ) + // InternalSemver.g:2749:1: ( ( rule__HyphenVersionRange__FromAssignment_1 ) ) { - // InternalSemver.g:2531:1: ( ( rule__HyphenVersionRange__FromAssignment_1 ) ) - // InternalSemver.g:2532:2: ( rule__HyphenVersionRange__FromAssignment_1 ) + // InternalSemver.g:2749:1: ( ( rule__HyphenVersionRange__FromAssignment_1 ) ) + // InternalSemver.g:2750:2: ( rule__HyphenVersionRange__FromAssignment_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getHyphenVersionRangeAccess().getFromAssignment_1()); } - // InternalSemver.g:2533:2: ( rule__HyphenVersionRange__FromAssignment_1 ) - // InternalSemver.g:2533:3: rule__HyphenVersionRange__FromAssignment_1 + // InternalSemver.g:2751:2: ( rule__HyphenVersionRange__FromAssignment_1 ) + // InternalSemver.g:2751:3: rule__HyphenVersionRange__FromAssignment_1 { pushFollow(FOLLOW_2); rule__HyphenVersionRange__FromAssignment_1(); @@ -9032,16 +9835,16 @@ public final void rule__HyphenVersionRange__Group__1__Impl() throws RecognitionE // $ANTLR start "rule__HyphenVersionRange__Group__2" - // InternalSemver.g:2541:1: rule__HyphenVersionRange__Group__2 : rule__HyphenVersionRange__Group__2__Impl rule__HyphenVersionRange__Group__3 ; + // InternalSemver.g:2759:1: rule__HyphenVersionRange__Group__2 : rule__HyphenVersionRange__Group__2__Impl rule__HyphenVersionRange__Group__3 ; public final void rule__HyphenVersionRange__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2545:1: ( rule__HyphenVersionRange__Group__2__Impl rule__HyphenVersionRange__Group__3 ) - // InternalSemver.g:2546:2: rule__HyphenVersionRange__Group__2__Impl rule__HyphenVersionRange__Group__3 + // InternalSemver.g:2763:1: ( rule__HyphenVersionRange__Group__2__Impl rule__HyphenVersionRange__Group__3 ) + // InternalSemver.g:2764:2: rule__HyphenVersionRange__Group__2__Impl rule__HyphenVersionRange__Group__3 { - pushFollow(FOLLOW_17); + pushFollow(FOLLOW_19); rule__HyphenVersionRange__Group__2__Impl(); state._fsp--; @@ -9070,17 +9873,17 @@ public final void rule__HyphenVersionRange__Group__2() throws RecognitionExcepti // $ANTLR start "rule__HyphenVersionRange__Group__2__Impl" - // InternalSemver.g:2553:1: rule__HyphenVersionRange__Group__2__Impl : ( RULE_WS ) ; + // InternalSemver.g:2771:1: rule__HyphenVersionRange__Group__2__Impl : ( RULE_WS ) ; public final void rule__HyphenVersionRange__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2557:1: ( ( RULE_WS ) ) - // InternalSemver.g:2558:1: ( RULE_WS ) + // InternalSemver.g:2775:1: ( ( RULE_WS ) ) + // InternalSemver.g:2776:1: ( RULE_WS ) { - // InternalSemver.g:2558:1: ( RULE_WS ) - // InternalSemver.g:2559:2: RULE_WS + // InternalSemver.g:2776:1: ( RULE_WS ) + // InternalSemver.g:2777:2: RULE_WS { if ( state.backtracking==0 ) { before(grammarAccess.getHyphenVersionRangeAccess().getWSTerminalRuleCall_2()); @@ -9111,16 +9914,16 @@ public final void rule__HyphenVersionRange__Group__2__Impl() throws RecognitionE // $ANTLR start "rule__HyphenVersionRange__Group__3" - // InternalSemver.g:2568:1: rule__HyphenVersionRange__Group__3 : rule__HyphenVersionRange__Group__3__Impl rule__HyphenVersionRange__Group__4 ; + // InternalSemver.g:2786:1: rule__HyphenVersionRange__Group__3 : rule__HyphenVersionRange__Group__3__Impl rule__HyphenVersionRange__Group__4 ; public final void rule__HyphenVersionRange__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2572:1: ( rule__HyphenVersionRange__Group__3__Impl rule__HyphenVersionRange__Group__4 ) - // InternalSemver.g:2573:2: rule__HyphenVersionRange__Group__3__Impl rule__HyphenVersionRange__Group__4 + // InternalSemver.g:2790:1: ( rule__HyphenVersionRange__Group__3__Impl rule__HyphenVersionRange__Group__4 ) + // InternalSemver.g:2791:2: rule__HyphenVersionRange__Group__3__Impl rule__HyphenVersionRange__Group__4 { - pushFollow(FOLLOW_5); + pushFollow(FOLLOW_6); rule__HyphenVersionRange__Group__3__Impl(); state._fsp--; @@ -9149,22 +9952,22 @@ public final void rule__HyphenVersionRange__Group__3() throws RecognitionExcepti // $ANTLR start "rule__HyphenVersionRange__Group__3__Impl" - // InternalSemver.g:2580:1: rule__HyphenVersionRange__Group__3__Impl : ( '-' ) ; + // InternalSemver.g:2798:1: rule__HyphenVersionRange__Group__3__Impl : ( '-' ) ; public final void rule__HyphenVersionRange__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2584:1: ( ( '-' ) ) - // InternalSemver.g:2585:1: ( '-' ) + // InternalSemver.g:2802:1: ( ( '-' ) ) + // InternalSemver.g:2803:1: ( '-' ) { - // InternalSemver.g:2585:1: ( '-' ) - // InternalSemver.g:2586:2: '-' + // InternalSemver.g:2803:1: ( '-' ) + // InternalSemver.g:2804:2: '-' { if ( state.backtracking==0 ) { before(grammarAccess.getHyphenVersionRangeAccess().getHyphenMinusKeyword_3()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,47,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getHyphenVersionRangeAccess().getHyphenMinusKeyword_3()); } @@ -9190,16 +9993,16 @@ public final void rule__HyphenVersionRange__Group__3__Impl() throws RecognitionE // $ANTLR start "rule__HyphenVersionRange__Group__4" - // InternalSemver.g:2595:1: rule__HyphenVersionRange__Group__4 : rule__HyphenVersionRange__Group__4__Impl rule__HyphenVersionRange__Group__5 ; + // InternalSemver.g:2813:1: rule__HyphenVersionRange__Group__4 : rule__HyphenVersionRange__Group__4__Impl rule__HyphenVersionRange__Group__5 ; public final void rule__HyphenVersionRange__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2599:1: ( rule__HyphenVersionRange__Group__4__Impl rule__HyphenVersionRange__Group__5 ) - // InternalSemver.g:2600:2: rule__HyphenVersionRange__Group__4__Impl rule__HyphenVersionRange__Group__5 + // InternalSemver.g:2817:1: ( rule__HyphenVersionRange__Group__4__Impl rule__HyphenVersionRange__Group__5 ) + // InternalSemver.g:2818:2: rule__HyphenVersionRange__Group__4__Impl rule__HyphenVersionRange__Group__5 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__HyphenVersionRange__Group__4__Impl(); state._fsp--; @@ -9228,17 +10031,17 @@ public final void rule__HyphenVersionRange__Group__4() throws RecognitionExcepti // $ANTLR start "rule__HyphenVersionRange__Group__4__Impl" - // InternalSemver.g:2607:1: rule__HyphenVersionRange__Group__4__Impl : ( RULE_WS ) ; + // InternalSemver.g:2825:1: rule__HyphenVersionRange__Group__4__Impl : ( RULE_WS ) ; public final void rule__HyphenVersionRange__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2611:1: ( ( RULE_WS ) ) - // InternalSemver.g:2612:1: ( RULE_WS ) + // InternalSemver.g:2829:1: ( ( RULE_WS ) ) + // InternalSemver.g:2830:1: ( RULE_WS ) { - // InternalSemver.g:2612:1: ( RULE_WS ) - // InternalSemver.g:2613:2: RULE_WS + // InternalSemver.g:2830:1: ( RULE_WS ) + // InternalSemver.g:2831:2: RULE_WS { if ( state.backtracking==0 ) { before(grammarAccess.getHyphenVersionRangeAccess().getWSTerminalRuleCall_4()); @@ -9269,14 +10072,14 @@ public final void rule__HyphenVersionRange__Group__4__Impl() throws RecognitionE // $ANTLR start "rule__HyphenVersionRange__Group__5" - // InternalSemver.g:2622:1: rule__HyphenVersionRange__Group__5 : rule__HyphenVersionRange__Group__5__Impl ; + // InternalSemver.g:2840:1: rule__HyphenVersionRange__Group__5 : rule__HyphenVersionRange__Group__5__Impl ; public final void rule__HyphenVersionRange__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2626:1: ( rule__HyphenVersionRange__Group__5__Impl ) - // InternalSemver.g:2627:2: rule__HyphenVersionRange__Group__5__Impl + // InternalSemver.g:2844:1: ( rule__HyphenVersionRange__Group__5__Impl ) + // InternalSemver.g:2845:2: rule__HyphenVersionRange__Group__5__Impl { pushFollow(FOLLOW_2); rule__HyphenVersionRange__Group__5__Impl(); @@ -9302,23 +10105,23 @@ public final void rule__HyphenVersionRange__Group__5() throws RecognitionExcepti // $ANTLR start "rule__HyphenVersionRange__Group__5__Impl" - // InternalSemver.g:2633:1: rule__HyphenVersionRange__Group__5__Impl : ( ( rule__HyphenVersionRange__ToAssignment_5 ) ) ; + // InternalSemver.g:2851:1: rule__HyphenVersionRange__Group__5__Impl : ( ( rule__HyphenVersionRange__ToAssignment_5 ) ) ; public final void rule__HyphenVersionRange__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2637:1: ( ( ( rule__HyphenVersionRange__ToAssignment_5 ) ) ) - // InternalSemver.g:2638:1: ( ( rule__HyphenVersionRange__ToAssignment_5 ) ) + // InternalSemver.g:2855:1: ( ( ( rule__HyphenVersionRange__ToAssignment_5 ) ) ) + // InternalSemver.g:2856:1: ( ( rule__HyphenVersionRange__ToAssignment_5 ) ) { - // InternalSemver.g:2638:1: ( ( rule__HyphenVersionRange__ToAssignment_5 ) ) - // InternalSemver.g:2639:2: ( rule__HyphenVersionRange__ToAssignment_5 ) + // InternalSemver.g:2856:1: ( ( rule__HyphenVersionRange__ToAssignment_5 ) ) + // InternalSemver.g:2857:2: ( rule__HyphenVersionRange__ToAssignment_5 ) { if ( state.backtracking==0 ) { before(grammarAccess.getHyphenVersionRangeAccess().getToAssignment_5()); } - // InternalSemver.g:2640:2: ( rule__HyphenVersionRange__ToAssignment_5 ) - // InternalSemver.g:2640:3: rule__HyphenVersionRange__ToAssignment_5 + // InternalSemver.g:2858:2: ( rule__HyphenVersionRange__ToAssignment_5 ) + // InternalSemver.g:2858:3: rule__HyphenVersionRange__ToAssignment_5 { pushFollow(FOLLOW_2); rule__HyphenVersionRange__ToAssignment_5(); @@ -9353,16 +10156,16 @@ public final void rule__HyphenVersionRange__Group__5__Impl() throws RecognitionE // $ANTLR start "rule__VersionRangeContraint__Group__0" - // InternalSemver.g:2649:1: rule__VersionRangeContraint__Group__0 : rule__VersionRangeContraint__Group__0__Impl rule__VersionRangeContraint__Group__1 ; + // InternalSemver.g:2867:1: rule__VersionRangeContraint__Group__0 : rule__VersionRangeContraint__Group__0__Impl rule__VersionRangeContraint__Group__1 ; public final void rule__VersionRangeContraint__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2653:1: ( rule__VersionRangeContraint__Group__0__Impl rule__VersionRangeContraint__Group__1 ) - // InternalSemver.g:2654:2: rule__VersionRangeContraint__Group__0__Impl rule__VersionRangeContraint__Group__1 + // InternalSemver.g:2871:1: ( rule__VersionRangeContraint__Group__0__Impl rule__VersionRangeContraint__Group__1 ) + // InternalSemver.g:2872:2: rule__VersionRangeContraint__Group__0__Impl rule__VersionRangeContraint__Group__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__VersionRangeContraint__Group__0__Impl(); state._fsp--; @@ -9391,23 +10194,23 @@ public final void rule__VersionRangeContraint__Group__0() throws RecognitionExce // $ANTLR start "rule__VersionRangeContraint__Group__0__Impl" - // InternalSemver.g:2661:1: rule__VersionRangeContraint__Group__0__Impl : ( () ) ; + // InternalSemver.g:2879:1: rule__VersionRangeContraint__Group__0__Impl : ( () ) ; public final void rule__VersionRangeContraint__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2665:1: ( ( () ) ) - // InternalSemver.g:2666:1: ( () ) + // InternalSemver.g:2883:1: ( ( () ) ) + // InternalSemver.g:2884:1: ( () ) { - // InternalSemver.g:2666:1: ( () ) - // InternalSemver.g:2667:2: () + // InternalSemver.g:2884:1: ( () ) + // InternalSemver.g:2885:2: () { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeContraintAccess().getVersionRangeConstraintAction_0()); } - // InternalSemver.g:2668:2: () - // InternalSemver.g:2668:3: + // InternalSemver.g:2886:2: () + // InternalSemver.g:2886:3: { } @@ -9432,16 +10235,16 @@ public final void rule__VersionRangeContraint__Group__0__Impl() throws Recogniti // $ANTLR start "rule__VersionRangeContraint__Group__1" - // InternalSemver.g:2676:1: rule__VersionRangeContraint__Group__1 : rule__VersionRangeContraint__Group__1__Impl rule__VersionRangeContraint__Group__2 ; + // InternalSemver.g:2894:1: rule__VersionRangeContraint__Group__1 : rule__VersionRangeContraint__Group__1__Impl rule__VersionRangeContraint__Group__2 ; public final void rule__VersionRangeContraint__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2680:1: ( rule__VersionRangeContraint__Group__1__Impl rule__VersionRangeContraint__Group__2 ) - // InternalSemver.g:2681:2: rule__VersionRangeContraint__Group__1__Impl rule__VersionRangeContraint__Group__2 + // InternalSemver.g:2898:1: ( rule__VersionRangeContraint__Group__1__Impl rule__VersionRangeContraint__Group__2 ) + // InternalSemver.g:2899:2: rule__VersionRangeContraint__Group__1__Impl rule__VersionRangeContraint__Group__2 { - pushFollow(FOLLOW_5); + pushFollow(FOLLOW_6); rule__VersionRangeContraint__Group__1__Impl(); state._fsp--; @@ -9470,23 +10273,23 @@ public final void rule__VersionRangeContraint__Group__1() throws RecognitionExce // $ANTLR start "rule__VersionRangeContraint__Group__1__Impl" - // InternalSemver.g:2688:1: rule__VersionRangeContraint__Group__1__Impl : ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) ) ; + // InternalSemver.g:2906:1: rule__VersionRangeContraint__Group__1__Impl : ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) ) ; public final void rule__VersionRangeContraint__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2692:1: ( ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) ) ) - // InternalSemver.g:2693:1: ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) ) + // InternalSemver.g:2910:1: ( ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) ) ) + // InternalSemver.g:2911:1: ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) ) { - // InternalSemver.g:2693:1: ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) ) - // InternalSemver.g:2694:2: ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) + // InternalSemver.g:2911:1: ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) ) + // InternalSemver.g:2912:2: ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsAssignment_1()); } - // InternalSemver.g:2695:2: ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) - // InternalSemver.g:2695:3: rule__VersionRangeContraint__VersionConstraintsAssignment_1 + // InternalSemver.g:2913:2: ( rule__VersionRangeContraint__VersionConstraintsAssignment_1 ) + // InternalSemver.g:2913:3: rule__VersionRangeContraint__VersionConstraintsAssignment_1 { pushFollow(FOLLOW_2); rule__VersionRangeContraint__VersionConstraintsAssignment_1(); @@ -9521,14 +10324,14 @@ public final void rule__VersionRangeContraint__Group__1__Impl() throws Recogniti // $ANTLR start "rule__VersionRangeContraint__Group__2" - // InternalSemver.g:2703:1: rule__VersionRangeContraint__Group__2 : rule__VersionRangeContraint__Group__2__Impl ; + // InternalSemver.g:2921:1: rule__VersionRangeContraint__Group__2 : rule__VersionRangeContraint__Group__2__Impl ; public final void rule__VersionRangeContraint__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2707:1: ( rule__VersionRangeContraint__Group__2__Impl ) - // InternalSemver.g:2708:2: rule__VersionRangeContraint__Group__2__Impl + // InternalSemver.g:2925:1: ( rule__VersionRangeContraint__Group__2__Impl ) + // InternalSemver.g:2926:2: rule__VersionRangeContraint__Group__2__Impl { pushFollow(FOLLOW_2); rule__VersionRangeContraint__Group__2__Impl(); @@ -9554,43 +10357,43 @@ public final void rule__VersionRangeContraint__Group__2() throws RecognitionExce // $ANTLR start "rule__VersionRangeContraint__Group__2__Impl" - // InternalSemver.g:2714:1: rule__VersionRangeContraint__Group__2__Impl : ( ( rule__VersionRangeContraint__Group_2__0 )* ) ; + // InternalSemver.g:2932:1: rule__VersionRangeContraint__Group__2__Impl : ( ( rule__VersionRangeContraint__Group_2__0 )* ) ; public final void rule__VersionRangeContraint__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2718:1: ( ( ( rule__VersionRangeContraint__Group_2__0 )* ) ) - // InternalSemver.g:2719:1: ( ( rule__VersionRangeContraint__Group_2__0 )* ) + // InternalSemver.g:2936:1: ( ( ( rule__VersionRangeContraint__Group_2__0 )* ) ) + // InternalSemver.g:2937:1: ( ( rule__VersionRangeContraint__Group_2__0 )* ) { - // InternalSemver.g:2719:1: ( ( rule__VersionRangeContraint__Group_2__0 )* ) - // InternalSemver.g:2720:2: ( rule__VersionRangeContraint__Group_2__0 )* + // InternalSemver.g:2937:1: ( ( rule__VersionRangeContraint__Group_2__0 )* ) + // InternalSemver.g:2938:2: ( rule__VersionRangeContraint__Group_2__0 )* { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeContraintAccess().getGroup_2()); } - // InternalSemver.g:2721:2: ( rule__VersionRangeContraint__Group_2__0 )* - loop36: + // InternalSemver.g:2939:2: ( rule__VersionRangeContraint__Group_2__0 )* + loop38: do { - int alt36=2; - int LA36_0 = input.LA(1); + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA36_0==RULE_WS) ) { - int LA36_2 = input.LA(2); + if ( (LA38_0==RULE_WS) ) { + int LA38_2 = input.LA(2); - if ( ((LA36_2>=RULE_DIGITS && LA36_2<=RULE_LETTER_V)||(LA36_2>=42 && LA36_2<=48)) ) { - alt36=1; + if ( ((LA38_2>=RULE_ASTERIX && LA38_2<=RULE_LETTER_V)||(LA38_2>=48 && LA38_2<=54)) ) { + alt38=1; } } - switch (alt36) { + switch (alt38) { case 1 : - // InternalSemver.g:2721:3: rule__VersionRangeContraint__Group_2__0 + // InternalSemver.g:2939:3: rule__VersionRangeContraint__Group_2__0 { - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_20); rule__VersionRangeContraint__Group_2__0(); state._fsp--; @@ -9600,7 +10403,7 @@ public final void rule__VersionRangeContraint__Group__2__Impl() throws Recogniti break; default : - break loop36; + break loop38; } } while (true); @@ -9629,16 +10432,16 @@ public final void rule__VersionRangeContraint__Group__2__Impl() throws Recogniti // $ANTLR start "rule__VersionRangeContraint__Group_2__0" - // InternalSemver.g:2730:1: rule__VersionRangeContraint__Group_2__0 : rule__VersionRangeContraint__Group_2__0__Impl rule__VersionRangeContraint__Group_2__1 ; + // InternalSemver.g:2948:1: rule__VersionRangeContraint__Group_2__0 : rule__VersionRangeContraint__Group_2__0__Impl rule__VersionRangeContraint__Group_2__1 ; public final void rule__VersionRangeContraint__Group_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2734:1: ( rule__VersionRangeContraint__Group_2__0__Impl rule__VersionRangeContraint__Group_2__1 ) - // InternalSemver.g:2735:2: rule__VersionRangeContraint__Group_2__0__Impl rule__VersionRangeContraint__Group_2__1 + // InternalSemver.g:2952:1: ( rule__VersionRangeContraint__Group_2__0__Impl rule__VersionRangeContraint__Group_2__1 ) + // InternalSemver.g:2953:2: rule__VersionRangeContraint__Group_2__0__Impl rule__VersionRangeContraint__Group_2__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__VersionRangeContraint__Group_2__0__Impl(); state._fsp--; @@ -9667,17 +10470,17 @@ public final void rule__VersionRangeContraint__Group_2__0() throws RecognitionEx // $ANTLR start "rule__VersionRangeContraint__Group_2__0__Impl" - // InternalSemver.g:2742:1: rule__VersionRangeContraint__Group_2__0__Impl : ( RULE_WS ) ; + // InternalSemver.g:2960:1: rule__VersionRangeContraint__Group_2__0__Impl : ( RULE_WS ) ; public final void rule__VersionRangeContraint__Group_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2746:1: ( ( RULE_WS ) ) - // InternalSemver.g:2747:1: ( RULE_WS ) + // InternalSemver.g:2964:1: ( ( RULE_WS ) ) + // InternalSemver.g:2965:1: ( RULE_WS ) { - // InternalSemver.g:2747:1: ( RULE_WS ) - // InternalSemver.g:2748:2: RULE_WS + // InternalSemver.g:2965:1: ( RULE_WS ) + // InternalSemver.g:2966:2: RULE_WS { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeContraintAccess().getWSTerminalRuleCall_2_0()); @@ -9708,14 +10511,14 @@ public final void rule__VersionRangeContraint__Group_2__0__Impl() throws Recogni // $ANTLR start "rule__VersionRangeContraint__Group_2__1" - // InternalSemver.g:2757:1: rule__VersionRangeContraint__Group_2__1 : rule__VersionRangeContraint__Group_2__1__Impl ; + // InternalSemver.g:2975:1: rule__VersionRangeContraint__Group_2__1 : rule__VersionRangeContraint__Group_2__1__Impl ; public final void rule__VersionRangeContraint__Group_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2761:1: ( rule__VersionRangeContraint__Group_2__1__Impl ) - // InternalSemver.g:2762:2: rule__VersionRangeContraint__Group_2__1__Impl + // InternalSemver.g:2979:1: ( rule__VersionRangeContraint__Group_2__1__Impl ) + // InternalSemver.g:2980:2: rule__VersionRangeContraint__Group_2__1__Impl { pushFollow(FOLLOW_2); rule__VersionRangeContraint__Group_2__1__Impl(); @@ -9741,23 +10544,23 @@ public final void rule__VersionRangeContraint__Group_2__1() throws RecognitionEx // $ANTLR start "rule__VersionRangeContraint__Group_2__1__Impl" - // InternalSemver.g:2768:1: rule__VersionRangeContraint__Group_2__1__Impl : ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) ) ; + // InternalSemver.g:2986:1: rule__VersionRangeContraint__Group_2__1__Impl : ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) ) ; public final void rule__VersionRangeContraint__Group_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2772:1: ( ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) ) ) - // InternalSemver.g:2773:1: ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) ) + // InternalSemver.g:2990:1: ( ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) ) ) + // InternalSemver.g:2991:1: ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) ) { - // InternalSemver.g:2773:1: ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) ) - // InternalSemver.g:2774:2: ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) + // InternalSemver.g:2991:1: ( ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) ) + // InternalSemver.g:2992:2: ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsAssignment_2_1()); } - // InternalSemver.g:2775:2: ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) - // InternalSemver.g:2775:3: rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 + // InternalSemver.g:2993:2: ( rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 ) + // InternalSemver.g:2993:3: rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 { pushFollow(FOLLOW_2); rule__VersionRangeContraint__VersionConstraintsAssignment_2_1(); @@ -9792,16 +10595,16 @@ public final void rule__VersionRangeContraint__Group_2__1__Impl() throws Recogni // $ANTLR start "rule__SimpleVersion__Group__0" - // InternalSemver.g:2784:1: rule__SimpleVersion__Group__0 : rule__SimpleVersion__Group__0__Impl rule__SimpleVersion__Group__1 ; + // InternalSemver.g:3002:1: rule__SimpleVersion__Group__0 : rule__SimpleVersion__Group__0__Impl rule__SimpleVersion__Group__1 ; public final void rule__SimpleVersion__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2788:1: ( rule__SimpleVersion__Group__0__Impl rule__SimpleVersion__Group__1 ) - // InternalSemver.g:2789:2: rule__SimpleVersion__Group__0__Impl rule__SimpleVersion__Group__1 + // InternalSemver.g:3006:1: ( rule__SimpleVersion__Group__0__Impl rule__SimpleVersion__Group__1 ) + // InternalSemver.g:3007:2: rule__SimpleVersion__Group__0__Impl rule__SimpleVersion__Group__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__SimpleVersion__Group__0__Impl(); state._fsp--; @@ -9830,37 +10633,37 @@ public final void rule__SimpleVersion__Group__0() throws RecognitionException { // $ANTLR start "rule__SimpleVersion__Group__0__Impl" - // InternalSemver.g:2796:1: rule__SimpleVersion__Group__0__Impl : ( ( rule__SimpleVersion__Group_0__0 )* ) ; + // InternalSemver.g:3014:1: rule__SimpleVersion__Group__0__Impl : ( ( rule__SimpleVersion__Group_0__0 )* ) ; public final void rule__SimpleVersion__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2800:1: ( ( ( rule__SimpleVersion__Group_0__0 )* ) ) - // InternalSemver.g:2801:1: ( ( rule__SimpleVersion__Group_0__0 )* ) + // InternalSemver.g:3018:1: ( ( ( rule__SimpleVersion__Group_0__0 )* ) ) + // InternalSemver.g:3019:1: ( ( rule__SimpleVersion__Group_0__0 )* ) { - // InternalSemver.g:2801:1: ( ( rule__SimpleVersion__Group_0__0 )* ) - // InternalSemver.g:2802:2: ( rule__SimpleVersion__Group_0__0 )* + // InternalSemver.g:3019:1: ( ( rule__SimpleVersion__Group_0__0 )* ) + // InternalSemver.g:3020:2: ( rule__SimpleVersion__Group_0__0 )* { if ( state.backtracking==0 ) { before(grammarAccess.getSimpleVersionAccess().getGroup_0()); } - // InternalSemver.g:2803:2: ( rule__SimpleVersion__Group_0__0 )* - loop37: + // InternalSemver.g:3021:2: ( rule__SimpleVersion__Group_0__0 )* + loop39: do { - int alt37=2; - int LA37_0 = input.LA(1); + int alt39=2; + int LA39_0 = input.LA(1); - if ( ((LA37_0>=42 && LA37_0<=48)) ) { - alt37=1; + if ( ((LA39_0>=48 && LA39_0<=54)) ) { + alt39=1; } - switch (alt37) { + switch (alt39) { case 1 : - // InternalSemver.g:2803:3: rule__SimpleVersion__Group_0__0 + // InternalSemver.g:3021:3: rule__SimpleVersion__Group_0__0 { - pushFollow(FOLLOW_19); + pushFollow(FOLLOW_21); rule__SimpleVersion__Group_0__0(); state._fsp--; @@ -9870,7 +10673,7 @@ public final void rule__SimpleVersion__Group__0__Impl() throws RecognitionExcept break; default : - break loop37; + break loop39; } } while (true); @@ -9899,16 +10702,16 @@ public final void rule__SimpleVersion__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__SimpleVersion__Group__1" - // InternalSemver.g:2811:1: rule__SimpleVersion__Group__1 : rule__SimpleVersion__Group__1__Impl rule__SimpleVersion__Group__2 ; + // InternalSemver.g:3029:1: rule__SimpleVersion__Group__1 : rule__SimpleVersion__Group__1__Impl rule__SimpleVersion__Group__2 ; public final void rule__SimpleVersion__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2815:1: ( rule__SimpleVersion__Group__1__Impl rule__SimpleVersion__Group__2 ) - // InternalSemver.g:2816:2: rule__SimpleVersion__Group__1__Impl rule__SimpleVersion__Group__2 + // InternalSemver.g:3033:1: ( rule__SimpleVersion__Group__1__Impl rule__SimpleVersion__Group__2 ) + // InternalSemver.g:3034:2: rule__SimpleVersion__Group__1__Impl rule__SimpleVersion__Group__2 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__SimpleVersion__Group__1__Impl(); state._fsp--; @@ -9937,31 +10740,31 @@ public final void rule__SimpleVersion__Group__1() throws RecognitionException { // $ANTLR start "rule__SimpleVersion__Group__1__Impl" - // InternalSemver.g:2823:1: rule__SimpleVersion__Group__1__Impl : ( ( rule__SimpleVersion__WithLetterVAssignment_1 )? ) ; + // InternalSemver.g:3041:1: rule__SimpleVersion__Group__1__Impl : ( ( rule__SimpleVersion__WithLetterVAssignment_1 )? ) ; public final void rule__SimpleVersion__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2827:1: ( ( ( rule__SimpleVersion__WithLetterVAssignment_1 )? ) ) - // InternalSemver.g:2828:1: ( ( rule__SimpleVersion__WithLetterVAssignment_1 )? ) + // InternalSemver.g:3045:1: ( ( ( rule__SimpleVersion__WithLetterVAssignment_1 )? ) ) + // InternalSemver.g:3046:1: ( ( rule__SimpleVersion__WithLetterVAssignment_1 )? ) { - // InternalSemver.g:2828:1: ( ( rule__SimpleVersion__WithLetterVAssignment_1 )? ) - // InternalSemver.g:2829:2: ( rule__SimpleVersion__WithLetterVAssignment_1 )? + // InternalSemver.g:3046:1: ( ( rule__SimpleVersion__WithLetterVAssignment_1 )? ) + // InternalSemver.g:3047:2: ( rule__SimpleVersion__WithLetterVAssignment_1 )? { if ( state.backtracking==0 ) { before(grammarAccess.getSimpleVersionAccess().getWithLetterVAssignment_1()); } - // InternalSemver.g:2830:2: ( rule__SimpleVersion__WithLetterVAssignment_1 )? - int alt38=2; - int LA38_0 = input.LA(1); + // InternalSemver.g:3048:2: ( rule__SimpleVersion__WithLetterVAssignment_1 )? + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA38_0==RULE_LETTER_V) ) { - alt38=1; + if ( (LA40_0==RULE_LETTER_V) ) { + alt40=1; } - switch (alt38) { + switch (alt40) { case 1 : - // InternalSemver.g:2830:3: rule__SimpleVersion__WithLetterVAssignment_1 + // InternalSemver.g:3048:3: rule__SimpleVersion__WithLetterVAssignment_1 { pushFollow(FOLLOW_2); rule__SimpleVersion__WithLetterVAssignment_1(); @@ -9999,14 +10802,14 @@ public final void rule__SimpleVersion__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__SimpleVersion__Group__2" - // InternalSemver.g:2838:1: rule__SimpleVersion__Group__2 : rule__SimpleVersion__Group__2__Impl ; + // InternalSemver.g:3056:1: rule__SimpleVersion__Group__2 : rule__SimpleVersion__Group__2__Impl ; public final void rule__SimpleVersion__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2842:1: ( rule__SimpleVersion__Group__2__Impl ) - // InternalSemver.g:2843:2: rule__SimpleVersion__Group__2__Impl + // InternalSemver.g:3060:1: ( rule__SimpleVersion__Group__2__Impl ) + // InternalSemver.g:3061:2: rule__SimpleVersion__Group__2__Impl { pushFollow(FOLLOW_2); rule__SimpleVersion__Group__2__Impl(); @@ -10032,23 +10835,23 @@ public final void rule__SimpleVersion__Group__2() throws RecognitionException { // $ANTLR start "rule__SimpleVersion__Group__2__Impl" - // InternalSemver.g:2849:1: rule__SimpleVersion__Group__2__Impl : ( ( rule__SimpleVersion__NumberAssignment_2 ) ) ; + // InternalSemver.g:3067:1: rule__SimpleVersion__Group__2__Impl : ( ( rule__SimpleVersion__NumberAssignment_2 ) ) ; public final void rule__SimpleVersion__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2853:1: ( ( ( rule__SimpleVersion__NumberAssignment_2 ) ) ) - // InternalSemver.g:2854:1: ( ( rule__SimpleVersion__NumberAssignment_2 ) ) + // InternalSemver.g:3071:1: ( ( ( rule__SimpleVersion__NumberAssignment_2 ) ) ) + // InternalSemver.g:3072:1: ( ( rule__SimpleVersion__NumberAssignment_2 ) ) { - // InternalSemver.g:2854:1: ( ( rule__SimpleVersion__NumberAssignment_2 ) ) - // InternalSemver.g:2855:2: ( rule__SimpleVersion__NumberAssignment_2 ) + // InternalSemver.g:3072:1: ( ( rule__SimpleVersion__NumberAssignment_2 ) ) + // InternalSemver.g:3073:2: ( rule__SimpleVersion__NumberAssignment_2 ) { if ( state.backtracking==0 ) { before(grammarAccess.getSimpleVersionAccess().getNumberAssignment_2()); } - // InternalSemver.g:2856:2: ( rule__SimpleVersion__NumberAssignment_2 ) - // InternalSemver.g:2856:3: rule__SimpleVersion__NumberAssignment_2 + // InternalSemver.g:3074:2: ( rule__SimpleVersion__NumberAssignment_2 ) + // InternalSemver.g:3074:3: rule__SimpleVersion__NumberAssignment_2 { pushFollow(FOLLOW_2); rule__SimpleVersion__NumberAssignment_2(); @@ -10083,16 +10886,16 @@ public final void rule__SimpleVersion__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__SimpleVersion__Group_0__0" - // InternalSemver.g:2865:1: rule__SimpleVersion__Group_0__0 : rule__SimpleVersion__Group_0__0__Impl rule__SimpleVersion__Group_0__1 ; + // InternalSemver.g:3083:1: rule__SimpleVersion__Group_0__0 : rule__SimpleVersion__Group_0__0__Impl rule__SimpleVersion__Group_0__1 ; public final void rule__SimpleVersion__Group_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2869:1: ( rule__SimpleVersion__Group_0__0__Impl rule__SimpleVersion__Group_0__1 ) - // InternalSemver.g:2870:2: rule__SimpleVersion__Group_0__0__Impl rule__SimpleVersion__Group_0__1 + // InternalSemver.g:3087:1: ( rule__SimpleVersion__Group_0__0__Impl rule__SimpleVersion__Group_0__1 ) + // InternalSemver.g:3088:2: rule__SimpleVersion__Group_0__0__Impl rule__SimpleVersion__Group_0__1 { - pushFollow(FOLLOW_5); + pushFollow(FOLLOW_6); rule__SimpleVersion__Group_0__0__Impl(); state._fsp--; @@ -10121,23 +10924,23 @@ public final void rule__SimpleVersion__Group_0__0() throws RecognitionException // $ANTLR start "rule__SimpleVersion__Group_0__0__Impl" - // InternalSemver.g:2877:1: rule__SimpleVersion__Group_0__0__Impl : ( ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) ) ; + // InternalSemver.g:3095:1: rule__SimpleVersion__Group_0__0__Impl : ( ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) ) ; public final void rule__SimpleVersion__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2881:1: ( ( ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) ) ) - // InternalSemver.g:2882:1: ( ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) ) + // InternalSemver.g:3099:1: ( ( ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) ) ) + // InternalSemver.g:3100:1: ( ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) ) { - // InternalSemver.g:2882:1: ( ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) ) - // InternalSemver.g:2883:2: ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) + // InternalSemver.g:3100:1: ( ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) ) + // InternalSemver.g:3101:2: ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getSimpleVersionAccess().getComparatorsAssignment_0_0()); } - // InternalSemver.g:2884:2: ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) - // InternalSemver.g:2884:3: rule__SimpleVersion__ComparatorsAssignment_0_0 + // InternalSemver.g:3102:2: ( rule__SimpleVersion__ComparatorsAssignment_0_0 ) + // InternalSemver.g:3102:3: rule__SimpleVersion__ComparatorsAssignment_0_0 { pushFollow(FOLLOW_2); rule__SimpleVersion__ComparatorsAssignment_0_0(); @@ -10172,14 +10975,14 @@ public final void rule__SimpleVersion__Group_0__0__Impl() throws RecognitionExce // $ANTLR start "rule__SimpleVersion__Group_0__1" - // InternalSemver.g:2892:1: rule__SimpleVersion__Group_0__1 : rule__SimpleVersion__Group_0__1__Impl ; + // InternalSemver.g:3110:1: rule__SimpleVersion__Group_0__1 : rule__SimpleVersion__Group_0__1__Impl ; public final void rule__SimpleVersion__Group_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2896:1: ( rule__SimpleVersion__Group_0__1__Impl ) - // InternalSemver.g:2897:2: rule__SimpleVersion__Group_0__1__Impl + // InternalSemver.g:3114:1: ( rule__SimpleVersion__Group_0__1__Impl ) + // InternalSemver.g:3115:2: rule__SimpleVersion__Group_0__1__Impl { pushFollow(FOLLOW_2); rule__SimpleVersion__Group_0__1__Impl(); @@ -10205,31 +11008,31 @@ public final void rule__SimpleVersion__Group_0__1() throws RecognitionException // $ANTLR start "rule__SimpleVersion__Group_0__1__Impl" - // InternalSemver.g:2903:1: rule__SimpleVersion__Group_0__1__Impl : ( ( RULE_WS )? ) ; + // InternalSemver.g:3121:1: rule__SimpleVersion__Group_0__1__Impl : ( ( RULE_WS )? ) ; public final void rule__SimpleVersion__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2907:1: ( ( ( RULE_WS )? ) ) - // InternalSemver.g:2908:1: ( ( RULE_WS )? ) + // InternalSemver.g:3125:1: ( ( ( RULE_WS )? ) ) + // InternalSemver.g:3126:1: ( ( RULE_WS )? ) { - // InternalSemver.g:2908:1: ( ( RULE_WS )? ) - // InternalSemver.g:2909:2: ( RULE_WS )? + // InternalSemver.g:3126:1: ( ( RULE_WS )? ) + // InternalSemver.g:3127:2: ( RULE_WS )? { if ( state.backtracking==0 ) { before(grammarAccess.getSimpleVersionAccess().getWSTerminalRuleCall_0_1()); } - // InternalSemver.g:2910:2: ( RULE_WS )? - int alt39=2; - int LA39_0 = input.LA(1); + // InternalSemver.g:3128:2: ( RULE_WS )? + int alt41=2; + int LA41_0 = input.LA(1); - if ( (LA39_0==RULE_WS) ) { - alt39=1; + if ( (LA41_0==RULE_WS) ) { + alt41=1; } - switch (alt39) { + switch (alt41) { case 1 : - // InternalSemver.g:2910:3: RULE_WS + // InternalSemver.g:3128:3: RULE_WS { match(input,RULE_WS,FOLLOW_2); if (state.failed) return ; @@ -10263,16 +11066,16 @@ public final void rule__SimpleVersion__Group_0__1__Impl() throws RecognitionExce // $ANTLR start "rule__VersionNumber__Group__0" - // InternalSemver.g:2919:1: rule__VersionNumber__Group__0 : rule__VersionNumber__Group__0__Impl rule__VersionNumber__Group__1 ; + // InternalSemver.g:3137:1: rule__VersionNumber__Group__0 : rule__VersionNumber__Group__0__Impl rule__VersionNumber__Group__1 ; public final void rule__VersionNumber__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2923:1: ( rule__VersionNumber__Group__0__Impl rule__VersionNumber__Group__1 ) - // InternalSemver.g:2924:2: rule__VersionNumber__Group__0__Impl rule__VersionNumber__Group__1 + // InternalSemver.g:3141:1: ( rule__VersionNumber__Group__0__Impl rule__VersionNumber__Group__1 ) + // InternalSemver.g:3142:2: rule__VersionNumber__Group__0__Impl rule__VersionNumber__Group__1 { - pushFollow(FOLLOW_20); + pushFollow(FOLLOW_22); rule__VersionNumber__Group__0__Impl(); state._fsp--; @@ -10301,23 +11104,23 @@ public final void rule__VersionNumber__Group__0() throws RecognitionException { // $ANTLR start "rule__VersionNumber__Group__0__Impl" - // InternalSemver.g:2931:1: rule__VersionNumber__Group__0__Impl : ( ( rule__VersionNumber__MajorAssignment_0 ) ) ; + // InternalSemver.g:3149:1: rule__VersionNumber__Group__0__Impl : ( ( rule__VersionNumber__MajorAssignment_0 ) ) ; public final void rule__VersionNumber__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2935:1: ( ( ( rule__VersionNumber__MajorAssignment_0 ) ) ) - // InternalSemver.g:2936:1: ( ( rule__VersionNumber__MajorAssignment_0 ) ) + // InternalSemver.g:3153:1: ( ( ( rule__VersionNumber__MajorAssignment_0 ) ) ) + // InternalSemver.g:3154:1: ( ( rule__VersionNumber__MajorAssignment_0 ) ) { - // InternalSemver.g:2936:1: ( ( rule__VersionNumber__MajorAssignment_0 ) ) - // InternalSemver.g:2937:2: ( rule__VersionNumber__MajorAssignment_0 ) + // InternalSemver.g:3154:1: ( ( rule__VersionNumber__MajorAssignment_0 ) ) + // InternalSemver.g:3155:2: ( rule__VersionNumber__MajorAssignment_0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getMajorAssignment_0()); } - // InternalSemver.g:2938:2: ( rule__VersionNumber__MajorAssignment_0 ) - // InternalSemver.g:2938:3: rule__VersionNumber__MajorAssignment_0 + // InternalSemver.g:3156:2: ( rule__VersionNumber__MajorAssignment_0 ) + // InternalSemver.g:3156:3: rule__VersionNumber__MajorAssignment_0 { pushFollow(FOLLOW_2); rule__VersionNumber__MajorAssignment_0(); @@ -10352,16 +11155,16 @@ public final void rule__VersionNumber__Group__0__Impl() throws RecognitionExcept // $ANTLR start "rule__VersionNumber__Group__1" - // InternalSemver.g:2946:1: rule__VersionNumber__Group__1 : rule__VersionNumber__Group__1__Impl rule__VersionNumber__Group__2 ; + // InternalSemver.g:3164:1: rule__VersionNumber__Group__1 : rule__VersionNumber__Group__1__Impl rule__VersionNumber__Group__2 ; public final void rule__VersionNumber__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2950:1: ( rule__VersionNumber__Group__1__Impl rule__VersionNumber__Group__2 ) - // InternalSemver.g:2951:2: rule__VersionNumber__Group__1__Impl rule__VersionNumber__Group__2 + // InternalSemver.g:3168:1: ( rule__VersionNumber__Group__1__Impl rule__VersionNumber__Group__2 ) + // InternalSemver.g:3169:2: rule__VersionNumber__Group__1__Impl rule__VersionNumber__Group__2 { - pushFollow(FOLLOW_20); + pushFollow(FOLLOW_22); rule__VersionNumber__Group__1__Impl(); state._fsp--; @@ -10390,31 +11193,31 @@ public final void rule__VersionNumber__Group__1() throws RecognitionException { // $ANTLR start "rule__VersionNumber__Group__1__Impl" - // InternalSemver.g:2958:1: rule__VersionNumber__Group__1__Impl : ( ( rule__VersionNumber__Group_1__0 )? ) ; + // InternalSemver.g:3176:1: rule__VersionNumber__Group__1__Impl : ( ( rule__VersionNumber__Group_1__0 )? ) ; public final void rule__VersionNumber__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2962:1: ( ( ( rule__VersionNumber__Group_1__0 )? ) ) - // InternalSemver.g:2963:1: ( ( rule__VersionNumber__Group_1__0 )? ) + // InternalSemver.g:3180:1: ( ( ( rule__VersionNumber__Group_1__0 )? ) ) + // InternalSemver.g:3181:1: ( ( rule__VersionNumber__Group_1__0 )? ) { - // InternalSemver.g:2963:1: ( ( rule__VersionNumber__Group_1__0 )? ) - // InternalSemver.g:2964:2: ( rule__VersionNumber__Group_1__0 )? + // InternalSemver.g:3181:1: ( ( rule__VersionNumber__Group_1__0 )? ) + // InternalSemver.g:3182:2: ( rule__VersionNumber__Group_1__0 )? { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getGroup_1()); } - // InternalSemver.g:2965:2: ( rule__VersionNumber__Group_1__0 )? - int alt40=2; - int LA40_0 = input.LA(1); + // InternalSemver.g:3183:2: ( rule__VersionNumber__Group_1__0 )? + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA40_0==36) ) { - alt40=1; + if ( (LA42_0==42) ) { + alt42=1; } - switch (alt40) { + switch (alt42) { case 1 : - // InternalSemver.g:2965:3: rule__VersionNumber__Group_1__0 + // InternalSemver.g:3183:3: rule__VersionNumber__Group_1__0 { pushFollow(FOLLOW_2); rule__VersionNumber__Group_1__0(); @@ -10452,14 +11255,14 @@ public final void rule__VersionNumber__Group__1__Impl() throws RecognitionExcept // $ANTLR start "rule__VersionNumber__Group__2" - // InternalSemver.g:2973:1: rule__VersionNumber__Group__2 : rule__VersionNumber__Group__2__Impl ; + // InternalSemver.g:3191:1: rule__VersionNumber__Group__2 : rule__VersionNumber__Group__2__Impl ; public final void rule__VersionNumber__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2977:1: ( rule__VersionNumber__Group__2__Impl ) - // InternalSemver.g:2978:2: rule__VersionNumber__Group__2__Impl + // InternalSemver.g:3195:1: ( rule__VersionNumber__Group__2__Impl ) + // InternalSemver.g:3196:2: rule__VersionNumber__Group__2__Impl { pushFollow(FOLLOW_2); rule__VersionNumber__Group__2__Impl(); @@ -10485,31 +11288,31 @@ public final void rule__VersionNumber__Group__2() throws RecognitionException { // $ANTLR start "rule__VersionNumber__Group__2__Impl" - // InternalSemver.g:2984:1: rule__VersionNumber__Group__2__Impl : ( ( rule__VersionNumber__QualifierAssignment_2 )? ) ; + // InternalSemver.g:3202:1: rule__VersionNumber__Group__2__Impl : ( ( rule__VersionNumber__QualifierAssignment_2 )? ) ; public final void rule__VersionNumber__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:2988:1: ( ( ( rule__VersionNumber__QualifierAssignment_2 )? ) ) - // InternalSemver.g:2989:1: ( ( rule__VersionNumber__QualifierAssignment_2 )? ) + // InternalSemver.g:3206:1: ( ( ( rule__VersionNumber__QualifierAssignment_2 )? ) ) + // InternalSemver.g:3207:1: ( ( rule__VersionNumber__QualifierAssignment_2 )? ) { - // InternalSemver.g:2989:1: ( ( rule__VersionNumber__QualifierAssignment_2 )? ) - // InternalSemver.g:2990:2: ( rule__VersionNumber__QualifierAssignment_2 )? + // InternalSemver.g:3207:1: ( ( rule__VersionNumber__QualifierAssignment_2 )? ) + // InternalSemver.g:3208:2: ( rule__VersionNumber__QualifierAssignment_2 )? { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getQualifierAssignment_2()); } - // InternalSemver.g:2991:2: ( rule__VersionNumber__QualifierAssignment_2 )? - int alt41=2; - int LA41_0 = input.LA(1); + // InternalSemver.g:3209:2: ( rule__VersionNumber__QualifierAssignment_2 )? + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA41_0==38||LA41_0==40) ) { - alt41=1; + if ( (LA43_0==45||LA43_0==47) ) { + alt43=1; } - switch (alt41) { + switch (alt43) { case 1 : - // InternalSemver.g:2991:3: rule__VersionNumber__QualifierAssignment_2 + // InternalSemver.g:3209:3: rule__VersionNumber__QualifierAssignment_2 { pushFollow(FOLLOW_2); rule__VersionNumber__QualifierAssignment_2(); @@ -10547,16 +11350,16 @@ public final void rule__VersionNumber__Group__2__Impl() throws RecognitionExcept // $ANTLR start "rule__VersionNumber__Group_1__0" - // InternalSemver.g:3000:1: rule__VersionNumber__Group_1__0 : rule__VersionNumber__Group_1__0__Impl rule__VersionNumber__Group_1__1 ; + // InternalSemver.g:3218:1: rule__VersionNumber__Group_1__0 : rule__VersionNumber__Group_1__0__Impl rule__VersionNumber__Group_1__1 ; public final void rule__VersionNumber__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3004:1: ( rule__VersionNumber__Group_1__0__Impl rule__VersionNumber__Group_1__1 ) - // InternalSemver.g:3005:2: rule__VersionNumber__Group_1__0__Impl rule__VersionNumber__Group_1__1 + // InternalSemver.g:3222:1: ( rule__VersionNumber__Group_1__0__Impl rule__VersionNumber__Group_1__1 ) + // InternalSemver.g:3223:2: rule__VersionNumber__Group_1__0__Impl rule__VersionNumber__Group_1__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__VersionNumber__Group_1__0__Impl(); state._fsp--; @@ -10585,22 +11388,22 @@ public final void rule__VersionNumber__Group_1__0() throws RecognitionException // $ANTLR start "rule__VersionNumber__Group_1__0__Impl" - // InternalSemver.g:3012:1: rule__VersionNumber__Group_1__0__Impl : ( '.' ) ; + // InternalSemver.g:3230:1: rule__VersionNumber__Group_1__0__Impl : ( '.' ) ; public final void rule__VersionNumber__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3016:1: ( ( '.' ) ) - // InternalSemver.g:3017:1: ( '.' ) + // InternalSemver.g:3234:1: ( ( '.' ) ) + // InternalSemver.g:3235:1: ( '.' ) { - // InternalSemver.g:3017:1: ( '.' ) - // InternalSemver.g:3018:2: '.' + // InternalSemver.g:3235:1: ( '.' ) + // InternalSemver.g:3236:2: '.' { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getFullStopKeyword_1_0()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getVersionNumberAccess().getFullStopKeyword_1_0()); } @@ -10626,16 +11429,16 @@ public final void rule__VersionNumber__Group_1__0__Impl() throws RecognitionExce // $ANTLR start "rule__VersionNumber__Group_1__1" - // InternalSemver.g:3027:1: rule__VersionNumber__Group_1__1 : rule__VersionNumber__Group_1__1__Impl rule__VersionNumber__Group_1__2 ; + // InternalSemver.g:3245:1: rule__VersionNumber__Group_1__1 : rule__VersionNumber__Group_1__1__Impl rule__VersionNumber__Group_1__2 ; public final void rule__VersionNumber__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3031:1: ( rule__VersionNumber__Group_1__1__Impl rule__VersionNumber__Group_1__2 ) - // InternalSemver.g:3032:2: rule__VersionNumber__Group_1__1__Impl rule__VersionNumber__Group_1__2 + // InternalSemver.g:3249:1: ( rule__VersionNumber__Group_1__1__Impl rule__VersionNumber__Group_1__2 ) + // InternalSemver.g:3250:2: rule__VersionNumber__Group_1__1__Impl rule__VersionNumber__Group_1__2 { - pushFollow(FOLLOW_21); + pushFollow(FOLLOW_23); rule__VersionNumber__Group_1__1__Impl(); state._fsp--; @@ -10664,23 +11467,23 @@ public final void rule__VersionNumber__Group_1__1() throws RecognitionException // $ANTLR start "rule__VersionNumber__Group_1__1__Impl" - // InternalSemver.g:3039:1: rule__VersionNumber__Group_1__1__Impl : ( ( rule__VersionNumber__MinorAssignment_1_1 ) ) ; + // InternalSemver.g:3257:1: rule__VersionNumber__Group_1__1__Impl : ( ( rule__VersionNumber__MinorAssignment_1_1 ) ) ; public final void rule__VersionNumber__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3043:1: ( ( ( rule__VersionNumber__MinorAssignment_1_1 ) ) ) - // InternalSemver.g:3044:1: ( ( rule__VersionNumber__MinorAssignment_1_1 ) ) + // InternalSemver.g:3261:1: ( ( ( rule__VersionNumber__MinorAssignment_1_1 ) ) ) + // InternalSemver.g:3262:1: ( ( rule__VersionNumber__MinorAssignment_1_1 ) ) { - // InternalSemver.g:3044:1: ( ( rule__VersionNumber__MinorAssignment_1_1 ) ) - // InternalSemver.g:3045:2: ( rule__VersionNumber__MinorAssignment_1_1 ) + // InternalSemver.g:3262:1: ( ( rule__VersionNumber__MinorAssignment_1_1 ) ) + // InternalSemver.g:3263:2: ( rule__VersionNumber__MinorAssignment_1_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getMinorAssignment_1_1()); } - // InternalSemver.g:3046:2: ( rule__VersionNumber__MinorAssignment_1_1 ) - // InternalSemver.g:3046:3: rule__VersionNumber__MinorAssignment_1_1 + // InternalSemver.g:3264:2: ( rule__VersionNumber__MinorAssignment_1_1 ) + // InternalSemver.g:3264:3: rule__VersionNumber__MinorAssignment_1_1 { pushFollow(FOLLOW_2); rule__VersionNumber__MinorAssignment_1_1(); @@ -10715,14 +11518,14 @@ public final void rule__VersionNumber__Group_1__1__Impl() throws RecognitionExce // $ANTLR start "rule__VersionNumber__Group_1__2" - // InternalSemver.g:3054:1: rule__VersionNumber__Group_1__2 : rule__VersionNumber__Group_1__2__Impl ; + // InternalSemver.g:3272:1: rule__VersionNumber__Group_1__2 : rule__VersionNumber__Group_1__2__Impl ; public final void rule__VersionNumber__Group_1__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3058:1: ( rule__VersionNumber__Group_1__2__Impl ) - // InternalSemver.g:3059:2: rule__VersionNumber__Group_1__2__Impl + // InternalSemver.g:3276:1: ( rule__VersionNumber__Group_1__2__Impl ) + // InternalSemver.g:3277:2: rule__VersionNumber__Group_1__2__Impl { pushFollow(FOLLOW_2); rule__VersionNumber__Group_1__2__Impl(); @@ -10748,31 +11551,31 @@ public final void rule__VersionNumber__Group_1__2() throws RecognitionException // $ANTLR start "rule__VersionNumber__Group_1__2__Impl" - // InternalSemver.g:3065:1: rule__VersionNumber__Group_1__2__Impl : ( ( rule__VersionNumber__Group_1_2__0 )? ) ; + // InternalSemver.g:3283:1: rule__VersionNumber__Group_1__2__Impl : ( ( rule__VersionNumber__Group_1_2__0 )? ) ; public final void rule__VersionNumber__Group_1__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3069:1: ( ( ( rule__VersionNumber__Group_1_2__0 )? ) ) - // InternalSemver.g:3070:1: ( ( rule__VersionNumber__Group_1_2__0 )? ) + // InternalSemver.g:3287:1: ( ( ( rule__VersionNumber__Group_1_2__0 )? ) ) + // InternalSemver.g:3288:1: ( ( rule__VersionNumber__Group_1_2__0 )? ) { - // InternalSemver.g:3070:1: ( ( rule__VersionNumber__Group_1_2__0 )? ) - // InternalSemver.g:3071:2: ( rule__VersionNumber__Group_1_2__0 )? + // InternalSemver.g:3288:1: ( ( rule__VersionNumber__Group_1_2__0 )? ) + // InternalSemver.g:3289:2: ( rule__VersionNumber__Group_1_2__0 )? { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getGroup_1_2()); } - // InternalSemver.g:3072:2: ( rule__VersionNumber__Group_1_2__0 )? - int alt42=2; - int LA42_0 = input.LA(1); + // InternalSemver.g:3290:2: ( rule__VersionNumber__Group_1_2__0 )? + int alt44=2; + int LA44_0 = input.LA(1); - if ( (LA42_0==36) ) { - alt42=1; + if ( (LA44_0==42) ) { + alt44=1; } - switch (alt42) { + switch (alt44) { case 1 : - // InternalSemver.g:3072:3: rule__VersionNumber__Group_1_2__0 + // InternalSemver.g:3290:3: rule__VersionNumber__Group_1_2__0 { pushFollow(FOLLOW_2); rule__VersionNumber__Group_1_2__0(); @@ -10810,16 +11613,16 @@ public final void rule__VersionNumber__Group_1__2__Impl() throws RecognitionExce // $ANTLR start "rule__VersionNumber__Group_1_2__0" - // InternalSemver.g:3081:1: rule__VersionNumber__Group_1_2__0 : rule__VersionNumber__Group_1_2__0__Impl rule__VersionNumber__Group_1_2__1 ; + // InternalSemver.g:3299:1: rule__VersionNumber__Group_1_2__0 : rule__VersionNumber__Group_1_2__0__Impl rule__VersionNumber__Group_1_2__1 ; public final void rule__VersionNumber__Group_1_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3085:1: ( rule__VersionNumber__Group_1_2__0__Impl rule__VersionNumber__Group_1_2__1 ) - // InternalSemver.g:3086:2: rule__VersionNumber__Group_1_2__0__Impl rule__VersionNumber__Group_1_2__1 + // InternalSemver.g:3303:1: ( rule__VersionNumber__Group_1_2__0__Impl rule__VersionNumber__Group_1_2__1 ) + // InternalSemver.g:3304:2: rule__VersionNumber__Group_1_2__0__Impl rule__VersionNumber__Group_1_2__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__VersionNumber__Group_1_2__0__Impl(); state._fsp--; @@ -10848,22 +11651,22 @@ public final void rule__VersionNumber__Group_1_2__0() throws RecognitionExceptio // $ANTLR start "rule__VersionNumber__Group_1_2__0__Impl" - // InternalSemver.g:3093:1: rule__VersionNumber__Group_1_2__0__Impl : ( '.' ) ; + // InternalSemver.g:3311:1: rule__VersionNumber__Group_1_2__0__Impl : ( '.' ) ; public final void rule__VersionNumber__Group_1_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3097:1: ( ( '.' ) ) - // InternalSemver.g:3098:1: ( '.' ) + // InternalSemver.g:3315:1: ( ( '.' ) ) + // InternalSemver.g:3316:1: ( '.' ) { - // InternalSemver.g:3098:1: ( '.' ) - // InternalSemver.g:3099:2: '.' + // InternalSemver.g:3316:1: ( '.' ) + // InternalSemver.g:3317:2: '.' { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getFullStopKeyword_1_2_0()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getVersionNumberAccess().getFullStopKeyword_1_2_0()); } @@ -10889,16 +11692,16 @@ public final void rule__VersionNumber__Group_1_2__0__Impl() throws RecognitionEx // $ANTLR start "rule__VersionNumber__Group_1_2__1" - // InternalSemver.g:3108:1: rule__VersionNumber__Group_1_2__1 : rule__VersionNumber__Group_1_2__1__Impl rule__VersionNumber__Group_1_2__2 ; + // InternalSemver.g:3326:1: rule__VersionNumber__Group_1_2__1 : rule__VersionNumber__Group_1_2__1__Impl rule__VersionNumber__Group_1_2__2 ; public final void rule__VersionNumber__Group_1_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3112:1: ( rule__VersionNumber__Group_1_2__1__Impl rule__VersionNumber__Group_1_2__2 ) - // InternalSemver.g:3113:2: rule__VersionNumber__Group_1_2__1__Impl rule__VersionNumber__Group_1_2__2 + // InternalSemver.g:3330:1: ( rule__VersionNumber__Group_1_2__1__Impl rule__VersionNumber__Group_1_2__2 ) + // InternalSemver.g:3331:2: rule__VersionNumber__Group_1_2__1__Impl rule__VersionNumber__Group_1_2__2 { - pushFollow(FOLLOW_21); + pushFollow(FOLLOW_23); rule__VersionNumber__Group_1_2__1__Impl(); state._fsp--; @@ -10927,23 +11730,23 @@ public final void rule__VersionNumber__Group_1_2__1() throws RecognitionExceptio // $ANTLR start "rule__VersionNumber__Group_1_2__1__Impl" - // InternalSemver.g:3120:1: rule__VersionNumber__Group_1_2__1__Impl : ( ( rule__VersionNumber__PatchAssignment_1_2_1 ) ) ; + // InternalSemver.g:3338:1: rule__VersionNumber__Group_1_2__1__Impl : ( ( rule__VersionNumber__PatchAssignment_1_2_1 ) ) ; public final void rule__VersionNumber__Group_1_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3124:1: ( ( ( rule__VersionNumber__PatchAssignment_1_2_1 ) ) ) - // InternalSemver.g:3125:1: ( ( rule__VersionNumber__PatchAssignment_1_2_1 ) ) + // InternalSemver.g:3342:1: ( ( ( rule__VersionNumber__PatchAssignment_1_2_1 ) ) ) + // InternalSemver.g:3343:1: ( ( rule__VersionNumber__PatchAssignment_1_2_1 ) ) { - // InternalSemver.g:3125:1: ( ( rule__VersionNumber__PatchAssignment_1_2_1 ) ) - // InternalSemver.g:3126:2: ( rule__VersionNumber__PatchAssignment_1_2_1 ) + // InternalSemver.g:3343:1: ( ( rule__VersionNumber__PatchAssignment_1_2_1 ) ) + // InternalSemver.g:3344:2: ( rule__VersionNumber__PatchAssignment_1_2_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getPatchAssignment_1_2_1()); } - // InternalSemver.g:3127:2: ( rule__VersionNumber__PatchAssignment_1_2_1 ) - // InternalSemver.g:3127:3: rule__VersionNumber__PatchAssignment_1_2_1 + // InternalSemver.g:3345:2: ( rule__VersionNumber__PatchAssignment_1_2_1 ) + // InternalSemver.g:3345:3: rule__VersionNumber__PatchAssignment_1_2_1 { pushFollow(FOLLOW_2); rule__VersionNumber__PatchAssignment_1_2_1(); @@ -10978,14 +11781,14 @@ public final void rule__VersionNumber__Group_1_2__1__Impl() throws RecognitionEx // $ANTLR start "rule__VersionNumber__Group_1_2__2" - // InternalSemver.g:3135:1: rule__VersionNumber__Group_1_2__2 : rule__VersionNumber__Group_1_2__2__Impl ; + // InternalSemver.g:3353:1: rule__VersionNumber__Group_1_2__2 : rule__VersionNumber__Group_1_2__2__Impl ; public final void rule__VersionNumber__Group_1_2__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3139:1: ( rule__VersionNumber__Group_1_2__2__Impl ) - // InternalSemver.g:3140:2: rule__VersionNumber__Group_1_2__2__Impl + // InternalSemver.g:3357:1: ( rule__VersionNumber__Group_1_2__2__Impl ) + // InternalSemver.g:3358:2: rule__VersionNumber__Group_1_2__2__Impl { pushFollow(FOLLOW_2); rule__VersionNumber__Group_1_2__2__Impl(); @@ -11011,37 +11814,37 @@ public final void rule__VersionNumber__Group_1_2__2() throws RecognitionExceptio // $ANTLR start "rule__VersionNumber__Group_1_2__2__Impl" - // InternalSemver.g:3146:1: rule__VersionNumber__Group_1_2__2__Impl : ( ( rule__VersionNumber__Group_1_2_2__0 )* ) ; + // InternalSemver.g:3364:1: rule__VersionNumber__Group_1_2__2__Impl : ( ( rule__VersionNumber__Group_1_2_2__0 )* ) ; public final void rule__VersionNumber__Group_1_2__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3150:1: ( ( ( rule__VersionNumber__Group_1_2_2__0 )* ) ) - // InternalSemver.g:3151:1: ( ( rule__VersionNumber__Group_1_2_2__0 )* ) + // InternalSemver.g:3368:1: ( ( ( rule__VersionNumber__Group_1_2_2__0 )* ) ) + // InternalSemver.g:3369:1: ( ( rule__VersionNumber__Group_1_2_2__0 )* ) { - // InternalSemver.g:3151:1: ( ( rule__VersionNumber__Group_1_2_2__0 )* ) - // InternalSemver.g:3152:2: ( rule__VersionNumber__Group_1_2_2__0 )* + // InternalSemver.g:3369:1: ( ( rule__VersionNumber__Group_1_2_2__0 )* ) + // InternalSemver.g:3370:2: ( rule__VersionNumber__Group_1_2_2__0 )* { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getGroup_1_2_2()); } - // InternalSemver.g:3153:2: ( rule__VersionNumber__Group_1_2_2__0 )* - loop43: + // InternalSemver.g:3371:2: ( rule__VersionNumber__Group_1_2_2__0 )* + loop45: do { - int alt43=2; - int LA43_0 = input.LA(1); + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA43_0==36) ) { - alt43=1; + if ( (LA45_0==42) ) { + alt45=1; } - switch (alt43) { + switch (alt45) { case 1 : - // InternalSemver.g:3153:3: rule__VersionNumber__Group_1_2_2__0 + // InternalSemver.g:3371:3: rule__VersionNumber__Group_1_2_2__0 { - pushFollow(FOLLOW_22); + pushFollow(FOLLOW_24); rule__VersionNumber__Group_1_2_2__0(); state._fsp--; @@ -11051,7 +11854,7 @@ public final void rule__VersionNumber__Group_1_2__2__Impl() throws RecognitionEx break; default : - break loop43; + break loop45; } } while (true); @@ -11080,16 +11883,16 @@ public final void rule__VersionNumber__Group_1_2__2__Impl() throws RecognitionEx // $ANTLR start "rule__VersionNumber__Group_1_2_2__0" - // InternalSemver.g:3162:1: rule__VersionNumber__Group_1_2_2__0 : rule__VersionNumber__Group_1_2_2__0__Impl rule__VersionNumber__Group_1_2_2__1 ; + // InternalSemver.g:3380:1: rule__VersionNumber__Group_1_2_2__0 : rule__VersionNumber__Group_1_2_2__0__Impl rule__VersionNumber__Group_1_2_2__1 ; public final void rule__VersionNumber__Group_1_2_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3166:1: ( rule__VersionNumber__Group_1_2_2__0__Impl rule__VersionNumber__Group_1_2_2__1 ) - // InternalSemver.g:3167:2: rule__VersionNumber__Group_1_2_2__0__Impl rule__VersionNumber__Group_1_2_2__1 + // InternalSemver.g:3384:1: ( rule__VersionNumber__Group_1_2_2__0__Impl rule__VersionNumber__Group_1_2_2__1 ) + // InternalSemver.g:3385:2: rule__VersionNumber__Group_1_2_2__0__Impl rule__VersionNumber__Group_1_2_2__1 { - pushFollow(FOLLOW_4); + pushFollow(FOLLOW_5); rule__VersionNumber__Group_1_2_2__0__Impl(); state._fsp--; @@ -11118,22 +11921,22 @@ public final void rule__VersionNumber__Group_1_2_2__0() throws RecognitionExcept // $ANTLR start "rule__VersionNumber__Group_1_2_2__0__Impl" - // InternalSemver.g:3174:1: rule__VersionNumber__Group_1_2_2__0__Impl : ( '.' ) ; + // InternalSemver.g:3392:1: rule__VersionNumber__Group_1_2_2__0__Impl : ( '.' ) ; public final void rule__VersionNumber__Group_1_2_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3178:1: ( ( '.' ) ) - // InternalSemver.g:3179:1: ( '.' ) + // InternalSemver.g:3396:1: ( ( '.' ) ) + // InternalSemver.g:3397:1: ( '.' ) { - // InternalSemver.g:3179:1: ( '.' ) - // InternalSemver.g:3180:2: '.' + // InternalSemver.g:3397:1: ( '.' ) + // InternalSemver.g:3398:2: '.' { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getFullStopKeyword_1_2_2_0()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getVersionNumberAccess().getFullStopKeyword_1_2_2_0()); } @@ -11159,14 +11962,14 @@ public final void rule__VersionNumber__Group_1_2_2__0__Impl() throws Recognition // $ANTLR start "rule__VersionNumber__Group_1_2_2__1" - // InternalSemver.g:3189:1: rule__VersionNumber__Group_1_2_2__1 : rule__VersionNumber__Group_1_2_2__1__Impl ; + // InternalSemver.g:3407:1: rule__VersionNumber__Group_1_2_2__1 : rule__VersionNumber__Group_1_2_2__1__Impl ; public final void rule__VersionNumber__Group_1_2_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3193:1: ( rule__VersionNumber__Group_1_2_2__1__Impl ) - // InternalSemver.g:3194:2: rule__VersionNumber__Group_1_2_2__1__Impl + // InternalSemver.g:3411:1: ( rule__VersionNumber__Group_1_2_2__1__Impl ) + // InternalSemver.g:3412:2: rule__VersionNumber__Group_1_2_2__1__Impl { pushFollow(FOLLOW_2); rule__VersionNumber__Group_1_2_2__1__Impl(); @@ -11192,23 +11995,23 @@ public final void rule__VersionNumber__Group_1_2_2__1() throws RecognitionExcept // $ANTLR start "rule__VersionNumber__Group_1_2_2__1__Impl" - // InternalSemver.g:3200:1: rule__VersionNumber__Group_1_2_2__1__Impl : ( ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) ) ; + // InternalSemver.g:3418:1: rule__VersionNumber__Group_1_2_2__1__Impl : ( ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) ) ; public final void rule__VersionNumber__Group_1_2_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3204:1: ( ( ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) ) ) - // InternalSemver.g:3205:1: ( ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) ) + // InternalSemver.g:3422:1: ( ( ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) ) ) + // InternalSemver.g:3423:1: ( ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) ) { - // InternalSemver.g:3205:1: ( ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) ) - // InternalSemver.g:3206:2: ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) + // InternalSemver.g:3423:1: ( ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) ) + // InternalSemver.g:3424:2: ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getVersionNumberAccess().getExtendedAssignment_1_2_2_1()); } - // InternalSemver.g:3207:2: ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) - // InternalSemver.g:3207:3: rule__VersionNumber__ExtendedAssignment_1_2_2_1 + // InternalSemver.g:3425:2: ( rule__VersionNumber__ExtendedAssignment_1_2_2_1 ) + // InternalSemver.g:3425:3: rule__VersionNumber__ExtendedAssignment_1_2_2_1 { pushFollow(FOLLOW_2); rule__VersionNumber__ExtendedAssignment_1_2_2_1(); @@ -11243,16 +12046,16 @@ public final void rule__VersionNumber__Group_1_2_2__1__Impl() throws Recognition // $ANTLR start "rule__Qualifier__Group_0__0" - // InternalSemver.g:3216:1: rule__Qualifier__Group_0__0 : rule__Qualifier__Group_0__0__Impl rule__Qualifier__Group_0__1 ; + // InternalSemver.g:3434:1: rule__Qualifier__Group_0__0 : rule__Qualifier__Group_0__0__Impl rule__Qualifier__Group_0__1 ; public final void rule__Qualifier__Group_0__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3220:1: ( rule__Qualifier__Group_0__0__Impl rule__Qualifier__Group_0__1 ) - // InternalSemver.g:3221:2: rule__Qualifier__Group_0__0__Impl rule__Qualifier__Group_0__1 + // InternalSemver.g:3438:1: ( rule__Qualifier__Group_0__0__Impl rule__Qualifier__Group_0__1 ) + // InternalSemver.g:3439:2: rule__Qualifier__Group_0__0__Impl rule__Qualifier__Group_0__1 { - pushFollow(FOLLOW_11); + pushFollow(FOLLOW_12); rule__Qualifier__Group_0__0__Impl(); state._fsp--; @@ -11281,22 +12084,22 @@ public final void rule__Qualifier__Group_0__0() throws RecognitionException { // $ANTLR start "rule__Qualifier__Group_0__0__Impl" - // InternalSemver.g:3228:1: rule__Qualifier__Group_0__0__Impl : ( '-' ) ; + // InternalSemver.g:3446:1: rule__Qualifier__Group_0__0__Impl : ( '-' ) ; public final void rule__Qualifier__Group_0__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3232:1: ( ( '-' ) ) - // InternalSemver.g:3233:1: ( '-' ) + // InternalSemver.g:3450:1: ( ( '-' ) ) + // InternalSemver.g:3451:1: ( '-' ) { - // InternalSemver.g:3233:1: ( '-' ) - // InternalSemver.g:3234:2: '-' + // InternalSemver.g:3451:1: ( '-' ) + // InternalSemver.g:3452:2: '-' { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getHyphenMinusKeyword_0_0()); } - match(input,38,FOLLOW_2); if (state.failed) return ; + match(input,47,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getQualifierAccess().getHyphenMinusKeyword_0_0()); } @@ -11322,16 +12125,16 @@ public final void rule__Qualifier__Group_0__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Qualifier__Group_0__1" - // InternalSemver.g:3243:1: rule__Qualifier__Group_0__1 : rule__Qualifier__Group_0__1__Impl rule__Qualifier__Group_0__2 ; + // InternalSemver.g:3461:1: rule__Qualifier__Group_0__1 : rule__Qualifier__Group_0__1__Impl rule__Qualifier__Group_0__2 ; public final void rule__Qualifier__Group_0__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3247:1: ( rule__Qualifier__Group_0__1__Impl rule__Qualifier__Group_0__2 ) - // InternalSemver.g:3248:2: rule__Qualifier__Group_0__1__Impl rule__Qualifier__Group_0__2 + // InternalSemver.g:3465:1: ( rule__Qualifier__Group_0__1__Impl rule__Qualifier__Group_0__2 ) + // InternalSemver.g:3466:2: rule__Qualifier__Group_0__1__Impl rule__Qualifier__Group_0__2 { - pushFollow(FOLLOW_23); + pushFollow(FOLLOW_25); rule__Qualifier__Group_0__1__Impl(); state._fsp--; @@ -11360,23 +12163,23 @@ public final void rule__Qualifier__Group_0__1() throws RecognitionException { // $ANTLR start "rule__Qualifier__Group_0__1__Impl" - // InternalSemver.g:3255:1: rule__Qualifier__Group_0__1__Impl : ( ( rule__Qualifier__PreReleaseAssignment_0_1 ) ) ; + // InternalSemver.g:3473:1: rule__Qualifier__Group_0__1__Impl : ( ( rule__Qualifier__PreReleaseAssignment_0_1 ) ) ; public final void rule__Qualifier__Group_0__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3259:1: ( ( ( rule__Qualifier__PreReleaseAssignment_0_1 ) ) ) - // InternalSemver.g:3260:1: ( ( rule__Qualifier__PreReleaseAssignment_0_1 ) ) + // InternalSemver.g:3477:1: ( ( ( rule__Qualifier__PreReleaseAssignment_0_1 ) ) ) + // InternalSemver.g:3478:1: ( ( rule__Qualifier__PreReleaseAssignment_0_1 ) ) { - // InternalSemver.g:3260:1: ( ( rule__Qualifier__PreReleaseAssignment_0_1 ) ) - // InternalSemver.g:3261:2: ( rule__Qualifier__PreReleaseAssignment_0_1 ) + // InternalSemver.g:3478:1: ( ( rule__Qualifier__PreReleaseAssignment_0_1 ) ) + // InternalSemver.g:3479:2: ( rule__Qualifier__PreReleaseAssignment_0_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getPreReleaseAssignment_0_1()); } - // InternalSemver.g:3262:2: ( rule__Qualifier__PreReleaseAssignment_0_1 ) - // InternalSemver.g:3262:3: rule__Qualifier__PreReleaseAssignment_0_1 + // InternalSemver.g:3480:2: ( rule__Qualifier__PreReleaseAssignment_0_1 ) + // InternalSemver.g:3480:3: rule__Qualifier__PreReleaseAssignment_0_1 { pushFollow(FOLLOW_2); rule__Qualifier__PreReleaseAssignment_0_1(); @@ -11411,14 +12214,14 @@ public final void rule__Qualifier__Group_0__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__Qualifier__Group_0__2" - // InternalSemver.g:3270:1: rule__Qualifier__Group_0__2 : rule__Qualifier__Group_0__2__Impl ; + // InternalSemver.g:3488:1: rule__Qualifier__Group_0__2 : rule__Qualifier__Group_0__2__Impl ; public final void rule__Qualifier__Group_0__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3274:1: ( rule__Qualifier__Group_0__2__Impl ) - // InternalSemver.g:3275:2: rule__Qualifier__Group_0__2__Impl + // InternalSemver.g:3492:1: ( rule__Qualifier__Group_0__2__Impl ) + // InternalSemver.g:3493:2: rule__Qualifier__Group_0__2__Impl { pushFollow(FOLLOW_2); rule__Qualifier__Group_0__2__Impl(); @@ -11444,31 +12247,31 @@ public final void rule__Qualifier__Group_0__2() throws RecognitionException { // $ANTLR start "rule__Qualifier__Group_0__2__Impl" - // InternalSemver.g:3281:1: rule__Qualifier__Group_0__2__Impl : ( ( rule__Qualifier__Group_0_2__0 )? ) ; + // InternalSemver.g:3499:1: rule__Qualifier__Group_0__2__Impl : ( ( rule__Qualifier__Group_0_2__0 )? ) ; public final void rule__Qualifier__Group_0__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3285:1: ( ( ( rule__Qualifier__Group_0_2__0 )? ) ) - // InternalSemver.g:3286:1: ( ( rule__Qualifier__Group_0_2__0 )? ) + // InternalSemver.g:3503:1: ( ( ( rule__Qualifier__Group_0_2__0 )? ) ) + // InternalSemver.g:3504:1: ( ( rule__Qualifier__Group_0_2__0 )? ) { - // InternalSemver.g:3286:1: ( ( rule__Qualifier__Group_0_2__0 )? ) - // InternalSemver.g:3287:2: ( rule__Qualifier__Group_0_2__0 )? + // InternalSemver.g:3504:1: ( ( rule__Qualifier__Group_0_2__0 )? ) + // InternalSemver.g:3505:2: ( rule__Qualifier__Group_0_2__0 )? { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getGroup_0_2()); } - // InternalSemver.g:3288:2: ( rule__Qualifier__Group_0_2__0 )? - int alt44=2; - int LA44_0 = input.LA(1); + // InternalSemver.g:3506:2: ( rule__Qualifier__Group_0_2__0 )? + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA44_0==40) ) { - alt44=1; + if ( (LA46_0==45) ) { + alt46=1; } - switch (alt44) { + switch (alt46) { case 1 : - // InternalSemver.g:3288:3: rule__Qualifier__Group_0_2__0 + // InternalSemver.g:3506:3: rule__Qualifier__Group_0_2__0 { pushFollow(FOLLOW_2); rule__Qualifier__Group_0_2__0(); @@ -11506,16 +12309,16 @@ public final void rule__Qualifier__Group_0__2__Impl() throws RecognitionExceptio // $ANTLR start "rule__Qualifier__Group_0_2__0" - // InternalSemver.g:3297:1: rule__Qualifier__Group_0_2__0 : rule__Qualifier__Group_0_2__0__Impl rule__Qualifier__Group_0_2__1 ; + // InternalSemver.g:3515:1: rule__Qualifier__Group_0_2__0 : rule__Qualifier__Group_0_2__0__Impl rule__Qualifier__Group_0_2__1 ; public final void rule__Qualifier__Group_0_2__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3301:1: ( rule__Qualifier__Group_0_2__0__Impl rule__Qualifier__Group_0_2__1 ) - // InternalSemver.g:3302:2: rule__Qualifier__Group_0_2__0__Impl rule__Qualifier__Group_0_2__1 + // InternalSemver.g:3519:1: ( rule__Qualifier__Group_0_2__0__Impl rule__Qualifier__Group_0_2__1 ) + // InternalSemver.g:3520:2: rule__Qualifier__Group_0_2__0__Impl rule__Qualifier__Group_0_2__1 { - pushFollow(FOLLOW_11); + pushFollow(FOLLOW_12); rule__Qualifier__Group_0_2__0__Impl(); state._fsp--; @@ -11544,22 +12347,22 @@ public final void rule__Qualifier__Group_0_2__0() throws RecognitionException { // $ANTLR start "rule__Qualifier__Group_0_2__0__Impl" - // InternalSemver.g:3309:1: rule__Qualifier__Group_0_2__0__Impl : ( '+' ) ; + // InternalSemver.g:3527:1: rule__Qualifier__Group_0_2__0__Impl : ( '+' ) ; public final void rule__Qualifier__Group_0_2__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3313:1: ( ( '+' ) ) - // InternalSemver.g:3314:1: ( '+' ) + // InternalSemver.g:3531:1: ( ( '+' ) ) + // InternalSemver.g:3532:1: ( '+' ) { - // InternalSemver.g:3314:1: ( '+' ) - // InternalSemver.g:3315:2: '+' + // InternalSemver.g:3532:1: ( '+' ) + // InternalSemver.g:3533:2: '+' { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getPlusSignKeyword_0_2_0()); } - match(input,40,FOLLOW_2); if (state.failed) return ; + match(input,45,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getQualifierAccess().getPlusSignKeyword_0_2_0()); } @@ -11585,14 +12388,14 @@ public final void rule__Qualifier__Group_0_2__0__Impl() throws RecognitionExcept // $ANTLR start "rule__Qualifier__Group_0_2__1" - // InternalSemver.g:3324:1: rule__Qualifier__Group_0_2__1 : rule__Qualifier__Group_0_2__1__Impl ; + // InternalSemver.g:3542:1: rule__Qualifier__Group_0_2__1 : rule__Qualifier__Group_0_2__1__Impl ; public final void rule__Qualifier__Group_0_2__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3328:1: ( rule__Qualifier__Group_0_2__1__Impl ) - // InternalSemver.g:3329:2: rule__Qualifier__Group_0_2__1__Impl + // InternalSemver.g:3546:1: ( rule__Qualifier__Group_0_2__1__Impl ) + // InternalSemver.g:3547:2: rule__Qualifier__Group_0_2__1__Impl { pushFollow(FOLLOW_2); rule__Qualifier__Group_0_2__1__Impl(); @@ -11618,23 +12421,23 @@ public final void rule__Qualifier__Group_0_2__1() throws RecognitionException { // $ANTLR start "rule__Qualifier__Group_0_2__1__Impl" - // InternalSemver.g:3335:1: rule__Qualifier__Group_0_2__1__Impl : ( ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) ) ; + // InternalSemver.g:3553:1: rule__Qualifier__Group_0_2__1__Impl : ( ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) ) ; public final void rule__Qualifier__Group_0_2__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3339:1: ( ( ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) ) ) - // InternalSemver.g:3340:1: ( ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) ) + // InternalSemver.g:3557:1: ( ( ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) ) ) + // InternalSemver.g:3558:1: ( ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) ) { - // InternalSemver.g:3340:1: ( ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) ) - // InternalSemver.g:3341:2: ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) + // InternalSemver.g:3558:1: ( ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) ) + // InternalSemver.g:3559:2: ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_0_2_1()); } - // InternalSemver.g:3342:2: ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) - // InternalSemver.g:3342:3: rule__Qualifier__BuildMetadataAssignment_0_2_1 + // InternalSemver.g:3560:2: ( rule__Qualifier__BuildMetadataAssignment_0_2_1 ) + // InternalSemver.g:3560:3: rule__Qualifier__BuildMetadataAssignment_0_2_1 { pushFollow(FOLLOW_2); rule__Qualifier__BuildMetadataAssignment_0_2_1(); @@ -11669,16 +12472,16 @@ public final void rule__Qualifier__Group_0_2__1__Impl() throws RecognitionExcept // $ANTLR start "rule__Qualifier__Group_1__0" - // InternalSemver.g:3351:1: rule__Qualifier__Group_1__0 : rule__Qualifier__Group_1__0__Impl rule__Qualifier__Group_1__1 ; + // InternalSemver.g:3569:1: rule__Qualifier__Group_1__0 : rule__Qualifier__Group_1__0__Impl rule__Qualifier__Group_1__1 ; public final void rule__Qualifier__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3355:1: ( rule__Qualifier__Group_1__0__Impl rule__Qualifier__Group_1__1 ) - // InternalSemver.g:3356:2: rule__Qualifier__Group_1__0__Impl rule__Qualifier__Group_1__1 + // InternalSemver.g:3573:1: ( rule__Qualifier__Group_1__0__Impl rule__Qualifier__Group_1__1 ) + // InternalSemver.g:3574:2: rule__Qualifier__Group_1__0__Impl rule__Qualifier__Group_1__1 { - pushFollow(FOLLOW_11); + pushFollow(FOLLOW_12); rule__Qualifier__Group_1__0__Impl(); state._fsp--; @@ -11707,22 +12510,22 @@ public final void rule__Qualifier__Group_1__0() throws RecognitionException { // $ANTLR start "rule__Qualifier__Group_1__0__Impl" - // InternalSemver.g:3363:1: rule__Qualifier__Group_1__0__Impl : ( '+' ) ; + // InternalSemver.g:3581:1: rule__Qualifier__Group_1__0__Impl : ( '+' ) ; public final void rule__Qualifier__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3367:1: ( ( '+' ) ) - // InternalSemver.g:3368:1: ( '+' ) + // InternalSemver.g:3585:1: ( ( '+' ) ) + // InternalSemver.g:3586:1: ( '+' ) { - // InternalSemver.g:3368:1: ( '+' ) - // InternalSemver.g:3369:2: '+' + // InternalSemver.g:3586:1: ( '+' ) + // InternalSemver.g:3587:2: '+' { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getPlusSignKeyword_1_0()); } - match(input,40,FOLLOW_2); if (state.failed) return ; + match(input,45,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getQualifierAccess().getPlusSignKeyword_1_0()); } @@ -11748,14 +12551,14 @@ public final void rule__Qualifier__Group_1__0__Impl() throws RecognitionExceptio // $ANTLR start "rule__Qualifier__Group_1__1" - // InternalSemver.g:3378:1: rule__Qualifier__Group_1__1 : rule__Qualifier__Group_1__1__Impl ; + // InternalSemver.g:3596:1: rule__Qualifier__Group_1__1 : rule__Qualifier__Group_1__1__Impl ; public final void rule__Qualifier__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3382:1: ( rule__Qualifier__Group_1__1__Impl ) - // InternalSemver.g:3383:2: rule__Qualifier__Group_1__1__Impl + // InternalSemver.g:3600:1: ( rule__Qualifier__Group_1__1__Impl ) + // InternalSemver.g:3601:2: rule__Qualifier__Group_1__1__Impl { pushFollow(FOLLOW_2); rule__Qualifier__Group_1__1__Impl(); @@ -11781,23 +12584,23 @@ public final void rule__Qualifier__Group_1__1() throws RecognitionException { // $ANTLR start "rule__Qualifier__Group_1__1__Impl" - // InternalSemver.g:3389:1: rule__Qualifier__Group_1__1__Impl : ( ( rule__Qualifier__BuildMetadataAssignment_1_1 ) ) ; + // InternalSemver.g:3607:1: rule__Qualifier__Group_1__1__Impl : ( ( rule__Qualifier__BuildMetadataAssignment_1_1 ) ) ; public final void rule__Qualifier__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3393:1: ( ( ( rule__Qualifier__BuildMetadataAssignment_1_1 ) ) ) - // InternalSemver.g:3394:1: ( ( rule__Qualifier__BuildMetadataAssignment_1_1 ) ) + // InternalSemver.g:3611:1: ( ( ( rule__Qualifier__BuildMetadataAssignment_1_1 ) ) ) + // InternalSemver.g:3612:1: ( ( rule__Qualifier__BuildMetadataAssignment_1_1 ) ) { - // InternalSemver.g:3394:1: ( ( rule__Qualifier__BuildMetadataAssignment_1_1 ) ) - // InternalSemver.g:3395:2: ( rule__Qualifier__BuildMetadataAssignment_1_1 ) + // InternalSemver.g:3612:1: ( ( rule__Qualifier__BuildMetadataAssignment_1_1 ) ) + // InternalSemver.g:3613:2: ( rule__Qualifier__BuildMetadataAssignment_1_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierAccess().getBuildMetadataAssignment_1_1()); } - // InternalSemver.g:3396:2: ( rule__Qualifier__BuildMetadataAssignment_1_1 ) - // InternalSemver.g:3396:3: rule__Qualifier__BuildMetadataAssignment_1_1 + // InternalSemver.g:3614:2: ( rule__Qualifier__BuildMetadataAssignment_1_1 ) + // InternalSemver.g:3614:3: rule__Qualifier__BuildMetadataAssignment_1_1 { pushFollow(FOLLOW_2); rule__Qualifier__BuildMetadataAssignment_1_1(); @@ -11832,16 +12635,16 @@ public final void rule__Qualifier__Group_1__1__Impl() throws RecognitionExceptio // $ANTLR start "rule__QualifierTag__Group__0" - // InternalSemver.g:3405:1: rule__QualifierTag__Group__0 : rule__QualifierTag__Group__0__Impl rule__QualifierTag__Group__1 ; + // InternalSemver.g:3623:1: rule__QualifierTag__Group__0 : rule__QualifierTag__Group__0__Impl rule__QualifierTag__Group__1 ; public final void rule__QualifierTag__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3409:1: ( rule__QualifierTag__Group__0__Impl rule__QualifierTag__Group__1 ) - // InternalSemver.g:3410:2: rule__QualifierTag__Group__0__Impl rule__QualifierTag__Group__1 + // InternalSemver.g:3627:1: ( rule__QualifierTag__Group__0__Impl rule__QualifierTag__Group__1 ) + // InternalSemver.g:3628:2: rule__QualifierTag__Group__0__Impl rule__QualifierTag__Group__1 { - pushFollow(FOLLOW_21); + pushFollow(FOLLOW_23); rule__QualifierTag__Group__0__Impl(); state._fsp--; @@ -11870,23 +12673,23 @@ public final void rule__QualifierTag__Group__0() throws RecognitionException { // $ANTLR start "rule__QualifierTag__Group__0__Impl" - // InternalSemver.g:3417:1: rule__QualifierTag__Group__0__Impl : ( ( rule__QualifierTag__PartsAssignment_0 ) ) ; + // InternalSemver.g:3635:1: rule__QualifierTag__Group__0__Impl : ( ( rule__QualifierTag__PartsAssignment_0 ) ) ; public final void rule__QualifierTag__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3421:1: ( ( ( rule__QualifierTag__PartsAssignment_0 ) ) ) - // InternalSemver.g:3422:1: ( ( rule__QualifierTag__PartsAssignment_0 ) ) + // InternalSemver.g:3639:1: ( ( ( rule__QualifierTag__PartsAssignment_0 ) ) ) + // InternalSemver.g:3640:1: ( ( rule__QualifierTag__PartsAssignment_0 ) ) { - // InternalSemver.g:3422:1: ( ( rule__QualifierTag__PartsAssignment_0 ) ) - // InternalSemver.g:3423:2: ( rule__QualifierTag__PartsAssignment_0 ) + // InternalSemver.g:3640:1: ( ( rule__QualifierTag__PartsAssignment_0 ) ) + // InternalSemver.g:3641:2: ( rule__QualifierTag__PartsAssignment_0 ) { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierTagAccess().getPartsAssignment_0()); } - // InternalSemver.g:3424:2: ( rule__QualifierTag__PartsAssignment_0 ) - // InternalSemver.g:3424:3: rule__QualifierTag__PartsAssignment_0 + // InternalSemver.g:3642:2: ( rule__QualifierTag__PartsAssignment_0 ) + // InternalSemver.g:3642:3: rule__QualifierTag__PartsAssignment_0 { pushFollow(FOLLOW_2); rule__QualifierTag__PartsAssignment_0(); @@ -11921,14 +12724,14 @@ public final void rule__QualifierTag__Group__0__Impl() throws RecognitionExcepti // $ANTLR start "rule__QualifierTag__Group__1" - // InternalSemver.g:3432:1: rule__QualifierTag__Group__1 : rule__QualifierTag__Group__1__Impl ; + // InternalSemver.g:3650:1: rule__QualifierTag__Group__1 : rule__QualifierTag__Group__1__Impl ; public final void rule__QualifierTag__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3436:1: ( rule__QualifierTag__Group__1__Impl ) - // InternalSemver.g:3437:2: rule__QualifierTag__Group__1__Impl + // InternalSemver.g:3654:1: ( rule__QualifierTag__Group__1__Impl ) + // InternalSemver.g:3655:2: rule__QualifierTag__Group__1__Impl { pushFollow(FOLLOW_2); rule__QualifierTag__Group__1__Impl(); @@ -11954,37 +12757,37 @@ public final void rule__QualifierTag__Group__1() throws RecognitionException { // $ANTLR start "rule__QualifierTag__Group__1__Impl" - // InternalSemver.g:3443:1: rule__QualifierTag__Group__1__Impl : ( ( rule__QualifierTag__Group_1__0 )* ) ; + // InternalSemver.g:3661:1: rule__QualifierTag__Group__1__Impl : ( ( rule__QualifierTag__Group_1__0 )* ) ; public final void rule__QualifierTag__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3447:1: ( ( ( rule__QualifierTag__Group_1__0 )* ) ) - // InternalSemver.g:3448:1: ( ( rule__QualifierTag__Group_1__0 )* ) + // InternalSemver.g:3665:1: ( ( ( rule__QualifierTag__Group_1__0 )* ) ) + // InternalSemver.g:3666:1: ( ( rule__QualifierTag__Group_1__0 )* ) { - // InternalSemver.g:3448:1: ( ( rule__QualifierTag__Group_1__0 )* ) - // InternalSemver.g:3449:2: ( rule__QualifierTag__Group_1__0 )* + // InternalSemver.g:3666:1: ( ( rule__QualifierTag__Group_1__0 )* ) + // InternalSemver.g:3667:2: ( rule__QualifierTag__Group_1__0 )* { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierTagAccess().getGroup_1()); } - // InternalSemver.g:3450:2: ( rule__QualifierTag__Group_1__0 )* - loop45: + // InternalSemver.g:3668:2: ( rule__QualifierTag__Group_1__0 )* + loop47: do { - int alt45=2; - int LA45_0 = input.LA(1); + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA45_0==36) ) { - alt45=1; + if ( (LA47_0==42) ) { + alt47=1; } - switch (alt45) { + switch (alt47) { case 1 : - // InternalSemver.g:3450:3: rule__QualifierTag__Group_1__0 + // InternalSemver.g:3668:3: rule__QualifierTag__Group_1__0 { - pushFollow(FOLLOW_22); + pushFollow(FOLLOW_24); rule__QualifierTag__Group_1__0(); state._fsp--; @@ -11994,7 +12797,7 @@ public final void rule__QualifierTag__Group__1__Impl() throws RecognitionExcepti break; default : - break loop45; + break loop47; } } while (true); @@ -12023,16 +12826,16 @@ public final void rule__QualifierTag__Group__1__Impl() throws RecognitionExcepti // $ANTLR start "rule__QualifierTag__Group_1__0" - // InternalSemver.g:3459:1: rule__QualifierTag__Group_1__0 : rule__QualifierTag__Group_1__0__Impl rule__QualifierTag__Group_1__1 ; + // InternalSemver.g:3677:1: rule__QualifierTag__Group_1__0 : rule__QualifierTag__Group_1__0__Impl rule__QualifierTag__Group_1__1 ; public final void rule__QualifierTag__Group_1__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3463:1: ( rule__QualifierTag__Group_1__0__Impl rule__QualifierTag__Group_1__1 ) - // InternalSemver.g:3464:2: rule__QualifierTag__Group_1__0__Impl rule__QualifierTag__Group_1__1 + // InternalSemver.g:3681:1: ( rule__QualifierTag__Group_1__0__Impl rule__QualifierTag__Group_1__1 ) + // InternalSemver.g:3682:2: rule__QualifierTag__Group_1__0__Impl rule__QualifierTag__Group_1__1 { - pushFollow(FOLLOW_11); + pushFollow(FOLLOW_12); rule__QualifierTag__Group_1__0__Impl(); state._fsp--; @@ -12061,22 +12864,22 @@ public final void rule__QualifierTag__Group_1__0() throws RecognitionException { // $ANTLR start "rule__QualifierTag__Group_1__0__Impl" - // InternalSemver.g:3471:1: rule__QualifierTag__Group_1__0__Impl : ( '.' ) ; + // InternalSemver.g:3689:1: rule__QualifierTag__Group_1__0__Impl : ( '.' ) ; public final void rule__QualifierTag__Group_1__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3475:1: ( ( '.' ) ) - // InternalSemver.g:3476:1: ( '.' ) + // InternalSemver.g:3693:1: ( ( '.' ) ) + // InternalSemver.g:3694:1: ( '.' ) { - // InternalSemver.g:3476:1: ( '.' ) - // InternalSemver.g:3477:2: '.' + // InternalSemver.g:3694:1: ( '.' ) + // InternalSemver.g:3695:2: '.' { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierTagAccess().getFullStopKeyword_1_0()); } - match(input,36,FOLLOW_2); if (state.failed) return ; + match(input,42,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getQualifierTagAccess().getFullStopKeyword_1_0()); } @@ -12102,14 +12905,14 @@ public final void rule__QualifierTag__Group_1__0__Impl() throws RecognitionExcep // $ANTLR start "rule__QualifierTag__Group_1__1" - // InternalSemver.g:3486:1: rule__QualifierTag__Group_1__1 : rule__QualifierTag__Group_1__1__Impl ; + // InternalSemver.g:3704:1: rule__QualifierTag__Group_1__1 : rule__QualifierTag__Group_1__1__Impl ; public final void rule__QualifierTag__Group_1__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3490:1: ( rule__QualifierTag__Group_1__1__Impl ) - // InternalSemver.g:3491:2: rule__QualifierTag__Group_1__1__Impl + // InternalSemver.g:3708:1: ( rule__QualifierTag__Group_1__1__Impl ) + // InternalSemver.g:3709:2: rule__QualifierTag__Group_1__1__Impl { pushFollow(FOLLOW_2); rule__QualifierTag__Group_1__1__Impl(); @@ -12135,23 +12938,23 @@ public final void rule__QualifierTag__Group_1__1() throws RecognitionException { // $ANTLR start "rule__QualifierTag__Group_1__1__Impl" - // InternalSemver.g:3497:1: rule__QualifierTag__Group_1__1__Impl : ( ( rule__QualifierTag__PartsAssignment_1_1 ) ) ; + // InternalSemver.g:3715:1: rule__QualifierTag__Group_1__1__Impl : ( ( rule__QualifierTag__PartsAssignment_1_1 ) ) ; public final void rule__QualifierTag__Group_1__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3501:1: ( ( ( rule__QualifierTag__PartsAssignment_1_1 ) ) ) - // InternalSemver.g:3502:1: ( ( rule__QualifierTag__PartsAssignment_1_1 ) ) + // InternalSemver.g:3719:1: ( ( ( rule__QualifierTag__PartsAssignment_1_1 ) ) ) + // InternalSemver.g:3720:1: ( ( rule__QualifierTag__PartsAssignment_1_1 ) ) { - // InternalSemver.g:3502:1: ( ( rule__QualifierTag__PartsAssignment_1_1 ) ) - // InternalSemver.g:3503:2: ( rule__QualifierTag__PartsAssignment_1_1 ) + // InternalSemver.g:3720:1: ( ( rule__QualifierTag__PartsAssignment_1_1 ) ) + // InternalSemver.g:3721:2: ( rule__QualifierTag__PartsAssignment_1_1 ) { if ( state.backtracking==0 ) { before(grammarAccess.getQualifierTagAccess().getPartsAssignment_1_1()); } - // InternalSemver.g:3504:2: ( rule__QualifierTag__PartsAssignment_1_1 ) - // InternalSemver.g:3504:3: rule__QualifierTag__PartsAssignment_1_1 + // InternalSemver.g:3722:2: ( rule__QualifierTag__PartsAssignment_1_1 ) + // InternalSemver.g:3722:3: rule__QualifierTag__PartsAssignment_1_1 { pushFollow(FOLLOW_2); rule__QualifierTag__PartsAssignment_1_1(); @@ -12186,16 +12989,16 @@ public final void rule__QualifierTag__Group_1__1__Impl() throws RecognitionExcep // $ANTLR start "rule__FILE_TAG__Group__0" - // InternalSemver.g:3513:1: rule__FILE_TAG__Group__0 : rule__FILE_TAG__Group__0__Impl rule__FILE_TAG__Group__1 ; + // InternalSemver.g:3731:1: rule__FILE_TAG__Group__0 : rule__FILE_TAG__Group__0__Impl rule__FILE_TAG__Group__1 ; public final void rule__FILE_TAG__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3517:1: ( rule__FILE_TAG__Group__0__Impl rule__FILE_TAG__Group__1 ) - // InternalSemver.g:3518:2: rule__FILE_TAG__Group__0__Impl rule__FILE_TAG__Group__1 + // InternalSemver.g:3735:1: ( rule__FILE_TAG__Group__0__Impl rule__FILE_TAG__Group__1 ) + // InternalSemver.g:3736:2: rule__FILE_TAG__Group__0__Impl rule__FILE_TAG__Group__1 { - pushFollow(FOLLOW_24); + pushFollow(FOLLOW_26); rule__FILE_TAG__Group__0__Impl(); state._fsp--; @@ -12224,17 +13027,17 @@ public final void rule__FILE_TAG__Group__0() throws RecognitionException { // $ANTLR start "rule__FILE_TAG__Group__0__Impl" - // InternalSemver.g:3525:1: rule__FILE_TAG__Group__0__Impl : ( RULE_LETTER_F ) ; + // InternalSemver.g:3743:1: rule__FILE_TAG__Group__0__Impl : ( RULE_LETTER_F ) ; public final void rule__FILE_TAG__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3529:1: ( ( RULE_LETTER_F ) ) - // InternalSemver.g:3530:1: ( RULE_LETTER_F ) + // InternalSemver.g:3747:1: ( ( RULE_LETTER_F ) ) + // InternalSemver.g:3748:1: ( RULE_LETTER_F ) { - // InternalSemver.g:3530:1: ( RULE_LETTER_F ) - // InternalSemver.g:3531:2: RULE_LETTER_F + // InternalSemver.g:3748:1: ( RULE_LETTER_F ) + // InternalSemver.g:3749:2: RULE_LETTER_F { if ( state.backtracking==0 ) { before(grammarAccess.getFILE_TAGAccess().getLETTER_FTerminalRuleCall_0()); @@ -12265,16 +13068,16 @@ public final void rule__FILE_TAG__Group__0__Impl() throws RecognitionException { // $ANTLR start "rule__FILE_TAG__Group__1" - // InternalSemver.g:3540:1: rule__FILE_TAG__Group__1 : rule__FILE_TAG__Group__1__Impl rule__FILE_TAG__Group__2 ; + // InternalSemver.g:3758:1: rule__FILE_TAG__Group__1 : rule__FILE_TAG__Group__1__Impl rule__FILE_TAG__Group__2 ; public final void rule__FILE_TAG__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3544:1: ( rule__FILE_TAG__Group__1__Impl rule__FILE_TAG__Group__2 ) - // InternalSemver.g:3545:2: rule__FILE_TAG__Group__1__Impl rule__FILE_TAG__Group__2 + // InternalSemver.g:3762:1: ( rule__FILE_TAG__Group__1__Impl rule__FILE_TAG__Group__2 ) + // InternalSemver.g:3763:2: rule__FILE_TAG__Group__1__Impl rule__FILE_TAG__Group__2 { - pushFollow(FOLLOW_25); + pushFollow(FOLLOW_27); rule__FILE_TAG__Group__1__Impl(); state._fsp--; @@ -12303,17 +13106,17 @@ public final void rule__FILE_TAG__Group__1() throws RecognitionException { // $ANTLR start "rule__FILE_TAG__Group__1__Impl" - // InternalSemver.g:3552:1: rule__FILE_TAG__Group__1__Impl : ( RULE_LETTER_I ) ; + // InternalSemver.g:3770:1: rule__FILE_TAG__Group__1__Impl : ( RULE_LETTER_I ) ; public final void rule__FILE_TAG__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3556:1: ( ( RULE_LETTER_I ) ) - // InternalSemver.g:3557:1: ( RULE_LETTER_I ) + // InternalSemver.g:3774:1: ( ( RULE_LETTER_I ) ) + // InternalSemver.g:3775:1: ( RULE_LETTER_I ) { - // InternalSemver.g:3557:1: ( RULE_LETTER_I ) - // InternalSemver.g:3558:2: RULE_LETTER_I + // InternalSemver.g:3775:1: ( RULE_LETTER_I ) + // InternalSemver.g:3776:2: RULE_LETTER_I { if ( state.backtracking==0 ) { before(grammarAccess.getFILE_TAGAccess().getLETTER_ITerminalRuleCall_1()); @@ -12344,16 +13147,16 @@ public final void rule__FILE_TAG__Group__1__Impl() throws RecognitionException { // $ANTLR start "rule__FILE_TAG__Group__2" - // InternalSemver.g:3567:1: rule__FILE_TAG__Group__2 : rule__FILE_TAG__Group__2__Impl rule__FILE_TAG__Group__3 ; + // InternalSemver.g:3785:1: rule__FILE_TAG__Group__2 : rule__FILE_TAG__Group__2__Impl rule__FILE_TAG__Group__3 ; public final void rule__FILE_TAG__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3571:1: ( rule__FILE_TAG__Group__2__Impl rule__FILE_TAG__Group__3 ) - // InternalSemver.g:3572:2: rule__FILE_TAG__Group__2__Impl rule__FILE_TAG__Group__3 + // InternalSemver.g:3789:1: ( rule__FILE_TAG__Group__2__Impl rule__FILE_TAG__Group__3 ) + // InternalSemver.g:3790:2: rule__FILE_TAG__Group__2__Impl rule__FILE_TAG__Group__3 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_28); rule__FILE_TAG__Group__2__Impl(); state._fsp--; @@ -12382,17 +13185,17 @@ public final void rule__FILE_TAG__Group__2() throws RecognitionException { // $ANTLR start "rule__FILE_TAG__Group__2__Impl" - // InternalSemver.g:3579:1: rule__FILE_TAG__Group__2__Impl : ( RULE_LETTER_L ) ; + // InternalSemver.g:3797:1: rule__FILE_TAG__Group__2__Impl : ( RULE_LETTER_L ) ; public final void rule__FILE_TAG__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3583:1: ( ( RULE_LETTER_L ) ) - // InternalSemver.g:3584:1: ( RULE_LETTER_L ) + // InternalSemver.g:3801:1: ( ( RULE_LETTER_L ) ) + // InternalSemver.g:3802:1: ( RULE_LETTER_L ) { - // InternalSemver.g:3584:1: ( RULE_LETTER_L ) - // InternalSemver.g:3585:2: RULE_LETTER_L + // InternalSemver.g:3802:1: ( RULE_LETTER_L ) + // InternalSemver.g:3803:2: RULE_LETTER_L { if ( state.backtracking==0 ) { before(grammarAccess.getFILE_TAGAccess().getLETTER_LTerminalRuleCall_2()); @@ -12423,16 +13226,16 @@ public final void rule__FILE_TAG__Group__2__Impl() throws RecognitionException { // $ANTLR start "rule__FILE_TAG__Group__3" - // InternalSemver.g:3594:1: rule__FILE_TAG__Group__3 : rule__FILE_TAG__Group__3__Impl rule__FILE_TAG__Group__4 ; + // InternalSemver.g:3812:1: rule__FILE_TAG__Group__3 : rule__FILE_TAG__Group__3__Impl rule__FILE_TAG__Group__4 ; public final void rule__FILE_TAG__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3598:1: ( rule__FILE_TAG__Group__3__Impl rule__FILE_TAG__Group__4 ) - // InternalSemver.g:3599:2: rule__FILE_TAG__Group__3__Impl rule__FILE_TAG__Group__4 + // InternalSemver.g:3816:1: ( rule__FILE_TAG__Group__3__Impl rule__FILE_TAG__Group__4 ) + // InternalSemver.g:3817:2: rule__FILE_TAG__Group__3__Impl rule__FILE_TAG__Group__4 { - pushFollow(FOLLOW_7); + pushFollow(FOLLOW_8); rule__FILE_TAG__Group__3__Impl(); state._fsp--; @@ -12461,17 +13264,17 @@ public final void rule__FILE_TAG__Group__3() throws RecognitionException { // $ANTLR start "rule__FILE_TAG__Group__3__Impl" - // InternalSemver.g:3606:1: rule__FILE_TAG__Group__3__Impl : ( RULE_LETTER_E ) ; + // InternalSemver.g:3824:1: rule__FILE_TAG__Group__3__Impl : ( RULE_LETTER_E ) ; public final void rule__FILE_TAG__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3610:1: ( ( RULE_LETTER_E ) ) - // InternalSemver.g:3611:1: ( RULE_LETTER_E ) + // InternalSemver.g:3828:1: ( ( RULE_LETTER_E ) ) + // InternalSemver.g:3829:1: ( RULE_LETTER_E ) { - // InternalSemver.g:3611:1: ( RULE_LETTER_E ) - // InternalSemver.g:3612:2: RULE_LETTER_E + // InternalSemver.g:3829:1: ( RULE_LETTER_E ) + // InternalSemver.g:3830:2: RULE_LETTER_E { if ( state.backtracking==0 ) { before(grammarAccess.getFILE_TAGAccess().getLETTER_ETerminalRuleCall_3()); @@ -12502,14 +13305,14 @@ public final void rule__FILE_TAG__Group__3__Impl() throws RecognitionException { // $ANTLR start "rule__FILE_TAG__Group__4" - // InternalSemver.g:3621:1: rule__FILE_TAG__Group__4 : rule__FILE_TAG__Group__4__Impl ; + // InternalSemver.g:3839:1: rule__FILE_TAG__Group__4 : rule__FILE_TAG__Group__4__Impl ; public final void rule__FILE_TAG__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3625:1: ( rule__FILE_TAG__Group__4__Impl ) - // InternalSemver.g:3626:2: rule__FILE_TAG__Group__4__Impl + // InternalSemver.g:3843:1: ( rule__FILE_TAG__Group__4__Impl ) + // InternalSemver.g:3844:2: rule__FILE_TAG__Group__4__Impl { pushFollow(FOLLOW_2); rule__FILE_TAG__Group__4__Impl(); @@ -12535,22 +13338,22 @@ public final void rule__FILE_TAG__Group__4() throws RecognitionException { // $ANTLR start "rule__FILE_TAG__Group__4__Impl" - // InternalSemver.g:3632:1: rule__FILE_TAG__Group__4__Impl : ( ':' ) ; + // InternalSemver.g:3850:1: rule__FILE_TAG__Group__4__Impl : ( ':' ) ; public final void rule__FILE_TAG__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3636:1: ( ( ':' ) ) - // InternalSemver.g:3637:1: ( ':' ) + // InternalSemver.g:3854:1: ( ( ':' ) ) + // InternalSemver.g:3855:1: ( ':' ) { - // InternalSemver.g:3637:1: ( ':' ) - // InternalSemver.g:3638:2: ':' + // InternalSemver.g:3855:1: ( ':' ) + // InternalSemver.g:3856:2: ':' { if ( state.backtracking==0 ) { before(grammarAccess.getFILE_TAGAccess().getColonKeyword_4()); } - match(input,41,FOLLOW_2); if (state.failed) return ; + match(input,46,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getFILE_TAGAccess().getColonKeyword_4()); } @@ -12576,16 +13379,16 @@ public final void rule__FILE_TAG__Group__4__Impl() throws RecognitionException { // $ANTLR start "rule__SEMVER_TAG__Group__0" - // InternalSemver.g:3648:1: rule__SEMVER_TAG__Group__0 : rule__SEMVER_TAG__Group__0__Impl rule__SEMVER_TAG__Group__1 ; + // InternalSemver.g:3866:1: rule__SEMVER_TAG__Group__0 : rule__SEMVER_TAG__Group__0__Impl rule__SEMVER_TAG__Group__1 ; public final void rule__SEMVER_TAG__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3652:1: ( rule__SEMVER_TAG__Group__0__Impl rule__SEMVER_TAG__Group__1 ) - // InternalSemver.g:3653:2: rule__SEMVER_TAG__Group__0__Impl rule__SEMVER_TAG__Group__1 + // InternalSemver.g:3870:1: ( rule__SEMVER_TAG__Group__0__Impl rule__SEMVER_TAG__Group__1 ) + // InternalSemver.g:3871:2: rule__SEMVER_TAG__Group__0__Impl rule__SEMVER_TAG__Group__1 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_28); rule__SEMVER_TAG__Group__0__Impl(); state._fsp--; @@ -12614,17 +13417,17 @@ public final void rule__SEMVER_TAG__Group__0() throws RecognitionException { // $ANTLR start "rule__SEMVER_TAG__Group__0__Impl" - // InternalSemver.g:3660:1: rule__SEMVER_TAG__Group__0__Impl : ( RULE_LETTER_S ) ; + // InternalSemver.g:3878:1: rule__SEMVER_TAG__Group__0__Impl : ( RULE_LETTER_S ) ; public final void rule__SEMVER_TAG__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3664:1: ( ( RULE_LETTER_S ) ) - // InternalSemver.g:3665:1: ( RULE_LETTER_S ) + // InternalSemver.g:3882:1: ( ( RULE_LETTER_S ) ) + // InternalSemver.g:3883:1: ( RULE_LETTER_S ) { - // InternalSemver.g:3665:1: ( RULE_LETTER_S ) - // InternalSemver.g:3666:2: RULE_LETTER_S + // InternalSemver.g:3883:1: ( RULE_LETTER_S ) + // InternalSemver.g:3884:2: RULE_LETTER_S { if ( state.backtracking==0 ) { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_STerminalRuleCall_0()); @@ -12655,16 +13458,16 @@ public final void rule__SEMVER_TAG__Group__0__Impl() throws RecognitionException // $ANTLR start "rule__SEMVER_TAG__Group__1" - // InternalSemver.g:3675:1: rule__SEMVER_TAG__Group__1 : rule__SEMVER_TAG__Group__1__Impl rule__SEMVER_TAG__Group__2 ; + // InternalSemver.g:3893:1: rule__SEMVER_TAG__Group__1 : rule__SEMVER_TAG__Group__1__Impl rule__SEMVER_TAG__Group__2 ; public final void rule__SEMVER_TAG__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3679:1: ( rule__SEMVER_TAG__Group__1__Impl rule__SEMVER_TAG__Group__2 ) - // InternalSemver.g:3680:2: rule__SEMVER_TAG__Group__1__Impl rule__SEMVER_TAG__Group__2 + // InternalSemver.g:3897:1: ( rule__SEMVER_TAG__Group__1__Impl rule__SEMVER_TAG__Group__2 ) + // InternalSemver.g:3898:2: rule__SEMVER_TAG__Group__1__Impl rule__SEMVER_TAG__Group__2 { - pushFollow(FOLLOW_27); + pushFollow(FOLLOW_29); rule__SEMVER_TAG__Group__1__Impl(); state._fsp--; @@ -12693,17 +13496,17 @@ public final void rule__SEMVER_TAG__Group__1() throws RecognitionException { // $ANTLR start "rule__SEMVER_TAG__Group__1__Impl" - // InternalSemver.g:3687:1: rule__SEMVER_TAG__Group__1__Impl : ( RULE_LETTER_E ) ; + // InternalSemver.g:3905:1: rule__SEMVER_TAG__Group__1__Impl : ( RULE_LETTER_E ) ; public final void rule__SEMVER_TAG__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3691:1: ( ( RULE_LETTER_E ) ) - // InternalSemver.g:3692:1: ( RULE_LETTER_E ) + // InternalSemver.g:3909:1: ( ( RULE_LETTER_E ) ) + // InternalSemver.g:3910:1: ( RULE_LETTER_E ) { - // InternalSemver.g:3692:1: ( RULE_LETTER_E ) - // InternalSemver.g:3693:2: RULE_LETTER_E + // InternalSemver.g:3910:1: ( RULE_LETTER_E ) + // InternalSemver.g:3911:2: RULE_LETTER_E { if ( state.backtracking==0 ) { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_1()); @@ -12734,16 +13537,16 @@ public final void rule__SEMVER_TAG__Group__1__Impl() throws RecognitionException // $ANTLR start "rule__SEMVER_TAG__Group__2" - // InternalSemver.g:3702:1: rule__SEMVER_TAG__Group__2 : rule__SEMVER_TAG__Group__2__Impl rule__SEMVER_TAG__Group__3 ; + // InternalSemver.g:3920:1: rule__SEMVER_TAG__Group__2 : rule__SEMVER_TAG__Group__2__Impl rule__SEMVER_TAG__Group__3 ; public final void rule__SEMVER_TAG__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3706:1: ( rule__SEMVER_TAG__Group__2__Impl rule__SEMVER_TAG__Group__3 ) - // InternalSemver.g:3707:2: rule__SEMVER_TAG__Group__2__Impl rule__SEMVER_TAG__Group__3 + // InternalSemver.g:3924:1: ( rule__SEMVER_TAG__Group__2__Impl rule__SEMVER_TAG__Group__3 ) + // InternalSemver.g:3925:2: rule__SEMVER_TAG__Group__2__Impl rule__SEMVER_TAG__Group__3 { - pushFollow(FOLLOW_28); + pushFollow(FOLLOW_30); rule__SEMVER_TAG__Group__2__Impl(); state._fsp--; @@ -12772,17 +13575,17 @@ public final void rule__SEMVER_TAG__Group__2() throws RecognitionException { // $ANTLR start "rule__SEMVER_TAG__Group__2__Impl" - // InternalSemver.g:3714:1: rule__SEMVER_TAG__Group__2__Impl : ( RULE_LETTER_M ) ; + // InternalSemver.g:3932:1: rule__SEMVER_TAG__Group__2__Impl : ( RULE_LETTER_M ) ; public final void rule__SEMVER_TAG__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3718:1: ( ( RULE_LETTER_M ) ) - // InternalSemver.g:3719:1: ( RULE_LETTER_M ) + // InternalSemver.g:3936:1: ( ( RULE_LETTER_M ) ) + // InternalSemver.g:3937:1: ( RULE_LETTER_M ) { - // InternalSemver.g:3719:1: ( RULE_LETTER_M ) - // InternalSemver.g:3720:2: RULE_LETTER_M + // InternalSemver.g:3937:1: ( RULE_LETTER_M ) + // InternalSemver.g:3938:2: RULE_LETTER_M { if ( state.backtracking==0 ) { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_MTerminalRuleCall_2()); @@ -12813,16 +13616,16 @@ public final void rule__SEMVER_TAG__Group__2__Impl() throws RecognitionException // $ANTLR start "rule__SEMVER_TAG__Group__3" - // InternalSemver.g:3729:1: rule__SEMVER_TAG__Group__3 : rule__SEMVER_TAG__Group__3__Impl rule__SEMVER_TAG__Group__4 ; + // InternalSemver.g:3947:1: rule__SEMVER_TAG__Group__3 : rule__SEMVER_TAG__Group__3__Impl rule__SEMVER_TAG__Group__4 ; public final void rule__SEMVER_TAG__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3733:1: ( rule__SEMVER_TAG__Group__3__Impl rule__SEMVER_TAG__Group__4 ) - // InternalSemver.g:3734:2: rule__SEMVER_TAG__Group__3__Impl rule__SEMVER_TAG__Group__4 + // InternalSemver.g:3951:1: ( rule__SEMVER_TAG__Group__3__Impl rule__SEMVER_TAG__Group__4 ) + // InternalSemver.g:3952:2: rule__SEMVER_TAG__Group__3__Impl rule__SEMVER_TAG__Group__4 { - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_28); rule__SEMVER_TAG__Group__3__Impl(); state._fsp--; @@ -12851,17 +13654,17 @@ public final void rule__SEMVER_TAG__Group__3() throws RecognitionException { // $ANTLR start "rule__SEMVER_TAG__Group__3__Impl" - // InternalSemver.g:3741:1: rule__SEMVER_TAG__Group__3__Impl : ( RULE_LETTER_V ) ; + // InternalSemver.g:3959:1: rule__SEMVER_TAG__Group__3__Impl : ( RULE_LETTER_V ) ; public final void rule__SEMVER_TAG__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3745:1: ( ( RULE_LETTER_V ) ) - // InternalSemver.g:3746:1: ( RULE_LETTER_V ) + // InternalSemver.g:3963:1: ( ( RULE_LETTER_V ) ) + // InternalSemver.g:3964:1: ( RULE_LETTER_V ) { - // InternalSemver.g:3746:1: ( RULE_LETTER_V ) - // InternalSemver.g:3747:2: RULE_LETTER_V + // InternalSemver.g:3964:1: ( RULE_LETTER_V ) + // InternalSemver.g:3965:2: RULE_LETTER_V { if ( state.backtracking==0 ) { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_VTerminalRuleCall_3()); @@ -12892,16 +13695,16 @@ public final void rule__SEMVER_TAG__Group__3__Impl() throws RecognitionException // $ANTLR start "rule__SEMVER_TAG__Group__4" - // InternalSemver.g:3756:1: rule__SEMVER_TAG__Group__4 : rule__SEMVER_TAG__Group__4__Impl rule__SEMVER_TAG__Group__5 ; + // InternalSemver.g:3974:1: rule__SEMVER_TAG__Group__4 : rule__SEMVER_TAG__Group__4__Impl rule__SEMVER_TAG__Group__5 ; public final void rule__SEMVER_TAG__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3760:1: ( rule__SEMVER_TAG__Group__4__Impl rule__SEMVER_TAG__Group__5 ) - // InternalSemver.g:3761:2: rule__SEMVER_TAG__Group__4__Impl rule__SEMVER_TAG__Group__5 + // InternalSemver.g:3978:1: ( rule__SEMVER_TAG__Group__4__Impl rule__SEMVER_TAG__Group__5 ) + // InternalSemver.g:3979:2: rule__SEMVER_TAG__Group__4__Impl rule__SEMVER_TAG__Group__5 { - pushFollow(FOLLOW_29); + pushFollow(FOLLOW_31); rule__SEMVER_TAG__Group__4__Impl(); state._fsp--; @@ -12930,17 +13733,17 @@ public final void rule__SEMVER_TAG__Group__4() throws RecognitionException { // $ANTLR start "rule__SEMVER_TAG__Group__4__Impl" - // InternalSemver.g:3768:1: rule__SEMVER_TAG__Group__4__Impl : ( RULE_LETTER_E ) ; + // InternalSemver.g:3986:1: rule__SEMVER_TAG__Group__4__Impl : ( RULE_LETTER_E ) ; public final void rule__SEMVER_TAG__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3772:1: ( ( RULE_LETTER_E ) ) - // InternalSemver.g:3773:1: ( RULE_LETTER_E ) + // InternalSemver.g:3990:1: ( ( RULE_LETTER_E ) ) + // InternalSemver.g:3991:1: ( RULE_LETTER_E ) { - // InternalSemver.g:3773:1: ( RULE_LETTER_E ) - // InternalSemver.g:3774:2: RULE_LETTER_E + // InternalSemver.g:3991:1: ( RULE_LETTER_E ) + // InternalSemver.g:3992:2: RULE_LETTER_E { if ( state.backtracking==0 ) { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_4()); @@ -12971,16 +13774,16 @@ public final void rule__SEMVER_TAG__Group__4__Impl() throws RecognitionException // $ANTLR start "rule__SEMVER_TAG__Group__5" - // InternalSemver.g:3783:1: rule__SEMVER_TAG__Group__5 : rule__SEMVER_TAG__Group__5__Impl rule__SEMVER_TAG__Group__6 ; + // InternalSemver.g:4001:1: rule__SEMVER_TAG__Group__5 : rule__SEMVER_TAG__Group__5__Impl rule__SEMVER_TAG__Group__6 ; public final void rule__SEMVER_TAG__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3787:1: ( rule__SEMVER_TAG__Group__5__Impl rule__SEMVER_TAG__Group__6 ) - // InternalSemver.g:3788:2: rule__SEMVER_TAG__Group__5__Impl rule__SEMVER_TAG__Group__6 + // InternalSemver.g:4005:1: ( rule__SEMVER_TAG__Group__5__Impl rule__SEMVER_TAG__Group__6 ) + // InternalSemver.g:4006:2: rule__SEMVER_TAG__Group__5__Impl rule__SEMVER_TAG__Group__6 { - pushFollow(FOLLOW_7); + pushFollow(FOLLOW_8); rule__SEMVER_TAG__Group__5__Impl(); state._fsp--; @@ -13009,17 +13812,17 @@ public final void rule__SEMVER_TAG__Group__5() throws RecognitionException { // $ANTLR start "rule__SEMVER_TAG__Group__5__Impl" - // InternalSemver.g:3795:1: rule__SEMVER_TAG__Group__5__Impl : ( RULE_LETTER_R ) ; + // InternalSemver.g:4013:1: rule__SEMVER_TAG__Group__5__Impl : ( RULE_LETTER_R ) ; public final void rule__SEMVER_TAG__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3799:1: ( ( RULE_LETTER_R ) ) - // InternalSemver.g:3800:1: ( RULE_LETTER_R ) + // InternalSemver.g:4017:1: ( ( RULE_LETTER_R ) ) + // InternalSemver.g:4018:1: ( RULE_LETTER_R ) { - // InternalSemver.g:3800:1: ( RULE_LETTER_R ) - // InternalSemver.g:3801:2: RULE_LETTER_R + // InternalSemver.g:4018:1: ( RULE_LETTER_R ) + // InternalSemver.g:4019:2: RULE_LETTER_R { if ( state.backtracking==0 ) { before(grammarAccess.getSEMVER_TAGAccess().getLETTER_RTerminalRuleCall_5()); @@ -13050,14 +13853,14 @@ public final void rule__SEMVER_TAG__Group__5__Impl() throws RecognitionException // $ANTLR start "rule__SEMVER_TAG__Group__6" - // InternalSemver.g:3810:1: rule__SEMVER_TAG__Group__6 : rule__SEMVER_TAG__Group__6__Impl ; + // InternalSemver.g:4028:1: rule__SEMVER_TAG__Group__6 : rule__SEMVER_TAG__Group__6__Impl ; public final void rule__SEMVER_TAG__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3814:1: ( rule__SEMVER_TAG__Group__6__Impl ) - // InternalSemver.g:3815:2: rule__SEMVER_TAG__Group__6__Impl + // InternalSemver.g:4032:1: ( rule__SEMVER_TAG__Group__6__Impl ) + // InternalSemver.g:4033:2: rule__SEMVER_TAG__Group__6__Impl { pushFollow(FOLLOW_2); rule__SEMVER_TAG__Group__6__Impl(); @@ -13083,22 +13886,22 @@ public final void rule__SEMVER_TAG__Group__6() throws RecognitionException { // $ANTLR start "rule__SEMVER_TAG__Group__6__Impl" - // InternalSemver.g:3821:1: rule__SEMVER_TAG__Group__6__Impl : ( ':' ) ; + // InternalSemver.g:4039:1: rule__SEMVER_TAG__Group__6__Impl : ( ':' ) ; public final void rule__SEMVER_TAG__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3825:1: ( ( ':' ) ) - // InternalSemver.g:3826:1: ( ':' ) + // InternalSemver.g:4043:1: ( ( ':' ) ) + // InternalSemver.g:4044:1: ( ':' ) { - // InternalSemver.g:3826:1: ( ':' ) - // InternalSemver.g:3827:2: ':' + // InternalSemver.g:4044:1: ( ':' ) + // InternalSemver.g:4045:2: ':' { if ( state.backtracking==0 ) { before(grammarAccess.getSEMVER_TAGAccess().getColonKeyword_6()); } - match(input,41,FOLLOW_2); if (state.failed) return ; + match(input,46,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { after(grammarAccess.getSEMVER_TAGAccess().getColonKeyword_6()); } @@ -13123,23 +13926,23 @@ public final void rule__SEMVER_TAG__Group__6__Impl() throws RecognitionException // $ANTLR end "rule__SEMVER_TAG__Group__6__Impl" - // $ANTLR start "rule__URL_PROTOCOL__Group__0" - // InternalSemver.g:3837:1: rule__URL_PROTOCOL__Group__0 : rule__URL_PROTOCOL__Group__0__Impl rule__URL_PROTOCOL__Group__1 ; - public final void rule__URL_PROTOCOL__Group__0() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__0" + // InternalSemver.g:4055:1: rule__WORKSPACE_TAG__Group__0 : rule__WORKSPACE_TAG__Group__0__Impl rule__WORKSPACE_TAG__Group__1 ; + public final void rule__WORKSPACE_TAG__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3841:1: ( rule__URL_PROTOCOL__Group__0__Impl rule__URL_PROTOCOL__Group__1 ) - // InternalSemver.g:3842:2: rule__URL_PROTOCOL__Group__0__Impl rule__URL_PROTOCOL__Group__1 + // InternalSemver.g:4059:1: ( rule__WORKSPACE_TAG__Group__0__Impl rule__WORKSPACE_TAG__Group__1 ) + // InternalSemver.g:4060:2: rule__WORKSPACE_TAG__Group__0__Impl rule__WORKSPACE_TAG__Group__1 { - pushFollow(FOLLOW_30); - rule__URL_PROTOCOL__Group__0__Impl(); + pushFollow(FOLLOW_32); + rule__WORKSPACE_TAG__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__URL_PROTOCOL__Group__1(); + rule__WORKSPACE_TAG__Group__1(); state._fsp--; if (state.failed) return ; @@ -13158,32 +13961,28 @@ public final void rule__URL_PROTOCOL__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL_PROTOCOL__Group__0" + // $ANTLR end "rule__WORKSPACE_TAG__Group__0" - // $ANTLR start "rule__URL_PROTOCOL__Group__0__Impl" - // InternalSemver.g:3849:1: rule__URL_PROTOCOL__Group__0__Impl : ( ruleLETTER_NO_VX ) ; - public final void rule__URL_PROTOCOL__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__0__Impl" + // InternalSemver.g:4067:1: rule__WORKSPACE_TAG__Group__0__Impl : ( RULE_LETTER_W ) ; + public final void rule__WORKSPACE_TAG__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3853:1: ( ( ruleLETTER_NO_VX ) ) - // InternalSemver.g:3854:1: ( ruleLETTER_NO_VX ) + // InternalSemver.g:4071:1: ( ( RULE_LETTER_W ) ) + // InternalSemver.g:4072:1: ( RULE_LETTER_W ) { - // InternalSemver.g:3854:1: ( ruleLETTER_NO_VX ) - // InternalSemver.g:3855:2: ruleLETTER_NO_VX + // InternalSemver.g:4072:1: ( RULE_LETTER_W ) + // InternalSemver.g:4073:2: RULE_LETTER_W { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_PROTOCOLAccess().getLETTER_NO_VXParserRuleCall_0()); + before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_WTerminalRuleCall_0()); } - pushFollow(FOLLOW_2); - ruleLETTER_NO_VX(); - - state._fsp--; - if (state.failed) return ; + match(input,RULE_LETTER_W,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_PROTOCOLAccess().getLETTER_NO_VXParserRuleCall_0()); + after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_WTerminalRuleCall_0()); } } @@ -13203,21 +14002,26 @@ public final void rule__URL_PROTOCOL__Group__0__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__URL_PROTOCOL__Group__0__Impl" + // $ANTLR end "rule__WORKSPACE_TAG__Group__0__Impl" - // $ANTLR start "rule__URL_PROTOCOL__Group__1" - // InternalSemver.g:3864:1: rule__URL_PROTOCOL__Group__1 : rule__URL_PROTOCOL__Group__1__Impl ; - public final void rule__URL_PROTOCOL__Group__1() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__1" + // InternalSemver.g:4082:1: rule__WORKSPACE_TAG__Group__1 : rule__WORKSPACE_TAG__Group__1__Impl rule__WORKSPACE_TAG__Group__2 ; + public final void rule__WORKSPACE_TAG__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3868:1: ( rule__URL_PROTOCOL__Group__1__Impl ) - // InternalSemver.g:3869:2: rule__URL_PROTOCOL__Group__1__Impl + // InternalSemver.g:4086:1: ( rule__WORKSPACE_TAG__Group__1__Impl rule__WORKSPACE_TAG__Group__2 ) + // InternalSemver.g:4087:2: rule__WORKSPACE_TAG__Group__1__Impl rule__WORKSPACE_TAG__Group__2 { + pushFollow(FOLLOW_31); + rule__WORKSPACE_TAG__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__URL_PROTOCOL__Group__1__Impl(); + rule__WORKSPACE_TAG__Group__2(); state._fsp--; if (state.failed) return ; @@ -13236,87 +14040,30 @@ public final void rule__URL_PROTOCOL__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL_PROTOCOL__Group__1" + // $ANTLR end "rule__WORKSPACE_TAG__Group__1" - // $ANTLR start "rule__URL_PROTOCOL__Group__1__Impl" - // InternalSemver.g:3875:1: rule__URL_PROTOCOL__Group__1__Impl : ( ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) ) ; - public final void rule__URL_PROTOCOL__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__1__Impl" + // InternalSemver.g:4094:1: rule__WORKSPACE_TAG__Group__1__Impl : ( RULE_LETTER_O ) ; + public final void rule__WORKSPACE_TAG__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3879:1: ( ( ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) ) ) - // InternalSemver.g:3880:1: ( ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) ) + // InternalSemver.g:4098:1: ( ( RULE_LETTER_O ) ) + // InternalSemver.g:4099:1: ( RULE_LETTER_O ) { - // InternalSemver.g:3880:1: ( ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) ) - // InternalSemver.g:3881:2: ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) - { - // InternalSemver.g:3881:2: ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) - // InternalSemver.g:3882:3: ( rule__URL_PROTOCOL__Alternatives_1 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURL_PROTOCOLAccess().getAlternatives_1()); - } - // InternalSemver.g:3883:3: ( rule__URL_PROTOCOL__Alternatives_1 ) - // InternalSemver.g:3883:4: rule__URL_PROTOCOL__Alternatives_1 - { - pushFollow(FOLLOW_31); - rule__URL_PROTOCOL__Alternatives_1(); - - state._fsp--; - if (state.failed) return ; - - } - - if ( state.backtracking==0 ) { - after(grammarAccess.getURL_PROTOCOLAccess().getAlternatives_1()); - } - - } - - // InternalSemver.g:3886:2: ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) - // InternalSemver.g:3887:3: ( rule__URL_PROTOCOL__Alternatives_1 )* + // InternalSemver.g:4099:1: ( RULE_LETTER_O ) + // InternalSemver.g:4100:2: RULE_LETTER_O { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_PROTOCOLAccess().getAlternatives_1()); + before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_OTerminalRuleCall_1()); } - // InternalSemver.g:3888:3: ( rule__URL_PROTOCOL__Alternatives_1 )* - loop46: - do { - int alt46=2; - int LA46_0 = input.LA(1); - - if ( (LA46_0==RULE_LETTER_X||(LA46_0>=RULE_LETTER_V && LA46_0<=RULE_LETTER_OTHER)||LA46_0==40) ) { - alt46=1; - } - - - switch (alt46) { - case 1 : - // InternalSemver.g:3888:4: rule__URL_PROTOCOL__Alternatives_1 - { - pushFollow(FOLLOW_31); - rule__URL_PROTOCOL__Alternatives_1(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop46; - } - } while (true); - + match(input,RULE_LETTER_O,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_PROTOCOLAccess().getAlternatives_1()); - } - + after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_OTerminalRuleCall_1()); } - } @@ -13334,26 +14081,26 @@ public final void rule__URL_PROTOCOL__Group__1__Impl() throws RecognitionExcepti } return ; } - // $ANTLR end "rule__URL_PROTOCOL__Group__1__Impl" + // $ANTLR end "rule__WORKSPACE_TAG__Group__1__Impl" - // $ANTLR start "rule__URL__Group__0" - // InternalSemver.g:3898:1: rule__URL__Group__0 : rule__URL__Group__0__Impl rule__URL__Group__1 ; - public final void rule__URL__Group__0() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__2" + // InternalSemver.g:4109:1: rule__WORKSPACE_TAG__Group__2 : rule__WORKSPACE_TAG__Group__2__Impl rule__WORKSPACE_TAG__Group__3 ; + public final void rule__WORKSPACE_TAG__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3902:1: ( rule__URL__Group__0__Impl rule__URL__Group__1 ) - // InternalSemver.g:3903:2: rule__URL__Group__0__Impl rule__URL__Group__1 + // InternalSemver.g:4113:1: ( rule__WORKSPACE_TAG__Group__2__Impl rule__WORKSPACE_TAG__Group__3 ) + // InternalSemver.g:4114:2: rule__WORKSPACE_TAG__Group__2__Impl rule__WORKSPACE_TAG__Group__3 { - pushFollow(FOLLOW_8); - rule__URL__Group__0__Impl(); + pushFollow(FOLLOW_33); + rule__WORKSPACE_TAG__Group__2__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__URL__Group__1(); + rule__WORKSPACE_TAG__Group__3(); state._fsp--; if (state.failed) return ; @@ -13372,56 +14119,28 @@ public final void rule__URL__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL__Group__0" + // $ANTLR end "rule__WORKSPACE_TAG__Group__2" - // $ANTLR start "rule__URL__Group__0__Impl" - // InternalSemver.g:3910:1: rule__URL__Group__0__Impl : ( ( rule__URL__Alternatives_0 )* ) ; - public final void rule__URL__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__2__Impl" + // InternalSemver.g:4121:1: rule__WORKSPACE_TAG__Group__2__Impl : ( RULE_LETTER_R ) ; + public final void rule__WORKSPACE_TAG__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3914:1: ( ( ( rule__URL__Alternatives_0 )* ) ) - // InternalSemver.g:3915:1: ( ( rule__URL__Alternatives_0 )* ) + // InternalSemver.g:4125:1: ( ( RULE_LETTER_R ) ) + // InternalSemver.g:4126:1: ( RULE_LETTER_R ) { - // InternalSemver.g:3915:1: ( ( rule__URL__Alternatives_0 )* ) - // InternalSemver.g:3916:2: ( rule__URL__Alternatives_0 )* + // InternalSemver.g:4126:1: ( RULE_LETTER_R ) + // InternalSemver.g:4127:2: RULE_LETTER_R { if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().getAlternatives_0()); + before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_RTerminalRuleCall_2()); } - // InternalSemver.g:3917:2: ( rule__URL__Alternatives_0 )* - loop47: - do { - int alt47=2; - int LA47_0 = input.LA(1); - - if ( ((LA47_0>=RULE_DIGITS && LA47_0<=RULE_LETTER_X)||(LA47_0>=RULE_LETTER_V && LA47_0<=RULE_LETTER_OTHER)||(LA47_0>=38 && LA47_0<=39)) ) { - alt47=1; - } - - - switch (alt47) { - case 1 : - // InternalSemver.g:3917:3: rule__URL__Alternatives_0 - { - pushFollow(FOLLOW_3); - rule__URL__Alternatives_0(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop47; - } - } while (true); - + match(input,RULE_LETTER_R,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().getAlternatives_0()); + after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_RTerminalRuleCall_2()); } } @@ -13441,26 +14160,26 @@ public final void rule__URL__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL__Group__0__Impl" + // $ANTLR end "rule__WORKSPACE_TAG__Group__2__Impl" - // $ANTLR start "rule__URL__Group__1" - // InternalSemver.g:3925:1: rule__URL__Group__1 : rule__URL__Group__1__Impl rule__URL__Group__2 ; - public final void rule__URL__Group__1() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__3" + // InternalSemver.g:4136:1: rule__WORKSPACE_TAG__Group__3 : rule__WORKSPACE_TAG__Group__3__Impl rule__WORKSPACE_TAG__Group__4 ; + public final void rule__WORKSPACE_TAG__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3929:1: ( rule__URL__Group__1__Impl rule__URL__Group__2 ) - // InternalSemver.g:3930:2: rule__URL__Group__1__Impl rule__URL__Group__2 + // InternalSemver.g:4140:1: ( rule__WORKSPACE_TAG__Group__3__Impl rule__WORKSPACE_TAG__Group__4 ) + // InternalSemver.g:4141:2: rule__WORKSPACE_TAG__Group__3__Impl rule__WORKSPACE_TAG__Group__4 { - pushFollow(FOLLOW_8); - rule__URL__Group__1__Impl(); + pushFollow(FOLLOW_34); + rule__WORKSPACE_TAG__Group__3__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__URL__Group__2(); + rule__WORKSPACE_TAG__Group__4(); state._fsp--; if (state.failed) return ; @@ -13479,38 +14198,28 @@ public final void rule__URL__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL__Group__1" + // $ANTLR end "rule__WORKSPACE_TAG__Group__3" - // $ANTLR start "rule__URL__Group__1__Impl" - // InternalSemver.g:3937:1: rule__URL__Group__1__Impl : ( ( rule__URL__Alternatives_1 ) ) ; - public final void rule__URL__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__3__Impl" + // InternalSemver.g:4148:1: rule__WORKSPACE_TAG__Group__3__Impl : ( RULE_LETTER_K ) ; + public final void rule__WORKSPACE_TAG__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3941:1: ( ( ( rule__URL__Alternatives_1 ) ) ) - // InternalSemver.g:3942:1: ( ( rule__URL__Alternatives_1 ) ) + // InternalSemver.g:4152:1: ( ( RULE_LETTER_K ) ) + // InternalSemver.g:4153:1: ( RULE_LETTER_K ) { - // InternalSemver.g:3942:1: ( ( rule__URL__Alternatives_1 ) ) - // InternalSemver.g:3943:2: ( rule__URL__Alternatives_1 ) + // InternalSemver.g:4153:1: ( RULE_LETTER_K ) + // InternalSemver.g:4154:2: RULE_LETTER_K { if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().getAlternatives_1()); - } - // InternalSemver.g:3944:2: ( rule__URL__Alternatives_1 ) - // InternalSemver.g:3944:3: rule__URL__Alternatives_1 - { - pushFollow(FOLLOW_2); - rule__URL__Alternatives_1(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_KTerminalRuleCall_3()); } - + match(input,RULE_LETTER_K,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().getAlternatives_1()); + after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_KTerminalRuleCall_3()); } } @@ -13530,21 +14239,26 @@ public final void rule__URL__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL__Group__1__Impl" + // $ANTLR end "rule__WORKSPACE_TAG__Group__3__Impl" - // $ANTLR start "rule__URL__Group__2" - // InternalSemver.g:3952:1: rule__URL__Group__2 : rule__URL__Group__2__Impl ; - public final void rule__URL__Group__2() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__4" + // InternalSemver.g:4163:1: rule__WORKSPACE_TAG__Group__4 : rule__WORKSPACE_TAG__Group__4__Impl rule__WORKSPACE_TAG__Group__5 ; + public final void rule__WORKSPACE_TAG__Group__4() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3956:1: ( rule__URL__Group__2__Impl ) - // InternalSemver.g:3957:2: rule__URL__Group__2__Impl + // InternalSemver.g:4167:1: ( rule__WORKSPACE_TAG__Group__4__Impl rule__WORKSPACE_TAG__Group__5 ) + // InternalSemver.g:4168:2: rule__WORKSPACE_TAG__Group__4__Impl rule__WORKSPACE_TAG__Group__5 { + pushFollow(FOLLOW_35); + rule__WORKSPACE_TAG__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__URL__Group__2__Impl(); + rule__WORKSPACE_TAG__Group__5(); state._fsp--; if (state.failed) return ; @@ -13563,56 +14277,28 @@ public final void rule__URL__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL__Group__2" + // $ANTLR end "rule__WORKSPACE_TAG__Group__4" - // $ANTLR start "rule__URL__Group__2__Impl" - // InternalSemver.g:3963:1: rule__URL__Group__2__Impl : ( ( rule__URL__Alternatives_2 )* ) ; - public final void rule__URL__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__4__Impl" + // InternalSemver.g:4175:1: rule__WORKSPACE_TAG__Group__4__Impl : ( RULE_LETTER_S ) ; + public final void rule__WORKSPACE_TAG__Group__4__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3967:1: ( ( ( rule__URL__Alternatives_2 )* ) ) - // InternalSemver.g:3968:1: ( ( rule__URL__Alternatives_2 )* ) + // InternalSemver.g:4179:1: ( ( RULE_LETTER_S ) ) + // InternalSemver.g:4180:1: ( RULE_LETTER_S ) { - // InternalSemver.g:3968:1: ( ( rule__URL__Alternatives_2 )* ) - // InternalSemver.g:3969:2: ( rule__URL__Alternatives_2 )* + // InternalSemver.g:4180:1: ( RULE_LETTER_S ) + // InternalSemver.g:4181:2: RULE_LETTER_S { if ( state.backtracking==0 ) { - before(grammarAccess.getURLAccess().getAlternatives_2()); + before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_STerminalRuleCall_4()); } - // InternalSemver.g:3970:2: ( rule__URL__Alternatives_2 )* - loop48: - do { - int alt48=2; - int LA48_0 = input.LA(1); - - if ( ((LA48_0>=RULE_DIGITS && LA48_0<=RULE_LETTER_X)||(LA48_0>=RULE_LETTER_V && LA48_0<=RULE_LETTER_OTHER)||(LA48_0>=35 && LA48_0<=39)||LA48_0==41) ) { - alt48=1; - } - - - switch (alt48) { - case 1 : - // InternalSemver.g:3970:3: rule__URL__Alternatives_2 - { - pushFollow(FOLLOW_32); - rule__URL__Alternatives_2(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop48; - } - } while (true); - + match(input,RULE_LETTER_S,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURLAccess().getAlternatives_2()); + after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_STerminalRuleCall_4()); } } @@ -13632,26 +14318,26 @@ public final void rule__URL__Group__2__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL__Group__2__Impl" + // $ANTLR end "rule__WORKSPACE_TAG__Group__4__Impl" - // $ANTLR start "rule__URL_NO_VX__Group__0" - // InternalSemver.g:3979:1: rule__URL_NO_VX__Group__0 : rule__URL_NO_VX__Group__0__Impl rule__URL_NO_VX__Group__1 ; - public final void rule__URL_NO_VX__Group__0() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__5" + // InternalSemver.g:4190:1: rule__WORKSPACE_TAG__Group__5 : rule__WORKSPACE_TAG__Group__5__Impl rule__WORKSPACE_TAG__Group__6 ; + public final void rule__WORKSPACE_TAG__Group__5() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3983:1: ( rule__URL_NO_VX__Group__0__Impl rule__URL_NO_VX__Group__1 ) - // InternalSemver.g:3984:2: rule__URL_NO_VX__Group__0__Impl rule__URL_NO_VX__Group__1 + // InternalSemver.g:4194:1: ( rule__WORKSPACE_TAG__Group__5__Impl rule__WORKSPACE_TAG__Group__6 ) + // InternalSemver.g:4195:2: rule__WORKSPACE_TAG__Group__5__Impl rule__WORKSPACE_TAG__Group__6 { - pushFollow(FOLLOW_8); - rule__URL_NO_VX__Group__0__Impl(); + pushFollow(FOLLOW_36); + rule__WORKSPACE_TAG__Group__5__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__URL_NO_VX__Group__1(); + rule__WORKSPACE_TAG__Group__6(); state._fsp--; if (state.failed) return ; @@ -13670,38 +14356,28 @@ public final void rule__URL_NO_VX__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL_NO_VX__Group__0" + // $ANTLR end "rule__WORKSPACE_TAG__Group__5" - // $ANTLR start "rule__URL_NO_VX__Group__0__Impl" - // InternalSemver.g:3991:1: rule__URL_NO_VX__Group__0__Impl : ( ( rule__URL_NO_VX__Alternatives_0 ) ) ; - public final void rule__URL_NO_VX__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__5__Impl" + // InternalSemver.g:4202:1: rule__WORKSPACE_TAG__Group__5__Impl : ( RULE_LETTER_P ) ; + public final void rule__WORKSPACE_TAG__Group__5__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:3995:1: ( ( ( rule__URL_NO_VX__Alternatives_0 ) ) ) - // InternalSemver.g:3996:1: ( ( rule__URL_NO_VX__Alternatives_0 ) ) + // InternalSemver.g:4206:1: ( ( RULE_LETTER_P ) ) + // InternalSemver.g:4207:1: ( RULE_LETTER_P ) { - // InternalSemver.g:3996:1: ( ( rule__URL_NO_VX__Alternatives_0 ) ) - // InternalSemver.g:3997:2: ( rule__URL_NO_VX__Alternatives_0 ) + // InternalSemver.g:4207:1: ( RULE_LETTER_P ) + // InternalSemver.g:4208:2: RULE_LETTER_P { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getAlternatives_0()); - } - // InternalSemver.g:3998:2: ( rule__URL_NO_VX__Alternatives_0 ) - // InternalSemver.g:3998:3: rule__URL_NO_VX__Alternatives_0 - { - pushFollow(FOLLOW_2); - rule__URL_NO_VX__Alternatives_0(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_PTerminalRuleCall_5()); } - + match(input,RULE_LETTER_P,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getAlternatives_0()); + after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_PTerminalRuleCall_5()); } } @@ -13721,26 +14397,26 @@ public final void rule__URL_NO_VX__Group__0__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__URL_NO_VX__Group__0__Impl" + // $ANTLR end "rule__WORKSPACE_TAG__Group__5__Impl" - // $ANTLR start "rule__URL_NO_VX__Group__1" - // InternalSemver.g:4006:1: rule__URL_NO_VX__Group__1 : rule__URL_NO_VX__Group__1__Impl rule__URL_NO_VX__Group__2 ; - public final void rule__URL_NO_VX__Group__1() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__6" + // InternalSemver.g:4217:1: rule__WORKSPACE_TAG__Group__6 : rule__WORKSPACE_TAG__Group__6__Impl rule__WORKSPACE_TAG__Group__7 ; + public final void rule__WORKSPACE_TAG__Group__6() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4010:1: ( rule__URL_NO_VX__Group__1__Impl rule__URL_NO_VX__Group__2 ) - // InternalSemver.g:4011:2: rule__URL_NO_VX__Group__1__Impl rule__URL_NO_VX__Group__2 + // InternalSemver.g:4221:1: ( rule__WORKSPACE_TAG__Group__6__Impl rule__WORKSPACE_TAG__Group__7 ) + // InternalSemver.g:4222:2: rule__WORKSPACE_TAG__Group__6__Impl rule__WORKSPACE_TAG__Group__7 { - pushFollow(FOLLOW_8); - rule__URL_NO_VX__Group__1__Impl(); + pushFollow(FOLLOW_37); + rule__WORKSPACE_TAG__Group__6__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__URL_NO_VX__Group__2(); + rule__WORKSPACE_TAG__Group__7(); state._fsp--; if (state.failed) return ; @@ -13759,56 +14435,107 @@ public final void rule__URL_NO_VX__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL_NO_VX__Group__1" + // $ANTLR end "rule__WORKSPACE_TAG__Group__6" - // $ANTLR start "rule__URL_NO_VX__Group__1__Impl" - // InternalSemver.g:4018:1: rule__URL_NO_VX__Group__1__Impl : ( ( rule__URL_NO_VX__Alternatives_1 )* ) ; - public final void rule__URL_NO_VX__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__6__Impl" + // InternalSemver.g:4229:1: rule__WORKSPACE_TAG__Group__6__Impl : ( RULE_LETTER_A ) ; + public final void rule__WORKSPACE_TAG__Group__6__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4022:1: ( ( ( rule__URL_NO_VX__Alternatives_1 )* ) ) - // InternalSemver.g:4023:1: ( ( rule__URL_NO_VX__Alternatives_1 )* ) + // InternalSemver.g:4233:1: ( ( RULE_LETTER_A ) ) + // InternalSemver.g:4234:1: ( RULE_LETTER_A ) { - // InternalSemver.g:4023:1: ( ( rule__URL_NO_VX__Alternatives_1 )* ) - // InternalSemver.g:4024:2: ( rule__URL_NO_VX__Alternatives_1 )* + // InternalSemver.g:4234:1: ( RULE_LETTER_A ) + // InternalSemver.g:4235:2: RULE_LETTER_A { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getAlternatives_1()); + before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ATerminalRuleCall_6()); + } + match(input,RULE_LETTER_A,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ATerminalRuleCall_6()); } - // InternalSemver.g:4025:2: ( rule__URL_NO_VX__Alternatives_1 )* - loop49: - do { - int alt49=2; - int LA49_0 = input.LA(1); - if ( ((LA49_0>=RULE_DIGITS && LA49_0<=RULE_LETTER_X)||(LA49_0>=RULE_LETTER_V && LA49_0<=RULE_LETTER_OTHER)||(LA49_0>=38 && LA49_0<=39)) ) { - alt49=1; - } + } - switch (alt49) { - case 1 : - // InternalSemver.g:4025:3: rule__URL_NO_VX__Alternatives_1 - { - pushFollow(FOLLOW_3); - rule__URL_NO_VX__Alternatives_1(); + } - state._fsp--; - if (state.failed) return ; + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { - } - break; + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WORKSPACE_TAG__Group__6__Impl" + + + // $ANTLR start "rule__WORKSPACE_TAG__Group__7" + // InternalSemver.g:4244:1: rule__WORKSPACE_TAG__Group__7 : rule__WORKSPACE_TAG__Group__7__Impl rule__WORKSPACE_TAG__Group__8 ; + public final void rule__WORKSPACE_TAG__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:4248:1: ( rule__WORKSPACE_TAG__Group__7__Impl rule__WORKSPACE_TAG__Group__8 ) + // InternalSemver.g:4249:2: rule__WORKSPACE_TAG__Group__7__Impl rule__WORKSPACE_TAG__Group__8 + { + pushFollow(FOLLOW_28); + rule__WORKSPACE_TAG__Group__7__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FOLLOW_2); + rule__WORKSPACE_TAG__Group__8(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WORKSPACE_TAG__Group__7" - default : - break loop49; - } - } while (true); + // $ANTLR start "rule__WORKSPACE_TAG__Group__7__Impl" + // InternalSemver.g:4256:1: rule__WORKSPACE_TAG__Group__7__Impl : ( RULE_LETTER_C ) ; + public final void rule__WORKSPACE_TAG__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:4260:1: ( ( RULE_LETTER_C ) ) + // InternalSemver.g:4261:1: ( RULE_LETTER_C ) + { + // InternalSemver.g:4261:1: ( RULE_LETTER_C ) + // InternalSemver.g:4262:2: RULE_LETTER_C + { if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getAlternatives_1()); + before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_CTerminalRuleCall_7()); + } + match(input,RULE_LETTER_C,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_CTerminalRuleCall_7()); } } @@ -13828,26 +14555,26 @@ public final void rule__URL_NO_VX__Group__1__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__URL_NO_VX__Group__1__Impl" + // $ANTLR end "rule__WORKSPACE_TAG__Group__7__Impl" - // $ANTLR start "rule__URL_NO_VX__Group__2" - // InternalSemver.g:4033:1: rule__URL_NO_VX__Group__2 : rule__URL_NO_VX__Group__2__Impl rule__URL_NO_VX__Group__3 ; - public final void rule__URL_NO_VX__Group__2() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__8" + // InternalSemver.g:4271:1: rule__WORKSPACE_TAG__Group__8 : rule__WORKSPACE_TAG__Group__8__Impl rule__WORKSPACE_TAG__Group__9 ; + public final void rule__WORKSPACE_TAG__Group__8() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4037:1: ( rule__URL_NO_VX__Group__2__Impl rule__URL_NO_VX__Group__3 ) - // InternalSemver.g:4038:2: rule__URL_NO_VX__Group__2__Impl rule__URL_NO_VX__Group__3 + // InternalSemver.g:4275:1: ( rule__WORKSPACE_TAG__Group__8__Impl rule__WORKSPACE_TAG__Group__9 ) + // InternalSemver.g:4276:2: rule__WORKSPACE_TAG__Group__8__Impl rule__WORKSPACE_TAG__Group__9 { pushFollow(FOLLOW_8); - rule__URL_NO_VX__Group__2__Impl(); + rule__WORKSPACE_TAG__Group__8__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__URL_NO_VX__Group__3(); + rule__WORKSPACE_TAG__Group__9(); state._fsp--; if (state.failed) return ; @@ -13866,38 +14593,28 @@ public final void rule__URL_NO_VX__Group__2() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL_NO_VX__Group__2" + // $ANTLR end "rule__WORKSPACE_TAG__Group__8" - // $ANTLR start "rule__URL_NO_VX__Group__2__Impl" - // InternalSemver.g:4045:1: rule__URL_NO_VX__Group__2__Impl : ( ( rule__URL_NO_VX__Alternatives_2 ) ) ; - public final void rule__URL_NO_VX__Group__2__Impl() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__8__Impl" + // InternalSemver.g:4283:1: rule__WORKSPACE_TAG__Group__8__Impl : ( RULE_LETTER_E ) ; + public final void rule__WORKSPACE_TAG__Group__8__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4049:1: ( ( ( rule__URL_NO_VX__Alternatives_2 ) ) ) - // InternalSemver.g:4050:1: ( ( rule__URL_NO_VX__Alternatives_2 ) ) + // InternalSemver.g:4287:1: ( ( RULE_LETTER_E ) ) + // InternalSemver.g:4288:1: ( RULE_LETTER_E ) { - // InternalSemver.g:4050:1: ( ( rule__URL_NO_VX__Alternatives_2 ) ) - // InternalSemver.g:4051:2: ( rule__URL_NO_VX__Alternatives_2 ) + // InternalSemver.g:4288:1: ( RULE_LETTER_E ) + // InternalSemver.g:4289:2: RULE_LETTER_E { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getAlternatives_2()); - } - // InternalSemver.g:4052:2: ( rule__URL_NO_VX__Alternatives_2 ) - // InternalSemver.g:4052:3: rule__URL_NO_VX__Alternatives_2 - { - pushFollow(FOLLOW_2); - rule__URL_NO_VX__Alternatives_2(); - - state._fsp--; - if (state.failed) return ; - + before(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ETerminalRuleCall_8()); } - + match(input,RULE_LETTER_E,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getAlternatives_2()); + after(grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ETerminalRuleCall_8()); } } @@ -13917,21 +14634,21 @@ public final void rule__URL_NO_VX__Group__2__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__URL_NO_VX__Group__2__Impl" + // $ANTLR end "rule__WORKSPACE_TAG__Group__8__Impl" - // $ANTLR start "rule__URL_NO_VX__Group__3" - // InternalSemver.g:4060:1: rule__URL_NO_VX__Group__3 : rule__URL_NO_VX__Group__3__Impl ; - public final void rule__URL_NO_VX__Group__3() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__9" + // InternalSemver.g:4298:1: rule__WORKSPACE_TAG__Group__9 : rule__WORKSPACE_TAG__Group__9__Impl ; + public final void rule__WORKSPACE_TAG__Group__9() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4064:1: ( rule__URL_NO_VX__Group__3__Impl ) - // InternalSemver.g:4065:2: rule__URL_NO_VX__Group__3__Impl + // InternalSemver.g:4302:1: ( rule__WORKSPACE_TAG__Group__9__Impl ) + // InternalSemver.g:4303:2: rule__WORKSPACE_TAG__Group__9__Impl { pushFollow(FOLLOW_2); - rule__URL_NO_VX__Group__3__Impl(); + rule__WORKSPACE_TAG__Group__9__Impl(); state._fsp--; if (state.failed) return ; @@ -13950,56 +14667,28 @@ public final void rule__URL_NO_VX__Group__3() throws RecognitionException { } return ; } - // $ANTLR end "rule__URL_NO_VX__Group__3" + // $ANTLR end "rule__WORKSPACE_TAG__Group__9" - // $ANTLR start "rule__URL_NO_VX__Group__3__Impl" - // InternalSemver.g:4071:1: rule__URL_NO_VX__Group__3__Impl : ( ( rule__URL_NO_VX__Alternatives_3 )* ) ; - public final void rule__URL_NO_VX__Group__3__Impl() throws RecognitionException { + // $ANTLR start "rule__WORKSPACE_TAG__Group__9__Impl" + // InternalSemver.g:4309:1: rule__WORKSPACE_TAG__Group__9__Impl : ( ':' ) ; + public final void rule__WORKSPACE_TAG__Group__9__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4075:1: ( ( ( rule__URL_NO_VX__Alternatives_3 )* ) ) - // InternalSemver.g:4076:1: ( ( rule__URL_NO_VX__Alternatives_3 )* ) + // InternalSemver.g:4313:1: ( ( ':' ) ) + // InternalSemver.g:4314:1: ( ':' ) { - // InternalSemver.g:4076:1: ( ( rule__URL_NO_VX__Alternatives_3 )* ) - // InternalSemver.g:4077:2: ( rule__URL_NO_VX__Alternatives_3 )* + // InternalSemver.g:4314:1: ( ':' ) + // InternalSemver.g:4315:2: ':' { if ( state.backtracking==0 ) { - before(grammarAccess.getURL_NO_VXAccess().getAlternatives_3()); + before(grammarAccess.getWORKSPACE_TAGAccess().getColonKeyword_9()); } - // InternalSemver.g:4078:2: ( rule__URL_NO_VX__Alternatives_3 )* - loop50: - do { - int alt50=2; - int LA50_0 = input.LA(1); - - if ( ((LA50_0>=RULE_DIGITS && LA50_0<=RULE_LETTER_X)||(LA50_0>=RULE_LETTER_V && LA50_0<=RULE_LETTER_OTHER)||(LA50_0>=35 && LA50_0<=39)||LA50_0==41) ) { - alt50=1; - } - - - switch (alt50) { - case 1 : - // InternalSemver.g:4078:3: rule__URL_NO_VX__Alternatives_3 - { - pushFollow(FOLLOW_32); - rule__URL_NO_VX__Alternatives_3(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop50; - } - } while (true); - + match(input,46,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURL_NO_VXAccess().getAlternatives_3()); + after(grammarAccess.getWORKSPACE_TAGAccess().getColonKeyword_9()); } } @@ -14019,26 +14708,26 @@ public final void rule__URL_NO_VX__Group__3__Impl() throws RecognitionException } return ; } - // $ANTLR end "rule__URL_NO_VX__Group__3__Impl" + // $ANTLR end "rule__WORKSPACE_TAG__Group__9__Impl" - // $ANTLR start "rule__TAG__Group__0" - // InternalSemver.g:4087:1: rule__TAG__Group__0 : rule__TAG__Group__0__Impl rule__TAG__Group__1 ; - public final void rule__TAG__Group__0() throws RecognitionException { + // $ANTLR start "rule__URL_PROTOCOL__Group__0" + // InternalSemver.g:4325:1: rule__URL_PROTOCOL__Group__0 : rule__URL_PROTOCOL__Group__0__Impl rule__URL_PROTOCOL__Group__1 ; + public final void rule__URL_PROTOCOL__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4091:1: ( rule__TAG__Group__0__Impl rule__TAG__Group__1 ) - // InternalSemver.g:4092:2: rule__TAG__Group__0__Impl rule__TAG__Group__1 + // InternalSemver.g:4329:1: ( rule__URL_PROTOCOL__Group__0__Impl rule__URL_PROTOCOL__Group__1 ) + // InternalSemver.g:4330:2: rule__URL_PROTOCOL__Group__0__Impl rule__URL_PROTOCOL__Group__1 { - pushFollow(FOLLOW_6); - rule__TAG__Group__0__Impl(); + pushFollow(FOLLOW_38); + rule__URL_PROTOCOL__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__TAG__Group__1(); + rule__URL_PROTOCOL__Group__1(); state._fsp--; if (state.failed) return ; @@ -14057,24 +14746,24 @@ public final void rule__TAG__Group__0() throws RecognitionException { } return ; } - // $ANTLR end "rule__TAG__Group__0" + // $ANTLR end "rule__URL_PROTOCOL__Group__0" - // $ANTLR start "rule__TAG__Group__0__Impl" - // InternalSemver.g:4099:1: rule__TAG__Group__0__Impl : ( ruleLETTER_NO_VX ) ; - public final void rule__TAG__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__URL_PROTOCOL__Group__0__Impl" + // InternalSemver.g:4337:1: rule__URL_PROTOCOL__Group__0__Impl : ( ruleLETTER_NO_VX ) ; + public final void rule__URL_PROTOCOL__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4103:1: ( ( ruleLETTER_NO_VX ) ) - // InternalSemver.g:4104:1: ( ruleLETTER_NO_VX ) + // InternalSemver.g:4341:1: ( ( ruleLETTER_NO_VX ) ) + // InternalSemver.g:4342:1: ( ruleLETTER_NO_VX ) { - // InternalSemver.g:4104:1: ( ruleLETTER_NO_VX ) - // InternalSemver.g:4105:2: ruleLETTER_NO_VX + // InternalSemver.g:4342:1: ( ruleLETTER_NO_VX ) + // InternalSemver.g:4343:2: ruleLETTER_NO_VX { if ( state.backtracking==0 ) { - before(grammarAccess.getTAGAccess().getLETTER_NO_VXParserRuleCall_0()); + before(grammarAccess.getURL_PROTOCOLAccess().getLETTER_NO_VXParserRuleCall_0()); } pushFollow(FOLLOW_2); ruleLETTER_NO_VX(); @@ -14082,7 +14771,7 @@ public final void rule__TAG__Group__0__Impl() throws RecognitionException { state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getTAGAccess().getLETTER_NO_VXParserRuleCall_0()); + after(grammarAccess.getURL_PROTOCOLAccess().getLETTER_NO_VXParserRuleCall_0()); } } @@ -14102,21 +14791,21 @@ public final void rule__TAG__Group__0__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__TAG__Group__0__Impl" + // $ANTLR end "rule__URL_PROTOCOL__Group__0__Impl" - // $ANTLR start "rule__TAG__Group__1" - // InternalSemver.g:4114:1: rule__TAG__Group__1 : rule__TAG__Group__1__Impl ; - public final void rule__TAG__Group__1() throws RecognitionException { + // $ANTLR start "rule__URL_PROTOCOL__Group__1" + // InternalSemver.g:4352:1: rule__URL_PROTOCOL__Group__1 : rule__URL_PROTOCOL__Group__1__Impl ; + public final void rule__URL_PROTOCOL__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4118:1: ( rule__TAG__Group__1__Impl ) - // InternalSemver.g:4119:2: rule__TAG__Group__1__Impl + // InternalSemver.g:4356:1: ( rule__URL_PROTOCOL__Group__1__Impl ) + // InternalSemver.g:4357:2: rule__URL_PROTOCOL__Group__1__Impl { pushFollow(FOLLOW_2); - rule__TAG__Group__1__Impl(); + rule__URL_PROTOCOL__Group__1__Impl(); state._fsp--; if (state.failed) return ; @@ -14135,33 +14824,33 @@ public final void rule__TAG__Group__1() throws RecognitionException { } return ; } - // $ANTLR end "rule__TAG__Group__1" + // $ANTLR end "rule__URL_PROTOCOL__Group__1" - // $ANTLR start "rule__TAG__Group__1__Impl" - // InternalSemver.g:4125:1: rule__TAG__Group__1__Impl : ( ( ( rule__TAG__Alternatives_1 ) ) ( ( rule__TAG__Alternatives_1 )* ) ) ; - public final void rule__TAG__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__URL_PROTOCOL__Group__1__Impl" + // InternalSemver.g:4363:1: rule__URL_PROTOCOL__Group__1__Impl : ( ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) ) ; + public final void rule__URL_PROTOCOL__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4129:1: ( ( ( ( rule__TAG__Alternatives_1 ) ) ( ( rule__TAG__Alternatives_1 )* ) ) ) - // InternalSemver.g:4130:1: ( ( ( rule__TAG__Alternatives_1 ) ) ( ( rule__TAG__Alternatives_1 )* ) ) + // InternalSemver.g:4367:1: ( ( ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) ) ) + // InternalSemver.g:4368:1: ( ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) ) { - // InternalSemver.g:4130:1: ( ( ( rule__TAG__Alternatives_1 ) ) ( ( rule__TAG__Alternatives_1 )* ) ) - // InternalSemver.g:4131:2: ( ( rule__TAG__Alternatives_1 ) ) ( ( rule__TAG__Alternatives_1 )* ) + // InternalSemver.g:4368:1: ( ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) ) + // InternalSemver.g:4369:2: ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) { - // InternalSemver.g:4131:2: ( ( rule__TAG__Alternatives_1 ) ) - // InternalSemver.g:4132:3: ( rule__TAG__Alternatives_1 ) + // InternalSemver.g:4369:2: ( ( rule__URL_PROTOCOL__Alternatives_1 ) ) + // InternalSemver.g:4370:3: ( rule__URL_PROTOCOL__Alternatives_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getTAGAccess().getAlternatives_1()); + before(grammarAccess.getURL_PROTOCOLAccess().getAlternatives_1()); } - // InternalSemver.g:4133:3: ( rule__TAG__Alternatives_1 ) - // InternalSemver.g:4133:4: rule__TAG__Alternatives_1 + // InternalSemver.g:4371:3: ( rule__URL_PROTOCOL__Alternatives_1 ) + // InternalSemver.g:4371:4: rule__URL_PROTOCOL__Alternatives_1 { - pushFollow(FOLLOW_3); - rule__TAG__Alternatives_1(); + pushFollow(FOLLOW_39); + rule__URL_PROTOCOL__Alternatives_1(); state._fsp--; if (state.failed) return ; @@ -14169,34 +14858,34 @@ public final void rule__TAG__Group__1__Impl() throws RecognitionException { } if ( state.backtracking==0 ) { - after(grammarAccess.getTAGAccess().getAlternatives_1()); + after(grammarAccess.getURL_PROTOCOLAccess().getAlternatives_1()); } } - // InternalSemver.g:4136:2: ( ( rule__TAG__Alternatives_1 )* ) - // InternalSemver.g:4137:3: ( rule__TAG__Alternatives_1 )* + // InternalSemver.g:4374:2: ( ( rule__URL_PROTOCOL__Alternatives_1 )* ) + // InternalSemver.g:4375:3: ( rule__URL_PROTOCOL__Alternatives_1 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getTAGAccess().getAlternatives_1()); + before(grammarAccess.getURL_PROTOCOLAccess().getAlternatives_1()); } - // InternalSemver.g:4138:3: ( rule__TAG__Alternatives_1 )* - loop51: + // InternalSemver.g:4376:3: ( rule__URL_PROTOCOL__Alternatives_1 )* + loop48: do { - int alt51=2; - int LA51_0 = input.LA(1); + int alt48=2; + int LA48_0 = input.LA(1); - if ( ((LA51_0>=RULE_DIGITS && LA51_0<=RULE_LETTER_X)||(LA51_0>=RULE_LETTER_V && LA51_0<=RULE_LETTER_OTHER)||LA51_0==38) ) { - alt51=1; + if ( ((LA48_0>=RULE_LETTER_X && LA48_0<=RULE_LETTER_OTHER)||LA48_0==45) ) { + alt48=1; } - switch (alt51) { + switch (alt48) { case 1 : - // InternalSemver.g:4138:4: rule__TAG__Alternatives_1 + // InternalSemver.g:4376:4: rule__URL_PROTOCOL__Alternatives_1 { - pushFollow(FOLLOW_3); - rule__TAG__Alternatives_1(); + pushFollow(FOLLOW_39); + rule__URL_PROTOCOL__Alternatives_1(); state._fsp--; if (state.failed) return ; @@ -14205,12 +14894,12 @@ public final void rule__TAG__Group__1__Impl() throws RecognitionException { break; default : - break loop51; + break loop48; } } while (true); if ( state.backtracking==0 ) { - after(grammarAccess.getTAGAccess().getAlternatives_1()); + after(grammarAccess.getURL_PROTOCOLAccess().getAlternatives_1()); } } @@ -14233,26 +14922,26 @@ public final void rule__TAG__Group__1__Impl() throws RecognitionException { } return ; } - // $ANTLR end "rule__TAG__Group__1__Impl" + // $ANTLR end "rule__URL_PROTOCOL__Group__1__Impl" - // $ANTLR start "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0" - // InternalSemver.g:4148:1: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 : rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1 ; - public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0() throws RecognitionException { + // $ANTLR start "rule__URL__Group__0" + // InternalSemver.g:4386:1: rule__URL__Group__0 : rule__URL__Group__0__Impl rule__URL__Group__1 ; + public final void rule__URL__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4152:1: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1 ) - // InternalSemver.g:4153:2: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1 + // InternalSemver.g:4390:1: ( rule__URL__Group__0__Impl rule__URL__Group__1 ) + // InternalSemver.g:4391:2: rule__URL__Group__0__Impl rule__URL__Group__1 { - pushFollow(FOLLOW_6); - rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl(); + pushFollow(FOLLOW_9); + rule__URL__Group__0__Impl(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1(); + rule__URL__Group__1(); state._fsp--; if (state.failed) return ; @@ -14271,28 +14960,56 @@ public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0() throws } return ; } - // $ANTLR end "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0" + // $ANTLR end "rule__URL__Group__0" - // $ANTLR start "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl" - // InternalSemver.g:4160:1: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl : ( RULE_DIGITS ) ; - public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl() throws RecognitionException { + // $ANTLR start "rule__URL__Group__0__Impl" + // InternalSemver.g:4398:1: rule__URL__Group__0__Impl : ( ( rule__URL__Alternatives_0 )* ) ; + public final void rule__URL__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4164:1: ( ( RULE_DIGITS ) ) - // InternalSemver.g:4165:1: ( RULE_DIGITS ) + // InternalSemver.g:4402:1: ( ( ( rule__URL__Alternatives_0 )* ) ) + // InternalSemver.g:4403:1: ( ( rule__URL__Alternatives_0 )* ) { - // InternalSemver.g:4165:1: ( RULE_DIGITS ) - // InternalSemver.g:4166:2: RULE_DIGITS + // InternalSemver.g:4403:1: ( ( rule__URL__Alternatives_0 )* ) + // InternalSemver.g:4404:2: ( rule__URL__Alternatives_0 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_0()); + before(grammarAccess.getURLAccess().getAlternatives_0()); } - match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; + // InternalSemver.g:4405:2: ( rule__URL__Alternatives_0 )* + loop49: + do { + int alt49=2; + int LA49_0 = input.LA(1); + + if ( ((LA49_0>=RULE_DIGITS && LA49_0<=RULE_LETTER_OTHER)||LA49_0==44||LA49_0==47) ) { + alt49=1; + } + + + switch (alt49) { + case 1 : + // InternalSemver.g:4405:3: rule__URL__Alternatives_0 + { + pushFollow(FOLLOW_3); + rule__URL__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop49; + } + } while (true); + if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_0()); + after(grammarAccess.getURLAccess().getAlternatives_0()); } } @@ -14312,21 +15029,26 @@ public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl() } return ; } - // $ANTLR end "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl" + // $ANTLR end "rule__URL__Group__0__Impl" - // $ANTLR start "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1" - // InternalSemver.g:4175:1: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1 : rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl ; - public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1() throws RecognitionException { + // $ANTLR start "rule__URL__Group__1" + // InternalSemver.g:4413:1: rule__URL__Group__1 : rule__URL__Group__1__Impl rule__URL__Group__2 ; + public final void rule__URL__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4179:1: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl ) - // InternalSemver.g:4180:2: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl + // InternalSemver.g:4417:1: ( rule__URL__Group__1__Impl rule__URL__Group__2 ) + // InternalSemver.g:4418:2: rule__URL__Group__1__Impl rule__URL__Group__2 { + pushFollow(FOLLOW_9); + rule__URL__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; pushFollow(FOLLOW_2); - rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl(); + rule__URL__Group__2(); state._fsp--; if (state.failed) return ; @@ -14345,33 +15067,30 @@ public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1() throws } return ; } - // $ANTLR end "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1" + // $ANTLR end "rule__URL__Group__1" - // $ANTLR start "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl" - // InternalSemver.g:4186:1: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl : ( ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 ) ) ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 )* ) ) ; - public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl() throws RecognitionException { + // $ANTLR start "rule__URL__Group__1__Impl" + // InternalSemver.g:4425:1: rule__URL__Group__1__Impl : ( ( rule__URL__Alternatives_1 ) ) ; + public final void rule__URL__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4190:1: ( ( ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 ) ) ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 )* ) ) ) - // InternalSemver.g:4191:1: ( ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 ) ) ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 )* ) ) - { - // InternalSemver.g:4191:1: ( ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 ) ) ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 )* ) ) - // InternalSemver.g:4192:2: ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 ) ) ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 )* ) + // InternalSemver.g:4429:1: ( ( ( rule__URL__Alternatives_1 ) ) ) + // InternalSemver.g:4430:1: ( ( rule__URL__Alternatives_1 ) ) { - // InternalSemver.g:4192:2: ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 ) ) - // InternalSemver.g:4193:3: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 ) + // InternalSemver.g:4430:1: ( ( rule__URL__Alternatives_1 ) ) + // InternalSemver.g:4431:2: ( rule__URL__Alternatives_1 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getAlternatives_1()); + before(grammarAccess.getURLAccess().getAlternatives_1()); } - // InternalSemver.g:4194:3: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 ) - // InternalSemver.g:4194:4: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 + // InternalSemver.g:4432:2: ( rule__URL__Alternatives_1 ) + // InternalSemver.g:4432:3: rule__URL__Alternatives_1 { - pushFollow(FOLLOW_3); - rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1(); + pushFollow(FOLLOW_2); + rule__URL__Alternatives_1(); state._fsp--; if (state.failed) return ; @@ -14379,100 +15098,44 @@ public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl() } if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getAlternatives_1()); + after(grammarAccess.getURLAccess().getAlternatives_1()); } } - // InternalSemver.g:4197:2: ( ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 )* ) - // InternalSemver.g:4198:3: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 )* - { - if ( state.backtracking==0 ) { - before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getAlternatives_1()); + } - // InternalSemver.g:4199:3: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 )* - loop52: - do { - int alt52=2; - int LA52_0 = input.LA(1); - if ( ((LA52_0>=RULE_DIGITS && LA52_0<=RULE_LETTER_X)||(LA52_0>=RULE_LETTER_V && LA52_0<=RULE_LETTER_OTHER)||LA52_0==38) ) { - alt52=1; - } - - - switch (alt52) { - case 1 : - // InternalSemver.g:4199:4: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1 - { - pushFollow(FOLLOW_3); - rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Alternatives_1(); - - state._fsp--; - if (state.failed) return ; - - } - break; - - default : - break loop52; - } - } while (true); - - if ( state.backtracking==0 ) { - after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getAlternatives_1()); - } - - } - - - } - - - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { restoreStackSize(stackSize); } return ; } - // $ANTLR end "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl" + // $ANTLR end "rule__URL__Group__1__Impl" - // $ANTLR start "rule__LocalPathVersionRequirement__LocalPathAssignment_1" - // InternalSemver.g:4209:1: rule__LocalPathVersionRequirement__LocalPathAssignment_1 : ( rulePATH ) ; - public final void rule__LocalPathVersionRequirement__LocalPathAssignment_1() throws RecognitionException { + // $ANTLR start "rule__URL__Group__2" + // InternalSemver.g:4440:1: rule__URL__Group__2 : rule__URL__Group__2__Impl ; + public final void rule__URL__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4213:1: ( ( rulePATH ) ) - // InternalSemver.g:4214:2: ( rulePATH ) - { - // InternalSemver.g:4214:2: ( rulePATH ) - // InternalSemver.g:4215:3: rulePATH + // InternalSemver.g:4444:1: ( rule__URL__Group__2__Impl ) + // InternalSemver.g:4445:2: rule__URL__Group__2__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getLocalPathVersionRequirementAccess().getLocalPathPATHParserRuleCall_1_0()); - } pushFollow(FOLLOW_2); - rulePATH(); + rule__URL__Group__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getLocalPathVersionRequirementAccess().getLocalPathPATHParserRuleCall_1_0()); - } - - } - } @@ -14488,32 +15151,56 @@ public final void rule__LocalPathVersionRequirement__LocalPathAssignment_1() thr } return ; } - // $ANTLR end "rule__LocalPathVersionRequirement__LocalPathAssignment_1" + // $ANTLR end "rule__URL__Group__2" - // $ANTLR start "rule__URLVersionRequirement__ProtocolAssignment_0" - // InternalSemver.g:4224:1: rule__URLVersionRequirement__ProtocolAssignment_0 : ( ruleURL_PROTOCOL ) ; - public final void rule__URLVersionRequirement__ProtocolAssignment_0() throws RecognitionException { + // $ANTLR start "rule__URL__Group__2__Impl" + // InternalSemver.g:4451:1: rule__URL__Group__2__Impl : ( ( rule__URL__Alternatives_2 )* ) ; + public final void rule__URL__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4228:1: ( ( ruleURL_PROTOCOL ) ) - // InternalSemver.g:4229:2: ( ruleURL_PROTOCOL ) + // InternalSemver.g:4455:1: ( ( ( rule__URL__Alternatives_2 )* ) ) + // InternalSemver.g:4456:1: ( ( rule__URL__Alternatives_2 )* ) { - // InternalSemver.g:4229:2: ( ruleURL_PROTOCOL ) - // InternalSemver.g:4230:3: ruleURL_PROTOCOL + // InternalSemver.g:4456:1: ( ( rule__URL__Alternatives_2 )* ) + // InternalSemver.g:4457:2: ( rule__URL__Alternatives_2 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getURLVersionRequirementAccess().getProtocolURL_PROTOCOLParserRuleCall_0_0()); + before(grammarAccess.getURLAccess().getAlternatives_2()); } - pushFollow(FOLLOW_2); - ruleURL_PROTOCOL(); + // InternalSemver.g:4458:2: ( rule__URL__Alternatives_2 )* + loop50: + do { + int alt50=2; + int LA50_0 = input.LA(1); + + if ( ((LA50_0>=RULE_DIGITS && LA50_0<=RULE_LETTER_OTHER)||(LA50_0>=41 && LA50_0<=44)||(LA50_0>=46 && LA50_0<=47)) ) { + alt50=1; + } + + + switch (alt50) { + case 1 : + // InternalSemver.g:4458:3: rule__URL__Alternatives_2 + { + pushFollow(FOLLOW_40); + rule__URL__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop50; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURLVersionRequirementAccess().getProtocolURL_PROTOCOLParserRuleCall_0_0()); + after(grammarAccess.getURLAccess().getAlternatives_2()); } } @@ -14533,36 +15220,29 @@ public final void rule__URLVersionRequirement__ProtocolAssignment_0() throws Rec } return ; } - // $ANTLR end "rule__URLVersionRequirement__ProtocolAssignment_0" + // $ANTLR end "rule__URL__Group__2__Impl" - // $ANTLR start "rule__URLVersionRequirement__UrlAssignment_2" - // InternalSemver.g:4239:1: rule__URLVersionRequirement__UrlAssignment_2 : ( ruleURL ) ; - public final void rule__URLVersionRequirement__UrlAssignment_2() throws RecognitionException { + // $ANTLR start "rule__URL_NO_VX__Group__0" + // InternalSemver.g:4467:1: rule__URL_NO_VX__Group__0 : rule__URL_NO_VX__Group__0__Impl rule__URL_NO_VX__Group__1 ; + public final void rule__URL_NO_VX__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4243:1: ( ( ruleURL ) ) - // InternalSemver.g:4244:2: ( ruleURL ) - { - // InternalSemver.g:4244:2: ( ruleURL ) - // InternalSemver.g:4245:3: ruleURL + // InternalSemver.g:4471:1: ( rule__URL_NO_VX__Group__0__Impl rule__URL_NO_VX__Group__1 ) + // InternalSemver.g:4472:2: rule__URL_NO_VX__Group__0__Impl rule__URL_NO_VX__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getURLVersionRequirementAccess().getUrlURLParserRuleCall_2_0()); - } - pushFollow(FOLLOW_2); - ruleURL(); + pushFollow(FOLLOW_9); + rule__URL_NO_VX__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURLVersionRequirementAccess().getUrlURLParserRuleCall_2_0()); - } - - } + pushFollow(FOLLOW_2); + rule__URL_NO_VX__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -14578,32 +15258,38 @@ public final void rule__URLVersionRequirement__UrlAssignment_2() throws Recognit } return ; } - // $ANTLR end "rule__URLVersionRequirement__UrlAssignment_2" + // $ANTLR end "rule__URL_NO_VX__Group__0" - // $ANTLR start "rule__URLVersionRequirement__VersionSpecifierAssignment_3_1" - // InternalSemver.g:4254:1: rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 : ( ruleURLVersionSpecifier ) ; - public final void rule__URLVersionRequirement__VersionSpecifierAssignment_3_1() throws RecognitionException { + // $ANTLR start "rule__URL_NO_VX__Group__0__Impl" + // InternalSemver.g:4479:1: rule__URL_NO_VX__Group__0__Impl : ( ( rule__URL_NO_VX__Alternatives_0 ) ) ; + public final void rule__URL_NO_VX__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4258:1: ( ( ruleURLVersionSpecifier ) ) - // InternalSemver.g:4259:2: ( ruleURLVersionSpecifier ) + // InternalSemver.g:4483:1: ( ( ( rule__URL_NO_VX__Alternatives_0 ) ) ) + // InternalSemver.g:4484:1: ( ( rule__URL_NO_VX__Alternatives_0 ) ) { - // InternalSemver.g:4259:2: ( ruleURLVersionSpecifier ) - // InternalSemver.g:4260:3: ruleURLVersionSpecifier + // InternalSemver.g:4484:1: ( ( rule__URL_NO_VX__Alternatives_0 ) ) + // InternalSemver.g:4485:2: ( rule__URL_NO_VX__Alternatives_0 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getURLVersionRequirementAccess().getVersionSpecifierURLVersionSpecifierParserRuleCall_3_1_0()); + before(grammarAccess.getURL_NO_VXAccess().getAlternatives_0()); } + // InternalSemver.g:4486:2: ( rule__URL_NO_VX__Alternatives_0 ) + // InternalSemver.g:4486:3: rule__URL_NO_VX__Alternatives_0 + { pushFollow(FOLLOW_2); - ruleURLVersionSpecifier(); + rule__URL_NO_VX__Alternatives_0(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getURLVersionRequirementAccess().getVersionSpecifierURLVersionSpecifierParserRuleCall_3_1_0()); + after(grammarAccess.getURL_NO_VXAccess().getAlternatives_0()); } } @@ -14623,36 +15309,29 @@ public final void rule__URLVersionRequirement__VersionSpecifierAssignment_3_1() } return ; } - // $ANTLR end "rule__URLVersionRequirement__VersionSpecifierAssignment_3_1" + // $ANTLR end "rule__URL_NO_VX__Group__0__Impl" - // $ANTLR start "rule__URLVersionSpecifier__CommitISHAssignment_1_1" - // InternalSemver.g:4269:1: rule__URLVersionSpecifier__CommitISHAssignment_1_1 : ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ; - public final void rule__URLVersionSpecifier__CommitISHAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__URL_NO_VX__Group__1" + // InternalSemver.g:4494:1: rule__URL_NO_VX__Group__1 : rule__URL_NO_VX__Group__1__Impl rule__URL_NO_VX__Group__2 ; + public final void rule__URL_NO_VX__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4273:1: ( ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) - // InternalSemver.g:4274:2: ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) + // InternalSemver.g:4498:1: ( rule__URL_NO_VX__Group__1__Impl rule__URL_NO_VX__Group__2 ) + // InternalSemver.g:4499:2: rule__URL_NO_VX__Group__1__Impl rule__URL_NO_VX__Group__2 { - // InternalSemver.g:4274:2: ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) - // InternalSemver.g:4275:3: ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURLVersionSpecifierAccess().getCommitISHALPHA_NUMERIC_CHARS_START_WITH_DIGITSParserRuleCall_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS(); + pushFollow(FOLLOW_9); + rule__URL_NO_VX__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURLVersionSpecifierAccess().getCommitISHALPHA_NUMERIC_CHARS_START_WITH_DIGITSParserRuleCall_1_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__URL_NO_VX__Group__2(); + state._fsp--; + if (state.failed) return ; } @@ -14668,32 +15347,56 @@ public final void rule__URLVersionSpecifier__CommitISHAssignment_1_1() throws Re } return ; } - // $ANTLR end "rule__URLVersionSpecifier__CommitISHAssignment_1_1" + // $ANTLR end "rule__URL_NO_VX__Group__1" - // $ANTLR start "rule__URLVersionSpecifier__CommitISHAssignment_2_1" - // InternalSemver.g:4284:1: rule__URLVersionSpecifier__CommitISHAssignment_2_1 : ( ruleALPHA_NUMERIC_CHARS ) ; - public final void rule__URLVersionSpecifier__CommitISHAssignment_2_1() throws RecognitionException { + // $ANTLR start "rule__URL_NO_VX__Group__1__Impl" + // InternalSemver.g:4506:1: rule__URL_NO_VX__Group__1__Impl : ( ( rule__URL_NO_VX__Alternatives_1 )* ) ; + public final void rule__URL_NO_VX__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4288:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) - // InternalSemver.g:4289:2: ( ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:4510:1: ( ( ( rule__URL_NO_VX__Alternatives_1 )* ) ) + // InternalSemver.g:4511:1: ( ( rule__URL_NO_VX__Alternatives_1 )* ) { - // InternalSemver.g:4289:2: ( ruleALPHA_NUMERIC_CHARS ) - // InternalSemver.g:4290:3: ruleALPHA_NUMERIC_CHARS + // InternalSemver.g:4511:1: ( ( rule__URL_NO_VX__Alternatives_1 )* ) + // InternalSemver.g:4512:2: ( rule__URL_NO_VX__Alternatives_1 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getURLVersionSpecifierAccess().getCommitISHALPHA_NUMERIC_CHARSParserRuleCall_2_1_0()); + before(grammarAccess.getURL_NO_VXAccess().getAlternatives_1()); } - pushFollow(FOLLOW_2); - ruleALPHA_NUMERIC_CHARS(); + // InternalSemver.g:4513:2: ( rule__URL_NO_VX__Alternatives_1 )* + loop51: + do { + int alt51=2; + int LA51_0 = input.LA(1); + + if ( ((LA51_0>=RULE_DIGITS && LA51_0<=RULE_LETTER_OTHER)||LA51_0==44||LA51_0==47) ) { + alt51=1; + } + + + switch (alt51) { + case 1 : + // InternalSemver.g:4513:3: rule__URL_NO_VX__Alternatives_1 + { + pushFollow(FOLLOW_3); + rule__URL_NO_VX__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop51; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getURLVersionSpecifierAccess().getCommitISHALPHA_NUMERIC_CHARSParserRuleCall_2_1_0()); + after(grammarAccess.getURL_NO_VXAccess().getAlternatives_1()); } } @@ -14713,36 +15416,29 @@ public final void rule__URLVersionSpecifier__CommitISHAssignment_2_1() throws Re } return ; } - // $ANTLR end "rule__URLVersionSpecifier__CommitISHAssignment_2_1" + // $ANTLR end "rule__URL_NO_VX__Group__1__Impl" - // $ANTLR start "rule__URLSemver__WithSemverTagAssignment_1" - // InternalSemver.g:4299:1: rule__URLSemver__WithSemverTagAssignment_1 : ( ruleSEMVER_TAG ) ; - public final void rule__URLSemver__WithSemverTagAssignment_1() throws RecognitionException { + // $ANTLR start "rule__URL_NO_VX__Group__2" + // InternalSemver.g:4521:1: rule__URL_NO_VX__Group__2 : rule__URL_NO_VX__Group__2__Impl rule__URL_NO_VX__Group__3 ; + public final void rule__URL_NO_VX__Group__2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4303:1: ( ( ruleSEMVER_TAG ) ) - // InternalSemver.g:4304:2: ( ruleSEMVER_TAG ) + // InternalSemver.g:4525:1: ( rule__URL_NO_VX__Group__2__Impl rule__URL_NO_VX__Group__3 ) + // InternalSemver.g:4526:2: rule__URL_NO_VX__Group__2__Impl rule__URL_NO_VX__Group__3 { - // InternalSemver.g:4304:2: ( ruleSEMVER_TAG ) - // InternalSemver.g:4305:3: ruleSEMVER_TAG - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURLSemverAccess().getWithSemverTagSEMVER_TAGParserRuleCall_1_0()); - } - pushFollow(FOLLOW_2); - ruleSEMVER_TAG(); + pushFollow(FOLLOW_9); + rule__URL_NO_VX__Group__2__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getURLSemverAccess().getWithSemverTagSEMVER_TAGParserRuleCall_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__URL_NO_VX__Group__3(); + state._fsp--; + if (state.failed) return ; } @@ -14758,32 +15454,38 @@ public final void rule__URLSemver__WithSemverTagAssignment_1() throws Recognitio } return ; } - // $ANTLR end "rule__URLSemver__WithSemverTagAssignment_1" + // $ANTLR end "rule__URL_NO_VX__Group__2" - // $ANTLR start "rule__URLSemver__SimpleVersionAssignment_2" - // InternalSemver.g:4314:1: rule__URLSemver__SimpleVersionAssignment_2 : ( ruleSimpleVersion ) ; - public final void rule__URLSemver__SimpleVersionAssignment_2() throws RecognitionException { + // $ANTLR start "rule__URL_NO_VX__Group__2__Impl" + // InternalSemver.g:4533:1: rule__URL_NO_VX__Group__2__Impl : ( ( rule__URL_NO_VX__Alternatives_2 ) ) ; + public final void rule__URL_NO_VX__Group__2__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4318:1: ( ( ruleSimpleVersion ) ) - // InternalSemver.g:4319:2: ( ruleSimpleVersion ) + // InternalSemver.g:4537:1: ( ( ( rule__URL_NO_VX__Alternatives_2 ) ) ) + // InternalSemver.g:4538:1: ( ( rule__URL_NO_VX__Alternatives_2 ) ) { - // InternalSemver.g:4319:2: ( ruleSimpleVersion ) - // InternalSemver.g:4320:3: ruleSimpleVersion + // InternalSemver.g:4538:1: ( ( rule__URL_NO_VX__Alternatives_2 ) ) + // InternalSemver.g:4539:2: ( rule__URL_NO_VX__Alternatives_2 ) { if ( state.backtracking==0 ) { - before(grammarAccess.getURLSemverAccess().getSimpleVersionSimpleVersionParserRuleCall_2_0()); + before(grammarAccess.getURL_NO_VXAccess().getAlternatives_2()); } + // InternalSemver.g:4540:2: ( rule__URL_NO_VX__Alternatives_2 ) + // InternalSemver.g:4540:3: rule__URL_NO_VX__Alternatives_2 + { pushFollow(FOLLOW_2); - ruleSimpleVersion(); + rule__URL_NO_VX__Alternatives_2(); state._fsp--; if (state.failed) return ; + + } + if ( state.backtracking==0 ) { - after(grammarAccess.getURLSemverAccess().getSimpleVersionSimpleVersionParserRuleCall_2_0()); + after(grammarAccess.getURL_NO_VXAccess().getAlternatives_2()); } } @@ -14803,36 +15505,24 @@ public final void rule__URLSemver__SimpleVersionAssignment_2() throws Recognitio } return ; } - // $ANTLR end "rule__URLSemver__SimpleVersionAssignment_2" + // $ANTLR end "rule__URL_NO_VX__Group__2__Impl" - // $ANTLR start "rule__TagVersionRequirement__TagNameAssignment" - // InternalSemver.g:4329:1: rule__TagVersionRequirement__TagNameAssignment : ( ruleTAG ) ; - public final void rule__TagVersionRequirement__TagNameAssignment() throws RecognitionException { + // $ANTLR start "rule__URL_NO_VX__Group__3" + // InternalSemver.g:4548:1: rule__URL_NO_VX__Group__3 : rule__URL_NO_VX__Group__3__Impl ; + public final void rule__URL_NO_VX__Group__3() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4333:1: ( ( ruleTAG ) ) - // InternalSemver.g:4334:2: ( ruleTAG ) - { - // InternalSemver.g:4334:2: ( ruleTAG ) - // InternalSemver.g:4335:3: ruleTAG + // InternalSemver.g:4552:1: ( rule__URL_NO_VX__Group__3__Impl ) + // InternalSemver.g:4553:2: rule__URL_NO_VX__Group__3__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); - } pushFollow(FOLLOW_2); - ruleTAG(); + rule__URL_NO_VX__Group__3__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); - } - - } - } @@ -14848,32 +15538,56 @@ public final void rule__TagVersionRequirement__TagNameAssignment() throws Recogn } return ; } - // $ANTLR end "rule__TagVersionRequirement__TagNameAssignment" + // $ANTLR end "rule__URL_NO_VX__Group__3" - // $ANTLR start "rule__GitHubVersionRequirement__GithubUrlAssignment_0" - // InternalSemver.g:4344:1: rule__GitHubVersionRequirement__GithubUrlAssignment_0 : ( ruleURL_NO_VX ) ; - public final void rule__GitHubVersionRequirement__GithubUrlAssignment_0() throws RecognitionException { + // $ANTLR start "rule__URL_NO_VX__Group__3__Impl" + // InternalSemver.g:4559:1: rule__URL_NO_VX__Group__3__Impl : ( ( rule__URL_NO_VX__Alternatives_3 )* ) ; + public final void rule__URL_NO_VX__Group__3__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4348:1: ( ( ruleURL_NO_VX ) ) - // InternalSemver.g:4349:2: ( ruleURL_NO_VX ) + // InternalSemver.g:4563:1: ( ( ( rule__URL_NO_VX__Alternatives_3 )* ) ) + // InternalSemver.g:4564:1: ( ( rule__URL_NO_VX__Alternatives_3 )* ) { - // InternalSemver.g:4349:2: ( ruleURL_NO_VX ) - // InternalSemver.g:4350:3: ruleURL_NO_VX + // InternalSemver.g:4564:1: ( ( rule__URL_NO_VX__Alternatives_3 )* ) + // InternalSemver.g:4565:2: ( rule__URL_NO_VX__Alternatives_3 )* { if ( state.backtracking==0 ) { - before(grammarAccess.getGitHubVersionRequirementAccess().getGithubUrlURL_NO_VXParserRuleCall_0_0()); + before(grammarAccess.getURL_NO_VXAccess().getAlternatives_3()); } - pushFollow(FOLLOW_2); - ruleURL_NO_VX(); + // InternalSemver.g:4566:2: ( rule__URL_NO_VX__Alternatives_3 )* + loop52: + do { + int alt52=2; + int LA52_0 = input.LA(1); + + if ( ((LA52_0>=RULE_DIGITS && LA52_0<=RULE_LETTER_OTHER)||(LA52_0>=41 && LA52_0<=44)||(LA52_0>=46 && LA52_0<=47)) ) { + alt52=1; + } + + + switch (alt52) { + case 1 : + // InternalSemver.g:4566:3: rule__URL_NO_VX__Alternatives_3 + { + pushFollow(FOLLOW_40); + rule__URL_NO_VX__Alternatives_3(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop52; + } + } while (true); - state._fsp--; - if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getGitHubVersionRequirementAccess().getGithubUrlURL_NO_VXParserRuleCall_0_0()); + after(grammarAccess.getURL_NO_VXAccess().getAlternatives_3()); } } @@ -14893,36 +15607,29 @@ public final void rule__GitHubVersionRequirement__GithubUrlAssignment_0() throws } return ; } - // $ANTLR end "rule__GitHubVersionRequirement__GithubUrlAssignment_0" + // $ANTLR end "rule__URL_NO_VX__Group__3__Impl" - // $ANTLR start "rule__GitHubVersionRequirement__CommitISHAssignment_1_1" - // InternalSemver.g:4359:1: rule__GitHubVersionRequirement__CommitISHAssignment_1_1 : ( ruleALPHA_NUMERIC_CHARS ) ; - public final void rule__GitHubVersionRequirement__CommitISHAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__TAG__Group__0" + // InternalSemver.g:4575:1: rule__TAG__Group__0 : rule__TAG__Group__0__Impl rule__TAG__Group__1 ; + public final void rule__TAG__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4363:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) - // InternalSemver.g:4364:2: ( ruleALPHA_NUMERIC_CHARS ) - { - // InternalSemver.g:4364:2: ( ruleALPHA_NUMERIC_CHARS ) - // InternalSemver.g:4365:3: ruleALPHA_NUMERIC_CHARS + // InternalSemver.g:4579:1: ( rule__TAG__Group__0__Impl rule__TAG__Group__1 ) + // InternalSemver.g:4580:2: rule__TAG__Group__0__Impl rule__TAG__Group__1 { - if ( state.backtracking==0 ) { - before(grammarAccess.getGitHubVersionRequirementAccess().getCommitISHALPHA_NUMERIC_CHARSParserRuleCall_1_1_0()); - } - pushFollow(FOLLOW_2); - ruleALPHA_NUMERIC_CHARS(); + pushFollow(FOLLOW_12); + rule__TAG__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getGitHubVersionRequirementAccess().getCommitISHALPHA_NUMERIC_CHARSParserRuleCall_1_1_0()); - } - - } + pushFollow(FOLLOW_2); + rule__TAG__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -14938,32 +15645,32 @@ public final void rule__GitHubVersionRequirement__CommitISHAssignment_1_1() thro } return ; } - // $ANTLR end "rule__GitHubVersionRequirement__CommitISHAssignment_1_1" + // $ANTLR end "rule__TAG__Group__0" - // $ANTLR start "rule__VersionRangeSetRequirement__RangesAssignment_1_0" - // InternalSemver.g:4374:1: rule__VersionRangeSetRequirement__RangesAssignment_1_0 : ( ruleVersionRange ) ; - public final void rule__VersionRangeSetRequirement__RangesAssignment_1_0() throws RecognitionException { + // $ANTLR start "rule__TAG__Group__0__Impl" + // InternalSemver.g:4587:1: rule__TAG__Group__0__Impl : ( ruleLETTER_NO_VX ) ; + public final void rule__TAG__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4378:1: ( ( ruleVersionRange ) ) - // InternalSemver.g:4379:2: ( ruleVersionRange ) + // InternalSemver.g:4591:1: ( ( ruleLETTER_NO_VX ) ) + // InternalSemver.g:4592:1: ( ruleLETTER_NO_VX ) { - // InternalSemver.g:4379:2: ( ruleVersionRange ) - // InternalSemver.g:4380:3: ruleVersionRange + // InternalSemver.g:4592:1: ( ruleLETTER_NO_VX ) + // InternalSemver.g:4593:2: ruleLETTER_NO_VX { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_0_0()); + before(grammarAccess.getTAGAccess().getLETTER_NO_VXParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleVersionRange(); + ruleLETTER_NO_VX(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_0_0()); + after(grammarAccess.getTAGAccess().getLETTER_NO_VXParserRuleCall_0()); } } @@ -14983,36 +15690,24 @@ public final void rule__VersionRangeSetRequirement__RangesAssignment_1_0() throw } return ; } - // $ANTLR end "rule__VersionRangeSetRequirement__RangesAssignment_1_0" + // $ANTLR end "rule__TAG__Group__0__Impl" - // $ANTLR start "rule__VersionRangeSetRequirement__RangesAssignment_1_1_3" - // InternalSemver.g:4389:1: rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 : ( ruleVersionRange ) ; - public final void rule__VersionRangeSetRequirement__RangesAssignment_1_1_3() throws RecognitionException { + // $ANTLR start "rule__TAG__Group__1" + // InternalSemver.g:4602:1: rule__TAG__Group__1 : rule__TAG__Group__1__Impl ; + public final void rule__TAG__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4393:1: ( ( ruleVersionRange ) ) - // InternalSemver.g:4394:2: ( ruleVersionRange ) + // InternalSemver.g:4606:1: ( rule__TAG__Group__1__Impl ) + // InternalSemver.g:4607:2: rule__TAG__Group__1__Impl { - // InternalSemver.g:4394:2: ( ruleVersionRange ) - // InternalSemver.g:4395:3: ruleVersionRange - { - if ( state.backtracking==0 ) { - before(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_1_3_0()); - } pushFollow(FOLLOW_2); - ruleVersionRange(); + rule__TAG__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_1_3_0()); - } - - } - } @@ -15028,32 +15723,32 @@ public final void rule__VersionRangeSetRequirement__RangesAssignment_1_1_3() thr } return ; } - // $ANTLR end "rule__VersionRangeSetRequirement__RangesAssignment_1_1_3" + // $ANTLR end "rule__TAG__Group__1" - // $ANTLR start "rule__HyphenVersionRange__FromAssignment_1" - // InternalSemver.g:4404:1: rule__HyphenVersionRange__FromAssignment_1 : ( ruleVersionNumber ) ; - public final void rule__HyphenVersionRange__FromAssignment_1() throws RecognitionException { + // $ANTLR start "rule__TAG__Group__1__Impl" + // InternalSemver.g:4613:1: rule__TAG__Group__1__Impl : ( ruleALPHA_NUMERIC_CHARS ) ; + public final void rule__TAG__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4408:1: ( ( ruleVersionNumber ) ) - // InternalSemver.g:4409:2: ( ruleVersionNumber ) + // InternalSemver.g:4617:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:4618:1: ( ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:4409:2: ( ruleVersionNumber ) - // InternalSemver.g:4410:3: ruleVersionNumber + // InternalSemver.g:4618:1: ( ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:4619:2: ruleALPHA_NUMERIC_CHARS { if ( state.backtracking==0 ) { - before(grammarAccess.getHyphenVersionRangeAccess().getFromVersionNumberParserRuleCall_1_0()); + before(grammarAccess.getTAGAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); } pushFollow(FOLLOW_2); - ruleVersionNumber(); + ruleALPHA_NUMERIC_CHARS(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getHyphenVersionRangeAccess().getFromVersionNumberParserRuleCall_1_0()); + after(grammarAccess.getTAGAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); } } @@ -15073,36 +15768,29 @@ public final void rule__HyphenVersionRange__FromAssignment_1() throws Recognitio } return ; } - // $ANTLR end "rule__HyphenVersionRange__FromAssignment_1" + // $ANTLR end "rule__TAG__Group__1__Impl" - // $ANTLR start "rule__HyphenVersionRange__ToAssignment_5" - // InternalSemver.g:4419:1: rule__HyphenVersionRange__ToAssignment_5 : ( ruleVersionNumber ) ; - public final void rule__HyphenVersionRange__ToAssignment_5() throws RecognitionException { + // $ANTLR start "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0" + // InternalSemver.g:4629:1: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0 : rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1 ; + public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4423:1: ( ( ruleVersionNumber ) ) - // InternalSemver.g:4424:2: ( ruleVersionNumber ) + // InternalSemver.g:4633:1: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1 ) + // InternalSemver.g:4634:2: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1 { - // InternalSemver.g:4424:2: ( ruleVersionNumber ) - // InternalSemver.g:4425:3: ruleVersionNumber - { - if ( state.backtracking==0 ) { - before(grammarAccess.getHyphenVersionRangeAccess().getToVersionNumberParserRuleCall_5_0()); - } - pushFollow(FOLLOW_2); - ruleVersionNumber(); + pushFollow(FOLLOW_12); + rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getHyphenVersionRangeAccess().getToVersionNumberParserRuleCall_5_0()); - } - - } + pushFollow(FOLLOW_2); + rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1(); + state._fsp--; + if (state.failed) return ; } @@ -15118,32 +15806,28 @@ public final void rule__HyphenVersionRange__ToAssignment_5() throws RecognitionE } return ; } - // $ANTLR end "rule__HyphenVersionRange__ToAssignment_5" + // $ANTLR end "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0" - // $ANTLR start "rule__VersionRangeContraint__VersionConstraintsAssignment_1" - // InternalSemver.g:4434:1: rule__VersionRangeContraint__VersionConstraintsAssignment_1 : ( ruleSimpleVersion ) ; - public final void rule__VersionRangeContraint__VersionConstraintsAssignment_1() throws RecognitionException { + // $ANTLR start "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl" + // InternalSemver.g:4641:1: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl : ( RULE_DIGITS ) ; + public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4438:1: ( ( ruleSimpleVersion ) ) - // InternalSemver.g:4439:2: ( ruleSimpleVersion ) + // InternalSemver.g:4645:1: ( ( RULE_DIGITS ) ) + // InternalSemver.g:4646:1: ( RULE_DIGITS ) { - // InternalSemver.g:4439:2: ( ruleSimpleVersion ) - // InternalSemver.g:4440:3: ruleSimpleVersion + // InternalSemver.g:4646:1: ( RULE_DIGITS ) + // InternalSemver.g:4647:2: RULE_DIGITS { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsSimpleVersionParserRuleCall_1_0()); + before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_0()); } - pushFollow(FOLLOW_2); - ruleSimpleVersion(); - - state._fsp--; - if (state.failed) return ; + match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsSimpleVersionParserRuleCall_1_0()); + after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_0()); } } @@ -15163,36 +15847,24 @@ public final void rule__VersionRangeContraint__VersionConstraintsAssignment_1() } return ; } - // $ANTLR end "rule__VersionRangeContraint__VersionConstraintsAssignment_1" + // $ANTLR end "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__0__Impl" - // $ANTLR start "rule__VersionRangeContraint__VersionConstraintsAssignment_2_1" - // InternalSemver.g:4449:1: rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 : ( ruleSimpleVersion ) ; - public final void rule__VersionRangeContraint__VersionConstraintsAssignment_2_1() throws RecognitionException { + // $ANTLR start "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1" + // InternalSemver.g:4656:1: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1 : rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl ; + public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4453:1: ( ( ruleSimpleVersion ) ) - // InternalSemver.g:4454:2: ( ruleSimpleVersion ) - { - // InternalSemver.g:4454:2: ( ruleSimpleVersion ) - // InternalSemver.g:4455:3: ruleSimpleVersion + // InternalSemver.g:4660:1: ( rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl ) + // InternalSemver.g:4661:2: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl { - if ( state.backtracking==0 ) { - before(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsSimpleVersionParserRuleCall_2_1_0()); - } pushFollow(FOLLOW_2); - ruleSimpleVersion(); + rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl(); state._fsp--; if (state.failed) return ; - if ( state.backtracking==0 ) { - after(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsSimpleVersionParserRuleCall_2_1_0()); - } - - } - } @@ -15208,32 +15880,32 @@ public final void rule__VersionRangeContraint__VersionConstraintsAssignment_2_1( } return ; } - // $ANTLR end "rule__VersionRangeContraint__VersionConstraintsAssignment_2_1" + // $ANTLR end "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1" - // $ANTLR start "rule__SimpleVersion__ComparatorsAssignment_0_0" - // InternalSemver.g:4464:1: rule__SimpleVersion__ComparatorsAssignment_0_0 : ( ruleVersionComparator ) ; - public final void rule__SimpleVersion__ComparatorsAssignment_0_0() throws RecognitionException { + // $ANTLR start "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl" + // InternalSemver.g:4667:1: rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl : ( ruleALPHA_NUMERIC_CHARS ) ; + public final void rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4468:1: ( ( ruleVersionComparator ) ) - // InternalSemver.g:4469:2: ( ruleVersionComparator ) + // InternalSemver.g:4671:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:4672:1: ( ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:4469:2: ( ruleVersionComparator ) - // InternalSemver.g:4470:3: ruleVersionComparator + // InternalSemver.g:4672:1: ( ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:4673:2: ruleALPHA_NUMERIC_CHARS { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleVersionAccess().getComparatorsVersionComparatorEnumRuleCall_0_0_0()); + before(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); } pushFollow(FOLLOW_2); - ruleVersionComparator(); + ruleALPHA_NUMERIC_CHARS(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleVersionAccess().getComparatorsVersionComparatorEnumRuleCall_0_0_0()); + after(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); } } @@ -15253,28 +15925,32 @@ public final void rule__SimpleVersion__ComparatorsAssignment_0_0() throws Recogn } return ; } - // $ANTLR end "rule__SimpleVersion__ComparatorsAssignment_0_0" + // $ANTLR end "rule__ALPHA_NUMERIC_CHARS_START_WITH_DIGITS__Group__1__Impl" - // $ANTLR start "rule__SimpleVersion__WithLetterVAssignment_1" - // InternalSemver.g:4479:1: rule__SimpleVersion__WithLetterVAssignment_1 : ( RULE_LETTER_V ) ; - public final void rule__SimpleVersion__WithLetterVAssignment_1() throws RecognitionException { + // $ANTLR start "rule__LocalPathVersionRequirement__LocalPathAssignment_1" + // InternalSemver.g:4683:1: rule__LocalPathVersionRequirement__LocalPathAssignment_1 : ( rulePATH ) ; + public final void rule__LocalPathVersionRequirement__LocalPathAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4483:1: ( ( RULE_LETTER_V ) ) - // InternalSemver.g:4484:2: ( RULE_LETTER_V ) + // InternalSemver.g:4687:1: ( ( rulePATH ) ) + // InternalSemver.g:4688:2: ( rulePATH ) { - // InternalSemver.g:4484:2: ( RULE_LETTER_V ) - // InternalSemver.g:4485:3: RULE_LETTER_V + // InternalSemver.g:4688:2: ( rulePATH ) + // InternalSemver.g:4689:3: rulePATH { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleVersionAccess().getWithLetterVLETTER_VTerminalRuleCall_1_0()); + before(grammarAccess.getLocalPathVersionRequirementAccess().getLocalPathPATHParserRuleCall_1_0()); } - match(input,RULE_LETTER_V,FOLLOW_2); if (state.failed) return ; + pushFollow(FOLLOW_2); + rulePATH(); + + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleVersionAccess().getWithLetterVLETTER_VTerminalRuleCall_1_0()); + after(grammarAccess.getLocalPathVersionRequirementAccess().getLocalPathPATHParserRuleCall_1_0()); } } @@ -15294,32 +15970,32 @@ public final void rule__SimpleVersion__WithLetterVAssignment_1() throws Recognit } return ; } - // $ANTLR end "rule__SimpleVersion__WithLetterVAssignment_1" + // $ANTLR end "rule__LocalPathVersionRequirement__LocalPathAssignment_1" - // $ANTLR start "rule__SimpleVersion__NumberAssignment_2" - // InternalSemver.g:4494:1: rule__SimpleVersion__NumberAssignment_2 : ( ruleVersionNumber ) ; - public final void rule__SimpleVersion__NumberAssignment_2() throws RecognitionException { + // $ANTLR start "rule__URLVersionRequirement__ProtocolAssignment_0" + // InternalSemver.g:4698:1: rule__URLVersionRequirement__ProtocolAssignment_0 : ( ruleURL_PROTOCOL ) ; + public final void rule__URLVersionRequirement__ProtocolAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4498:1: ( ( ruleVersionNumber ) ) - // InternalSemver.g:4499:2: ( ruleVersionNumber ) + // InternalSemver.g:4702:1: ( ( ruleURL_PROTOCOL ) ) + // InternalSemver.g:4703:2: ( ruleURL_PROTOCOL ) { - // InternalSemver.g:4499:2: ( ruleVersionNumber ) - // InternalSemver.g:4500:3: ruleVersionNumber + // InternalSemver.g:4703:2: ( ruleURL_PROTOCOL ) + // InternalSemver.g:4704:3: ruleURL_PROTOCOL { if ( state.backtracking==0 ) { - before(grammarAccess.getSimpleVersionAccess().getNumberVersionNumberParserRuleCall_2_0()); + before(grammarAccess.getURLVersionRequirementAccess().getProtocolURL_PROTOCOLParserRuleCall_0_0()); } pushFollow(FOLLOW_2); - ruleVersionNumber(); + ruleURL_PROTOCOL(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getSimpleVersionAccess().getNumberVersionNumberParserRuleCall_2_0()); + after(grammarAccess.getURLVersionRequirementAccess().getProtocolURL_PROTOCOLParserRuleCall_0_0()); } } @@ -15339,32 +16015,32 @@ public final void rule__SimpleVersion__NumberAssignment_2() throws RecognitionEx } return ; } - // $ANTLR end "rule__SimpleVersion__NumberAssignment_2" + // $ANTLR end "rule__URLVersionRequirement__ProtocolAssignment_0" - // $ANTLR start "rule__VersionNumber__MajorAssignment_0" - // InternalSemver.g:4509:1: rule__VersionNumber__MajorAssignment_0 : ( ruleVersionPart ) ; - public final void rule__VersionNumber__MajorAssignment_0() throws RecognitionException { + // $ANTLR start "rule__URLVersionRequirement__UrlAssignment_2" + // InternalSemver.g:4713:1: rule__URLVersionRequirement__UrlAssignment_2 : ( ruleURL ) ; + public final void rule__URLVersionRequirement__UrlAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4513:1: ( ( ruleVersionPart ) ) - // InternalSemver.g:4514:2: ( ruleVersionPart ) + // InternalSemver.g:4717:1: ( ( ruleURL ) ) + // InternalSemver.g:4718:2: ( ruleURL ) { - // InternalSemver.g:4514:2: ( ruleVersionPart ) - // InternalSemver.g:4515:3: ruleVersionPart + // InternalSemver.g:4718:2: ( ruleURL ) + // InternalSemver.g:4719:3: ruleURL { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionNumberAccess().getMajorVersionPartParserRuleCall_0_0()); + before(grammarAccess.getURLVersionRequirementAccess().getUrlURLParserRuleCall_2_0()); } pushFollow(FOLLOW_2); - ruleVersionPart(); + ruleURL(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getVersionNumberAccess().getMajorVersionPartParserRuleCall_0_0()); + after(grammarAccess.getURLVersionRequirementAccess().getUrlURLParserRuleCall_2_0()); } } @@ -15384,32 +16060,32 @@ public final void rule__VersionNumber__MajorAssignment_0() throws RecognitionExc } return ; } - // $ANTLR end "rule__VersionNumber__MajorAssignment_0" + // $ANTLR end "rule__URLVersionRequirement__UrlAssignment_2" - // $ANTLR start "rule__VersionNumber__MinorAssignment_1_1" - // InternalSemver.g:4524:1: rule__VersionNumber__MinorAssignment_1_1 : ( ruleVersionPart ) ; - public final void rule__VersionNumber__MinorAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__URLVersionRequirement__VersionSpecifierAssignment_3_1" + // InternalSemver.g:4728:1: rule__URLVersionRequirement__VersionSpecifierAssignment_3_1 : ( ruleURLVersionSpecifier ) ; + public final void rule__URLVersionRequirement__VersionSpecifierAssignment_3_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4528:1: ( ( ruleVersionPart ) ) - // InternalSemver.g:4529:2: ( ruleVersionPart ) + // InternalSemver.g:4732:1: ( ( ruleURLVersionSpecifier ) ) + // InternalSemver.g:4733:2: ( ruleURLVersionSpecifier ) { - // InternalSemver.g:4529:2: ( ruleVersionPart ) - // InternalSemver.g:4530:3: ruleVersionPart + // InternalSemver.g:4733:2: ( ruleURLVersionSpecifier ) + // InternalSemver.g:4734:3: ruleURLVersionSpecifier { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionNumberAccess().getMinorVersionPartParserRuleCall_1_1_0()); + before(grammarAccess.getURLVersionRequirementAccess().getVersionSpecifierURLVersionSpecifierParserRuleCall_3_1_0()); } pushFollow(FOLLOW_2); - ruleVersionPart(); + ruleURLVersionSpecifier(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getVersionNumberAccess().getMinorVersionPartParserRuleCall_1_1_0()); + after(grammarAccess.getURLVersionRequirementAccess().getVersionSpecifierURLVersionSpecifierParserRuleCall_3_1_0()); } } @@ -15429,32 +16105,32 @@ public final void rule__VersionNumber__MinorAssignment_1_1() throws RecognitionE } return ; } - // $ANTLR end "rule__VersionNumber__MinorAssignment_1_1" + // $ANTLR end "rule__URLVersionRequirement__VersionSpecifierAssignment_3_1" - // $ANTLR start "rule__VersionNumber__PatchAssignment_1_2_1" - // InternalSemver.g:4539:1: rule__VersionNumber__PatchAssignment_1_2_1 : ( ruleVersionPart ) ; - public final void rule__VersionNumber__PatchAssignment_1_2_1() throws RecognitionException { + // $ANTLR start "rule__URLVersionSpecifier__CommitISHAssignment_1_1" + // InternalSemver.g:4743:1: rule__URLVersionSpecifier__CommitISHAssignment_1_1 : ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ; + public final void rule__URLVersionSpecifier__CommitISHAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4543:1: ( ( ruleVersionPart ) ) - // InternalSemver.g:4544:2: ( ruleVersionPart ) + // InternalSemver.g:4747:1: ( ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) + // InternalSemver.g:4748:2: ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) { - // InternalSemver.g:4544:2: ( ruleVersionPart ) - // InternalSemver.g:4545:3: ruleVersionPart + // InternalSemver.g:4748:2: ( ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) + // InternalSemver.g:4749:3: ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionNumberAccess().getPatchVersionPartParserRuleCall_1_2_1_0()); + before(grammarAccess.getURLVersionSpecifierAccess().getCommitISHALPHA_NUMERIC_CHARS_START_WITH_DIGITSParserRuleCall_1_1_0()); } pushFollow(FOLLOW_2); - ruleVersionPart(); + ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getVersionNumberAccess().getPatchVersionPartParserRuleCall_1_2_1_0()); + after(grammarAccess.getURLVersionSpecifierAccess().getCommitISHALPHA_NUMERIC_CHARS_START_WITH_DIGITSParserRuleCall_1_1_0()); } } @@ -15474,32 +16150,32 @@ public final void rule__VersionNumber__PatchAssignment_1_2_1() throws Recognitio } return ; } - // $ANTLR end "rule__VersionNumber__PatchAssignment_1_2_1" + // $ANTLR end "rule__URLVersionSpecifier__CommitISHAssignment_1_1" - // $ANTLR start "rule__VersionNumber__ExtendedAssignment_1_2_2_1" - // InternalSemver.g:4554:1: rule__VersionNumber__ExtendedAssignment_1_2_2_1 : ( ruleVersionPart ) ; - public final void rule__VersionNumber__ExtendedAssignment_1_2_2_1() throws RecognitionException { + // $ANTLR start "rule__URLVersionSpecifier__CommitISHAssignment_2_1" + // InternalSemver.g:4758:1: rule__URLVersionSpecifier__CommitISHAssignment_2_1 : ( ruleALPHA_NUMERIC_CHARS ) ; + public final void rule__URLVersionSpecifier__CommitISHAssignment_2_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4558:1: ( ( ruleVersionPart ) ) - // InternalSemver.g:4559:2: ( ruleVersionPart ) + // InternalSemver.g:4762:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:4763:2: ( ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:4559:2: ( ruleVersionPart ) - // InternalSemver.g:4560:3: ruleVersionPart + // InternalSemver.g:4763:2: ( ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:4764:3: ruleALPHA_NUMERIC_CHARS { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionNumberAccess().getExtendedVersionPartParserRuleCall_1_2_2_1_0()); + before(grammarAccess.getURLVersionSpecifierAccess().getCommitISHALPHA_NUMERIC_CHARSParserRuleCall_2_1_0()); } pushFollow(FOLLOW_2); - ruleVersionPart(); + ruleALPHA_NUMERIC_CHARS(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getVersionNumberAccess().getExtendedVersionPartParserRuleCall_1_2_2_1_0()); + after(grammarAccess.getURLVersionSpecifierAccess().getCommitISHALPHA_NUMERIC_CHARSParserRuleCall_2_1_0()); } } @@ -15519,32 +16195,32 @@ public final void rule__VersionNumber__ExtendedAssignment_1_2_2_1() throws Recog } return ; } - // $ANTLR end "rule__VersionNumber__ExtendedAssignment_1_2_2_1" + // $ANTLR end "rule__URLVersionSpecifier__CommitISHAssignment_2_1" - // $ANTLR start "rule__VersionNumber__QualifierAssignment_2" - // InternalSemver.g:4569:1: rule__VersionNumber__QualifierAssignment_2 : ( ruleQualifier ) ; - public final void rule__VersionNumber__QualifierAssignment_2() throws RecognitionException { + // $ANTLR start "rule__URLSemver__WithSemverTagAssignment_1" + // InternalSemver.g:4773:1: rule__URLSemver__WithSemverTagAssignment_1 : ( ruleSEMVER_TAG ) ; + public final void rule__URLSemver__WithSemverTagAssignment_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4573:1: ( ( ruleQualifier ) ) - // InternalSemver.g:4574:2: ( ruleQualifier ) + // InternalSemver.g:4777:1: ( ( ruleSEMVER_TAG ) ) + // InternalSemver.g:4778:2: ( ruleSEMVER_TAG ) { - // InternalSemver.g:4574:2: ( ruleQualifier ) - // InternalSemver.g:4575:3: ruleQualifier + // InternalSemver.g:4778:2: ( ruleSEMVER_TAG ) + // InternalSemver.g:4779:3: ruleSEMVER_TAG { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionNumberAccess().getQualifierQualifierParserRuleCall_2_0()); + before(grammarAccess.getURLSemverAccess().getWithSemverTagSEMVER_TAGParserRuleCall_1_0()); } pushFollow(FOLLOW_2); - ruleQualifier(); + ruleSEMVER_TAG(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getVersionNumberAccess().getQualifierQualifierParserRuleCall_2_0()); + after(grammarAccess.getURLSemverAccess().getWithSemverTagSEMVER_TAGParserRuleCall_1_0()); } } @@ -15564,32 +16240,32 @@ public final void rule__VersionNumber__QualifierAssignment_2() throws Recognitio } return ; } - // $ANTLR end "rule__VersionNumber__QualifierAssignment_2" + // $ANTLR end "rule__URLSemver__WithSemverTagAssignment_1" - // $ANTLR start "rule__VersionPart__WildcardAssignment_0" - // InternalSemver.g:4584:1: rule__VersionPart__WildcardAssignment_0 : ( ruleWILDCARD ) ; - public final void rule__VersionPart__WildcardAssignment_0() throws RecognitionException { + // $ANTLR start "rule__URLSemver__SimpleVersionAssignment_2" + // InternalSemver.g:4788:1: rule__URLSemver__SimpleVersionAssignment_2 : ( ruleSimpleVersion ) ; + public final void rule__URLSemver__SimpleVersionAssignment_2() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4588:1: ( ( ruleWILDCARD ) ) - // InternalSemver.g:4589:2: ( ruleWILDCARD ) + // InternalSemver.g:4792:1: ( ( ruleSimpleVersion ) ) + // InternalSemver.g:4793:2: ( ruleSimpleVersion ) { - // InternalSemver.g:4589:2: ( ruleWILDCARD ) - // InternalSemver.g:4590:3: ruleWILDCARD + // InternalSemver.g:4793:2: ( ruleSimpleVersion ) + // InternalSemver.g:4794:3: ruleSimpleVersion { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionPartAccess().getWildcardWILDCARDParserRuleCall_0_0()); + before(grammarAccess.getURLSemverAccess().getSimpleVersionSimpleVersionParserRuleCall_2_0()); } pushFollow(FOLLOW_2); - ruleWILDCARD(); + ruleSimpleVersion(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getVersionPartAccess().getWildcardWILDCARDParserRuleCall_0_0()); + after(grammarAccess.getURLSemverAccess().getSimpleVersionSimpleVersionParserRuleCall_2_0()); } } @@ -15609,28 +16285,32 @@ public final void rule__VersionPart__WildcardAssignment_0() throws RecognitionEx } return ; } - // $ANTLR end "rule__VersionPart__WildcardAssignment_0" + // $ANTLR end "rule__URLSemver__SimpleVersionAssignment_2" - // $ANTLR start "rule__VersionPart__NumberRawAssignment_1" - // InternalSemver.g:4599:1: rule__VersionPart__NumberRawAssignment_1 : ( RULE_DIGITS ) ; - public final void rule__VersionPart__NumberRawAssignment_1() throws RecognitionException { + // $ANTLR start "rule__WorkspaceVersionRequirement__VersionAssignment_1_0" + // InternalSemver.g:4803:1: rule__WorkspaceVersionRequirement__VersionAssignment_1_0 : ( ruleSimpleVersion ) ; + public final void rule__WorkspaceVersionRequirement__VersionAssignment_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4603:1: ( ( RULE_DIGITS ) ) - // InternalSemver.g:4604:2: ( RULE_DIGITS ) + // InternalSemver.g:4807:1: ( ( ruleSimpleVersion ) ) + // InternalSemver.g:4808:2: ( ruleSimpleVersion ) { - // InternalSemver.g:4604:2: ( RULE_DIGITS ) - // InternalSemver.g:4605:3: RULE_DIGITS + // InternalSemver.g:4808:2: ( ruleSimpleVersion ) + // InternalSemver.g:4809:3: ruleSimpleVersion { if ( state.backtracking==0 ) { - before(grammarAccess.getVersionPartAccess().getNumberRawDIGITSTerminalRuleCall_1_0()); + before(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionSimpleVersionParserRuleCall_1_0_0()); } - match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; + pushFollow(FOLLOW_2); + ruleSimpleVersion(); + + state._fsp--; + if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getVersionPartAccess().getNumberRawDIGITSTerminalRuleCall_1_0()); + after(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionSimpleVersionParserRuleCall_1_0_0()); } } @@ -15650,32 +16330,32 @@ public final void rule__VersionPart__NumberRawAssignment_1() throws RecognitionE } return ; } - // $ANTLR end "rule__VersionPart__NumberRawAssignment_1" + // $ANTLR end "rule__WorkspaceVersionRequirement__VersionAssignment_1_0" - // $ANTLR start "rule__Qualifier__PreReleaseAssignment_0_1" - // InternalSemver.g:4614:1: rule__Qualifier__PreReleaseAssignment_0_1 : ( ruleQualifierTag ) ; - public final void rule__Qualifier__PreReleaseAssignment_0_1() throws RecognitionException { + // $ANTLR start "rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1" + // InternalSemver.g:4818:1: rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 : ( ruleWORKSPACE_VERSION ) ; + public final void rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4618:1: ( ( ruleQualifierTag ) ) - // InternalSemver.g:4619:2: ( ruleQualifierTag ) + // InternalSemver.g:4822:1: ( ( ruleWORKSPACE_VERSION ) ) + // InternalSemver.g:4823:2: ( ruleWORKSPACE_VERSION ) { - // InternalSemver.g:4619:2: ( ruleQualifierTag ) - // InternalSemver.g:4620:3: ruleQualifierTag + // InternalSemver.g:4823:2: ( ruleWORKSPACE_VERSION ) + // InternalSemver.g:4824:3: ruleWORKSPACE_VERSION { if ( state.backtracking==0 ) { - before(grammarAccess.getQualifierAccess().getPreReleaseQualifierTagParserRuleCall_0_1_0()); + before(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionWORKSPACE_VERSIONParserRuleCall_1_1_0()); } pushFollow(FOLLOW_2); - ruleQualifierTag(); + ruleWORKSPACE_VERSION(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getQualifierAccess().getPreReleaseQualifierTagParserRuleCall_0_1_0()); + after(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionWORKSPACE_VERSIONParserRuleCall_1_1_0()); } } @@ -15695,32 +16375,32 @@ public final void rule__Qualifier__PreReleaseAssignment_0_1() throws Recognition } return ; } - // $ANTLR end "rule__Qualifier__PreReleaseAssignment_0_1" + // $ANTLR end "rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1" - // $ANTLR start "rule__Qualifier__BuildMetadataAssignment_0_2_1" - // InternalSemver.g:4629:1: rule__Qualifier__BuildMetadataAssignment_0_2_1 : ( ruleQualifierTag ) ; - public final void rule__Qualifier__BuildMetadataAssignment_0_2_1() throws RecognitionException { + // $ANTLR start "rule__GitHubVersionRequirement__GithubUrlAssignment_0" + // InternalSemver.g:4833:1: rule__GitHubVersionRequirement__GithubUrlAssignment_0 : ( ruleURL_NO_VX ) ; + public final void rule__GitHubVersionRequirement__GithubUrlAssignment_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4633:1: ( ( ruleQualifierTag ) ) - // InternalSemver.g:4634:2: ( ruleQualifierTag ) + // InternalSemver.g:4837:1: ( ( ruleURL_NO_VX ) ) + // InternalSemver.g:4838:2: ( ruleURL_NO_VX ) { - // InternalSemver.g:4634:2: ( ruleQualifierTag ) - // InternalSemver.g:4635:3: ruleQualifierTag + // InternalSemver.g:4838:2: ( ruleURL_NO_VX ) + // InternalSemver.g:4839:3: ruleURL_NO_VX { if ( state.backtracking==0 ) { - before(grammarAccess.getQualifierAccess().getBuildMetadataQualifierTagParserRuleCall_0_2_1_0()); + before(grammarAccess.getGitHubVersionRequirementAccess().getGithubUrlURL_NO_VXParserRuleCall_0_0()); } pushFollow(FOLLOW_2); - ruleQualifierTag(); + ruleURL_NO_VX(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getQualifierAccess().getBuildMetadataQualifierTagParserRuleCall_0_2_1_0()); + after(grammarAccess.getGitHubVersionRequirementAccess().getGithubUrlURL_NO_VXParserRuleCall_0_0()); } } @@ -15740,32 +16420,32 @@ public final void rule__Qualifier__BuildMetadataAssignment_0_2_1() throws Recogn } return ; } - // $ANTLR end "rule__Qualifier__BuildMetadataAssignment_0_2_1" + // $ANTLR end "rule__GitHubVersionRequirement__GithubUrlAssignment_0" - // $ANTLR start "rule__Qualifier__BuildMetadataAssignment_1_1" - // InternalSemver.g:4644:1: rule__Qualifier__BuildMetadataAssignment_1_1 : ( ruleQualifierTag ) ; - public final void rule__Qualifier__BuildMetadataAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__GitHubVersionRequirement__CommitISHAssignment_1_1" + // InternalSemver.g:4848:1: rule__GitHubVersionRequirement__CommitISHAssignment_1_1 : ( ruleALPHA_NUMERIC_CHARS ) ; + public final void rule__GitHubVersionRequirement__CommitISHAssignment_1_1() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4648:1: ( ( ruleQualifierTag ) ) - // InternalSemver.g:4649:2: ( ruleQualifierTag ) + // InternalSemver.g:4852:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:4853:2: ( ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:4649:2: ( ruleQualifierTag ) - // InternalSemver.g:4650:3: ruleQualifierTag + // InternalSemver.g:4853:2: ( ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:4854:3: ruleALPHA_NUMERIC_CHARS { if ( state.backtracking==0 ) { - before(grammarAccess.getQualifierAccess().getBuildMetadataQualifierTagParserRuleCall_1_1_0()); + before(grammarAccess.getGitHubVersionRequirementAccess().getCommitISHALPHA_NUMERIC_CHARSParserRuleCall_1_1_0()); } pushFollow(FOLLOW_2); - ruleQualifierTag(); + ruleALPHA_NUMERIC_CHARS(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getQualifierAccess().getBuildMetadataQualifierTagParserRuleCall_1_1_0()); + after(grammarAccess.getGitHubVersionRequirementAccess().getCommitISHALPHA_NUMERIC_CHARSParserRuleCall_1_1_0()); } } @@ -15785,32 +16465,32 @@ public final void rule__Qualifier__BuildMetadataAssignment_1_1() throws Recognit } return ; } - // $ANTLR end "rule__Qualifier__BuildMetadataAssignment_1_1" + // $ANTLR end "rule__GitHubVersionRequirement__CommitISHAssignment_1_1" - // $ANTLR start "rule__QualifierTag__PartsAssignment_0" - // InternalSemver.g:4659:1: rule__QualifierTag__PartsAssignment_0 : ( ruleALPHA_NUMERIC_CHARS ) ; - public final void rule__QualifierTag__PartsAssignment_0() throws RecognitionException { + // $ANTLR start "rule__TagVersionRequirement__TagNameAssignment" + // InternalSemver.g:4863:1: rule__TagVersionRequirement__TagNameAssignment : ( ruleTAG ) ; + public final void rule__TagVersionRequirement__TagNameAssignment() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4663:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) - // InternalSemver.g:4664:2: ( ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:4867:1: ( ( ruleTAG ) ) + // InternalSemver.g:4868:2: ( ruleTAG ) { - // InternalSemver.g:4664:2: ( ruleALPHA_NUMERIC_CHARS ) - // InternalSemver.g:4665:3: ruleALPHA_NUMERIC_CHARS + // InternalSemver.g:4868:2: ( ruleTAG ) + // InternalSemver.g:4869:3: ruleTAG { if ( state.backtracking==0 ) { - before(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_0_0()); + before(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); } pushFollow(FOLLOW_2); - ruleALPHA_NUMERIC_CHARS(); + ruleTAG(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_0_0()); + after(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); } } @@ -15830,32 +16510,32 @@ public final void rule__QualifierTag__PartsAssignment_0() throws RecognitionExce } return ; } - // $ANTLR end "rule__QualifierTag__PartsAssignment_0" + // $ANTLR end "rule__TagVersionRequirement__TagNameAssignment" - // $ANTLR start "rule__QualifierTag__PartsAssignment_1_1" - // InternalSemver.g:4674:1: rule__QualifierTag__PartsAssignment_1_1 : ( ruleALPHA_NUMERIC_CHARS ) ; - public final void rule__QualifierTag__PartsAssignment_1_1() throws RecognitionException { + // $ANTLR start "rule__VersionRangeSetRequirement__RangesAssignment_1_0" + // InternalSemver.g:4878:1: rule__VersionRangeSetRequirement__RangesAssignment_1_0 : ( ruleVersionRange ) ; + public final void rule__VersionRangeSetRequirement__RangesAssignment_1_0() throws RecognitionException { int stackSize = keepStackSize(); try { - // InternalSemver.g:4678:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) - // InternalSemver.g:4679:2: ( ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:4882:1: ( ( ruleVersionRange ) ) + // InternalSemver.g:4883:2: ( ruleVersionRange ) { - // InternalSemver.g:4679:2: ( ruleALPHA_NUMERIC_CHARS ) - // InternalSemver.g:4680:3: ruleALPHA_NUMERIC_CHARS + // InternalSemver.g:4883:2: ( ruleVersionRange ) + // InternalSemver.g:4884:3: ruleVersionRange { if ( state.backtracking==0 ) { - before(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_1_1_0()); + before(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_0_0()); } pushFollow(FOLLOW_2); - ruleALPHA_NUMERIC_CHARS(); + ruleVersionRange(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) { - after(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_1_1_0()); + after(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_0_0()); } } @@ -15875,200 +16555,1917 @@ public final void rule__QualifierTag__PartsAssignment_1_1() throws RecognitionEx } return ; } - // $ANTLR end "rule__QualifierTag__PartsAssignment_1_1" + // $ANTLR end "rule__VersionRangeSetRequirement__RangesAssignment_1_0" - // $ANTLR start synpred4_InternalSemver - public final void synpred4_InternalSemver_fragment() throws RecognitionException { - // InternalSemver.g:800:2: ( ( ( ruleLocalPathVersionRequirement ) ) ) - // InternalSemver.g:800:2: ( ( ruleLocalPathVersionRequirement ) ) - { - // InternalSemver.g:800:2: ( ( ruleLocalPathVersionRequirement ) ) - // InternalSemver.g:801:3: ( ruleLocalPathVersionRequirement ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNPMVersionRequirementAccess().getLocalPathVersionRequirementParserRuleCall_1_0_0()); - } - // InternalSemver.g:802:3: ( ruleLocalPathVersionRequirement ) - // InternalSemver.g:802:4: ruleLocalPathVersionRequirement - { - pushFollow(FOLLOW_2); - ruleLocalPathVersionRequirement(); - state._fsp--; - if (state.failed) return ; + // $ANTLR start "rule__VersionRangeSetRequirement__RangesAssignment_1_1_3" + // InternalSemver.g:4893:1: rule__VersionRangeSetRequirement__RangesAssignment_1_1_3 : ( ruleVersionRange ) ; + public final void rule__VersionRangeSetRequirement__RangesAssignment_1_1_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:4897:1: ( ( ruleVersionRange ) ) + // InternalSemver.g:4898:2: ( ruleVersionRange ) + { + // InternalSemver.g:4898:2: ( ruleVersionRange ) + // InternalSemver.g:4899:3: ruleVersionRange + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_1_3_0()); + } + pushFollow(FOLLOW_2); + ruleVersionRange(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_1_3_0()); + } + + } - } + } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); } + return ; } - // $ANTLR end synpred4_InternalSemver + // $ANTLR end "rule__VersionRangeSetRequirement__RangesAssignment_1_1_3" - // $ANTLR start synpred5_InternalSemver - public final void synpred5_InternalSemver_fragment() throws RecognitionException { - // InternalSemver.g:821:2: ( ( ( ruleURLVersionRequirement ) ) ) - // InternalSemver.g:821:2: ( ( ruleURLVersionRequirement ) ) - { - // InternalSemver.g:821:2: ( ( ruleURLVersionRequirement ) ) - // InternalSemver.g:822:3: ( ruleURLVersionRequirement ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNPMVersionRequirementAccess().getURLVersionRequirementParserRuleCall_1_0_1_0()); - } - // InternalSemver.g:823:3: ( ruleURLVersionRequirement ) - // InternalSemver.g:823:4: ruleURLVersionRequirement - { - pushFollow(FOLLOW_2); - ruleURLVersionRequirement(); - state._fsp--; - if (state.failed) return ; + // $ANTLR start "rule__HyphenVersionRange__FromAssignment_1" + // InternalSemver.g:4908:1: rule__HyphenVersionRange__FromAssignment_1 : ( ruleVersionNumber ) ; + public final void rule__HyphenVersionRange__FromAssignment_1() throws RecognitionException { - } + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:4912:1: ( ( ruleVersionNumber ) ) + // InternalSemver.g:4913:2: ( ruleVersionNumber ) + { + // InternalSemver.g:4913:2: ( ruleVersionNumber ) + // InternalSemver.g:4914:3: ruleVersionNumber + { + if ( state.backtracking==0 ) { + before(grammarAccess.getHyphenVersionRangeAccess().getFromVersionNumberParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleVersionNumber(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getHyphenVersionRangeAccess().getFromVersionNumberParserRuleCall_1_0()); + } + } + + + } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); } + return ; } - // $ANTLR end synpred5_InternalSemver + // $ANTLR end "rule__HyphenVersionRange__FromAssignment_1" - // $ANTLR start synpred6_InternalSemver - public final void synpred6_InternalSemver_fragment() throws RecognitionException { - // InternalSemver.g:827:2: ( ( ruleGitHubVersionRequirement ) ) - // InternalSemver.g:827:2: ( ruleGitHubVersionRequirement ) - { - // InternalSemver.g:827:2: ( ruleGitHubVersionRequirement ) - // InternalSemver.g:828:3: ruleGitHubVersionRequirement - { - if ( state.backtracking==0 ) { - before(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1()); - } - pushFollow(FOLLOW_2); - ruleGitHubVersionRequirement(); - state._fsp--; - if (state.failed) return ; + // $ANTLR start "rule__HyphenVersionRange__ToAssignment_5" + // InternalSemver.g:4923:1: rule__HyphenVersionRange__ToAssignment_5 : ( ruleVersionNumber ) ; + public final void rule__HyphenVersionRange__ToAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:4927:1: ( ( ruleVersionNumber ) ) + // InternalSemver.g:4928:2: ( ruleVersionNumber ) + { + // InternalSemver.g:4928:2: ( ruleVersionNumber ) + // InternalSemver.g:4929:3: ruleVersionNumber + { + if ( state.backtracking==0 ) { + before(grammarAccess.getHyphenVersionRangeAccess().getToVersionNumberParserRuleCall_5_0()); + } + pushFollow(FOLLOW_2); + ruleVersionNumber(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getHyphenVersionRangeAccess().getToVersionNumberParserRuleCall_5_0()); + } + + } + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); } + finally { + restoreStackSize(stackSize); } + return ; } - // $ANTLR end synpred6_InternalSemver + // $ANTLR end "rule__HyphenVersionRange__ToAssignment_5" - // $ANTLR start synpred7_InternalSemver - public final void synpred7_InternalSemver_fragment() throws RecognitionException { - // InternalSemver.g:848:2: ( ( ( rule__URLVersionSpecifier__Group_0__0 ) ) ) - // InternalSemver.g:848:2: ( ( rule__URLVersionSpecifier__Group_0__0 ) ) - { - // InternalSemver.g:848:2: ( ( rule__URLVersionSpecifier__Group_0__0 ) ) - // InternalSemver.g:849:3: ( rule__URLVersionSpecifier__Group_0__0 ) - { - if ( state.backtracking==0 ) { - before(grammarAccess.getURLVersionSpecifierAccess().getGroup_0()); - } - // InternalSemver.g:850:3: ( rule__URLVersionSpecifier__Group_0__0 ) - // InternalSemver.g:850:4: rule__URLVersionSpecifier__Group_0__0 - { - pushFollow(FOLLOW_2); - rule__URLVersionSpecifier__Group_0__0(); - state._fsp--; - if (state.failed) return ; + // $ANTLR start "rule__VersionRangeContraint__VersionConstraintsAssignment_1" + // InternalSemver.g:4938:1: rule__VersionRangeContraint__VersionConstraintsAssignment_1 : ( ruleSimpleVersion ) ; + public final void rule__VersionRangeContraint__VersionConstraintsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:4942:1: ( ( ruleSimpleVersion ) ) + // InternalSemver.g:4943:2: ( ruleSimpleVersion ) + { + // InternalSemver.g:4943:2: ( ruleSimpleVersion ) + // InternalSemver.g:4944:3: ruleSimpleVersion + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsSimpleVersionParserRuleCall_1_0()); + } + pushFollow(FOLLOW_2); + ruleSimpleVersion(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsSimpleVersionParserRuleCall_1_0()); + } + + } - } + } } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + restoreStackSize(stackSize); } + return ; } - // $ANTLR end synpred7_InternalSemver + // $ANTLR end "rule__VersionRangeContraint__VersionConstraintsAssignment_1" - // Delegated rules - public final boolean synpred6_InternalSemver() { - state.backtracking++; - int start = input.mark(); + // $ANTLR start "rule__VersionRangeContraint__VersionConstraintsAssignment_2_1" + // InternalSemver.g:4953:1: rule__VersionRangeContraint__VersionConstraintsAssignment_2_1 : ( ruleSimpleVersion ) ; + public final void rule__VersionRangeContraint__VersionConstraintsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + try { - synpred6_InternalSemver_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); + // InternalSemver.g:4957:1: ( ( ruleSimpleVersion ) ) + // InternalSemver.g:4958:2: ( ruleSimpleVersion ) + { + // InternalSemver.g:4958:2: ( ruleSimpleVersion ) + // InternalSemver.g:4959:3: ruleSimpleVersion + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsSimpleVersionParserRuleCall_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleSimpleVersion(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionRangeContraintAccess().getVersionConstraintsSimpleVersionParserRuleCall_2_1_0()); + } + + } + + + } + } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; } - public final boolean synpred4_InternalSemver() { - state.backtracking++; - int start = input.mark(); + // $ANTLR end "rule__VersionRangeContraint__VersionConstraintsAssignment_2_1" + + + // $ANTLR start "rule__SimpleVersion__ComparatorsAssignment_0_0" + // InternalSemver.g:4968:1: rule__SimpleVersion__ComparatorsAssignment_0_0 : ( ruleVersionComparator ) ; + public final void rule__SimpleVersion__ComparatorsAssignment_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + try { - synpred4_InternalSemver_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); + // InternalSemver.g:4972:1: ( ( ruleVersionComparator ) ) + // InternalSemver.g:4973:2: ( ruleVersionComparator ) + { + // InternalSemver.g:4973:2: ( ruleVersionComparator ) + // InternalSemver.g:4974:3: ruleVersionComparator + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleVersionAccess().getComparatorsVersionComparatorEnumRuleCall_0_0_0()); + } + pushFollow(FOLLOW_2); + ruleVersionComparator(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleVersionAccess().getComparatorsVersionComparatorEnumRuleCall_0_0_0()); + } + + } + + + } + } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; } - public final boolean synpred5_InternalSemver() { - state.backtracking++; - int start = input.mark(); + // $ANTLR end "rule__SimpleVersion__ComparatorsAssignment_0_0" + + + // $ANTLR start "rule__SimpleVersion__WithLetterVAssignment_1" + // InternalSemver.g:4983:1: rule__SimpleVersion__WithLetterVAssignment_1 : ( RULE_LETTER_V ) ; + public final void rule__SimpleVersion__WithLetterVAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + try { - synpred5_InternalSemver_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); + // InternalSemver.g:4987:1: ( ( RULE_LETTER_V ) ) + // InternalSemver.g:4988:2: ( RULE_LETTER_V ) + { + // InternalSemver.g:4988:2: ( RULE_LETTER_V ) + // InternalSemver.g:4989:3: RULE_LETTER_V + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleVersionAccess().getWithLetterVLETTER_VTerminalRuleCall_1_0()); + } + match(input,RULE_LETTER_V,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleVersionAccess().getWithLetterVLETTER_VTerminalRuleCall_1_0()); + } + + } + + + } + } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; } - public final boolean synpred7_InternalSemver() { - state.backtracking++; - int start = input.mark(); + // $ANTLR end "rule__SimpleVersion__WithLetterVAssignment_1" + + + // $ANTLR start "rule__SimpleVersion__NumberAssignment_2" + // InternalSemver.g:4998:1: rule__SimpleVersion__NumberAssignment_2 : ( ruleVersionNumber ) ; + public final void rule__SimpleVersion__NumberAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + try { - synpred7_InternalSemver_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); + // InternalSemver.g:5002:1: ( ( ruleVersionNumber ) ) + // InternalSemver.g:5003:2: ( ruleVersionNumber ) + { + // InternalSemver.g:5003:2: ( ruleVersionNumber ) + // InternalSemver.g:5004:3: ruleVersionNumber + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSimpleVersionAccess().getNumberVersionNumberParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleVersionNumber(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSimpleVersionAccess().getNumberVersionNumberParserRuleCall_2_0()); + } + + } + + + } + } - boolean success = !state.failed; - input.rewind(start); - state.backtracking--; - state.failed=false; - return success; + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SimpleVersion__NumberAssignment_2" + + + // $ANTLR start "rule__VersionNumber__MajorAssignment_0" + // InternalSemver.g:5013:1: rule__VersionNumber__MajorAssignment_0 : ( ruleVersionPart ) ; + public final void rule__VersionNumber__MajorAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5017:1: ( ( ruleVersionPart ) ) + // InternalSemver.g:5018:2: ( ruleVersionPart ) + { + // InternalSemver.g:5018:2: ( ruleVersionPart ) + // InternalSemver.g:5019:3: ruleVersionPart + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionNumberAccess().getMajorVersionPartParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleVersionPart(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionNumberAccess().getMajorVersionPartParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VersionNumber__MajorAssignment_0" + + + // $ANTLR start "rule__VersionNumber__MinorAssignment_1_1" + // InternalSemver.g:5028:1: rule__VersionNumber__MinorAssignment_1_1 : ( ruleVersionPart ) ; + public final void rule__VersionNumber__MinorAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5032:1: ( ( ruleVersionPart ) ) + // InternalSemver.g:5033:2: ( ruleVersionPart ) + { + // InternalSemver.g:5033:2: ( ruleVersionPart ) + // InternalSemver.g:5034:3: ruleVersionPart + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionNumberAccess().getMinorVersionPartParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleVersionPart(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionNumberAccess().getMinorVersionPartParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; } + // $ANTLR end "rule__VersionNumber__MinorAssignment_1_1" + + + // $ANTLR start "rule__VersionNumber__PatchAssignment_1_2_1" + // InternalSemver.g:5043:1: rule__VersionNumber__PatchAssignment_1_2_1 : ( ruleVersionPart ) ; + public final void rule__VersionNumber__PatchAssignment_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5047:1: ( ( ruleVersionPart ) ) + // InternalSemver.g:5048:2: ( ruleVersionPart ) + { + // InternalSemver.g:5048:2: ( ruleVersionPart ) + // InternalSemver.g:5049:3: ruleVersionPart + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionNumberAccess().getPatchVersionPartParserRuleCall_1_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleVersionPart(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionNumberAccess().getPatchVersionPartParserRuleCall_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VersionNumber__PatchAssignment_1_2_1" + + + // $ANTLR start "rule__VersionNumber__ExtendedAssignment_1_2_2_1" + // InternalSemver.g:5058:1: rule__VersionNumber__ExtendedAssignment_1_2_2_1 : ( ruleVersionPart ) ; + public final void rule__VersionNumber__ExtendedAssignment_1_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5062:1: ( ( ruleVersionPart ) ) + // InternalSemver.g:5063:2: ( ruleVersionPart ) + { + // InternalSemver.g:5063:2: ( ruleVersionPart ) + // InternalSemver.g:5064:3: ruleVersionPart + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionNumberAccess().getExtendedVersionPartParserRuleCall_1_2_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleVersionPart(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionNumberAccess().getExtendedVersionPartParserRuleCall_1_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VersionNumber__ExtendedAssignment_1_2_2_1" + + + // $ANTLR start "rule__VersionNumber__QualifierAssignment_2" + // InternalSemver.g:5073:1: rule__VersionNumber__QualifierAssignment_2 : ( ruleQualifier ) ; + public final void rule__VersionNumber__QualifierAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5077:1: ( ( ruleQualifier ) ) + // InternalSemver.g:5078:2: ( ruleQualifier ) + { + // InternalSemver.g:5078:2: ( ruleQualifier ) + // InternalSemver.g:5079:3: ruleQualifier + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionNumberAccess().getQualifierQualifierParserRuleCall_2_0()); + } + pushFollow(FOLLOW_2); + ruleQualifier(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionNumberAccess().getQualifierQualifierParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VersionNumber__QualifierAssignment_2" + + + // $ANTLR start "rule__VersionPart__WildcardAssignment_0" + // InternalSemver.g:5088:1: rule__VersionPart__WildcardAssignment_0 : ( ruleWILDCARD ) ; + public final void rule__VersionPart__WildcardAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5092:1: ( ( ruleWILDCARD ) ) + // InternalSemver.g:5093:2: ( ruleWILDCARD ) + { + // InternalSemver.g:5093:2: ( ruleWILDCARD ) + // InternalSemver.g:5094:3: ruleWILDCARD + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionPartAccess().getWildcardWILDCARDParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleWILDCARD(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionPartAccess().getWildcardWILDCARDParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VersionPart__WildcardAssignment_0" + + + // $ANTLR start "rule__VersionPart__NumberRawAssignment_1" + // InternalSemver.g:5103:1: rule__VersionPart__NumberRawAssignment_1 : ( RULE_DIGITS ) ; + public final void rule__VersionPart__NumberRawAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5107:1: ( ( RULE_DIGITS ) ) + // InternalSemver.g:5108:2: ( RULE_DIGITS ) + { + // InternalSemver.g:5108:2: ( RULE_DIGITS ) + // InternalSemver.g:5109:3: RULE_DIGITS + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVersionPartAccess().getNumberRawDIGITSTerminalRuleCall_1_0()); + } + match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVersionPartAccess().getNumberRawDIGITSTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VersionPart__NumberRawAssignment_1" + + + // $ANTLR start "rule__Qualifier__PreReleaseAssignment_0_1" + // InternalSemver.g:5118:1: rule__Qualifier__PreReleaseAssignment_0_1 : ( ruleQualifierTag ) ; + public final void rule__Qualifier__PreReleaseAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5122:1: ( ( ruleQualifierTag ) ) + // InternalSemver.g:5123:2: ( ruleQualifierTag ) + { + // InternalSemver.g:5123:2: ( ruleQualifierTag ) + // InternalSemver.g:5124:3: ruleQualifierTag + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifierAccess().getPreReleaseQualifierTagParserRuleCall_0_1_0()); + } + pushFollow(FOLLOW_2); + ruleQualifierTag(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifierAccess().getPreReleaseQualifierTagParserRuleCall_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Qualifier__PreReleaseAssignment_0_1" + + + // $ANTLR start "rule__Qualifier__BuildMetadataAssignment_0_2_1" + // InternalSemver.g:5133:1: rule__Qualifier__BuildMetadataAssignment_0_2_1 : ( ruleQualifierTag ) ; + public final void rule__Qualifier__BuildMetadataAssignment_0_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5137:1: ( ( ruleQualifierTag ) ) + // InternalSemver.g:5138:2: ( ruleQualifierTag ) + { + // InternalSemver.g:5138:2: ( ruleQualifierTag ) + // InternalSemver.g:5139:3: ruleQualifierTag + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifierAccess().getBuildMetadataQualifierTagParserRuleCall_0_2_1_0()); + } + pushFollow(FOLLOW_2); + ruleQualifierTag(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifierAccess().getBuildMetadataQualifierTagParserRuleCall_0_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Qualifier__BuildMetadataAssignment_0_2_1" + + + // $ANTLR start "rule__Qualifier__BuildMetadataAssignment_1_1" + // InternalSemver.g:5148:1: rule__Qualifier__BuildMetadataAssignment_1_1 : ( ruleQualifierTag ) ; + public final void rule__Qualifier__BuildMetadataAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5152:1: ( ( ruleQualifierTag ) ) + // InternalSemver.g:5153:2: ( ruleQualifierTag ) + { + // InternalSemver.g:5153:2: ( ruleQualifierTag ) + // InternalSemver.g:5154:3: ruleQualifierTag + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifierAccess().getBuildMetadataQualifierTagParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleQualifierTag(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifierAccess().getBuildMetadataQualifierTagParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Qualifier__BuildMetadataAssignment_1_1" + + + // $ANTLR start "rule__QualifierTag__PartsAssignment_0" + // InternalSemver.g:5163:1: rule__QualifierTag__PartsAssignment_0 : ( ruleALPHA_NUMERIC_CHARS ) ; + public final void rule__QualifierTag__PartsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5167:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:5168:2: ( ruleALPHA_NUMERIC_CHARS ) + { + // InternalSemver.g:5168:2: ( ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:5169:3: ruleALPHA_NUMERIC_CHARS + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_0_0()); + } + pushFollow(FOLLOW_2); + ruleALPHA_NUMERIC_CHARS(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifierTag__PartsAssignment_0" + + + // $ANTLR start "rule__QualifierTag__PartsAssignment_1_1" + // InternalSemver.g:5178:1: rule__QualifierTag__PartsAssignment_1_1 : ( ruleALPHA_NUMERIC_CHARS ) ; + public final void rule__QualifierTag__PartsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalSemver.g:5182:1: ( ( ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:5183:2: ( ruleALPHA_NUMERIC_CHARS ) + { + // InternalSemver.g:5183:2: ( ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:5184:3: ruleALPHA_NUMERIC_CHARS + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_1_1_0()); + } + pushFollow(FOLLOW_2); + ruleALPHA_NUMERIC_CHARS(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifierTag__PartsAssignment_1_1" + + // $ANTLR start synpred5_InternalSemver + public final void synpred5_InternalSemver_fragment() throws RecognitionException { + // InternalSemver.g:907:2: ( ( ( ruleLocalPathVersionRequirement ) ) ) + // InternalSemver.g:907:2: ( ( ruleLocalPathVersionRequirement ) ) + { + // InternalSemver.g:907:2: ( ( ruleLocalPathVersionRequirement ) ) + // InternalSemver.g:908:3: ( ruleLocalPathVersionRequirement ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNPMVersionRequirementAccess().getLocalPathVersionRequirementParserRuleCall_1_0_0()); + } + // InternalSemver.g:909:3: ( ruleLocalPathVersionRequirement ) + // InternalSemver.g:909:4: ruleLocalPathVersionRequirement + { + pushFollow(FOLLOW_2); + ruleLocalPathVersionRequirement(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred5_InternalSemver + + // $ANTLR start synpred6_InternalSemver + public final void synpred6_InternalSemver_fragment() throws RecognitionException { + // InternalSemver.g:928:2: ( ( ( ruleURLVersionRequirement ) ) ) + // InternalSemver.g:928:2: ( ( ruleURLVersionRequirement ) ) + { + // InternalSemver.g:928:2: ( ( ruleURLVersionRequirement ) ) + // InternalSemver.g:929:3: ( ruleURLVersionRequirement ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNPMVersionRequirementAccess().getURLVersionRequirementParserRuleCall_1_0_1_0()); + } + // InternalSemver.g:930:3: ( ruleURLVersionRequirement ) + // InternalSemver.g:930:4: ruleURLVersionRequirement + { + pushFollow(FOLLOW_2); + ruleURLVersionRequirement(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred6_InternalSemver + + // $ANTLR start synpred7_InternalSemver + public final void synpred7_InternalSemver_fragment() throws RecognitionException { + // InternalSemver.g:949:2: ( ( ( ruleWorkspaceVersionRequirement ) ) ) + // InternalSemver.g:949:2: ( ( ruleWorkspaceVersionRequirement ) ) + { + // InternalSemver.g:949:2: ( ( ruleWorkspaceVersionRequirement ) ) + // InternalSemver.g:950:3: ( ruleWorkspaceVersionRequirement ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNPMVersionRequirementAccess().getWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0()); + } + // InternalSemver.g:951:3: ( ruleWorkspaceVersionRequirement ) + // InternalSemver.g:951:4: ruleWorkspaceVersionRequirement + { + pushFollow(FOLLOW_2); + ruleWorkspaceVersionRequirement(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred7_InternalSemver + + // $ANTLR start synpred8_InternalSemver + public final void synpred8_InternalSemver_fragment() throws RecognitionException { + // InternalSemver.g:955:2: ( ( ruleGitHubVersionRequirement ) ) + // InternalSemver.g:955:2: ( ruleGitHubVersionRequirement ) + { + // InternalSemver.g:955:2: ( ruleGitHubVersionRequirement ) + // InternalSemver.g:956:3: ruleGitHubVersionRequirement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1_1()); + } + pushFollow(FOLLOW_2); + ruleGitHubVersionRequirement(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred8_InternalSemver + + // $ANTLR start synpred9_InternalSemver + public final void synpred9_InternalSemver_fragment() throws RecognitionException { + // InternalSemver.g:976:2: ( ( ( rule__URLVersionSpecifier__Group_0__0 ) ) ) + // InternalSemver.g:976:2: ( ( rule__URLVersionSpecifier__Group_0__0 ) ) + { + // InternalSemver.g:976:2: ( ( rule__URLVersionSpecifier__Group_0__0 ) ) + // InternalSemver.g:977:3: ( rule__URLVersionSpecifier__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getURLVersionSpecifierAccess().getGroup_0()); + } + // InternalSemver.g:978:3: ( rule__URLVersionSpecifier__Group_0__0 ) + // InternalSemver.g:978:4: rule__URLVersionSpecifier__Group_0__0 + { + pushFollow(FOLLOW_2); + rule__URLVersionSpecifier__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred9_InternalSemver + + // $ANTLR start synpred11_InternalSemver + public final void synpred11_InternalSemver_fragment() throws RecognitionException { + // InternalSemver.g:1003:2: ( ( ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) ) ) + // InternalSemver.g:1003:2: ( ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) ) + { + // InternalSemver.g:1003:2: ( ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) ) + // InternalSemver.g:1004:3: ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionAssignment_1_0()); + } + // InternalSemver.g:1005:3: ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) + // InternalSemver.g:1005:4: rule__WorkspaceVersionRequirement__VersionAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__WorkspaceVersionRequirement__VersionAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred11_InternalSemver + + // Delegated rules + + public final boolean synpred6_InternalSemver() { + state.backtracking++; + int start = input.mark(); + try { + synpred6_InternalSemver_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred9_InternalSemver() { + state.backtracking++; + int start = input.mark(); + try { + synpred9_InternalSemver_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred11_InternalSemver() { + state.backtracking++; + int start = input.mark(); + try { + synpred11_InternalSemver_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred5_InternalSemver() { + state.backtracking++; + int start = input.mark(); + try { + synpred5_InternalSemver_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred7_InternalSemver() { + state.backtracking++; + int start = input.mark(); + try { + synpred7_InternalSemver_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred8_InternalSemver() { + state.backtracking++; + int start = input.mark(); + try { + synpred8_InternalSemver_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + + + protected DFA5 dfa5 = new DFA5(this); + protected DFA6 dfa6 = new DFA6(this); + protected DFA7 dfa7 = new DFA7(this); + protected DFA8 dfa8 = new DFA8(this); + protected DFA9 dfa9 = new DFA9(this); + protected DFA10 dfa10 = new DFA10(this); + static final String dfa_1s = "\36\uffff"; + static final String dfa_2s = "\3\uffff\4\2\27\uffff"; + static final String dfa_3s = "\1\10\1\5\1\uffff\4\5\26\0\1\uffff"; + static final String dfa_4s = "\2\57\1\uffff\3\57\1\67\26\0\1\uffff"; + static final String dfa_5s = "\2\uffff\1\2\32\uffff\1\1"; + static final String dfa_6s = "\7\uffff\1\0\1\4\1\22\1\6\1\12\1\23\1\11\1\21\1\24\1\7\1\5\1\16\1\1\1\14\1\13\1\25\1\10\1\20\1\17\1\2\1\15\1\3\1\uffff}>"; + static final String[] dfa_7s = { + "\3\2\1\1\12\2\26\uffff\1\2\2\uffff\1\2", + "\7\2\1\3\11\2\23\uffff\7\2", + "", + "\11\2\1\4\10\2\22\uffff\7\2", + "\5\2\1\5\14\2\22\uffff\7\2", + "\22\2\22\uffff\5\2\1\6\1\2", + "\1\14\1\16\1\15\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\2\22\uffff\1\7\1\10\1\11\1\12\1\uffff\1\2\1\13\7\uffff\1\2", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final short[] dfa_2 = DFA.unpackEncodedString(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final char[] dfa_4 = DFA.unpackEncodedStringToUnsignedChars(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s); + static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s); + + class DFA5 extends DFA { + + public DFA5(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 5; + this.eot = dfa_1; + this.eof = dfa_2; + this.min = dfa_3; + this.max = dfa_4; + this.accept = dfa_5; + this.special = dfa_6; + this.transition = dfa_7; + } + public String getDescription() { + return "902:1: rule__NPMVersionRequirement__Alternatives_1_0 : ( ( ( ruleLocalPathVersionRequirement ) ) | ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA5_7 = input.LA(1); + + + int index5_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_7); + if ( s>=0 ) return s; + break; + case 1 : + int LA5_19 = input.LA(1); + + + int index5_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_19); + if ( s>=0 ) return s; + break; + case 2 : + int LA5_26 = input.LA(1); + + + int index5_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_26); + if ( s>=0 ) return s; + break; + case 3 : + int LA5_28 = input.LA(1); + + + int index5_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_28); + if ( s>=0 ) return s; + break; + case 4 : + int LA5_8 = input.LA(1); + + + int index5_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_8); + if ( s>=0 ) return s; + break; + case 5 : + int LA5_17 = input.LA(1); + + + int index5_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_17); + if ( s>=0 ) return s; + break; + case 6 : + int LA5_10 = input.LA(1); + + + int index5_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_10); + if ( s>=0 ) return s; + break; + case 7 : + int LA5_16 = input.LA(1); + + + int index5_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_16); + if ( s>=0 ) return s; + break; + case 8 : + int LA5_23 = input.LA(1); + + + int index5_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_23); + if ( s>=0 ) return s; + break; + case 9 : + int LA5_13 = input.LA(1); + + + int index5_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_13); + if ( s>=0 ) return s; + break; + case 10 : + int LA5_11 = input.LA(1); + + + int index5_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA5_21 = input.LA(1); + + + int index5_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_21); + if ( s>=0 ) return s; + break; + case 12 : + int LA5_20 = input.LA(1); + + + int index5_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_20); + if ( s>=0 ) return s; + break; + case 13 : + int LA5_27 = input.LA(1); + + + int index5_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_27); + if ( s>=0 ) return s; + break; + case 14 : + int LA5_18 = input.LA(1); + + + int index5_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_18); + if ( s>=0 ) return s; + break; + case 15 : + int LA5_25 = input.LA(1); + + + int index5_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_25); + if ( s>=0 ) return s; + break; + case 16 : + int LA5_24 = input.LA(1); + + + int index5_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_24); + if ( s>=0 ) return s; + break; + case 17 : + int LA5_14 = input.LA(1); + + + int index5_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_14); + if ( s>=0 ) return s; + break; + case 18 : + int LA5_9 = input.LA(1); + + + int index5_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_9); + if ( s>=0 ) return s; + break; + case 19 : + int LA5_12 = input.LA(1); + + + int index5_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_12); + if ( s>=0 ) return s; + break; + case 20 : + int LA5_15 = input.LA(1); + + + int index5_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_15); + if ( s>=0 ) return s; + break; + case 21 : + int LA5_22 = input.LA(1); + + + int index5_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred5_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index5_22); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 5, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_8s = "\155\uffff"; + static final String dfa_9s = "\20\uffff\20\17\1\uffff\52\17\4\uffff\32\17\4\uffff"; + static final String dfa_10s = "\1\10\16\5\1\uffff\20\5\1\uffff\52\5\4\0\4\5\26\4\4\0"; + static final String dfa_11s = "\17\57\1\uffff\20\57\1\uffff\1\57\1\67\21\57\1\67\1\57\1\67\1\57\23\67\4\0\4\57\26\67\4\0"; + static final String dfa_12s = "\17\uffff\1\2\20\uffff\1\1\114\uffff"; + static final String dfa_13s = "\113\uffff\1\2\1\4\1\5\1\6\32\uffff\1\3\1\7\1\0\1\1}>"; + static final String[] dfa_14s = { + "\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\26\uffff\1\17\2\uffff\1\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\41\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "\1\17\1\21\1\20\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\23\uffff\4\17\1\40\2\17", + "", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\63\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\22\17\22\uffff\1\64\3\17\1\uffff\2\17\7\uffff\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\65\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\22\17\22\uffff\1\66\3\17\1\uffff\2\17\7\uffff\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\67\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\117\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\72\1\74\1\73\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\17\22\uffff\1\113\1\114\1\116\1\70\1\uffff\1\115\1\71\7\uffff\1\17", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\17\1\44\1\43\1\120\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\121\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\122\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\42\1\17", + "\1\17\1\44\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\17\22\uffff\4\17\1\40\1\123\1\17", + "\23\17\22\uffff\1\124\3\17\1\uffff\12\17", + "\23\17\22\uffff\1\125\3\17\1\uffff\12\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\17\1\130\1\132\1\131\1\133\1\134\1\135\1\136\1\137\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\17\22\uffff\1\151\1\152\1\154\1\126\1\uffff\1\153\1\127\10\17", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff" + }; + + static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); + static final short[] dfa_9 = DFA.unpackEncodedString(dfa_9s); + static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); + static final char[] dfa_11 = DFA.unpackEncodedStringToUnsignedChars(dfa_11s); + static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); + static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); + static final short[][] dfa_14 = unpackEncodedStringArray(dfa_14s); + + class DFA6 extends DFA { + + public DFA6(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 6; + this.eot = dfa_8; + this.eof = dfa_9; + this.min = dfa_10; + this.max = dfa_11; + this.accept = dfa_12; + this.special = dfa_13; + this.transition = dfa_14; + } + public String getDescription() { + return "923:1: rule__NPMVersionRequirement__Alternatives_1_0_1 : ( ( ( ruleURLVersionRequirement ) ) | ( ( rule__NPMVersionRequirement__Alternatives_1_0_1_1 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA6_107 = input.LA(1); + + + int index6_107 = input.index(); + input.rewind(); + s = -1; + if ( (synpred6_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index6_107); + if ( s>=0 ) return s; + break; + case 1 : + int LA6_108 = input.LA(1); + + + int index6_108 = input.index(); + input.rewind(); + s = -1; + if ( (synpred6_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index6_108); + if ( s>=0 ) return s; + break; + case 2 : + int LA6_75 = input.LA(1); + + + int index6_75 = input.index(); + input.rewind(); + s = -1; + if ( (synpred6_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index6_75); + if ( s>=0 ) return s; + break; + case 3 : + int LA6_105 = input.LA(1); + + + int index6_105 = input.index(); + input.rewind(); + s = -1; + if ( (synpred6_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index6_105); + if ( s>=0 ) return s; + break; + case 4 : + int LA6_76 = input.LA(1); + + + int index6_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred6_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index6_76); + if ( s>=0 ) return s; + break; + case 5 : + int LA6_77 = input.LA(1); + + + int index6_77 = input.index(); + input.rewind(); + s = -1; + if ( (synpred6_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index6_77); + if ( s>=0 ) return s; + break; + case 6 : + int LA6_78 = input.LA(1); + + + int index6_78 = input.index(); + input.rewind(); + s = -1; + if ( (synpred6_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + input.seek(index6_78); + if ( s>=0 ) return s; + break; + case 7 : + int LA6_106 = input.LA(1); - protected DFA4 dfa4 = new DFA4(this); - protected DFA5 dfa5 = new DFA5(this); - protected DFA6 dfa6 = new DFA6(this); - protected DFA7 dfa7 = new DFA7(this); - static final String dfa_1s = "\30\uffff"; - static final String dfa_2s = "\3\uffff\4\2\21\uffff"; - static final String dfa_3s = "\1\10\1\4\1\uffff\4\4\20\0\1\uffff"; - static final String dfa_4s = "\1\47\1\51\1\uffff\3\51\1\61\20\0\1\uffff"; - static final String dfa_5s = "\2\uffff\1\2\24\uffff\1\1"; - static final String dfa_6s = "\7\uffff\1\0\1\13\1\16\1\10\1\12\1\4\1\1\1\3\1\15\1\17\1\11\1\14\1\5\1\6\1\2\1\7\1\uffff}>"; - static final String[] dfa_7s = { - "\3\2\1\1\4\2\26\uffff\2\2", - "\2\2\1\uffff\5\2\1\3\3\2\23\uffff\7\2", + + int index6_106 = input.index(); + input.rewind(); + s = -1; + if ( (synpred6_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index6_106); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 6, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_15s = "\126\uffff"; + static final String dfa_16s = "\20\uffff\45\65\1\uffff\7\65\1\2\30\uffff"; + static final String dfa_17s = "\1\10\1\5\1\uffff\62\5\1\uffff\7\5\1\4\1\uffff\27\0"; + static final String dfa_18s = "\2\57\1\uffff\62\57\1\uffff\7\57\1\67\1\uffff\27\0"; + static final String dfa_19s = "\2\uffff\1\2\62\uffff\1\3\10\uffff\1\1\27\uffff"; + static final String dfa_20s = "\77\uffff\1\23\1\0\1\24\1\4\1\12\1\21\1\1\1\7\1\25\1\5\1\13\1\22\1\2\1\10\1\15\1\26\1\6\1\14\1\17\1\3\1\11\1\16\1\20}>"; + static final String[] dfa_21s = { + "\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\1\1\17\26\uffff\1\2\2\uffff\1\2", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\21\1\23\1\22\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\42\1\35\1\36\1\37\1\40\1\41\23\uffff\4\2\1\uffff\1\2\1\20", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\66\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\67\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\70\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\71\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\72\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\73\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\74\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\2\1\43", + "\1\44\1\46\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\22\uffff\4\2\1\uffff\1\75\1\43", + "\1\76\1\101\1\100\1\77\1\110\1\111\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\2\22\uffff\1\102\1\103\1\105\1\106\1\uffff\1\104\1\107\7\76\1\2", "", - "\2\2\1\uffff\6\2\1\4\3\2\22\uffff\7\2", - "\2\2\1\uffff\7\2\1\5\2\2\22\uffff\7\2", - "\2\2\1\uffff\12\2\22\uffff\6\2\1\6", - "\1\14\1\16\1\uffff\1\15\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\2\22\uffff\1\7\1\10\1\11\1\12\1\13\1\uffff\1\2\7\uffff\1\2", "\1\uffff", "\1\uffff", "\1\uffff", @@ -16085,814 +18482,995 @@ public final boolean synpred7_InternalSemver() { "\1\uffff", "\1\uffff", "\1\uffff", - "" + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff" }; - static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); - static final short[] dfa_2 = DFA.unpackEncodedString(dfa_2s); - static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); - static final char[] dfa_4 = DFA.unpackEncodedStringToUnsignedChars(dfa_4s); - static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); - static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s); - static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s); + static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); + static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); + static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); + static final char[] dfa_18 = DFA.unpackEncodedStringToUnsignedChars(dfa_18s); + static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); + static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); + static final short[][] dfa_21 = unpackEncodedStringArray(dfa_21s); - class DFA4 extends DFA { + class DFA7 extends DFA { - public DFA4(BaseRecognizer recognizer) { + public DFA7(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 4; - this.eot = dfa_1; - this.eof = dfa_2; - this.min = dfa_3; - this.max = dfa_4; - this.accept = dfa_5; - this.special = dfa_6; - this.transition = dfa_7; + this.decisionNumber = 7; + this.eot = dfa_15; + this.eof = dfa_16; + this.min = dfa_17; + this.max = dfa_18; + this.accept = dfa_19; + this.special = dfa_20; + this.transition = dfa_21; } public String getDescription() { - return "795:1: rule__NPMVersionRequirement__Alternatives_1_0 : ( ( ( ruleLocalPathVersionRequirement ) ) | ( ( rule__NPMVersionRequirement__Alternatives_1_0_1 ) ) );"; + return "944:1: rule__NPMVersionRequirement__Alternatives_1_0_1_1 : ( ( ( ruleWorkspaceVersionRequirement ) ) | ( ruleGitHubVersionRequirement ) | ( ruleTagVersionRequirement ) );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA4_7 = input.LA(1); + int LA7_64 = input.LA(1); - int index4_7 = input.index(); + int index7_64 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_7); + input.seek(index7_64); if ( s>=0 ) return s; break; case 1 : - int LA4_13 = input.LA(1); + int LA7_69 = input.LA(1); - int index4_13 = input.index(); + int index7_69 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_13); + input.seek(index7_69); if ( s>=0 ) return s; break; case 2 : - int LA4_21 = input.LA(1); + int LA7_75 = input.LA(1); - int index4_21 = input.index(); + int index7_75 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_21); + input.seek(index7_75); if ( s>=0 ) return s; break; case 3 : - int LA4_14 = input.LA(1); + int LA7_82 = input.LA(1); - int index4_14 = input.index(); + int index7_82 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_14); + input.seek(index7_82); if ( s>=0 ) return s; break; case 4 : - int LA4_12 = input.LA(1); + int LA7_66 = input.LA(1); - int index4_12 = input.index(); + int index7_66 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_12); + input.seek(index7_66); if ( s>=0 ) return s; break; case 5 : - int LA4_19 = input.LA(1); + int LA7_72 = input.LA(1); - int index4_19 = input.index(); + int index7_72 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_19); + input.seek(index7_72); if ( s>=0 ) return s; break; case 6 : - int LA4_20 = input.LA(1); + int LA7_79 = input.LA(1); - int index4_20 = input.index(); + int index7_79 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_20); + input.seek(index7_79); if ( s>=0 ) return s; break; case 7 : - int LA4_22 = input.LA(1); + int LA7_70 = input.LA(1); - int index4_22 = input.index(); + int index7_70 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_22); + input.seek(index7_70); if ( s>=0 ) return s; break; case 8 : - int LA4_10 = input.LA(1); + int LA7_76 = input.LA(1); - int index4_10 = input.index(); + int index7_76 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_10); + input.seek(index7_76); if ( s>=0 ) return s; break; case 9 : - int LA4_17 = input.LA(1); + int LA7_83 = input.LA(1); - int index4_17 = input.index(); + int index7_83 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_17); + input.seek(index7_83); if ( s>=0 ) return s; break; case 10 : - int LA4_11 = input.LA(1); + int LA7_67 = input.LA(1); - int index4_11 = input.index(); + int index7_67 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_11); + input.seek(index7_67); if ( s>=0 ) return s; break; case 11 : - int LA4_8 = input.LA(1); + int LA7_73 = input.LA(1); - int index4_8 = input.index(); + int index7_73 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_8); + input.seek(index7_73); if ( s>=0 ) return s; break; case 12 : - int LA4_18 = input.LA(1); + int LA7_80 = input.LA(1); - int index4_18 = input.index(); + int index7_80 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_18); + input.seek(index7_80); if ( s>=0 ) return s; break; case 13 : - int LA4_15 = input.LA(1); + int LA7_77 = input.LA(1); - int index4_15 = input.index(); + int index7_77 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_15); + input.seek(index7_77); if ( s>=0 ) return s; break; case 14 : - int LA4_9 = input.LA(1); + int LA7_84 = input.LA(1); - int index4_9 = input.index(); + int index7_84 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_9); + input.seek(index7_84); if ( s>=0 ) return s; break; case 15 : - int LA4_16 = input.LA(1); + int LA7_81 = input.LA(1); - int index4_16 = input.index(); + int index7_81 = input.index(); input.rewind(); s = -1; - if ( (synpred4_InternalSemver()) ) {s = 23;} + if ( (synpred7_InternalSemver()) ) {s = 62;} - else if ( (true) ) {s = 2;} + else if ( (synpred8_InternalSemver()) ) {s = 2;} + + + input.seek(index7_81); + if ( s>=0 ) return s; + break; + case 16 : + int LA7_85 = input.LA(1); + + + int index7_85 = input.index(); + input.rewind(); + s = -1; + if ( (synpred7_InternalSemver()) ) {s = 62;} + + else if ( (synpred8_InternalSemver()) ) {s = 2;} + + + input.seek(index7_85); + if ( s>=0 ) return s; + break; + case 17 : + int LA7_68 = input.LA(1); + + + int index7_68 = input.index(); + input.rewind(); + s = -1; + if ( (synpred7_InternalSemver()) ) {s = 62;} + + else if ( (synpred8_InternalSemver()) ) {s = 2;} + + + input.seek(index7_68); + if ( s>=0 ) return s; + break; + case 18 : + int LA7_74 = input.LA(1); + + + int index7_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred7_InternalSemver()) ) {s = 62;} + + else if ( (synpred8_InternalSemver()) ) {s = 2;} + + + input.seek(index7_74); + if ( s>=0 ) return s; + break; + case 19 : + int LA7_63 = input.LA(1); + + + int index7_63 = input.index(); + input.rewind(); + s = -1; + if ( (synpred7_InternalSemver()) ) {s = 62;} + + else if ( (synpred8_InternalSemver()) ) {s = 2;} + + + input.seek(index7_63); + if ( s>=0 ) return s; + break; + case 20 : + int LA7_65 = input.LA(1); + + + int index7_65 = input.index(); + input.rewind(); + s = -1; + if ( (synpred7_InternalSemver()) ) {s = 62;} + + else if ( (synpred8_InternalSemver()) ) {s = 2;} + + + input.seek(index7_65); + if ( s>=0 ) return s; + break; + case 21 : + int LA7_71 = input.LA(1); + + + int index7_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred7_InternalSemver()) ) {s = 62;} + + else if ( (synpred8_InternalSemver()) ) {s = 2;} + + + input.seek(index7_71); + if ( s>=0 ) return s; + break; + case 22 : + int LA7_78 = input.LA(1); + + + int index7_78 = input.index(); + input.rewind(); + s = -1; + if ( (synpred7_InternalSemver()) ) {s = 62;} + + else if ( (synpred8_InternalSemver()) ) {s = 2;} - input.seek(index4_16); + input.seek(index7_78); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 4, _s, input); + new NoViableAltException(getDescription(), 7, _s, input); error(nvae); throw nvae; } } - static final String dfa_8s = "\102\uffff"; - static final String dfa_9s = "\12\uffff\14\43\1\uffff\14\43\1\uffff\1\11\12\43\2\11\4\uffff\15\11"; - static final String dfa_10s = "\1\10\10\4\1\uffff\14\4\1\uffff\14\4\1\uffff\15\4\4\0\15\4"; - static final String dfa_11s = "\1\47\10\51\1\uffff\14\51\1\uffff\14\51\1\uffff\1\61\12\51\2\61\4\0\15\61"; - static final String dfa_12s = "\11\uffff\1\2\14\uffff\1\1\14\uffff\1\3\36\uffff"; - static final String dfa_13s = "\61\uffff\1\2\1\3\1\0\1\1\15\uffff}>"; - static final String[] dfa_14s = { - "\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\26\uffff\2\11", - "\1\13\1\15\1\uffff\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\23\uffff\3\11\1\12\1\11\1\26\1\11", - "\1\13\1\15\1\uffff\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\23\uffff\3\11\1\12\1\11\1\26\1\11", - "\1\13\1\15\1\uffff\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\23\uffff\3\11\1\12\1\11\1\26\1\11", - "\1\13\1\15\1\uffff\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\23\uffff\3\11\1\12\1\11\1\26\1\11", - "\1\13\1\15\1\uffff\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\23\uffff\3\11\1\12\1\11\1\26\1\11", - "\1\13\1\15\1\uffff\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\23\uffff\3\11\1\12\1\11\1\26\1\11", - "\1\13\1\15\1\uffff\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\23\uffff\3\11\1\12\1\11\1\26\1\11", - "\1\13\1\15\1\uffff\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\23\uffff\3\11\1\12\1\11\1\26\1\11", - "", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", - "\1\30\1\32\1\uffff\1\31\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\22\uffff\3\11\1\27\1\11\1\uffff\1\11", + static final String dfa_22s = "\17\uffff"; + static final String dfa_23s = "\1\uffff\1\6\1\uffff\1\6\3\uffff\1\6\3\uffff\4\6"; + static final String dfa_24s = "\1\4\1\5\1\uffff\1\4\1\0\1\5\1\uffff\1\5\2\0\1\uffff\4\5"; + static final String dfa_25s = "\1\66\1\57\1\uffff\1\57\1\0\1\57\1\uffff\1\57\2\0\1\uffff\4\57"; + static final String dfa_26s = "\2\uffff\1\1\3\uffff\1\3\3\uffff\1\2\4\uffff"; + static final String dfa_27s = "\4\uffff\1\1\1\0\2\uffff\1\3\1\2\5\uffff}>"; + static final String[] dfa_28s = { + "\1\2\1\5\1\4\1\3\13\6\1\1\2\6\31\uffff\1\6\7\2", + "\5\6\1\7\14\6\30\uffff\1\6", "", - "\2\11\1\uffff\12\11\22\uffff\1\57\4\11\1\uffff\1\11\7\uffff\1\11", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\1\30\1\46\1\uffff\1\45\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\43\22\uffff\3\11\1\27\1\11\1\26\1\44", - "\2\11\1\uffff\12\11\22\uffff\1\60\4\11\1\uffff\1\11\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\uffff", + "\1\2\1\10\1\11\20\6\30\uffff\1\6", "\1\uffff", + "\21\12\31\uffff\1\12", + "", + "\12\6\1\13\7\6\30\uffff\1\6", "\1\uffff", "\1\uffff", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11", - "\1\67\1\71\1\uffff\1\70\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\11\22\uffff\1\61\1\62\1\64\1\65\1\66\1\uffff\1\63\7\uffff\1\11" + "", + "\2\6\1\14\17\6\30\uffff\1\6", + "\5\6\1\15\14\6\30\uffff\1\6", + "\15\6\1\16\4\6\30\uffff\1\6", + "\22\6\27\uffff\1\2\1\6" }; - static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); - static final short[] dfa_9 = DFA.unpackEncodedString(dfa_9s); - static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); - static final char[] dfa_11 = DFA.unpackEncodedStringToUnsignedChars(dfa_11s); - static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); - static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); - static final short[][] dfa_14 = unpackEncodedStringArray(dfa_14s); + static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final char[] dfa_24 = DFA.unpackEncodedStringToUnsignedChars(dfa_24s); + static final char[] dfa_25 = DFA.unpackEncodedStringToUnsignedChars(dfa_25s); + static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); + static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); + static final short[][] dfa_28 = unpackEncodedStringArray(dfa_28s); - class DFA5 extends DFA { + class DFA8 extends DFA { - public DFA5(BaseRecognizer recognizer) { + public DFA8(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 5; - this.eot = dfa_8; - this.eof = dfa_9; - this.min = dfa_10; - this.max = dfa_11; - this.accept = dfa_12; - this.special = dfa_13; - this.transition = dfa_14; + this.decisionNumber = 8; + this.eot = dfa_22; + this.eof = dfa_23; + this.min = dfa_24; + this.max = dfa_25; + this.accept = dfa_26; + this.special = dfa_27; + this.transition = dfa_28; } public String getDescription() { - return "816:1: rule__NPMVersionRequirement__Alternatives_1_0_1 : ( ( ( ruleURLVersionRequirement ) ) | ( ruleGitHubVersionRequirement ) | ( ruleTagVersionRequirement ) );"; + return "971:1: rule__URLVersionSpecifier__Alternatives : ( ( ( rule__URLVersionSpecifier__Group_0__0 ) ) | ( ( rule__URLVersionSpecifier__Group_1__0 ) ) | ( ( rule__URLVersionSpecifier__Group_2__0 ) ) );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA5_51 = input.LA(1); + int LA8_5 = input.LA(1); - int index5_51 = input.index(); + int index8_5 = input.index(); input.rewind(); s = -1; - if ( (synpred5_InternalSemver()) ) {s = 22;} + if ( ((LA8_5>=RULE_DIGITS && LA8_5<=RULE_LETTER_OTHER)||LA8_5==47) ) {s = 10;} - else if ( (synpred6_InternalSemver()) ) {s = 9;} + else if ( (synpred9_InternalSemver()) ) {s = 2;} + + else if ( (true) ) {s = 6;} - input.seek(index5_51); + input.seek(index8_5); if ( s>=0 ) return s; break; case 1 : - int LA5_52 = input.LA(1); + int LA8_4 = input.LA(1); - int index5_52 = input.index(); + int index8_4 = input.index(); input.rewind(); s = -1; - if ( (synpred5_InternalSemver()) ) {s = 22;} + if ( (synpred9_InternalSemver()) ) {s = 2;} - else if ( (synpred6_InternalSemver()) ) {s = 9;} + else if ( (true) ) {s = 6;} - input.seek(index5_52); + input.seek(index8_4); if ( s>=0 ) return s; break; case 2 : - int LA5_49 = input.LA(1); + int LA8_9 = input.LA(1); - int index5_49 = input.index(); + int index8_9 = input.index(); input.rewind(); s = -1; - if ( (synpred5_InternalSemver()) ) {s = 22;} + if ( (synpred9_InternalSemver()) ) {s = 2;} - else if ( (synpred6_InternalSemver()) ) {s = 9;} + else if ( (true) ) {s = 6;} - input.seek(index5_49); + input.seek(index8_9); if ( s>=0 ) return s; break; case 3 : - int LA5_50 = input.LA(1); + int LA8_8 = input.LA(1); - int index5_50 = input.index(); + int index8_8 = input.index(); input.rewind(); s = -1; - if ( (synpred5_InternalSemver()) ) {s = 22;} + if ( (synpred9_InternalSemver()) ) {s = 2;} - else if ( (synpred6_InternalSemver()) ) {s = 9;} + else if ( (true) ) {s = 6;} - input.seek(index5_50); + input.seek(index8_8); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 5, _s, input); + new NoViableAltException(getDescription(), 8, _s, input); error(nvae); throw nvae; } } - static final String dfa_15s = "\17\uffff"; - static final String dfa_16s = "\1\uffff\1\6\1\uffff\1\6\3\uffff\1\6\3\uffff\4\6"; - static final String dfa_17s = "\2\4\1\uffff\1\4\1\0\1\4\1\uffff\1\4\2\0\1\uffff\4\4"; - static final String dfa_18s = "\1\60\1\46\1\uffff\1\46\1\0\1\46\1\uffff\1\46\2\0\1\uffff\3\46\1\51"; - static final String dfa_19s = "\2\uffff\1\1\3\uffff\1\3\3\uffff\1\2\4\uffff"; - static final String dfa_20s = "\4\uffff\1\2\1\0\2\uffff\1\3\1\1\5\uffff}>"; - static final String[] dfa_21s = { - "\1\5\1\4\1\2\1\3\1\1\7\6\26\uffff\1\6\3\uffff\7\2", - "\2\6\1\uffff\7\6\1\7\2\6\25\uffff\1\6", - "", - "\1\11\1\10\1\2\12\6\25\uffff\1\6", + static final String dfa_29s = "\32\uffff"; + static final String dfa_30s = "\1\uffff\10\14\4\uffff\7\14\2\uffff\1\14\1\uffff\1\14\1\uffff"; + static final String dfa_31s = "\11\4\3\0\1\uffff\7\4\2\0\1\4\1\0\1\4\1\uffff"; + static final String dfa_32s = "\11\66\3\0\1\uffff\7\66\2\0\1\66\1\0\1\66\1\uffff"; + static final String dfa_33s = "\14\uffff\1\2\14\uffff\1\1"; + static final String dfa_34s = "\11\uffff\1\4\1\5\1\2\10\uffff\1\0\1\1\1\uffff\1\3\2\uffff}>"; + static final String[] dfa_35s = { + "\1\12\1\13\1\11\1\10\16\14\23\uffff\4\14\1\uffff\2\14\1\1\1\2\1\3\1\4\1\5\1\6\1\7", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\20\14\22\uffff\4\14\1\uffff\11\14", "\1\uffff", - "\2\12\1\uffff\11\12\26\uffff\1\12", - "", - "\2\6\1\uffff\2\6\1\13\7\6\25\uffff\1\6", "\1\uffff", "\1\uffff", "", - "\2\6\1\uffff\1\14\11\6\25\uffff\1\6", - "\2\6\1\uffff\7\6\1\15\2\6\25\uffff\1\6", - "\2\6\1\uffff\3\6\1\16\6\6\25\uffff\1\6", - "\2\6\1\uffff\12\6\25\uffff\1\6\2\uffff\1\2" + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\24\1\25\1\27\1\26\16\14\1\30\22\uffff\4\14\1\uffff\2\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23", + "\1\uffff", + "\1\uffff", + "\1\24\1\25\1\27\20\14\22\uffff\4\14\1\uffff\11\14", + "\1\uffff", + "\4\31\50\uffff\7\31", + "" }; - static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); - static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); - static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); - static final char[] dfa_18 = DFA.unpackEncodedStringToUnsignedChars(dfa_18s); - static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); - static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); - static final short[][] dfa_21 = unpackEncodedStringArray(dfa_21s); + static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s); + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final char[] dfa_31 = DFA.unpackEncodedStringToUnsignedChars(dfa_31s); + static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s); + static final short[] dfa_33 = DFA.unpackEncodedString(dfa_33s); + static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s); + static final short[][] dfa_35 = unpackEncodedStringArray(dfa_35s); - class DFA6 extends DFA { + class DFA9 extends DFA { - public DFA6(BaseRecognizer recognizer) { + public DFA9(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 6; - this.eot = dfa_15; - this.eof = dfa_16; - this.min = dfa_17; - this.max = dfa_18; - this.accept = dfa_19; - this.special = dfa_20; - this.transition = dfa_21; + this.decisionNumber = 9; + this.eot = dfa_29; + this.eof = dfa_30; + this.min = dfa_31; + this.max = dfa_32; + this.accept = dfa_33; + this.special = dfa_34; + this.transition = dfa_35; } public String getDescription() { - return "843:1: rule__URLVersionSpecifier__Alternatives : ( ( ( rule__URLVersionSpecifier__Group_0__0 ) ) | ( ( rule__URLVersionSpecifier__Group_1__0 ) ) | ( ( rule__URLVersionSpecifier__Group_2__0 ) ) );"; + return "998:1: rule__WorkspaceVersionRequirement__Alternatives_1 : ( ( ( rule__WorkspaceVersionRequirement__VersionAssignment_1_0 ) ) | ( ( rule__WorkspaceVersionRequirement__OtherVersionAssignment_1_1 ) ) );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA6_5 = input.LA(1); + int LA9_20 = input.LA(1); - int index6_5 = input.index(); + int index9_20 = input.index(); input.rewind(); s = -1; - if ( ((LA6_5>=RULE_DIGITS && LA6_5<=RULE_LETTER_X)||(LA6_5>=RULE_LETTER_V && LA6_5<=RULE_LETTER_OTHER)||LA6_5==38) ) {s = 10;} + if ( (synpred11_InternalSemver()) ) {s = 25;} - else if ( (synpred7_InternalSemver()) ) {s = 2;} - - else if ( (true) ) {s = 6;} + else if ( (true) ) {s = 12;} - input.seek(index6_5); + input.seek(index9_20); if ( s>=0 ) return s; break; case 1 : - int LA6_9 = input.LA(1); + int LA9_21 = input.LA(1); - int index6_9 = input.index(); + int index9_21 = input.index(); input.rewind(); s = -1; - if ( (synpred7_InternalSemver()) ) {s = 2;} + if ( (synpred11_InternalSemver()) ) {s = 25;} - else if ( (true) ) {s = 6;} + else if ( (true) ) {s = 12;} - input.seek(index6_9); + input.seek(index9_21); if ( s>=0 ) return s; break; case 2 : - int LA6_4 = input.LA(1); + int LA9_11 = input.LA(1); - int index6_4 = input.index(); + int index9_11 = input.index(); input.rewind(); s = -1; - if ( (synpred7_InternalSemver()) ) {s = 2;} + if ( (synpred11_InternalSemver()) ) {s = 25;} - else if ( (true) ) {s = 6;} + else if ( (true) ) {s = 12;} - input.seek(index6_4); + input.seek(index9_11); if ( s>=0 ) return s; break; case 3 : - int LA6_8 = input.LA(1); + int LA9_23 = input.LA(1); - int index6_8 = input.index(); + int index9_23 = input.index(); input.rewind(); s = -1; - if ( (synpred7_InternalSemver()) ) {s = 2;} + if ( (synpred11_InternalSemver()) ) {s = 25;} - else if ( (true) ) {s = 6;} + else if ( (true) ) {s = 12;} + + + input.seek(index9_23); + if ( s>=0 ) return s; + break; + case 4 : + int LA9_9 = input.LA(1); + + + int index9_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred11_InternalSemver()) ) {s = 25;} + + else if ( (true) ) {s = 12;} + + + input.seek(index9_9); + if ( s>=0 ) return s; + break; + case 5 : + int LA9_10 = input.LA(1); - input.seek(index6_8); + int index9_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred11_InternalSemver()) ) {s = 25;} + + else if ( (true) ) {s = 12;} + + + input.seek(index9_10); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 6, _s, input); + new NoViableAltException(getDescription(), 9, _s, input); error(nvae); throw nvae; } } - static final String dfa_22s = "\u00a9\uffff"; - static final String dfa_23s = "\2\uffff\3\1\3\uffff\34\1\2\uffff\14\1\2\uffff\14\1\1\uffff\47\1\1\uffff\30\1\1\uffff\47\1"; - static final String dfa_24s = "\1\4\1\uffff\3\20\4\4\3\20\30\4\1\uffff\34\4\3\20\112\4\3\20\30\4"; - static final String dfa_25s = "\1\60\1\uffff\3\62\1\6\2\46\34\62\1\uffff\1\6\14\62\2\46\14\62\1\46\47\62\1\6\30\62\1\46\47\62"; - static final String dfa_26s = "\1\uffff\1\1\42\uffff\1\2\u0084\uffff"; - static final String dfa_27s = "\u00a9\uffff}>"; - static final String[] dfa_28s = { - "\1\4\1\2\1\3\1\1\42\uffff\7\1", + static final String dfa_36s = "\u00f1\uffff"; + static final String dfa_37s = "\2\uffff\3\1\3\uffff\50\1\2\uffff\22\1\2\uffff\22\1\1\uffff\71\1\1\uffff\44\1\1\uffff\71\1"; + static final String dfa_38s = "\1\4\1\uffff\3\26\1\4\2\5\1\4\3\26\44\5\1\uffff\1\4\47\5\3\26\66\5\1\4\67\5\3\26\44\5"; + static final String dfa_39s = "\1\66\1\uffff\3\70\1\6\2\57\50\70\1\uffff\1\6\22\70\2\57\22\70\1\57\71\70\1\6\44\70\1\57\71\70"; + static final String dfa_40s = "\1\uffff\1\1\56\uffff\1\2\u00c0\uffff"; + static final String dfa_41s = "\u00f1\uffff}>"; + static final String[] dfa_42s = { + "\1\3\1\4\1\2\1\1\50\uffff\7\1", "", - "\1\10\23\uffff\1\5\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\10\23\uffff\1\5\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\10\23\uffff\1\5\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\13\1\11\1\12", - "\1\15\1\17\1\uffff\1\16\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\26\uffff\1\14", - "\1\31\1\33\1\uffff\1\32\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\26\uffff\1\30", - "\4\1\36\uffff\1\44\3\uffff\7\1\1\uffff\1\1", - "\1\10\23\uffff\1\45\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\10\23\uffff\1\45\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\10\23\uffff\1\45\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", + "\1\10\23\uffff\1\5\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\10\23\uffff\1\5\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\10\23\uffff\1\5\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\12\1\13\1\11", + "\1\15\1\17\1\16\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\31\uffff\1\14", + "\1\37\1\41\1\40\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\31\uffff\1\36", + "\4\1\47\uffff\1\60\7\1\1\uffff\1\1", + "\1\10\23\uffff\1\61\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\10\23\uffff\1\61\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\10\23\uffff\1\61\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", "", - "\1\103\1\101\1\102", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\47\1\51\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\10\23\uffff\1\62\1\uffff\1\46\1\uffff\1\63\11\uffff\1\1", - "\1\105\1\107\1\uffff\1\106\1\110\1\111\1\112\1\113\1\114\1\115\1\116\1\117\26\uffff\1\104", - "\1\121\1\123\1\uffff\1\122\1\124\1\125\1\126\1\127\1\130\1\131\1\132\1\133\26\uffff\1\120", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\65\1\67\1\uffff\1\66\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\10\23\uffff\1\100\1\uffff\1\64\13\uffff\1\1", - "\1\135\1\137\1\uffff\1\136\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\26\uffff\1\134", - "\1\10\23\uffff\1\150\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\10\23\uffff\1\150\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\10\23\uffff\1\150\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0090\1\u008e\1\u008f", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\152\1\154\1\uffff\1\153\1\155\1\156\1\157\1\160\1\161\1\162\1\163\1\164\1\10\23\uffff\1\62\1\uffff\1\151\1\uffff\1\63\11\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\166\1\170\1\uffff\1\167\1\171\1\172\1\173\1\174\1\175\1\176\1\177\1\u0080\1\10\23\uffff\1\u0081\1\uffff\1\165\13\uffff\1\1", - "\1\u0092\1\u0094\1\uffff\1\u0093\1\u0095\1\u0096\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\26\uffff\1\u0091", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\u0083\1\u0085\1\uffff\1\u0084\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\10\23\uffff\1\100\1\uffff\1\u0082\13\uffff\1\1", - "\1\10\23\uffff\1\150\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\10\23\uffff\1\150\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\10\23\uffff\1\150\1\uffff\1\6\1\uffff\1\7\11\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1", - "\1\u009e\1\u00a0\1\uffff\1\u009f\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\1\u00a8\1\10\23\uffff\1\u0081\1\uffff\1\u009d\13\uffff\1\1" + "\1\132\1\133\1\131", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\63\1\65\1\64\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102\1\103\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\62\10\uffff\1\1", + "\1\135\1\137\1\136\1\140\1\141\1\142\1\143\1\144\1\145\1\146\1\147\1\150\1\151\1\152\1\153\1\154\1\155\31\uffff\1\134", + "\1\157\1\161\1\160\1\162\1\163\1\164\1\165\1\166\1\167\1\170\1\171\1\172\1\173\1\174\1\175\1\176\1\177\31\uffff\1\156", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\107\1\111\1\110\1\112\1\113\1\114\1\115\1\116\1\117\1\120\1\121\1\122\1\123\1\124\1\125\1\126\1\127\1\10\23\uffff\1\130\4\uffff\1\106\10\uffff\1\1", + "\1\u0081\1\u0083\1\u0082\1\u0084\1\u0085\1\u0086\1\u0087\1\u0088\1\u0089\1\u008a\1\u008b\1\u008c\1\u008d\1\u008e\1\u008f\1\u0090\1\u0091\31\uffff\1\u0080", + "\1\10\23\uffff\1\u0092\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\10\23\uffff\1\u0092\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\10\23\uffff\1\u0092\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00cb\1\u00cc\1\u00ca", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u0094\1\u0096\1\u0095\1\u0097\1\u0098\1\u0099\1\u009a\1\u009b\1\u009c\1\u009d\1\u009e\1\u009f\1\u00a0\1\u00a1\1\u00a2\1\u00a3\1\u00a4\1\10\23\uffff\1\104\2\uffff\1\105\1\uffff\1\u0093\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00a6\1\u00a8\1\u00a7\1\u00a9\1\u00aa\1\u00ab\1\u00ac\1\u00ad\1\u00ae\1\u00af\1\u00b0\1\u00b1\1\u00b2\1\u00b3\1\u00b4\1\u00b5\1\u00b6\1\10\23\uffff\1\u00b7\4\uffff\1\u00a5\10\uffff\1\1", + "\1\u00ce\1\u00d0\1\u00cf\1\u00d1\1\u00d2\1\u00d3\1\u00d4\1\u00d5\1\u00d6\1\u00d7\1\u00d8\1\u00d9\1\u00da\1\u00db\1\u00dc\1\u00dd\1\u00de\31\uffff\1\u00cd", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\u00b9\1\u00bb\1\u00ba\1\u00bc\1\u00bd\1\u00be\1\u00bf\1\u00c0\1\u00c1\1\u00c2\1\u00c3\1\u00c4\1\u00c5\1\u00c6\1\u00c7\1\u00c8\1\u00c9\1\10\23\uffff\1\130\4\uffff\1\u00b8\10\uffff\1\1", + "\1\10\23\uffff\1\u0092\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\10\23\uffff\1\u0092\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\10\23\uffff\1\u0092\2\uffff\1\7\1\uffff\1\6\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1", + "\1\u00e0\1\u00e2\1\u00e1\1\u00e3\1\u00e4\1\u00e5\1\u00e6\1\u00e7\1\u00e8\1\u00e9\1\u00ea\1\u00eb\1\u00ec\1\u00ed\1\u00ee\1\u00ef\1\u00f0\1\10\23\uffff\1\u00b7\4\uffff\1\u00df\10\uffff\1\1" }; - static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s); - static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); - static final char[] dfa_24 = DFA.unpackEncodedStringToUnsignedChars(dfa_24s); - static final char[] dfa_25 = DFA.unpackEncodedStringToUnsignedChars(dfa_25s); - static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); - static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); - static final short[][] dfa_28 = unpackEncodedStringArray(dfa_28s); + static final short[] dfa_36 = DFA.unpackEncodedString(dfa_36s); + static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s); + static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s); + static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s); + static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s); + static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s); + static final short[][] dfa_42 = unpackEncodedStringArray(dfa_42s); - class DFA7 extends DFA { + class DFA10 extends DFA { - public DFA7(BaseRecognizer recognizer) { + public DFA10(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 7; - this.eot = dfa_22; - this.eof = dfa_23; - this.min = dfa_24; - this.max = dfa_25; - this.accept = dfa_26; - this.special = dfa_27; - this.transition = dfa_28; + this.decisionNumber = 10; + this.eot = dfa_36; + this.eof = dfa_37; + this.min = dfa_38; + this.max = dfa_39; + this.accept = dfa_40; + this.special = dfa_41; + this.transition = dfa_42; } public String getDescription() { - return "870:1: rule__VersionRange__Alternatives : ( ( ruleVersionRangeContraint ) | ( ruleHyphenVersionRange ) );"; + return "1019:1: rule__VersionRange__Alternatives : ( ( ruleVersionRangeContraint ) | ( ruleHyphenVersionRange ) );"; } } public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000000F80000FFB2L}); - public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0001FC00000000F0L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000010000L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x000000F80000FFB0L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x000002F80000FFB0L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0001FCF80000FFF0L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0001FC00000001F0L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0004000000010000L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0004000000010002L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0001FC00000100F0L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000004000000000L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000010002L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0001FC0000000002L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000015000000000L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000001000000000L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000001000000002L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000001000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000200L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000080L}); - public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000000400L}); - public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x000001F80000FFB0L}); - public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x000001F80000FFB2L}); - public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x000002F80000FFB2L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x00009E00003FFFE2L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x007FDE00003FFFF2L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x007F0000000000F0L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00009E00003FFFE0L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000DE00003FFFE0L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0080000000000000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x007F9E00003FFFF0L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x007F0000000800F0L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x007FDE00003FFFF0L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0100000000400000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0100000000400002L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x007F0000004000F0L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000800000000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000400002L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x007F000000000002L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000A40000000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000040000000002L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000400L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000040000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000200L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000BE00003FFFE0L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000BE00003FFFE2L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000DE00003FFFE2L}); } \ No newline at end of file diff --git a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/SemverFactory.java b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/SemverFactory.java index 9664852aba..4a4822be02 100644 --- a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/SemverFactory.java +++ b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/SemverFactory.java @@ -56,6 +56,15 @@ public interface SemverFactory extends EFactory { */ URLCommitISH createURLCommitISH(); + /** + * Returns a new object of class 'Workspace Version Requirement'. + * + * + * @return a new object of class 'Workspace Version Requirement'. + * @generated + */ + WorkspaceVersionRequirement createWorkspaceVersionRequirement(); + /** * Returns a new object of class 'Git Hub Version Requirement'. * diff --git a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/SemverPackage.java b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/SemverPackage.java index 194521efe4..372093469e 100644 --- a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/SemverPackage.java +++ b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/SemverPackage.java @@ -370,6 +370,61 @@ public interface SemverPackage extends EPackage { */ int URL_COMMIT_ISH_OPERATION_COUNT = URL_VERSION_SPECIFIER_OPERATION_COUNT + 0; + /** + * The meta object id for the '{@link org.eclipse.n4js.semver.Semver.impl.WorkspaceVersionRequirementImpl Workspace Version Requirement}' class. + * + * + * @see org.eclipse.n4js.semver.Semver.impl.WorkspaceVersionRequirementImpl + * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getWorkspaceVersionRequirement() + * @generated + */ + int WORKSPACE_VERSION_REQUIREMENT = 6; + + /** + * The feature id for the 'Version' containment reference. + * + * + * @generated + * @ordered + */ + int WORKSPACE_VERSION_REQUIREMENT__VERSION = NPM_VERSION_REQUIREMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Other Version' attribute. + * + * + * @generated + * @ordered + */ + int WORKSPACE_VERSION_REQUIREMENT__OTHER_VERSION = NPM_VERSION_REQUIREMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Workspace Version Requirement' class. + * + * + * @generated + * @ordered + */ + int WORKSPACE_VERSION_REQUIREMENT_FEATURE_COUNT = NPM_VERSION_REQUIREMENT_FEATURE_COUNT + 2; + + /** + * The operation id for the 'To String' operation. + * + * + * @generated + * @ordered + */ + int WORKSPACE_VERSION_REQUIREMENT___TO_STRING = NPM_VERSION_REQUIREMENT___TO_STRING; + + /** + * The number of operations of the 'Workspace Version Requirement' class. + * + * + * @generated + * @ordered + */ + int WORKSPACE_VERSION_REQUIREMENT_OPERATION_COUNT = NPM_VERSION_REQUIREMENT_OPERATION_COUNT + 0; + /** * The meta object id for the '{@link org.eclipse.n4js.semver.Semver.impl.GitHubVersionRequirementImpl Git Hub Version Requirement}' class. * @@ -378,7 +433,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getGitHubVersionRequirement() * @generated */ - int GIT_HUB_VERSION_REQUIREMENT = 6; + int GIT_HUB_VERSION_REQUIREMENT = 7; /** * The feature id for the 'Github Url' attribute. @@ -433,7 +488,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getLocalPathVersionRequirement() * @generated */ - int LOCAL_PATH_VERSION_REQUIREMENT = 7; + int LOCAL_PATH_VERSION_REQUIREMENT = 8; /** * The feature id for the 'Local Path' attribute. @@ -479,7 +534,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getTagVersionRequirement() * @generated */ - int TAG_VERSION_REQUIREMENT = 8; + int TAG_VERSION_REQUIREMENT = 9; /** * The feature id for the 'Tag Name' attribute. @@ -525,7 +580,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getVersionRangeSetRequirement() * @generated */ - int VERSION_RANGE_SET_REQUIREMENT = 9; + int VERSION_RANGE_SET_REQUIREMENT = 10; /** * The feature id for the 'Ranges' containment reference list. @@ -571,7 +626,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getVersionRange() * @generated */ - int VERSION_RANGE = 10; + int VERSION_RANGE = 11; /** * The number of structural features of the 'Version Range' class. @@ -608,7 +663,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getHyphenVersionRange() * @generated */ - int HYPHEN_VERSION_RANGE = 11; + int HYPHEN_VERSION_RANGE = 12; /** * The feature id for the 'From' containment reference. @@ -663,7 +718,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getVersionRangeConstraint() * @generated */ - int VERSION_RANGE_CONSTRAINT = 12; + int VERSION_RANGE_CONSTRAINT = 13; /** * The feature id for the 'Version Constraints' containment reference list. @@ -709,7 +764,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getSimpleVersion() * @generated */ - int SIMPLE_VERSION = 13; + int SIMPLE_VERSION = 14; /** * The feature id for the 'Number' containment reference. @@ -845,7 +900,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getVersionNumber() * @generated */ - int VERSION_NUMBER = 14; + int VERSION_NUMBER = 15; /** * The feature id for the 'Major' containment reference. @@ -981,7 +1036,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getVersionPart() * @generated */ - int VERSION_PART = 15; + int VERSION_PART = 16; /** * The feature id for the 'Wildcard' attribute. @@ -1054,7 +1109,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getQualifier() * @generated */ - int QUALIFIER = 16; + int QUALIFIER = 17; /** * The feature id for the 'Pre Release' containment reference. @@ -1118,7 +1173,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getQualifierTag() * @generated */ - int QUALIFIER_TAG = 17; + int QUALIFIER_TAG = 18; /** * The feature id for the 'Parts' attribute list. @@ -1173,7 +1228,7 @@ public interface SemverPackage extends EPackage { * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getVersionComparator() * @generated */ - int VERSION_COMPARATOR = 18; + int VERSION_COMPARATOR = 19; /** @@ -1332,6 +1387,38 @@ public interface SemverPackage extends EPackage { */ EAttribute getURLCommitISH_CommitISH(); + /** + * Returns the meta object for class '{@link org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement Workspace Version Requirement}'. + * + * + * @return the meta object for class 'Workspace Version Requirement'. + * @see org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement + * @generated + */ + EClass getWorkspaceVersionRequirement(); + + /** + * Returns the meta object for the containment reference '{@link org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement#getVersion Version}'. + * + * + * @return the meta object for the containment reference 'Version'. + * @see org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement#getVersion() + * @see #getWorkspaceVersionRequirement() + * @generated + */ + EReference getWorkspaceVersionRequirement_Version(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement#getOtherVersion Other Version}'. + * + * + * @return the meta object for the attribute 'Other Version'. + * @see org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement#getOtherVersion() + * @see #getWorkspaceVersionRequirement() + * @generated + */ + EAttribute getWorkspaceVersionRequirement_OtherVersion(); + /** * Returns the meta object for class '{@link org.eclipse.n4js.semver.Semver.GitHubVersionRequirement Git Hub Version Requirement}'. * @@ -2028,6 +2115,32 @@ interface Literals { */ EAttribute URL_COMMIT_ISH__COMMIT_ISH = eINSTANCE.getURLCommitISH_CommitISH(); + /** + * The meta object literal for the '{@link org.eclipse.n4js.semver.Semver.impl.WorkspaceVersionRequirementImpl Workspace Version Requirement}' class. + * + * + * @see org.eclipse.n4js.semver.Semver.impl.WorkspaceVersionRequirementImpl + * @see org.eclipse.n4js.semver.Semver.impl.SemverPackageImpl#getWorkspaceVersionRequirement() + * @generated + */ + EClass WORKSPACE_VERSION_REQUIREMENT = eINSTANCE.getWorkspaceVersionRequirement(); + + /** + * The meta object literal for the 'Version' containment reference feature. + * + * + * @generated + */ + EReference WORKSPACE_VERSION_REQUIREMENT__VERSION = eINSTANCE.getWorkspaceVersionRequirement_Version(); + + /** + * The meta object literal for the 'Other Version' attribute feature. + * + * + * @generated + */ + EAttribute WORKSPACE_VERSION_REQUIREMENT__OTHER_VERSION = eINSTANCE.getWorkspaceVersionRequirement_OtherVersion(); + /** * The meta object literal for the '{@link org.eclipse.n4js.semver.Semver.impl.GitHubVersionRequirementImpl Git Hub Version Requirement}' class. * diff --git a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/WorkspaceVersionRequirement.java b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/WorkspaceVersionRequirement.java new file mode 100644 index 0000000000..d17968e394 --- /dev/null +++ b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/WorkspaceVersionRequirement.java @@ -0,0 +1,76 @@ +/** + * Copyright (c) 2016 NumberFour AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * NumberFour AG - Initial API and implementation + */ +package org.eclipse.n4js.semver.Semver; + + +/** + * + * A representation of the model object 'Workspace Version Requirement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement#getVersion Version}
  • + *
  • {@link org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement#getOtherVersion Other Version}
  • + *
+ * + * @see org.eclipse.n4js.semver.Semver.SemverPackage#getWorkspaceVersionRequirement() + * @model + * @generated + */ +public interface WorkspaceVersionRequirement extends NPMVersionRequirement { + /** + * Returns the value of the 'Version' containment reference. + * + * + * @return the value of the 'Version' containment reference. + * @see #setVersion(SimpleVersion) + * @see org.eclipse.n4js.semver.Semver.SemverPackage#getWorkspaceVersionRequirement_Version() + * @model containment="true" + * @generated + */ + SimpleVersion getVersion(); + + /** + * Sets the value of the '{@link org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement#getVersion Version}' containment reference. + * + * + * @param value the new value of the 'Version' containment reference. + * @see #getVersion() + * @generated + */ + void setVersion(SimpleVersion value); + + /** + * Returns the value of the 'Other Version' attribute. + * + * + * @return the value of the 'Other Version' attribute. + * @see #setOtherVersion(String) + * @see org.eclipse.n4js.semver.Semver.SemverPackage#getWorkspaceVersionRequirement_OtherVersion() + * @model unique="false" + * @generated + */ + String getOtherVersion(); + + /** + * Sets the value of the '{@link org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement#getOtherVersion Other Version}' attribute. + * + * + * @param value the new value of the 'Other Version' attribute. + * @see #getOtherVersion() + * @generated + */ + void setOtherVersion(String value); + +} // WorkspaceVersionRequirement diff --git a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/SemverFactoryImpl.java b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/SemverFactoryImpl.java index 0d75ede9cd..3185b1a3e0 100644 --- a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/SemverFactoryImpl.java +++ b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/SemverFactoryImpl.java @@ -68,6 +68,7 @@ public EObject create(EClass eClass) { case SemverPackage.URL_VERSION_REQUIREMENT: return createURLVersionRequirement(); case SemverPackage.URL_SEMVER: return createURLSemver(); case SemverPackage.URL_COMMIT_ISH: return createURLCommitISH(); + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT: return createWorkspaceVersionRequirement(); case SemverPackage.GIT_HUB_VERSION_REQUIREMENT: return createGitHubVersionRequirement(); case SemverPackage.LOCAL_PATH_VERSION_REQUIREMENT: return createLocalPathVersionRequirement(); case SemverPackage.TAG_VERSION_REQUIREMENT: return createTagVersionRequirement(); @@ -147,6 +148,17 @@ public URLCommitISH createURLCommitISH() { return urlCommitISH; } + /** + * + * + * @generated + */ + @Override + public WorkspaceVersionRequirement createWorkspaceVersionRequirement() { + WorkspaceVersionRequirementImpl workspaceVersionRequirement = new WorkspaceVersionRequirementImpl(); + return workspaceVersionRequirement; + } + /** * * diff --git a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/SemverPackageImpl.java b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/SemverPackageImpl.java index 691afb8012..f472ea593c 100644 --- a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/SemverPackageImpl.java +++ b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/SemverPackageImpl.java @@ -41,6 +41,7 @@ import org.eclipse.n4js.semver.Semver.VersionRange; import org.eclipse.n4js.semver.Semver.VersionRangeConstraint; import org.eclipse.n4js.semver.Semver.VersionRangeSetRequirement; +import org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement; /** * @@ -91,6 +92,13 @@ public class SemverPackageImpl extends EPackageImpl implements SemverPackage { */ private EClass urlCommitISHEClass = null; + /** + * + * + * @generated + */ + private EClass workspaceVersionRequirementEClass = null; + /** * * @@ -396,6 +404,36 @@ public EAttribute getURLCommitISH_CommitISH() { return (EAttribute)urlCommitISHEClass.getEStructuralFeatures().get(0); } + /** + * + * + * @generated + */ + @Override + public EClass getWorkspaceVersionRequirement() { + return workspaceVersionRequirementEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getWorkspaceVersionRequirement_Version() { + return (EReference)workspaceVersionRequirementEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getWorkspaceVersionRequirement_OtherVersion() { + return (EAttribute)workspaceVersionRequirementEClass.getEStructuralFeatures().get(1); + } + /** * * @@ -966,6 +1004,10 @@ public void createPackageContents() { urlCommitISHEClass = createEClass(URL_COMMIT_ISH); createEAttribute(urlCommitISHEClass, URL_COMMIT_ISH__COMMIT_ISH); + workspaceVersionRequirementEClass = createEClass(WORKSPACE_VERSION_REQUIREMENT); + createEReference(workspaceVersionRequirementEClass, WORKSPACE_VERSION_REQUIREMENT__VERSION); + createEAttribute(workspaceVersionRequirementEClass, WORKSPACE_VERSION_REQUIREMENT__OTHER_VERSION); + gitHubVersionRequirementEClass = createEClass(GIT_HUB_VERSION_REQUIREMENT); createEAttribute(gitHubVersionRequirementEClass, GIT_HUB_VERSION_REQUIREMENT__GITHUB_URL); createEAttribute(gitHubVersionRequirementEClass, GIT_HUB_VERSION_REQUIREMENT__COMMIT_ISH); @@ -1069,6 +1111,7 @@ public void initializePackageContents() { urlVersionSpecifierEClass.getESuperTypes().add(this.getSemverToStringable()); urlSemverEClass.getESuperTypes().add(this.getURLVersionSpecifier()); urlCommitISHEClass.getESuperTypes().add(this.getURLVersionSpecifier()); + workspaceVersionRequirementEClass.getESuperTypes().add(this.getNPMVersionRequirement()); gitHubVersionRequirementEClass.getESuperTypes().add(this.getNPMVersionRequirement()); localPathVersionRequirementEClass.getESuperTypes().add(this.getNPMVersionRequirement()); tagVersionRequirementEClass.getESuperTypes().add(this.getNPMVersionRequirement()); @@ -1107,6 +1150,10 @@ public void initializePackageContents() { initEClass(urlCommitISHEClass, URLCommitISH.class, "URLCommitISH", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getURLCommitISH_CommitISH(), theEcorePackage.getEString(), "commitISH", null, 0, 1, URLCommitISH.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(workspaceVersionRequirementEClass, WorkspaceVersionRequirement.class, "WorkspaceVersionRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getWorkspaceVersionRequirement_Version(), this.getSimpleVersion(), null, "version", null, 0, 1, WorkspaceVersionRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getWorkspaceVersionRequirement_OtherVersion(), theEcorePackage.getEString(), "otherVersion", null, 0, 1, WorkspaceVersionRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEClass(gitHubVersionRequirementEClass, GitHubVersionRequirement.class, "GitHubVersionRequirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getGitHubVersionRequirement_GithubUrl(), theEcorePackage.getEString(), "githubUrl", null, 0, 1, GitHubVersionRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getGitHubVersionRequirement_CommitISH(), theEcorePackage.getEString(), "commitISH", null, 0, 1, GitHubVersionRequirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); diff --git a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/WorkspaceVersionRequirementImpl.java b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/WorkspaceVersionRequirementImpl.java new file mode 100644 index 0000000000..7ddbc1f3d2 --- /dev/null +++ b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/impl/WorkspaceVersionRequirementImpl.java @@ -0,0 +1,254 @@ +/** + * Copyright (c) 2016 NumberFour AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * NumberFour AG - Initial API and implementation + */ +package org.eclipse.n4js.semver.Semver.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.n4js.semver.Semver.SemverPackage; +import org.eclipse.n4js.semver.Semver.SimpleVersion; +import org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement; + +/** + * + * An implementation of the model object 'Workspace Version Requirement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link org.eclipse.n4js.semver.Semver.impl.WorkspaceVersionRequirementImpl#getVersion Version}
  • + *
  • {@link org.eclipse.n4js.semver.Semver.impl.WorkspaceVersionRequirementImpl#getOtherVersion Other Version}
  • + *
+ * + * @generated + */ +public class WorkspaceVersionRequirementImpl extends NPMVersionRequirementImpl implements WorkspaceVersionRequirement { + /** + * The cached value of the '{@link #getVersion() Version}' containment reference. + * + * + * @see #getVersion() + * @generated + * @ordered + */ + protected SimpleVersion version; + + /** + * The default value of the '{@link #getOtherVersion() Other Version}' attribute. + * + * + * @see #getOtherVersion() + * @generated + * @ordered + */ + protected static final String OTHER_VERSION_EDEFAULT = null; + /** + * The cached value of the '{@link #getOtherVersion() Other Version}' attribute. + * + * + * @see #getOtherVersion() + * @generated + * @ordered + */ + protected String otherVersion = OTHER_VERSION_EDEFAULT; + + /** + * + * + * @generated + */ + protected WorkspaceVersionRequirementImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SemverPackage.Literals.WORKSPACE_VERSION_REQUIREMENT; + } + + /** + * + * + * @generated + */ + @Override + public SimpleVersion getVersion() { + return version; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetVersion(SimpleVersion newVersion, NotificationChain msgs) { + SimpleVersion oldVersion = version; + version = newVersion; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SemverPackage.WORKSPACE_VERSION_REQUIREMENT__VERSION, oldVersion, newVersion); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setVersion(SimpleVersion newVersion) { + if (newVersion != version) { + NotificationChain msgs = null; + if (version != null) + msgs = ((InternalEObject)version).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SemverPackage.WORKSPACE_VERSION_REQUIREMENT__VERSION, null, msgs); + if (newVersion != null) + msgs = ((InternalEObject)newVersion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SemverPackage.WORKSPACE_VERSION_REQUIREMENT__VERSION, null, msgs); + msgs = basicSetVersion(newVersion, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SemverPackage.WORKSPACE_VERSION_REQUIREMENT__VERSION, newVersion, newVersion)); + } + + /** + * + * + * @generated + */ + @Override + public String getOtherVersion() { + return otherVersion; + } + + /** + * + * + * @generated + */ + @Override + public void setOtherVersion(String newOtherVersion) { + String oldOtherVersion = otherVersion; + otherVersion = newOtherVersion; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SemverPackage.WORKSPACE_VERSION_REQUIREMENT__OTHER_VERSION, oldOtherVersion, otherVersion)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT__VERSION: + return basicSetVersion(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT__VERSION: + return getVersion(); + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT__OTHER_VERSION: + return getOtherVersion(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT__VERSION: + setVersion((SimpleVersion)newValue); + return; + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT__OTHER_VERSION: + setOtherVersion((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT__VERSION: + setVersion((SimpleVersion)null); + return; + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT__OTHER_VERSION: + setOtherVersion(OTHER_VERSION_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT__VERSION: + return version != null; + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT__OTHER_VERSION: + return OTHER_VERSION_EDEFAULT == null ? otherVersion != null : !OTHER_VERSION_EDEFAULT.equals(otherVersion); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (otherVersion: "); + result.append(otherVersion); + result.append(')'); + return result.toString(); + } + +} //WorkspaceVersionRequirementImpl diff --git a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/util/SemverAdapterFactory.java b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/util/SemverAdapterFactory.java index 0ec8afd8b2..5bc6de8f1f 100644 --- a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/util/SemverAdapterFactory.java +++ b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/util/SemverAdapterFactory.java @@ -100,6 +100,10 @@ public Adapter caseURLCommitISH(URLCommitISH object) { return createURLCommitISHAdapter(); } @Override + public Adapter caseWorkspaceVersionRequirement(WorkspaceVersionRequirement object) { + return createWorkspaceVersionRequirementAdapter(); + } + @Override public Adapter caseGitHubVersionRequirement(GitHubVersionRequirement object) { return createGitHubVersionRequirementAdapter(); } @@ -251,6 +255,20 @@ public Adapter createURLCommitISHAdapter() { return null; } + /** + * Creates a new adapter for an object of class '{@link org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement Workspace Version Requirement}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement + * @generated + */ + public Adapter createWorkspaceVersionRequirementAdapter() { + return null; + } + /** * Creates a new adapter for an object of class '{@link org.eclipse.n4js.semver.Semver.GitHubVersionRequirement Git Hub Version Requirement}'. * diff --git a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/util/SemverSwitch.java b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/util/SemverSwitch.java index 9c09e48fd6..0f1643d507 100644 --- a/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/util/SemverSwitch.java +++ b/plugins/org.eclipse.n4js.semver.model/emf-gen/org/eclipse/n4js/semver/Semver/util/SemverSwitch.java @@ -118,6 +118,14 @@ protected T doSwitch(int classifierID, EObject theEObject) { if (result == null) result = defaultCase(theEObject); return result; } + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT: { + WorkspaceVersionRequirement workspaceVersionRequirement = (WorkspaceVersionRequirement)theEObject; + T result = caseWorkspaceVersionRequirement(workspaceVersionRequirement); + if (result == null) result = caseNPMVersionRequirement(workspaceVersionRequirement); + if (result == null) result = caseSemverToStringable(workspaceVersionRequirement); + if (result == null) result = defaultCase(theEObject); + return result; + } case SemverPackage.GIT_HUB_VERSION_REQUIREMENT: { GitHubVersionRequirement gitHubVersionRequirement = (GitHubVersionRequirement)theEObject; T result = caseGitHubVersionRequirement(gitHubVersionRequirement); @@ -302,6 +310,21 @@ public T caseURLCommitISH(URLCommitISH object) { return null; } + /** + * Returns the result of interpreting the object as an instance of 'Workspace Version Requirement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Workspace Version Requirement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseWorkspaceVersionRequirement(WorkspaceVersionRequirement object) { + return null; + } + /** * Returns the result of interpreting the object as an instance of 'Git Hub Version Requirement'. * diff --git a/plugins/org.eclipse.n4js.semver.model/model/Semver.xcore b/plugins/org.eclipse.n4js.semver.model/model/Semver.xcore index 6bb843fdb7..bc833ab9ba 100644 --- a/plugins/org.eclipse.n4js.semver.model/model/Semver.xcore +++ b/plugins/org.eclipse.n4js.semver.model/model/Semver.xcore @@ -67,6 +67,11 @@ class URLCommitISH extends URLVersionSpecifier { String commitISH } +class WorkspaceVersionRequirement extends NPMVersionRequirement { + contains SimpleVersion version + String otherVersion +} + class GitHubVersionRequirement extends NPMVersionRequirement { String githubUrl String commitISH diff --git a/plugins/org.eclipse.n4js.semver.model/src/org/eclipse/n4js/semver/model/SemverSerializer.java b/plugins/org.eclipse.n4js.semver.model/src/org/eclipse/n4js/semver/model/SemverSerializer.java index 46a1ba63c1..aa1c4b5721 100644 --- a/plugins/org.eclipse.n4js.semver.model/src/org/eclipse/n4js/semver/model/SemverSerializer.java +++ b/plugins/org.eclipse.n4js.semver.model/src/org/eclipse/n4js/semver/model/SemverSerializer.java @@ -22,6 +22,7 @@ import org.eclipse.n4js.semver.Semver.VersionRange; import org.eclipse.n4js.semver.Semver.VersionRangeConstraint; import org.eclipse.n4js.semver.Semver.VersionRangeSetRequirement; +import org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement; import org.eclipse.xtext.resource.SaveOptions; import org.eclipse.xtext.serializer.ISerializer; import org.eclipse.xtext.util.ReplaceRegion; @@ -85,6 +86,18 @@ static public String serialize(TagVersionRequirement tv) { return tv.getTagName(); } + /** @return string representation of {@link TagVersionRequirement} */ + static public String serialize(WorkspaceVersionRequirement wv) { + if (wv == null) + return ""; + + if (wv.getVersion() != null) { + return "workspace:" + serialize(wv.getVersion()); + } + + return "workspace:" + wv.getOtherVersion(); + } + /** @return string representation of {@link GitHubVersionRequirement} */ static public String serialize(GitHubVersionRequirement ghv) { if (ghv == null) @@ -261,6 +274,9 @@ static public String serialize(SemverToStringable obj) { if (obj instanceof TagVersionRequirement) { return serialize((TagVersionRequirement) obj); } + if (obj instanceof WorkspaceVersionRequirement) { + return serialize((WorkspaceVersionRequirement) obj); + } if (obj instanceof GitHubVersionRequirement) { return serialize((GitHubVersionRequirement) obj); } diff --git a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/Semver.xtextbin b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/Semver.xtextbin index 7955fc1c7a111fd78d18fb2c0c3bf6b5c907f52d..0ec78b45fcb3be58f1c94818fd7f91966f9ff787 100644 GIT binary patch delta 3841 zcmZvfd0^WOJ6 z_nh@^?EJl60wxed*y1+wXT6zsGraX^%(8#AeKA*ha zJYJ0W>xnNQpVvG?yhN0j3Z5SdMj}B$mbplYMwY{RoVXNvint6&xgd)|K^si8D;yoT z#^4n$Ss`RGUkGO<86JN&c(ldfm9A-(m<(Qxj4a|RXbZ_dUIT7z4i_+Zoy%RMxr^bq zhlwx2ML>hE09c&^1`V!p!Amu`9{w0{Ei|aPI&d3uIMd*bF1JZ@m%%?ud^yzA+!Z#! z`W&#$;45A5Dh<98K%96pv`vFogKNm)It*@fxhBmu!#_d11=^vx7I3XDXGcQ@2V8Kg z27>?+#3nSPK?bN?FxqKwo6EIpt^@u_;t;e`bDiM2a=5U;VVASJHP{0nN!$w!Yp@Ss zBnRv^xZec_G&czUH1RdiZq022H;t^<{=3?MRbGSi+$6Rh)b8-0h67Pl%YHk9Yoe)sgfnEmTh{6Jzbm1w1mva)( zF5+ouEAbxa2yqI!m3Rg^Mx2H+@ho(l_&TT}-V5DL{Ay@B@jmDj@%2<-dp%vmufdHy z#QUK=#IJ>>i4Q;{#JWqf#0T-apZImqeZ)6Fw-LV{dOh)t&>>Vue*b978k>wwrS&g; z5C8ES$nWt~%es9d%yupDo2c09o3>Kv8J|(pn9pxUV+tLD-vWQL_z%HfL;O~;7wwvj zCq_DBX=}tvTRx9aZv*AkL%f~*;=jr9zvKV=->LmQ&MR zOguRiNKVb9Q&xOxF4gzIbR-M&dlB*G%*poBRfq8kZ!pYTWZ!(BWRuUgP?4A4pS{f= z$oM-d>{}(WcQlop)cJo9p-xDHKI9DiVdO76?MIy7w~5_IC$;%@$LyrdAI)a%DUN)`EJ?2D?-U(E75JG#|N_g>5c7~ji+LG>jrZ17Qcy5A=zAAb&}4aA>^))U_km1+L~w3_%qG-flBzEAT?QV%EgCEi12lXfHQSy2g4qK^__>`51r}xRH&&Q7;Tpck!iyoPdUx02Q{vtF= z{3Qe|(mlbDU)BxziZn#J@Iu5pH3yy$>C%|C-x1* zc@m$!{@zfuyEhyO2g0)Ze$%c0gl^KeU@Ry8wqz?A8hjErmJ)vl8P#Mn;qQt!kDtP= z&BWh>N)g{DTVD|WKoZECO=ZXaAtF32W9P}(20!Bt`6C_X#~2EW@+VHwrvOON{8K5{ z%Rh6%{~Rhk`UO;m{UvmZ*iL5y4Yfd0RfXA#)IwBLtSbs6Cnw|S zwmun8Ey5BSp1Xk-t0IY{iZcV<)wVi+K2^0?$8-*UN+0~3U0N;GkCtJ$lDXj|_VROM z;}AH%x#QidGQ1yEt{0SAA+4$yOr|Dgrmf-FfPL=1qAHvLE<`<*b#<=$95dyqN}btC zRJ2NB7Y&AcJNmj?0@=++t#-?+5@(^(N5@f8YmsM{O==x3q~#Yu8%SLYl~;8MG(t)r z87oOuB2M%TTpc{PG!C;LLB`bDSXY_S6RH*`j26JeHEVY~!n= zpKp}sYLirOfm?yhr@ppum!U3mtGGP7X%wp~Fn%4WdT1@FE3^5itDsv*=|g3dls;58 zlDZoA50Gkr?jY3&ZI*(YaM47nSycXPAcfb0x3kYTm&0+`z4@xQin^#5>L7JZhfegn8OLV;(XOn0Jzg{tM7w$dv#9 delta 3063 zcmZWrdwf%88Qzl9C3tIk%X$p=3*%lBSz% zNH(0hF`c@jvb!?TsoQ=(k?C&8@QU+-Q|Aqpp-u(wcy~JI`+Vml>3-`UeUk4y&-*^_ z`@P?nbMwQr_d)vf{w})U&;wmp7}RJV2{rhA)}!P%J?rhIp_WClRC+w=vmV3BZX)Y( zsxhr6>=mJ=>L;;wm8?C5wZrz=P`y1Bs;CR^m`S9keb(pYxv_qO5RQQGw0%pc#dj2< zu0y9o2aSU1nLC!qji)9P=~RBFr`_~&6&`mGSCh}Q&JfQRi!i{2#b7p&;R(3R5rZ4c ztR=!S__c5}O}rF1Lh{E=&^6D}4I121*0pNgdEjS=mjMU0?sd>DFX;-=xYVG}-5sH7|K#ag%)f)w%V zfqh!|1_;;95)K&LSrYOawQfE5Y2ppQ0j=wTu6vd)Y;aFm*Q<3Q@RP)ajrb7O!b>0w zi?Fz9k(k16TV*kexRn(&3F1CrFYzYeC~-e9L_7c-BOU~9Bpw2e6GwoT5Dx<e^8eR6LFtiFM8Jl4ww-&r32yM*N9yFrrT?g6eLz8AQT_a@%<>i6Gr&M z;(1OwJC;ZfC-U2M`5ysmzoamSdt=Jr2Xy$jzDz$#rbn(|KOaDdAo0h5GEW}|_7Fb^ zl+>R9#)&^E!Ei-?3PEdh?MVBO6z=7RrEsbC5y`d4?j2fa&mXL|yM`Lx8zXY-JX-F+XLXxC2VyPpV~$^gA9wQe6Y$mU z_~0jn>*c4g)Jc38C?(++$rCJy%OhgIJCk#AKaB`SCAU{{8~lZG$}j3LUqY%j)8sEh zFD>{AP+IU+5uydh91Fx>lj2Q&#!dHipmgvXK(X;nU=PV{^(`l2fRDS>Z@biIUFvrn zDt{L!8NUaVjL*3lzwc&5x%`9Tnf@VIt;9dF?~By?ehkhD`*5T_@Dr4@$KapZCnHNn zf2OzSBn4hMn;w21ic`{vIns!cWaipr&fuTB+Fy8#bBwvcVCj*Z(O>HRynr+Mt0GMd z{o1~AcyZx3h;~|{RgQ!Qw}zw6NS`Tp_qU?<^Y1`wApSkDoA?jFX5v2z;&=T|?)smB z%ZbmTNIl}jf01phnoeb=(#fsK+;l2CsfX#WkoFhvm%m9GgZ~bb|8PzI6SY+9S~g}g znN+@SM2YWz;mC{?7j&q9BkPNH@8-4w|EFyIzdGhi$RqpzKW7%b{IauM>Kx~R#1wV$ zY$y*z$`B*UTQowX%vWVqKIn>fHuhLmkl$x2zjU+Ses-j;(og{>gqmYNGtyG1)UoFx z)I=)3eP(ovGu&#Pgi=-Rp1SWss=8E(nlD0A)nFvlxvu>Mz&I(qTFF@>wa`5QYLUyR zbs2TSkPfIqJ*ZNtT8ty08t^nlka4-2Pc@J zFqW8bhbfxeF_X$AGs($3dDVpy(w|RE3?(v2%!XQp7^|hVUR>5{O}VKT>D{;(32RBM zb;m>LH!P_IuUDvH9SBp!`M@@J&i*msJNOYk!KYM*@>{oC`}hXyUh9B$+iRHI~ yPxF30#79+?TFsUGqIH66xRx8ZnU`}1ui + { + newCompositeNode(grammarAccess.getNPMVersionRequirementAccess().getWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0()); + } + this_WorkspaceVersionRequirement_4=ruleWorkspaceVersionRequirement + { + $current = $this_WorkspaceVersionRequirement_4.current; + afterParserOrEnumRuleCall(); + } + ) + | + { + newCompositeNode(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1_1()); + } + this_GitHubVersionRequirement_5=ruleGitHubVersionRequirement + { + $current = $this_GitHubVersionRequirement_5.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_1_2()); + } + this_TagVersionRequirement_6=ruleTagVersionRequirement + { + $current = $this_TagVersionRequirement_6.current; + afterParserOrEnumRuleCall(); + } + ) ) ) ( - this_WS_6=RULE_WS + this_WS_7=RULE_WS { - newLeafNode(this_WS_6, grammarAccess.getNPMVersionRequirementAccess().getWSTerminalRuleCall_1_1()); + newLeafNode(this_WS_7, grammarAccess.getNPMVersionRequirementAccess().getWSTerminalRuleCall_1_1()); } )? ) @@ -451,15 +465,15 @@ ruleURLSemver returns [EObject current=null] ) ; -// Entry rule entryRuleTagVersionRequirement -entryRuleTagVersionRequirement returns [EObject current=null]: - { newCompositeNode(grammarAccess.getTagVersionRequirementRule()); } - iv_ruleTagVersionRequirement=ruleTagVersionRequirement - { $current=$iv_ruleTagVersionRequirement.current; } +// Entry rule entryRuleWorkspaceVersionRequirement +entryRuleWorkspaceVersionRequirement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getWorkspaceVersionRequirementRule()); } + iv_ruleWorkspaceVersionRequirement=ruleWorkspaceVersionRequirement + { $current=$iv_ruleWorkspaceVersionRequirement.current; } EOF; -// Rule TagVersionRequirement -ruleTagVersionRequirement returns [EObject current=null] +// Rule WorkspaceVersionRequirement +ruleWorkspaceVersionRequirement returns [EObject current=null] @init { enterRule(); } @@ -467,22 +481,57 @@ ruleTagVersionRequirement returns [EObject current=null] leaveRule(); }: ( + { + newCompositeNode(grammarAccess.getWorkspaceVersionRequirementAccess().getWORKSPACE_TAGParserRuleCall_0()); + } + ruleWORKSPACE_TAG + { + afterParserOrEnumRuleCall(); + } ( - { - newCompositeNode(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); - } - lv_tagName_0_0=ruleTAG - { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTagVersionRequirementRule()); - } - set( - $current, - "tagName", - lv_tagName_0_0, - "org.eclipse.n4js.semver.Semver.TAG"); - afterParserOrEnumRuleCall(); - } + ( + (( + ruleSimpleVersion + ) + )=> + ( + { + newCompositeNode(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionSimpleVersionParserRuleCall_1_0_0()); + } + lv_version_1_0=ruleSimpleVersion + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getWorkspaceVersionRequirementRule()); + } + set( + $current, + "version", + lv_version_1_0, + "org.eclipse.n4js.semver.Semver.SimpleVersion"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionWORKSPACE_VERSIONParserRuleCall_1_1_0()); + } + lv_otherVersion_2_0=ruleWORKSPACE_VERSION + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getWorkspaceVersionRequirementRule()); + } + set( + $current, + "otherVersion", + lv_otherVersion_2_0, + "org.eclipse.n4js.semver.Semver.WORKSPACE_VERSION"); + afterParserOrEnumRuleCall(); + } + ) + ) ) ) ; @@ -550,6 +599,42 @@ ruleGitHubVersionRequirement returns [EObject current=null] ) ; +// Entry rule entryRuleTagVersionRequirement +entryRuleTagVersionRequirement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTagVersionRequirementRule()); } + iv_ruleTagVersionRequirement=ruleTagVersionRequirement + { $current=$iv_ruleTagVersionRequirement.current; } + EOF; + +// Rule TagVersionRequirement +ruleTagVersionRequirement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); + } + lv_tagName_0_0=ruleTAG + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTagVersionRequirementRule()); + } + set( + $current, + "tagName", + lv_tagName_0_0, + "org.eclipse.n4js.semver.Semver.TAG"); + afterParserOrEnumRuleCall(); + } + ) + ) +; + // Entry rule entryRuleVersionRangeSetRequirement entryRuleVersionRangeSetRequirement returns [EObject current=null]: { newCompositeNode(grammarAccess.getVersionRangeSetRequirementRule()); } @@ -1370,6 +1455,93 @@ ruleSEMVER_TAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToke ) ; +// Entry rule entryRuleWORKSPACE_TAG +entryRuleWORKSPACE_TAG returns [String current=null]: + { newCompositeNode(grammarAccess.getWORKSPACE_TAGRule()); } + iv_ruleWORKSPACE_TAG=ruleWORKSPACE_TAG + { $current=$iv_ruleWORKSPACE_TAG.current.getText(); } + EOF; + +// Rule WORKSPACE_TAG +ruleWORKSPACE_TAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_LETTER_W_0=RULE_LETTER_W + { + $current.merge(this_LETTER_W_0); + } + { + newLeafNode(this_LETTER_W_0, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_WTerminalRuleCall_0()); + } + this_LETTER_O_1=RULE_LETTER_O + { + $current.merge(this_LETTER_O_1); + } + { + newLeafNode(this_LETTER_O_1, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_OTerminalRuleCall_1()); + } + this_LETTER_R_2=RULE_LETTER_R + { + $current.merge(this_LETTER_R_2); + } + { + newLeafNode(this_LETTER_R_2, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_RTerminalRuleCall_2()); + } + this_LETTER_K_3=RULE_LETTER_K + { + $current.merge(this_LETTER_K_3); + } + { + newLeafNode(this_LETTER_K_3, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_KTerminalRuleCall_3()); + } + this_LETTER_S_4=RULE_LETTER_S + { + $current.merge(this_LETTER_S_4); + } + { + newLeafNode(this_LETTER_S_4, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_STerminalRuleCall_4()); + } + this_LETTER_P_5=RULE_LETTER_P + { + $current.merge(this_LETTER_P_5); + } + { + newLeafNode(this_LETTER_P_5, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_PTerminalRuleCall_5()); + } + this_LETTER_A_6=RULE_LETTER_A + { + $current.merge(this_LETTER_A_6); + } + { + newLeafNode(this_LETTER_A_6, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ATerminalRuleCall_6()); + } + this_LETTER_C_7=RULE_LETTER_C + { + $current.merge(this_LETTER_C_7); + } + { + newLeafNode(this_LETTER_C_7, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_CTerminalRuleCall_7()); + } + this_LETTER_E_8=RULE_LETTER_E + { + $current.merge(this_LETTER_E_8); + } + { + newLeafNode(this_LETTER_E_8, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ETerminalRuleCall_8()); + } + kw=':' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_TAGAccess().getColonKeyword_9()); + } + ) +; + // Entry rule entryRulePATH entryRulePATH returns [String current=null]: { newCompositeNode(grammarAccess.getPATHRule()); } @@ -1404,32 +1576,18 @@ rulePATH returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] newLeafNode(kw, grammarAccess.getPATHAccess().getCommercialAtKeyword_2()); } | - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getPATHAccess().getHyphenMinusKeyword_3()); - } - | kw='_' { $current.merge(kw); - newLeafNode(kw, grammarAccess.getPATHAccess().get_Keyword_4()); - } - | - this_DIGITS_5=RULE_DIGITS - { - $current.merge(this_DIGITS_5); - } - { - newLeafNode(this_DIGITS_5, grammarAccess.getPATHAccess().getDIGITSTerminalRuleCall_5()); + newLeafNode(kw, grammarAccess.getPATHAccess().get_Keyword_3()); } | { - newCompositeNode(grammarAccess.getPATHAccess().getLETTERParserRuleCall_6()); + newCompositeNode(grammarAccess.getPATHAccess().getALPHA_NUMERIC_CHARParserRuleCall_4()); } - this_LETTER_6=ruleLETTER + this_ALPHA_NUMERIC_CHAR_4=ruleALPHA_NUMERIC_CHAR { - $current.merge(this_LETTER_6); + $current.merge(this_ALPHA_NUMERIC_CHAR_4); } { afterParserOrEnumRuleCall(); @@ -1501,32 +1659,18 @@ ruleURL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] }: ( ( - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getURLAccess().getHyphenMinusKeyword_0_0()); - } - | kw='_' { $current.merge(kw); - newLeafNode(kw, grammarAccess.getURLAccess().get_Keyword_0_1()); + newLeafNode(kw, grammarAccess.getURLAccess().get_Keyword_0_0()); } | - this_DIGITS_2=RULE_DIGITS - { - $current.merge(this_DIGITS_2); - } { - newLeafNode(this_DIGITS_2, grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_0_2()); + newCompositeNode(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_0_1()); } - | + this_ALPHA_NUMERIC_CHAR_1=ruleALPHA_NUMERIC_CHAR { - newCompositeNode(grammarAccess.getURLAccess().getLETTERParserRuleCall_0_3()); - } - this_LETTER_3=ruleLETTER - { - $current.merge(this_LETTER_3); + $current.merge(this_ALPHA_NUMERIC_CHAR_1); } { afterParserOrEnumRuleCall(); @@ -1582,32 +1726,18 @@ ruleURL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] newLeafNode(kw, grammarAccess.getURLAccess().getCommercialAtKeyword_2_3()); } | - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getURLAccess().getHyphenMinusKeyword_2_4()); - } - | kw='_' { $current.merge(kw); - newLeafNode(kw, grammarAccess.getURLAccess().get_Keyword_2_5()); - } - | - this_DIGITS_14=RULE_DIGITS - { - $current.merge(this_DIGITS_14); - } - { - newLeafNode(this_DIGITS_14, grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_2_6()); + newLeafNode(kw, grammarAccess.getURLAccess().get_Keyword_2_4()); } | { - newCompositeNode(grammarAccess.getURLAccess().getLETTERParserRuleCall_2_7()); + newCompositeNode(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_2_5()); } - this_LETTER_15=ruleLETTER + this_ALPHA_NUMERIC_CHAR_11=ruleALPHA_NUMERIC_CHAR { - $current.merge(this_LETTER_15); + $current.merge(this_ALPHA_NUMERIC_CHAR_11); } { afterParserOrEnumRuleCall(); @@ -1633,16 +1763,16 @@ ruleURL_NO_VX returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken }: ( ( - kw='-' + kw='_' { $current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_0()); + newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_0_0()); } | - kw='_' + kw='-' { $current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_0_1()); + newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_1()); } | { @@ -1657,32 +1787,18 @@ ruleURL_NO_VX returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken } ) ( - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_1_0()); - } - | kw='_' { $current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_1_1()); - } - | - this_DIGITS_5=RULE_DIGITS - { - $current.merge(this_DIGITS_5); - } - { - newLeafNode(this_DIGITS_5, grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_1_2()); + newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_1_0()); } | { - newCompositeNode(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_1_3()); + newCompositeNode(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_1_1()); } - this_LETTER_6=ruleLETTER + this_ALPHA_NUMERIC_CHAR_4=ruleALPHA_NUMERIC_CHAR { - $current.merge(this_LETTER_6); + $current.merge(this_ALPHA_NUMERIC_CHAR_4); } { afterParserOrEnumRuleCall(); @@ -1738,32 +1854,18 @@ ruleURL_NO_VX returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().getCommercialAtKeyword_3_3()); } | - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_3_4()); - } - | kw='_' { $current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_3_5()); + newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_3_4()); } | - this_DIGITS_17=RULE_DIGITS { - $current.merge(this_DIGITS_17); + newCompositeNode(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_3_5()); } + this_ALPHA_NUMERIC_CHAR_14=ruleALPHA_NUMERIC_CHAR { - newLeafNode(this_DIGITS_17, grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_3_6()); - } - | - { - newCompositeNode(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_3_7()); - } - this_LETTER_18=ruleLETTER - { - $current.merge(this_LETTER_18); + $current.merge(this_ALPHA_NUMERIC_CHAR_14); } { afterParserOrEnumRuleCall(); @@ -1798,44 +1900,28 @@ ruleTAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] { afterParserOrEnumRuleCall(); } - ( - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getTAGAccess().getHyphenMinusKeyword_1_0()); - } - | - this_DIGITS_2=RULE_DIGITS - { - $current.merge(this_DIGITS_2); - } - { - newLeafNode(this_DIGITS_2, grammarAccess.getTAGAccess().getDIGITSTerminalRuleCall_1_1()); - } - | - { - newCompositeNode(grammarAccess.getTAGAccess().getLETTERParserRuleCall_1_2()); - } - this_LETTER_3=ruleLETTER - { - $current.merge(this_LETTER_3); - } - { - afterParserOrEnumRuleCall(); - } - )+ + { + newCompositeNode(grammarAccess.getTAGAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); + } + this_ALPHA_NUMERIC_CHARS_1=ruleALPHA_NUMERIC_CHARS + { + $current.merge(this_ALPHA_NUMERIC_CHARS_1); + } + { + afterParserOrEnumRuleCall(); + } ) ; -// Entry rule entryRuleALPHA_NUMERIC_CHARS -entryRuleALPHA_NUMERIC_CHARS returns [String current=null]: - { newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARSRule()); } - iv_ruleALPHA_NUMERIC_CHARS=ruleALPHA_NUMERIC_CHARS - { $current=$iv_ruleALPHA_NUMERIC_CHARS.current.getText(); } +// Entry rule entryRuleWORKSPACE_VERSION +entryRuleWORKSPACE_VERSION returns [String current=null]: + { newCompositeNode(grammarAccess.getWORKSPACE_VERSIONRule()); } + iv_ruleWORKSPACE_VERSION=ruleWORKSPACE_VERSION + { $current=$iv_ruleWORKSPACE_VERSION.current.getText(); } EOF; -// Rule ALPHA_NUMERIC_CHARS -ruleALPHA_NUMERIC_CHARS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +// Rule WORKSPACE_VERSION +ruleWORKSPACE_VERSION returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] @init { enterRule(); } @@ -1843,26 +1929,92 @@ ruleALPHA_NUMERIC_CHARS returns [AntlrDatatypeRuleToken current=new AntlrDatatyp leaveRule(); }: ( - kw='-' + kw='/' { $current.merge(kw); - newLeafNode(kw, grammarAccess.getALPHA_NUMERIC_CHARSAccess().getHyphenMinusKeyword_0()); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getSolidusKeyword_0()); } | - this_DIGITS_1=RULE_DIGITS + kw='.' { - $current.merge(this_DIGITS_1); + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getFullStopKeyword_1()); } + | + kw=':' { - newLeafNode(this_DIGITS_1, grammarAccess.getALPHA_NUMERIC_CHARSAccess().getDIGITSTerminalRuleCall_1()); + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getColonKeyword_2()); } | + kw='@' { - newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getLETTERParserRuleCall_2()); + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getCommercialAtKeyword_3()); } - this_LETTER_2=ruleLETTER + | + kw='_' { - $current.merge(this_LETTER_2); + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().get_Keyword_4()); + } + | + kw='=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getEqualsSignKeyword_5()); + } + | + kw='~' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getTildeKeyword_6()); + } + | + kw='^' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getCircumflexAccentKeyword_7()); + } + | + kw='<' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignKeyword_8()); + } + | + kw='>' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignKeyword_9()); + } + | + kw='<=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignEqualsSignKeyword_10()); + } + | + kw='>=' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignEqualsSignKeyword_11()); + } + | + this_ASTERIX_12=RULE_ASTERIX + { + $current.merge(this_ASTERIX_12); + } + { + newLeafNode(this_ASTERIX_12, grammarAccess.getWORKSPACE_VERSIONAccess().getASTERIXTerminalRuleCall_12()); + } + | + { + newCompositeNode(grammarAccess.getWORKSPACE_VERSIONAccess().getALPHA_NUMERIC_CHARParserRuleCall_13()); + } + this_ALPHA_NUMERIC_CHAR_13=ruleALPHA_NUMERIC_CHAR + { + $current.merge(this_ALPHA_NUMERIC_CHAR_13); } { afterParserOrEnumRuleCall(); @@ -1893,32 +2045,88 @@ ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS returns [AntlrDatatypeRuleToken curren { newLeafNode(this_DIGITS_0, grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_0()); } - ( - kw='-' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getHyphenMinusKeyword_1_0()); - } - | - this_DIGITS_2=RULE_DIGITS - { - $current.merge(this_DIGITS_2); - } - { - newLeafNode(this_DIGITS_2, grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_1_1()); - } - | - { - newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getLETTERParserRuleCall_1_2()); - } - this_LETTER_3=ruleLETTER - { - $current.merge(this_LETTER_3); - } - { - afterParserOrEnumRuleCall(); - } - )+ + { + newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); + } + this_ALPHA_NUMERIC_CHARS_1=ruleALPHA_NUMERIC_CHARS + { + $current.merge(this_ALPHA_NUMERIC_CHARS_1); + } + { + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleALPHA_NUMERIC_CHARS +entryRuleALPHA_NUMERIC_CHARS returns [String current=null]: + { newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARSRule()); } + iv_ruleALPHA_NUMERIC_CHARS=ruleALPHA_NUMERIC_CHARS + { $current=$iv_ruleALPHA_NUMERIC_CHARS.current.getText(); } + EOF; + +// Rule ALPHA_NUMERIC_CHARS +ruleALPHA_NUMERIC_CHARS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); + } + this_ALPHA_NUMERIC_CHAR_0=ruleALPHA_NUMERIC_CHAR + { + $current.merge(this_ALPHA_NUMERIC_CHAR_0); + } + { + afterParserOrEnumRuleCall(); + } + )+ +; + +// Entry rule entryRuleALPHA_NUMERIC_CHAR +entryRuleALPHA_NUMERIC_CHAR returns [String current=null]: + { newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARRule()); } + iv_ruleALPHA_NUMERIC_CHAR=ruleALPHA_NUMERIC_CHAR + { $current=$iv_ruleALPHA_NUMERIC_CHAR.current.getText(); } + EOF; + +// Rule ALPHA_NUMERIC_CHAR +ruleALPHA_NUMERIC_CHAR returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getALPHA_NUMERIC_CHARAccess().getHyphenMinusKeyword_0()); + } + | + this_DIGITS_1=RULE_DIGITS + { + $current.merge(this_DIGITS_1); + } + { + newLeafNode(this_DIGITS_1, grammarAccess.getALPHA_NUMERIC_CHARAccess().getDIGITSTerminalRuleCall_1()); + } + | + { + newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARAccess().getLETTERParserRuleCall_2()); + } + this_LETTER_2=ruleLETTER + { + $current.merge(this_LETTER_2); + } + { + afterParserOrEnumRuleCall(); + } ) ; @@ -2005,28 +2213,28 @@ ruleLETTER_NO_VX returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleTo leaveRule(); }: ( - this_LETTER_S_0=RULE_LETTER_S + this_LETTER_A_0=RULE_LETTER_A { - $current.merge(this_LETTER_S_0); + $current.merge(this_LETTER_A_0); } { - newLeafNode(this_LETTER_S_0, grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_0()); + newLeafNode(this_LETTER_A_0, grammarAccess.getLETTER_NO_VXAccess().getLETTER_ATerminalRuleCall_0()); } | - this_LETTER_M_1=RULE_LETTER_M + this_LETTER_C_1=RULE_LETTER_C { - $current.merge(this_LETTER_M_1); + $current.merge(this_LETTER_C_1); } { - newLeafNode(this_LETTER_M_1, grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_1()); + newLeafNode(this_LETTER_C_1, grammarAccess.getLETTER_NO_VXAccess().getLETTER_CTerminalRuleCall_1()); } | - this_LETTER_R_2=RULE_LETTER_R + this_LETTER_E_2=RULE_LETTER_E { - $current.merge(this_LETTER_R_2); + $current.merge(this_LETTER_E_2); } { - newLeafNode(this_LETTER_R_2, grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_2()); + newLeafNode(this_LETTER_E_2, grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_2()); } | this_LETTER_F_3=RULE_LETTER_F @@ -2045,28 +2253,76 @@ ruleLETTER_NO_VX returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleTo newLeafNode(this_LETTER_I_4, grammarAccess.getLETTER_NO_VXAccess().getLETTER_ITerminalRuleCall_4()); } | - this_LETTER_L_5=RULE_LETTER_L + this_LETTER_K_5=RULE_LETTER_K + { + $current.merge(this_LETTER_K_5); + } + { + newLeafNode(this_LETTER_K_5, grammarAccess.getLETTER_NO_VXAccess().getLETTER_KTerminalRuleCall_5()); + } + | + this_LETTER_L_6=RULE_LETTER_L + { + $current.merge(this_LETTER_L_6); + } + { + newLeafNode(this_LETTER_L_6, grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_6()); + } + | + this_LETTER_M_7=RULE_LETTER_M + { + $current.merge(this_LETTER_M_7); + } + { + newLeafNode(this_LETTER_M_7, grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_7()); + } + | + this_LETTER_O_8=RULE_LETTER_O + { + $current.merge(this_LETTER_O_8); + } + { + newLeafNode(this_LETTER_O_8, grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTerminalRuleCall_8()); + } + | + this_LETTER_P_9=RULE_LETTER_P + { + $current.merge(this_LETTER_P_9); + } + { + newLeafNode(this_LETTER_P_9, grammarAccess.getLETTER_NO_VXAccess().getLETTER_PTerminalRuleCall_9()); + } + | + this_LETTER_R_10=RULE_LETTER_R + { + $current.merge(this_LETTER_R_10); + } + { + newLeafNode(this_LETTER_R_10, grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_10()); + } + | + this_LETTER_S_11=RULE_LETTER_S { - $current.merge(this_LETTER_L_5); + $current.merge(this_LETTER_S_11); } { - newLeafNode(this_LETTER_L_5, grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_5()); + newLeafNode(this_LETTER_S_11, grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_11()); } | - this_LETTER_E_6=RULE_LETTER_E + this_LETTER_W_12=RULE_LETTER_W { - $current.merge(this_LETTER_E_6); + $current.merge(this_LETTER_W_12); } { - newLeafNode(this_LETTER_E_6, grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_6()); + newLeafNode(this_LETTER_W_12, grammarAccess.getLETTER_NO_VXAccess().getLETTER_WTerminalRuleCall_12()); } | - this_LETTER_OTHER_7=RULE_LETTER_OTHER + this_LETTER_OTHER_13=RULE_LETTER_OTHER { - $current.merge(this_LETTER_OTHER_7); + $current.merge(this_LETTER_OTHER_13); } { - newLeafNode(this_LETTER_OTHER_7, grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_7()); + newLeafNode(this_LETTER_OTHER_13, grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_13()); } ) ; @@ -2089,42 +2345,42 @@ ruleVersionComparator returns [Enumerator current=null] ) | ( - enumLiteral_1='<' + enumLiteral_1='~' { - $current = grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_1()); + $current = grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_1()); } ) | ( - enumLiteral_2='~' + enumLiteral_2='^' { - $current = grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_2()); + $current = grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_2()); } ) | ( - enumLiteral_3='^' + enumLiteral_3='<' { - $current = grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_3()); + $current = grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_3()); } ) | ( - enumLiteral_4='<=' + enumLiteral_4='>' { - $current = grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_4()); + $current = grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_4()); } ) | ( - enumLiteral_5='>' + enumLiteral_5='<=' { - $current = grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_5()); + $current = grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_5()); } ) | @@ -2138,25 +2394,37 @@ ruleVersionComparator returns [Enumerator current=null] ) ; -RULE_LETTER_S : ('s'|'S'); +RULE_LETTER_A : ('a'|'A'); -RULE_LETTER_M : ('m'|'M'); +RULE_LETTER_C : ('c'|'C'); -RULE_LETTER_R : ('r'|'R'); +RULE_LETTER_E : ('e'|'E'); RULE_LETTER_F : ('f'|'F'); RULE_LETTER_I : ('i'|'I'); +RULE_LETTER_K : ('k'|'K'); + RULE_LETTER_L : ('l'|'L'); -RULE_LETTER_E : ('e'|'E'); +RULE_LETTER_M : ('m'|'M'); + +RULE_LETTER_O : ('o'|'O'); + +RULE_LETTER_P : ('p'|'P'); + +RULE_LETTER_R : ('r'|'R'); + +RULE_LETTER_S : ('s'|'S'); RULE_LETTER_V : ('v'|'V'); +RULE_LETTER_W : ('w'|'W'); + RULE_LETTER_X : ('x'|'X'); -RULE_LETTER_OTHER : ('a'|'A'|'b'|'B'|'c'|'C'|'d'|'D'|'g'|'G'|'h'|'H'|'j'|'J'|'k'|'K'|'n'|'N'|'o'|'O'|'p'|'P'|'q'|'Q'|'t'|'T'|'u'|'U'|'w'|'W'|'y'|'Y'|'z'|'Z'); +RULE_LETTER_OTHER : ('b'|'B'|'d'|'D'|'g'|'G'|'h'|'H'|'j'|'J'|'n'|'N'|'q'|'Q'|'t'|'T'|'u'|'U'|'y'|'Y'|'z'|'Z'); RULE_ASTERIX : '*'; diff --git a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemver.tokens b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemver.tokens index 91f9b667db..3cb6edcbab 100644 --- a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemver.tokens +++ b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemver.tokens @@ -1,56 +1,56 @@ -'#'=37 -'+'=41 -'-'=39 -'.'=40 -'/'=36 -':'=35 -'<'=45 -'<='=48 -'='=44 -'>'=49 -'>='=50 -'@'=42 -'^'=47 -'_'=43 -'||'=38 -'~'=46 -RULE_ANY_OTHER=34 -RULE_ASTERIX=15 -RULE_BOM=25 -RULE_DECIMAL_DIGIT_FRAGMENT=20 -RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=22 +'#'=43 +'+'=47 +'-'=45 +'.'=46 +'/'=42 +':'=41 +'<'=53 +'<='=55 +'='=50 +'>'=54 +'>='=56 +'@'=48 +'^'=52 +'_'=49 +'||'=44 +'~'=51 +RULE_ANY_OTHER=40 +RULE_ASTERIX=20 +RULE_BOM=31 +RULE_DECIMAL_DIGIT_FRAGMENT=26 +RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=28 RULE_DIGITS=6 -RULE_EOL=19 -RULE_HEX_DIGIT=21 +RULE_EOL=25 +RULE_HEX_DIGIT=27 +RULE_LETTER_A=18 +RULE_LETTER_C=19 RULE_LETTER_E=10 RULE_LETTER_F=7 RULE_LETTER_I=8 +RULE_LETTER_K=16 RULE_LETTER_L=9 RULE_LETTER_M=12 -RULE_LETTER_OTHER=16 +RULE_LETTER_O=15 +RULE_LETTER_OTHER=22 +RULE_LETTER_P=17 RULE_LETTER_R=13 RULE_LETTER_S=11 RULE_LETTER_V=5 -RULE_LETTER_X=14 -RULE_LINE_TERMINATOR_FRAGMENT=27 -RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=18 -RULE_ML_COMMENT_FRAGMENT=29 -RULE_SL_COMMENT_FRAGMENT=28 -RULE_UNICODE_COMBINING_MARK_FRAGMENT=30 -RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=32 -RULE_UNICODE_DIGIT_FRAGMENT=31 -RULE_UNICODE_LETTER_FRAGMENT=33 -RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=26 -RULE_WHITESPACE_FRAGMENT=17 +RULE_LETTER_W=14 +RULE_LETTER_X=21 +RULE_LINE_TERMINATOR_FRAGMENT=33 +RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=24 +RULE_ML_COMMENT_FRAGMENT=35 +RULE_SL_COMMENT_FRAGMENT=34 +RULE_UNICODE_COMBINING_MARK_FRAGMENT=36 +RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=38 +RULE_UNICODE_DIGIT_FRAGMENT=37 +RULE_UNICODE_LETTER_FRAGMENT=39 +RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=32 +RULE_WHITESPACE_FRAGMENT=23 RULE_WS=4 -RULE_ZWJ=23 -RULE_ZWNJ=24 -T__35=35 -T__36=36 -T__37=37 -T__38=38 -T__39=39 -T__40=40 +RULE_ZWJ=29 +RULE_ZWNJ=30 T__41=41 T__42=42 T__43=43 @@ -61,3 +61,9 @@ T__47=47 T__48=48 T__49=49 T__50=50 +T__51=51 +T__52=52 +T__53=53 +T__54=54 +T__55=55 +T__56=56 diff --git a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemverLexer.java b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemverLexer.java index eae308a30c..0c3b09d2ea 100644 --- a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemverLexer.java +++ b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemverLexer.java @@ -13,50 +13,56 @@ @SuppressWarnings("all") public class InternalSemverLexer extends Lexer { public static final int T__50=50; - public static final int RULE_WHITESPACE_FRAGMENT=17; - public static final int RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=18; - public static final int RULE_EOL=19; - public static final int RULE_LETTER_OTHER=16; - public static final int RULE_UNICODE_COMBINING_MARK_FRAGMENT=30; - public static final int RULE_ZWNJ=24; - public static final int RULE_ASTERIX=15; + public static final int RULE_WHITESPACE_FRAGMENT=23; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=24; + public static final int RULE_EOL=25; + public static final int RULE_LETTER_OTHER=22; + public static final int RULE_UNICODE_COMBINING_MARK_FRAGMENT=36; + public static final int RULE_ZWNJ=30; + public static final int RULE_LETTER_A=18; + public static final int RULE_LETTER_C=19; + public static final int RULE_ASTERIX=20; public static final int RULE_LETTER_E=10; - public static final int RULE_ML_COMMENT_FRAGMENT=29; + public static final int RULE_ML_COMMENT_FRAGMENT=35; public static final int RULE_DIGITS=6; - public static final int RULE_ZWJ=23; - public static final int RULE_SL_COMMENT_FRAGMENT=28; - public static final int RULE_UNICODE_DIGIT_FRAGMENT=31; - public static final int T__37=37; + public static final int RULE_LETTER_O=15; + public static final int RULE_ZWJ=29; + public static final int RULE_SL_COMMENT_FRAGMENT=34; + public static final int RULE_LETTER_P=17; + public static final int RULE_UNICODE_DIGIT_FRAGMENT=37; public static final int RULE_LETTER_R=13; - public static final int T__38=38; public static final int RULE_LETTER_S=11; - public static final int T__39=39; public static final int RULE_LETTER_F=7; - public static final int RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=26; - public static final int T__35=35; - public static final int T__36=36; + public static final int RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=32; public static final int RULE_LETTER_I=8; public static final int EOF=-1; + public static final int RULE_LETTER_K=16; public static final int RULE_LETTER_L=9; public static final int RULE_LETTER_M=12; public static final int RULE_WS=4; - public static final int RULE_BOM=25; + public static final int RULE_BOM=31; public static final int RULE_LETTER_V=5; - public static final int RULE_LETTER_X=14; - public static final int RULE_ANY_OTHER=34; - public static final int RULE_LINE_TERMINATOR_FRAGMENT=27; - public static final int RULE_UNICODE_LETTER_FRAGMENT=33; - public static final int RULE_DECIMAL_DIGIT_FRAGMENT=20; + public static final int RULE_LETTER_W=14; + public static final int RULE_LETTER_X=21; + public static final int RULE_ANY_OTHER=40; + public static final int RULE_LINE_TERMINATOR_FRAGMENT=33; + public static final int RULE_UNICODE_LETTER_FRAGMENT=39; + public static final int RULE_DECIMAL_DIGIT_FRAGMENT=26; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; public static final int T__45=45; - public static final int RULE_HEX_DIGIT=21; - public static final int RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=22; - public static final int RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=32; + public static final int RULE_HEX_DIGIT=27; + public static final int RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=28; + public static final int RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=38; public static final int T__46=46; public static final int T__47=47; - public static final int T__40=40; public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; @@ -74,10 +80,10 @@ public InternalSemverLexer(CharStream input, RecognizerSharedState state) { } public String getGrammarFileName() { return "InternalSemver.g"; } - // $ANTLR start "T__35" - public final void mT__35() throws RecognitionException { + // $ANTLR start "T__41" + public final void mT__41() throws RecognitionException { try { - int _type = T__35; + int _type = T__41; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:11:7: ( ':' ) // InternalSemver.g:11:9: ':' @@ -92,12 +98,12 @@ public final void mT__35() throws RecognitionException { finally { } } - // $ANTLR end "T__35" + // $ANTLR end "T__41" - // $ANTLR start "T__36" - public final void mT__36() throws RecognitionException { + // $ANTLR start "T__42" + public final void mT__42() throws RecognitionException { try { - int _type = T__36; + int _type = T__42; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:12:7: ( '/' ) // InternalSemver.g:12:9: '/' @@ -112,12 +118,12 @@ public final void mT__36() throws RecognitionException { finally { } } - // $ANTLR end "T__36" + // $ANTLR end "T__42" - // $ANTLR start "T__37" - public final void mT__37() throws RecognitionException { + // $ANTLR start "T__43" + public final void mT__43() throws RecognitionException { try { - int _type = T__37; + int _type = T__43; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:13:7: ( '#' ) // InternalSemver.g:13:9: '#' @@ -132,12 +138,12 @@ public final void mT__37() throws RecognitionException { finally { } } - // $ANTLR end "T__37" + // $ANTLR end "T__43" - // $ANTLR start "T__38" - public final void mT__38() throws RecognitionException { + // $ANTLR start "T__44" + public final void mT__44() throws RecognitionException { try { - int _type = T__38; + int _type = T__44; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:14:7: ( '||' ) // InternalSemver.g:14:9: '||' @@ -153,12 +159,12 @@ public final void mT__38() throws RecognitionException { finally { } } - // $ANTLR end "T__38" + // $ANTLR end "T__44" - // $ANTLR start "T__39" - public final void mT__39() throws RecognitionException { + // $ANTLR start "T__45" + public final void mT__45() throws RecognitionException { try { - int _type = T__39; + int _type = T__45; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:15:7: ( '-' ) // InternalSemver.g:15:9: '-' @@ -173,12 +179,12 @@ public final void mT__39() throws RecognitionException { finally { } } - // $ANTLR end "T__39" + // $ANTLR end "T__45" - // $ANTLR start "T__40" - public final void mT__40() throws RecognitionException { + // $ANTLR start "T__46" + public final void mT__46() throws RecognitionException { try { - int _type = T__40; + int _type = T__46; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:16:7: ( '.' ) // InternalSemver.g:16:9: '.' @@ -193,12 +199,12 @@ public final void mT__40() throws RecognitionException { finally { } } - // $ANTLR end "T__40" + // $ANTLR end "T__46" - // $ANTLR start "T__41" - public final void mT__41() throws RecognitionException { + // $ANTLR start "T__47" + public final void mT__47() throws RecognitionException { try { - int _type = T__41; + int _type = T__47; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:17:7: ( '+' ) // InternalSemver.g:17:9: '+' @@ -213,12 +219,12 @@ public final void mT__41() throws RecognitionException { finally { } } - // $ANTLR end "T__41" + // $ANTLR end "T__47" - // $ANTLR start "T__42" - public final void mT__42() throws RecognitionException { + // $ANTLR start "T__48" + public final void mT__48() throws RecognitionException { try { - int _type = T__42; + int _type = T__48; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:18:7: ( '@' ) // InternalSemver.g:18:9: '@' @@ -233,12 +239,12 @@ public final void mT__42() throws RecognitionException { finally { } } - // $ANTLR end "T__42" + // $ANTLR end "T__48" - // $ANTLR start "T__43" - public final void mT__43() throws RecognitionException { + // $ANTLR start "T__49" + public final void mT__49() throws RecognitionException { try { - int _type = T__43; + int _type = T__49; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:19:7: ( '_' ) // InternalSemver.g:19:9: '_' @@ -253,12 +259,12 @@ public final void mT__43() throws RecognitionException { finally { } } - // $ANTLR end "T__43" + // $ANTLR end "T__49" - // $ANTLR start "T__44" - public final void mT__44() throws RecognitionException { + // $ANTLR start "T__50" + public final void mT__50() throws RecognitionException { try { - int _type = T__44; + int _type = T__50; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:20:7: ( '=' ) // InternalSemver.g:20:9: '=' @@ -273,17 +279,17 @@ public final void mT__44() throws RecognitionException { finally { } } - // $ANTLR end "T__44" + // $ANTLR end "T__50" - // $ANTLR start "T__45" - public final void mT__45() throws RecognitionException { + // $ANTLR start "T__51" + public final void mT__51() throws RecognitionException { try { - int _type = T__45; + int _type = T__51; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:21:7: ( '<' ) - // InternalSemver.g:21:9: '<' + // InternalSemver.g:21:7: ( '~' ) + // InternalSemver.g:21:9: '~' { - match('<'); + match('~'); } @@ -293,17 +299,17 @@ public final void mT__45() throws RecognitionException { finally { } } - // $ANTLR end "T__45" + // $ANTLR end "T__51" - // $ANTLR start "T__46" - public final void mT__46() throws RecognitionException { + // $ANTLR start "T__52" + public final void mT__52() throws RecognitionException { try { - int _type = T__46; + int _type = T__52; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:22:7: ( '~' ) - // InternalSemver.g:22:9: '~' + // InternalSemver.g:22:7: ( '^' ) + // InternalSemver.g:22:9: '^' { - match('~'); + match('^'); } @@ -313,17 +319,17 @@ public final void mT__46() throws RecognitionException { finally { } } - // $ANTLR end "T__46" + // $ANTLR end "T__52" - // $ANTLR start "T__47" - public final void mT__47() throws RecognitionException { + // $ANTLR start "T__53" + public final void mT__53() throws RecognitionException { try { - int _type = T__47; + int _type = T__53; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:23:7: ( '^' ) - // InternalSemver.g:23:9: '^' + // InternalSemver.g:23:7: ( '<' ) + // InternalSemver.g:23:9: '<' { - match('^'); + match('<'); } @@ -333,18 +339,17 @@ public final void mT__47() throws RecognitionException { finally { } } - // $ANTLR end "T__47" + // $ANTLR end "T__53" - // $ANTLR start "T__48" - public final void mT__48() throws RecognitionException { + // $ANTLR start "T__54" + public final void mT__54() throws RecognitionException { try { - int _type = T__48; + int _type = T__54; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:24:7: ( '<=' ) - // InternalSemver.g:24:9: '<=' + // InternalSemver.g:24:7: ( '>' ) + // InternalSemver.g:24:9: '>' { - match("<="); - + match('>'); } @@ -354,17 +359,18 @@ public final void mT__48() throws RecognitionException { finally { } } - // $ANTLR end "T__48" + // $ANTLR end "T__54" - // $ANTLR start "T__49" - public final void mT__49() throws RecognitionException { + // $ANTLR start "T__55" + public final void mT__55() throws RecognitionException { try { - int _type = T__49; + int _type = T__55; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:25:7: ( '>' ) - // InternalSemver.g:25:9: '>' + // InternalSemver.g:25:7: ( '<=' ) + // InternalSemver.g:25:9: '<=' { - match('>'); + match("<="); + } @@ -374,12 +380,12 @@ public final void mT__49() throws RecognitionException { finally { } } - // $ANTLR end "T__49" + // $ANTLR end "T__55" - // $ANTLR start "T__50" - public final void mT__50() throws RecognitionException { + // $ANTLR start "T__56" + public final void mT__56() throws RecognitionException { try { - int _type = T__50; + int _type = T__56; int _channel = DEFAULT_TOKEN_CHANNEL; // InternalSemver.g:26:7: ( '>=' ) // InternalSemver.g:26:9: '>=' @@ -395,17 +401,17 @@ public final void mT__50() throws RecognitionException { finally { } } - // $ANTLR end "T__50" + // $ANTLR end "T__56" - // $ANTLR start "RULE_LETTER_S" - public final void mRULE_LETTER_S() throws RecognitionException { + // $ANTLR start "RULE_LETTER_A" + public final void mRULE_LETTER_A() throws RecognitionException { try { - int _type = RULE_LETTER_S; + int _type = RULE_LETTER_A; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2141:15: ( ( 's' | 'S' ) ) - // InternalSemver.g:2141:17: ( 's' | 'S' ) + // InternalSemver.g:2397:15: ( ( 'a' | 'A' ) ) + // InternalSemver.g:2397:17: ( 'a' | 'A' ) { - if ( input.LA(1)=='S'||input.LA(1)=='s' ) { + if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); } @@ -423,17 +429,17 @@ public final void mRULE_LETTER_S() throws RecognitionException { finally { } } - // $ANTLR end "RULE_LETTER_S" + // $ANTLR end "RULE_LETTER_A" - // $ANTLR start "RULE_LETTER_M" - public final void mRULE_LETTER_M() throws RecognitionException { + // $ANTLR start "RULE_LETTER_C" + public final void mRULE_LETTER_C() throws RecognitionException { try { - int _type = RULE_LETTER_M; + int _type = RULE_LETTER_C; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2143:15: ( ( 'm' | 'M' ) ) - // InternalSemver.g:2143:17: ( 'm' | 'M' ) + // InternalSemver.g:2399:15: ( ( 'c' | 'C' ) ) + // InternalSemver.g:2399:17: ( 'c' | 'C' ) { - if ( input.LA(1)=='M'||input.LA(1)=='m' ) { + if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); } @@ -451,17 +457,17 @@ public final void mRULE_LETTER_M() throws RecognitionException { finally { } } - // $ANTLR end "RULE_LETTER_M" + // $ANTLR end "RULE_LETTER_C" - // $ANTLR start "RULE_LETTER_R" - public final void mRULE_LETTER_R() throws RecognitionException { + // $ANTLR start "RULE_LETTER_E" + public final void mRULE_LETTER_E() throws RecognitionException { try { - int _type = RULE_LETTER_R; + int _type = RULE_LETTER_E; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2145:15: ( ( 'r' | 'R' ) ) - // InternalSemver.g:2145:17: ( 'r' | 'R' ) + // InternalSemver.g:2401:15: ( ( 'e' | 'E' ) ) + // InternalSemver.g:2401:17: ( 'e' | 'E' ) { - if ( input.LA(1)=='R'||input.LA(1)=='r' ) { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { input.consume(); } @@ -479,15 +485,15 @@ public final void mRULE_LETTER_R() throws RecognitionException { finally { } } - // $ANTLR end "RULE_LETTER_R" + // $ANTLR end "RULE_LETTER_E" // $ANTLR start "RULE_LETTER_F" public final void mRULE_LETTER_F() throws RecognitionException { try { int _type = RULE_LETTER_F; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2147:15: ( ( 'f' | 'F' ) ) - // InternalSemver.g:2147:17: ( 'f' | 'F' ) + // InternalSemver.g:2403:15: ( ( 'f' | 'F' ) ) + // InternalSemver.g:2403:17: ( 'f' | 'F' ) { if ( input.LA(1)=='F'||input.LA(1)=='f' ) { input.consume(); @@ -514,8 +520,8 @@ public final void mRULE_LETTER_I() throws RecognitionException { try { int _type = RULE_LETTER_I; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2149:15: ( ( 'i' | 'I' ) ) - // InternalSemver.g:2149:17: ( 'i' | 'I' ) + // InternalSemver.g:2405:15: ( ( 'i' | 'I' ) ) + // InternalSemver.g:2405:17: ( 'i' | 'I' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -537,13 +543,41 @@ public final void mRULE_LETTER_I() throws RecognitionException { } // $ANTLR end "RULE_LETTER_I" + // $ANTLR start "RULE_LETTER_K" + public final void mRULE_LETTER_K() throws RecognitionException { + try { + int _type = RULE_LETTER_K; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:2407:15: ( ( 'k' | 'K' ) ) + // InternalSemver.g:2407:17: ( 'k' | 'K' ) + { + if ( input.LA(1)=='K'||input.LA(1)=='k' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_K" + // $ANTLR start "RULE_LETTER_L" public final void mRULE_LETTER_L() throws RecognitionException { try { int _type = RULE_LETTER_L; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2151:15: ( ( 'l' | 'L' ) ) - // InternalSemver.g:2151:17: ( 'l' | 'L' ) + // InternalSemver.g:2409:15: ( ( 'l' | 'L' ) ) + // InternalSemver.g:2409:17: ( 'l' | 'L' ) { if ( input.LA(1)=='L'||input.LA(1)=='l' ) { input.consume(); @@ -565,15 +599,15 @@ public final void mRULE_LETTER_L() throws RecognitionException { } // $ANTLR end "RULE_LETTER_L" - // $ANTLR start "RULE_LETTER_E" - public final void mRULE_LETTER_E() throws RecognitionException { + // $ANTLR start "RULE_LETTER_M" + public final void mRULE_LETTER_M() throws RecognitionException { try { - int _type = RULE_LETTER_E; + int _type = RULE_LETTER_M; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2153:15: ( ( 'e' | 'E' ) ) - // InternalSemver.g:2153:17: ( 'e' | 'E' ) + // InternalSemver.g:2411:15: ( ( 'm' | 'M' ) ) + // InternalSemver.g:2411:17: ( 'm' | 'M' ) { - if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + if ( input.LA(1)=='M'||input.LA(1)=='m' ) { input.consume(); } @@ -591,15 +625,127 @@ public final void mRULE_LETTER_E() throws RecognitionException { finally { } } - // $ANTLR end "RULE_LETTER_E" + // $ANTLR end "RULE_LETTER_M" + + // $ANTLR start "RULE_LETTER_O" + public final void mRULE_LETTER_O() throws RecognitionException { + try { + int _type = RULE_LETTER_O; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:2413:15: ( ( 'o' | 'O' ) ) + // InternalSemver.g:2413:17: ( 'o' | 'O' ) + { + if ( input.LA(1)=='O'||input.LA(1)=='o' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_O" + + // $ANTLR start "RULE_LETTER_P" + public final void mRULE_LETTER_P() throws RecognitionException { + try { + int _type = RULE_LETTER_P; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:2415:15: ( ( 'p' | 'P' ) ) + // InternalSemver.g:2415:17: ( 'p' | 'P' ) + { + if ( input.LA(1)=='P'||input.LA(1)=='p' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_P" + + // $ANTLR start "RULE_LETTER_R" + public final void mRULE_LETTER_R() throws RecognitionException { + try { + int _type = RULE_LETTER_R; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:2417:15: ( ( 'r' | 'R' ) ) + // InternalSemver.g:2417:17: ( 'r' | 'R' ) + { + if ( input.LA(1)=='R'||input.LA(1)=='r' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_R" + + // $ANTLR start "RULE_LETTER_S" + public final void mRULE_LETTER_S() throws RecognitionException { + try { + int _type = RULE_LETTER_S; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:2419:15: ( ( 's' | 'S' ) ) + // InternalSemver.g:2419:17: ( 's' | 'S' ) + { + if ( input.LA(1)=='S'||input.LA(1)=='s' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_S" // $ANTLR start "RULE_LETTER_V" public final void mRULE_LETTER_V() throws RecognitionException { try { int _type = RULE_LETTER_V; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2155:15: ( ( 'v' | 'V' ) ) - // InternalSemver.g:2155:17: ( 'v' | 'V' ) + // InternalSemver.g:2421:15: ( ( 'v' | 'V' ) ) + // InternalSemver.g:2421:17: ( 'v' | 'V' ) { if ( input.LA(1)=='V'||input.LA(1)=='v' ) { input.consume(); @@ -621,13 +767,41 @@ public final void mRULE_LETTER_V() throws RecognitionException { } // $ANTLR end "RULE_LETTER_V" + // $ANTLR start "RULE_LETTER_W" + public final void mRULE_LETTER_W() throws RecognitionException { + try { + int _type = RULE_LETTER_W; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalSemver.g:2423:15: ( ( 'w' | 'W' ) ) + // InternalSemver.g:2423:17: ( 'w' | 'W' ) + { + if ( input.LA(1)=='W'||input.LA(1)=='w' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_LETTER_W" + // $ANTLR start "RULE_LETTER_X" public final void mRULE_LETTER_X() throws RecognitionException { try { int _type = RULE_LETTER_X; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2157:15: ( ( 'x' | 'X' ) ) - // InternalSemver.g:2157:17: ( 'x' | 'X' ) + // InternalSemver.g:2425:15: ( ( 'x' | 'X' ) ) + // InternalSemver.g:2425:17: ( 'x' | 'X' ) { if ( input.LA(1)=='X'||input.LA(1)=='x' ) { input.consume(); @@ -654,10 +828,10 @@ public final void mRULE_LETTER_OTHER() throws RecognitionException { try { int _type = RULE_LETTER_OTHER; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2159:19: ( ( 'a' | 'A' | 'b' | 'B' | 'c' | 'C' | 'd' | 'D' | 'g' | 'G' | 'h' | 'H' | 'j' | 'J' | 'k' | 'K' | 'n' | 'N' | 'o' | 'O' | 'p' | 'P' | 'q' | 'Q' | 't' | 'T' | 'u' | 'U' | 'w' | 'W' | 'y' | 'Y' | 'z' | 'Z' ) ) - // InternalSemver.g:2159:21: ( 'a' | 'A' | 'b' | 'B' | 'c' | 'C' | 'd' | 'D' | 'g' | 'G' | 'h' | 'H' | 'j' | 'J' | 'k' | 'K' | 'n' | 'N' | 'o' | 'O' | 'p' | 'P' | 'q' | 'Q' | 't' | 'T' | 'u' | 'U' | 'w' | 'W' | 'y' | 'Y' | 'z' | 'Z' ) + // InternalSemver.g:2427:19: ( ( 'b' | 'B' | 'd' | 'D' | 'g' | 'G' | 'h' | 'H' | 'j' | 'J' | 'n' | 'N' | 'q' | 'Q' | 't' | 'T' | 'u' | 'U' | 'y' | 'Y' | 'z' | 'Z' ) ) + // InternalSemver.g:2427:21: ( 'b' | 'B' | 'd' | 'D' | 'g' | 'G' | 'h' | 'H' | 'j' | 'J' | 'n' | 'N' | 'q' | 'Q' | 't' | 'T' | 'u' | 'U' | 'y' | 'Y' | 'z' | 'Z' ) { - if ( (input.LA(1)>='A' && input.LA(1)<='D')||(input.LA(1)>='G' && input.LA(1)<='H')||(input.LA(1)>='J' && input.LA(1)<='K')||(input.LA(1)>='N' && input.LA(1)<='Q')||(input.LA(1)>='T' && input.LA(1)<='U')||input.LA(1)=='W'||(input.LA(1)>='Y' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='d')||(input.LA(1)>='g' && input.LA(1)<='h')||(input.LA(1)>='j' && input.LA(1)<='k')||(input.LA(1)>='n' && input.LA(1)<='q')||(input.LA(1)>='t' && input.LA(1)<='u')||input.LA(1)=='w'||(input.LA(1)>='y' && input.LA(1)<='z') ) { + if ( input.LA(1)=='B'||input.LA(1)=='D'||(input.LA(1)>='G' && input.LA(1)<='H')||input.LA(1)=='J'||input.LA(1)=='N'||input.LA(1)=='Q'||(input.LA(1)>='T' && input.LA(1)<='U')||(input.LA(1)>='Y' && input.LA(1)<='Z')||input.LA(1)=='b'||input.LA(1)=='d'||(input.LA(1)>='g' && input.LA(1)<='h')||input.LA(1)=='j'||input.LA(1)=='n'||input.LA(1)=='q'||(input.LA(1)>='t' && input.LA(1)<='u')||(input.LA(1)>='y' && input.LA(1)<='z') ) { input.consume(); } @@ -682,8 +856,8 @@ public final void mRULE_ASTERIX() throws RecognitionException { try { int _type = RULE_ASTERIX; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2161:14: ( '*' ) - // InternalSemver.g:2161:16: '*' + // InternalSemver.g:2429:14: ( '*' ) + // InternalSemver.g:2429:16: '*' { match('*'); @@ -702,10 +876,10 @@ public final void mRULE_DIGITS() throws RecognitionException { try { int _type = RULE_DIGITS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2163:13: ( ( '0' .. '9' )+ ) - // InternalSemver.g:2163:15: ( '0' .. '9' )+ + // InternalSemver.g:2431:13: ( ( '0' .. '9' )+ ) + // InternalSemver.g:2431:15: ( '0' .. '9' )+ { - // InternalSemver.g:2163:15: ( '0' .. '9' )+ + // InternalSemver.g:2431:15: ( '0' .. '9' )+ int cnt1=0; loop1: do { @@ -719,7 +893,7 @@ public final void mRULE_DIGITS() throws RecognitionException { switch (alt1) { case 1 : - // InternalSemver.g:2163:16: '0' .. '9' + // InternalSemver.g:2431:16: '0' .. '9' { matchRange('0','9'); @@ -751,10 +925,10 @@ public final void mRULE_WS() throws RecognitionException { try { int _type = RULE_WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2165:9: ( ( RULE_WHITESPACE_FRAGMENT )+ ) - // InternalSemver.g:2165:11: ( RULE_WHITESPACE_FRAGMENT )+ + // InternalSemver.g:2433:9: ( ( RULE_WHITESPACE_FRAGMENT )+ ) + // InternalSemver.g:2433:11: ( RULE_WHITESPACE_FRAGMENT )+ { - // InternalSemver.g:2165:11: ( RULE_WHITESPACE_FRAGMENT )+ + // InternalSemver.g:2433:11: ( RULE_WHITESPACE_FRAGMENT )+ int cnt2=0; loop2: do { @@ -768,7 +942,7 @@ public final void mRULE_WS() throws RecognitionException { switch (alt2) { case 1 : - // InternalSemver.g:2165:11: RULE_WHITESPACE_FRAGMENT + // InternalSemver.g:2433:11: RULE_WHITESPACE_FRAGMENT { mRULE_WHITESPACE_FRAGMENT(); @@ -800,8 +974,8 @@ public final void mRULE_EOL() throws RecognitionException { try { int _type = RULE_EOL; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalSemver.g:2167:10: ( RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT ) - // InternalSemver.g:2167:12: RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT + // InternalSemver.g:2435:10: ( RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT ) + // InternalSemver.g:2435:12: RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT { mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT(); @@ -818,8 +992,8 @@ public final void mRULE_EOL() throws RecognitionException { // $ANTLR start "RULE_HEX_DIGIT" public final void mRULE_HEX_DIGIT() throws RecognitionException { try { - // InternalSemver.g:2169:25: ( ( RULE_DECIMAL_DIGIT_FRAGMENT | 'a' .. 'f' | 'A' .. 'F' ) ) - // InternalSemver.g:2169:27: ( RULE_DECIMAL_DIGIT_FRAGMENT | 'a' .. 'f' | 'A' .. 'F' ) + // InternalSemver.g:2437:25: ( ( RULE_DECIMAL_DIGIT_FRAGMENT | 'a' .. 'f' | 'A' .. 'F' ) ) + // InternalSemver.g:2437:27: ( RULE_DECIMAL_DIGIT_FRAGMENT | 'a' .. 'f' | 'A' .. 'F' ) { if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) { input.consume(); @@ -842,10 +1016,10 @@ public final void mRULE_HEX_DIGIT() throws RecognitionException { // $ANTLR start "RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT" public final void mRULE_DECIMAL_INTEGER_LITERAL_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2171:48: ( ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) ) - // InternalSemver.g:2171:50: ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) + // InternalSemver.g:2439:48: ( ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) ) + // InternalSemver.g:2439:50: ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) { - // InternalSemver.g:2171:50: ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) + // InternalSemver.g:2439:50: ( '0' | '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* ) int alt4=2; int LA4_0 = input.LA(1); @@ -863,17 +1037,17 @@ else if ( ((LA4_0>='1' && LA4_0<='9')) ) { } switch (alt4) { case 1 : - // InternalSemver.g:2171:51: '0' + // InternalSemver.g:2439:51: '0' { match('0'); } break; case 2 : - // InternalSemver.g:2171:55: '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* + // InternalSemver.g:2439:55: '1' .. '9' ( RULE_DECIMAL_DIGIT_FRAGMENT )* { matchRange('1','9'); - // InternalSemver.g:2171:64: ( RULE_DECIMAL_DIGIT_FRAGMENT )* + // InternalSemver.g:2439:64: ( RULE_DECIMAL_DIGIT_FRAGMENT )* loop3: do { int alt3=2; @@ -886,7 +1060,7 @@ else if ( ((LA4_0>='1' && LA4_0<='9')) ) { switch (alt3) { case 1 : - // InternalSemver.g:2171:64: RULE_DECIMAL_DIGIT_FRAGMENT + // InternalSemver.g:2439:64: RULE_DECIMAL_DIGIT_FRAGMENT { mRULE_DECIMAL_DIGIT_FRAGMENT(); @@ -916,8 +1090,8 @@ else if ( ((LA4_0>='1' && LA4_0<='9')) ) { // $ANTLR start "RULE_DECIMAL_DIGIT_FRAGMENT" public final void mRULE_DECIMAL_DIGIT_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2173:38: ( '0' .. '9' ) - // InternalSemver.g:2173:40: '0' .. '9' + // InternalSemver.g:2441:38: ( '0' .. '9' ) + // InternalSemver.g:2441:40: '0' .. '9' { matchRange('0','9'); @@ -932,8 +1106,8 @@ public final void mRULE_DECIMAL_DIGIT_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_ZWJ" public final void mRULE_ZWJ() throws RecognitionException { try { - // InternalSemver.g:2175:19: ( '\\u200D' ) - // InternalSemver.g:2175:21: '\\u200D' + // InternalSemver.g:2443:19: ( '\\u200D' ) + // InternalSemver.g:2443:21: '\\u200D' { match('\u200D'); @@ -948,8 +1122,8 @@ public final void mRULE_ZWJ() throws RecognitionException { // $ANTLR start "RULE_ZWNJ" public final void mRULE_ZWNJ() throws RecognitionException { try { - // InternalSemver.g:2177:20: ( '\\u200C' ) - // InternalSemver.g:2177:22: '\\u200C' + // InternalSemver.g:2445:20: ( '\\u200C' ) + // InternalSemver.g:2445:22: '\\u200C' { match('\u200C'); @@ -964,8 +1138,8 @@ public final void mRULE_ZWNJ() throws RecognitionException { // $ANTLR start "RULE_BOM" public final void mRULE_BOM() throws RecognitionException { try { - // InternalSemver.g:2179:19: ( '\\uFEFF' ) - // InternalSemver.g:2179:21: '\\uFEFF' + // InternalSemver.g:2447:19: ( '\\uFEFF' ) + // InternalSemver.g:2447:21: '\\uFEFF' { match('\uFEFF'); @@ -980,8 +1154,8 @@ public final void mRULE_BOM() throws RecognitionException { // $ANTLR start "RULE_WHITESPACE_FRAGMENT" public final void mRULE_WHITESPACE_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2181:35: ( ( '\\t' | '\\u000B' | '\\f' | ' ' | '\\u00A0' | RULE_BOM | RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT ) ) - // InternalSemver.g:2181:37: ( '\\t' | '\\u000B' | '\\f' | ' ' | '\\u00A0' | RULE_BOM | RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT ) + // InternalSemver.g:2449:35: ( ( '\\t' | '\\u000B' | '\\f' | ' ' | '\\u00A0' | RULE_BOM | RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT ) ) + // InternalSemver.g:2449:37: ( '\\t' | '\\u000B' | '\\f' | ' ' | '\\u00A0' | RULE_BOM | RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT ) { if ( input.LA(1)=='\t'||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||input.LA(1)==' '||input.LA(1)=='\u00A0'||input.LA(1)=='\u1680'||(input.LA(1)>='\u2000' && input.LA(1)<='\u200A')||input.LA(1)=='\u202F'||input.LA(1)=='\u205F'||input.LA(1)=='\u3000'||input.LA(1)=='\uFEFF' ) { input.consume(); @@ -1004,8 +1178,8 @@ public final void mRULE_WHITESPACE_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_LINE_TERMINATOR_FRAGMENT" public final void mRULE_LINE_TERMINATOR_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2183:40: ( ( '\\n' | '\\r' | '\\u2028' | '\\u2029' ) ) - // InternalSemver.g:2183:42: ( '\\n' | '\\r' | '\\u2028' | '\\u2029' ) + // InternalSemver.g:2451:40: ( ( '\\n' | '\\r' | '\\u2028' | '\\u2029' ) ) + // InternalSemver.g:2451:42: ( '\\n' | '\\r' | '\\u2028' | '\\u2029' ) { if ( input.LA(1)=='\n'||input.LA(1)=='\r'||(input.LA(1)>='\u2028' && input.LA(1)<='\u2029') ) { input.consume(); @@ -1028,10 +1202,10 @@ public final void mRULE_LINE_TERMINATOR_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT" public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2185:49: ( ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) ) - // InternalSemver.g:2185:51: ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) + // InternalSemver.g:2453:49: ( ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) ) + // InternalSemver.g:2453:51: ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) { - // InternalSemver.g:2185:51: ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) + // InternalSemver.g:2453:51: ( '\\n' | '\\r' ( '\\n' )? | '\\u2028' | '\\u2029' ) int alt6=4; switch ( input.LA(1) ) { case '\n': @@ -1063,17 +1237,17 @@ public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionEx switch (alt6) { case 1 : - // InternalSemver.g:2185:52: '\\n' + // InternalSemver.g:2453:52: '\\n' { match('\n'); } break; case 2 : - // InternalSemver.g:2185:57: '\\r' ( '\\n' )? + // InternalSemver.g:2453:57: '\\r' ( '\\n' )? { match('\r'); - // InternalSemver.g:2185:62: ( '\\n' )? + // InternalSemver.g:2453:62: ( '\\n' )? int alt5=2; int LA5_0 = input.LA(1); @@ -1082,7 +1256,7 @@ public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionEx } switch (alt5) { case 1 : - // InternalSemver.g:2185:62: '\\n' + // InternalSemver.g:2453:62: '\\n' { match('\n'); @@ -1095,14 +1269,14 @@ public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionEx } break; case 3 : - // InternalSemver.g:2185:68: '\\u2028' + // InternalSemver.g:2453:68: '\\u2028' { match('\u2028'); } break; case 4 : - // InternalSemver.g:2185:77: '\\u2029' + // InternalSemver.g:2453:77: '\\u2029' { match('\u2029'); @@ -1123,12 +1297,12 @@ public final void mRULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT() throws RecognitionEx // $ANTLR start "RULE_SL_COMMENT_FRAGMENT" public final void mRULE_SL_COMMENT_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2187:35: ( '//' (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* ) - // InternalSemver.g:2187:37: '//' (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* + // InternalSemver.g:2455:35: ( '//' (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* ) + // InternalSemver.g:2455:37: '//' (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* { match("//"); - // InternalSemver.g:2187:42: (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* + // InternalSemver.g:2455:42: (~ ( RULE_LINE_TERMINATOR_FRAGMENT ) )* loop7: do { int alt7=2; @@ -1141,7 +1315,7 @@ public final void mRULE_SL_COMMENT_FRAGMENT() throws RecognitionException { switch (alt7) { case 1 : - // InternalSemver.g:2187:42: ~ ( RULE_LINE_TERMINATOR_FRAGMENT ) + // InternalSemver.g:2455:42: ~ ( RULE_LINE_TERMINATOR_FRAGMENT ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u2027')||(input.LA(1)>='\u202A' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1173,12 +1347,12 @@ public final void mRULE_SL_COMMENT_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_ML_COMMENT_FRAGMENT" public final void mRULE_ML_COMMENT_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2189:35: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // InternalSemver.g:2189:37: '/*' ( options {greedy=false; } : . )* '*/' + // InternalSemver.g:2457:35: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalSemver.g:2457:37: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // InternalSemver.g:2189:42: ( options {greedy=false; } : . )* + // InternalSemver.g:2457:42: ( options {greedy=false; } : . )* loop8: do { int alt8=2; @@ -1203,7 +1377,7 @@ else if ( ((LA8_0>='\u0000' && LA8_0<=')')||(LA8_0>='+' && LA8_0<='\uFFFF')) ) { switch (alt8) { case 1 : - // InternalSemver.g:2189:70: . + // InternalSemver.g:2457:70: . { matchAny(); @@ -1229,8 +1403,8 @@ else if ( ((LA8_0>='\u0000' && LA8_0<=')')||(LA8_0>='+' && LA8_0<='\uFFFF')) ) { // $ANTLR start "RULE_UNICODE_COMBINING_MARK_FRAGMENT" public final void mRULE_UNICODE_COMBINING_MARK_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2191:47: ( ( '\\u0300' .. '\\u036F' | '\\u0483' .. '\\u0487' | '\\u0591' .. '\\u05BD' | '\\u05BF' | '\\u05C1' .. '\\u05C2' | '\\u05C4' .. '\\u05C5' | '\\u05C7' | '\\u0610' .. '\\u061A' | '\\u064B' .. '\\u065F' | '\\u0670' | '\\u06D6' .. '\\u06DC' | '\\u06DF' .. '\\u06E4' | '\\u06E7' .. '\\u06E8' | '\\u06EA' .. '\\u06ED' | '\\u0711' | '\\u0730' .. '\\u074A' | '\\u07A6' .. '\\u07B0' | '\\u07EB' .. '\\u07F3' | '\\u0816' .. '\\u0819' | '\\u081B' .. '\\u0823' | '\\u0825' .. '\\u0827' | '\\u0829' .. '\\u082D' | '\\u0859' .. '\\u085B' | '\\u08E3' .. '\\u0903' | '\\u093A' .. '\\u093C' | '\\u093E' .. '\\u094F' | '\\u0951' .. '\\u0957' | '\\u0962' .. '\\u0963' | '\\u0981' .. '\\u0983' | '\\u09BC' | '\\u09BE' .. '\\u09C4' | '\\u09C7' .. '\\u09C8' | '\\u09CB' .. '\\u09CD' | '\\u09D7' | '\\u09E2' .. '\\u09E3' | '\\u0A01' .. '\\u0A03' | '\\u0A3C' | '\\u0A3E' .. '\\u0A42' | '\\u0A47' .. '\\u0A48' | '\\u0A4B' .. '\\u0A4D' | '\\u0A51' | '\\u0A70' .. '\\u0A71' | '\\u0A75' | '\\u0A81' .. '\\u0A83' | '\\u0ABC' | '\\u0ABE' .. '\\u0AC5' | '\\u0AC7' .. '\\u0AC9' | '\\u0ACB' .. '\\u0ACD' | '\\u0AE2' .. '\\u0AE3' | '\\u0B01' .. '\\u0B03' | '\\u0B3C' | '\\u0B3E' .. '\\u0B44' | '\\u0B47' .. '\\u0B48' | '\\u0B4B' .. '\\u0B4D' | '\\u0B56' .. '\\u0B57' | '\\u0B62' .. '\\u0B63' | '\\u0B82' | '\\u0BBE' .. '\\u0BC2' | '\\u0BC6' .. '\\u0BC8' | '\\u0BCA' .. '\\u0BCD' | '\\u0BD7' | '\\u0C00' .. '\\u0C03' | '\\u0C3E' .. '\\u0C44' | '\\u0C46' .. '\\u0C48' | '\\u0C4A' .. '\\u0C4D' | '\\u0C55' .. '\\u0C56' | '\\u0C62' .. '\\u0C63' | '\\u0C81' .. '\\u0C83' | '\\u0CBC' | '\\u0CBE' .. '\\u0CC4' | '\\u0CC6' .. '\\u0CC8' | '\\u0CCA' .. '\\u0CCD' | '\\u0CD5' .. '\\u0CD6' | '\\u0CE2' .. '\\u0CE3' | '\\u0D01' .. '\\u0D03' | '\\u0D3E' .. '\\u0D44' | '\\u0D46' .. '\\u0D48' | '\\u0D4A' .. '\\u0D4D' | '\\u0D57' | '\\u0D62' .. '\\u0D63' | '\\u0D82' .. '\\u0D83' | '\\u0DCA' | '\\u0DCF' .. '\\u0DD4' | '\\u0DD6' | '\\u0DD8' .. '\\u0DDF' | '\\u0DF2' .. '\\u0DF3' | '\\u0E31' | '\\u0E34' .. '\\u0E3A' | '\\u0E47' .. '\\u0E4E' | '\\u0EB1' | '\\u0EB4' .. '\\u0EB9' | '\\u0EBB' .. '\\u0EBC' | '\\u0EC8' .. '\\u0ECD' | '\\u0F18' .. '\\u0F19' | '\\u0F35' | '\\u0F37' | '\\u0F39' | '\\u0F3E' .. '\\u0F3F' | '\\u0F71' .. '\\u0F84' | '\\u0F86' .. '\\u0F87' | '\\u0F8D' .. '\\u0F97' | '\\u0F99' .. '\\u0FBC' | '\\u0FC6' | '\\u102B' .. '\\u103E' | '\\u1056' .. '\\u1059' | '\\u105E' .. '\\u1060' | '\\u1062' .. '\\u1064' | '\\u1067' .. '\\u106D' | '\\u1071' .. '\\u1074' | '\\u1082' .. '\\u108D' | '\\u108F' | '\\u109A' .. '\\u109D' | '\\u135D' .. '\\u135F' | '\\u1712' .. '\\u1714' | '\\u1732' .. '\\u1734' | '\\u1752' .. '\\u1753' | '\\u1772' .. '\\u1773' | '\\u17B4' .. '\\u17D3' | '\\u17DD' | '\\u180B' .. '\\u180D' | '\\u18A9' | '\\u1920' .. '\\u192B' | '\\u1930' .. '\\u193B' | '\\u1A17' .. '\\u1A1B' | '\\u1A55' .. '\\u1A5E' | '\\u1A60' .. '\\u1A7C' | '\\u1A7F' | '\\u1AB0' .. '\\u1ABD' | '\\u1B00' .. '\\u1B04' | '\\u1B34' .. '\\u1B44' | '\\u1B6B' .. '\\u1B73' | '\\u1B80' .. '\\u1B82' | '\\u1BA1' .. '\\u1BAD' | '\\u1BE6' .. '\\u1BF3' | '\\u1C24' .. '\\u1C37' | '\\u1CD0' .. '\\u1CD2' | '\\u1CD4' .. '\\u1CE8' | '\\u1CED' | '\\u1CF2' .. '\\u1CF4' | '\\u1CF8' .. '\\u1CF9' | '\\u1DC0' .. '\\u1DF5' | '\\u1DFC' .. '\\u1DFF' | '\\u20D0' .. '\\u20DC' | '\\u20E1' | '\\u20E5' .. '\\u20F0' | '\\u2CEF' .. '\\u2CF1' | '\\u2D7F' | '\\u2DE0' .. '\\u2DFF' | '\\u302A' .. '\\u302F' | '\\u3099' .. '\\u309A' | '\\uA66F' | '\\uA674' .. '\\uA67D' | '\\uA69E' .. '\\uA69F' | '\\uA6F0' .. '\\uA6F1' | '\\uA802' | '\\uA806' | '\\uA80B' | '\\uA823' .. '\\uA827' | '\\uA880' .. '\\uA881' | '\\uA8B4' .. '\\uA8C4' | '\\uA8E0' .. '\\uA8F1' | '\\uA926' .. '\\uA92D' | '\\uA947' .. '\\uA953' | '\\uA980' .. '\\uA983' | '\\uA9B3' .. '\\uA9C0' | '\\uA9E5' | '\\uAA29' .. '\\uAA36' | '\\uAA43' | '\\uAA4C' .. '\\uAA4D' | '\\uAA7B' .. '\\uAA7D' | '\\uAAB0' | '\\uAAB2' .. '\\uAAB4' | '\\uAAB7' .. '\\uAAB8' | '\\uAABE' .. '\\uAABF' | '\\uAAC1' | '\\uAAEB' .. '\\uAAEF' | '\\uAAF5' .. '\\uAAF6' | '\\uABE3' .. '\\uABEA' | '\\uABEC' .. '\\uABED' | '\\uFB1E' | '\\uFE00' .. '\\uFE0F' | '\\uFE20' .. '\\uFE2F' ) ) - // InternalSemver.g:2191:49: ( '\\u0300' .. '\\u036F' | '\\u0483' .. '\\u0487' | '\\u0591' .. '\\u05BD' | '\\u05BF' | '\\u05C1' .. '\\u05C2' | '\\u05C4' .. '\\u05C5' | '\\u05C7' | '\\u0610' .. '\\u061A' | '\\u064B' .. '\\u065F' | '\\u0670' | '\\u06D6' .. '\\u06DC' | '\\u06DF' .. '\\u06E4' | '\\u06E7' .. '\\u06E8' | '\\u06EA' .. '\\u06ED' | '\\u0711' | '\\u0730' .. '\\u074A' | '\\u07A6' .. '\\u07B0' | '\\u07EB' .. '\\u07F3' | '\\u0816' .. '\\u0819' | '\\u081B' .. '\\u0823' | '\\u0825' .. '\\u0827' | '\\u0829' .. '\\u082D' | '\\u0859' .. '\\u085B' | '\\u08E3' .. '\\u0903' | '\\u093A' .. '\\u093C' | '\\u093E' .. '\\u094F' | '\\u0951' .. '\\u0957' | '\\u0962' .. '\\u0963' | '\\u0981' .. '\\u0983' | '\\u09BC' | '\\u09BE' .. '\\u09C4' | '\\u09C7' .. '\\u09C8' | '\\u09CB' .. '\\u09CD' | '\\u09D7' | '\\u09E2' .. '\\u09E3' | '\\u0A01' .. '\\u0A03' | '\\u0A3C' | '\\u0A3E' .. '\\u0A42' | '\\u0A47' .. '\\u0A48' | '\\u0A4B' .. '\\u0A4D' | '\\u0A51' | '\\u0A70' .. '\\u0A71' | '\\u0A75' | '\\u0A81' .. '\\u0A83' | '\\u0ABC' | '\\u0ABE' .. '\\u0AC5' | '\\u0AC7' .. '\\u0AC9' | '\\u0ACB' .. '\\u0ACD' | '\\u0AE2' .. '\\u0AE3' | '\\u0B01' .. '\\u0B03' | '\\u0B3C' | '\\u0B3E' .. '\\u0B44' | '\\u0B47' .. '\\u0B48' | '\\u0B4B' .. '\\u0B4D' | '\\u0B56' .. '\\u0B57' | '\\u0B62' .. '\\u0B63' | '\\u0B82' | '\\u0BBE' .. '\\u0BC2' | '\\u0BC6' .. '\\u0BC8' | '\\u0BCA' .. '\\u0BCD' | '\\u0BD7' | '\\u0C00' .. '\\u0C03' | '\\u0C3E' .. '\\u0C44' | '\\u0C46' .. '\\u0C48' | '\\u0C4A' .. '\\u0C4D' | '\\u0C55' .. '\\u0C56' | '\\u0C62' .. '\\u0C63' | '\\u0C81' .. '\\u0C83' | '\\u0CBC' | '\\u0CBE' .. '\\u0CC4' | '\\u0CC6' .. '\\u0CC8' | '\\u0CCA' .. '\\u0CCD' | '\\u0CD5' .. '\\u0CD6' | '\\u0CE2' .. '\\u0CE3' | '\\u0D01' .. '\\u0D03' | '\\u0D3E' .. '\\u0D44' | '\\u0D46' .. '\\u0D48' | '\\u0D4A' .. '\\u0D4D' | '\\u0D57' | '\\u0D62' .. '\\u0D63' | '\\u0D82' .. '\\u0D83' | '\\u0DCA' | '\\u0DCF' .. '\\u0DD4' | '\\u0DD6' | '\\u0DD8' .. '\\u0DDF' | '\\u0DF2' .. '\\u0DF3' | '\\u0E31' | '\\u0E34' .. '\\u0E3A' | '\\u0E47' .. '\\u0E4E' | '\\u0EB1' | '\\u0EB4' .. '\\u0EB9' | '\\u0EBB' .. '\\u0EBC' | '\\u0EC8' .. '\\u0ECD' | '\\u0F18' .. '\\u0F19' | '\\u0F35' | '\\u0F37' | '\\u0F39' | '\\u0F3E' .. '\\u0F3F' | '\\u0F71' .. '\\u0F84' | '\\u0F86' .. '\\u0F87' | '\\u0F8D' .. '\\u0F97' | '\\u0F99' .. '\\u0FBC' | '\\u0FC6' | '\\u102B' .. '\\u103E' | '\\u1056' .. '\\u1059' | '\\u105E' .. '\\u1060' | '\\u1062' .. '\\u1064' | '\\u1067' .. '\\u106D' | '\\u1071' .. '\\u1074' | '\\u1082' .. '\\u108D' | '\\u108F' | '\\u109A' .. '\\u109D' | '\\u135D' .. '\\u135F' | '\\u1712' .. '\\u1714' | '\\u1732' .. '\\u1734' | '\\u1752' .. '\\u1753' | '\\u1772' .. '\\u1773' | '\\u17B4' .. '\\u17D3' | '\\u17DD' | '\\u180B' .. '\\u180D' | '\\u18A9' | '\\u1920' .. '\\u192B' | '\\u1930' .. '\\u193B' | '\\u1A17' .. '\\u1A1B' | '\\u1A55' .. '\\u1A5E' | '\\u1A60' .. '\\u1A7C' | '\\u1A7F' | '\\u1AB0' .. '\\u1ABD' | '\\u1B00' .. '\\u1B04' | '\\u1B34' .. '\\u1B44' | '\\u1B6B' .. '\\u1B73' | '\\u1B80' .. '\\u1B82' | '\\u1BA1' .. '\\u1BAD' | '\\u1BE6' .. '\\u1BF3' | '\\u1C24' .. '\\u1C37' | '\\u1CD0' .. '\\u1CD2' | '\\u1CD4' .. '\\u1CE8' | '\\u1CED' | '\\u1CF2' .. '\\u1CF4' | '\\u1CF8' .. '\\u1CF9' | '\\u1DC0' .. '\\u1DF5' | '\\u1DFC' .. '\\u1DFF' | '\\u20D0' .. '\\u20DC' | '\\u20E1' | '\\u20E5' .. '\\u20F0' | '\\u2CEF' .. '\\u2CF1' | '\\u2D7F' | '\\u2DE0' .. '\\u2DFF' | '\\u302A' .. '\\u302F' | '\\u3099' .. '\\u309A' | '\\uA66F' | '\\uA674' .. '\\uA67D' | '\\uA69E' .. '\\uA69F' | '\\uA6F0' .. '\\uA6F1' | '\\uA802' | '\\uA806' | '\\uA80B' | '\\uA823' .. '\\uA827' | '\\uA880' .. '\\uA881' | '\\uA8B4' .. '\\uA8C4' | '\\uA8E0' .. '\\uA8F1' | '\\uA926' .. '\\uA92D' | '\\uA947' .. '\\uA953' | '\\uA980' .. '\\uA983' | '\\uA9B3' .. '\\uA9C0' | '\\uA9E5' | '\\uAA29' .. '\\uAA36' | '\\uAA43' | '\\uAA4C' .. '\\uAA4D' | '\\uAA7B' .. '\\uAA7D' | '\\uAAB0' | '\\uAAB2' .. '\\uAAB4' | '\\uAAB7' .. '\\uAAB8' | '\\uAABE' .. '\\uAABF' | '\\uAAC1' | '\\uAAEB' .. '\\uAAEF' | '\\uAAF5' .. '\\uAAF6' | '\\uABE3' .. '\\uABEA' | '\\uABEC' .. '\\uABED' | '\\uFB1E' | '\\uFE00' .. '\\uFE0F' | '\\uFE20' .. '\\uFE2F' ) + // InternalSemver.g:2459:47: ( ( '\\u0300' .. '\\u036F' | '\\u0483' .. '\\u0487' | '\\u0591' .. '\\u05BD' | '\\u05BF' | '\\u05C1' .. '\\u05C2' | '\\u05C4' .. '\\u05C5' | '\\u05C7' | '\\u0610' .. '\\u061A' | '\\u064B' .. '\\u065F' | '\\u0670' | '\\u06D6' .. '\\u06DC' | '\\u06DF' .. '\\u06E4' | '\\u06E7' .. '\\u06E8' | '\\u06EA' .. '\\u06ED' | '\\u0711' | '\\u0730' .. '\\u074A' | '\\u07A6' .. '\\u07B0' | '\\u07EB' .. '\\u07F3' | '\\u0816' .. '\\u0819' | '\\u081B' .. '\\u0823' | '\\u0825' .. '\\u0827' | '\\u0829' .. '\\u082D' | '\\u0859' .. '\\u085B' | '\\u08E3' .. '\\u0903' | '\\u093A' .. '\\u093C' | '\\u093E' .. '\\u094F' | '\\u0951' .. '\\u0957' | '\\u0962' .. '\\u0963' | '\\u0981' .. '\\u0983' | '\\u09BC' | '\\u09BE' .. '\\u09C4' | '\\u09C7' .. '\\u09C8' | '\\u09CB' .. '\\u09CD' | '\\u09D7' | '\\u09E2' .. '\\u09E3' | '\\u0A01' .. '\\u0A03' | '\\u0A3C' | '\\u0A3E' .. '\\u0A42' | '\\u0A47' .. '\\u0A48' | '\\u0A4B' .. '\\u0A4D' | '\\u0A51' | '\\u0A70' .. '\\u0A71' | '\\u0A75' | '\\u0A81' .. '\\u0A83' | '\\u0ABC' | '\\u0ABE' .. '\\u0AC5' | '\\u0AC7' .. '\\u0AC9' | '\\u0ACB' .. '\\u0ACD' | '\\u0AE2' .. '\\u0AE3' | '\\u0B01' .. '\\u0B03' | '\\u0B3C' | '\\u0B3E' .. '\\u0B44' | '\\u0B47' .. '\\u0B48' | '\\u0B4B' .. '\\u0B4D' | '\\u0B56' .. '\\u0B57' | '\\u0B62' .. '\\u0B63' | '\\u0B82' | '\\u0BBE' .. '\\u0BC2' | '\\u0BC6' .. '\\u0BC8' | '\\u0BCA' .. '\\u0BCD' | '\\u0BD7' | '\\u0C00' .. '\\u0C03' | '\\u0C3E' .. '\\u0C44' | '\\u0C46' .. '\\u0C48' | '\\u0C4A' .. '\\u0C4D' | '\\u0C55' .. '\\u0C56' | '\\u0C62' .. '\\u0C63' | '\\u0C81' .. '\\u0C83' | '\\u0CBC' | '\\u0CBE' .. '\\u0CC4' | '\\u0CC6' .. '\\u0CC8' | '\\u0CCA' .. '\\u0CCD' | '\\u0CD5' .. '\\u0CD6' | '\\u0CE2' .. '\\u0CE3' | '\\u0D01' .. '\\u0D03' | '\\u0D3E' .. '\\u0D44' | '\\u0D46' .. '\\u0D48' | '\\u0D4A' .. '\\u0D4D' | '\\u0D57' | '\\u0D62' .. '\\u0D63' | '\\u0D82' .. '\\u0D83' | '\\u0DCA' | '\\u0DCF' .. '\\u0DD4' | '\\u0DD6' | '\\u0DD8' .. '\\u0DDF' | '\\u0DF2' .. '\\u0DF3' | '\\u0E31' | '\\u0E34' .. '\\u0E3A' | '\\u0E47' .. '\\u0E4E' | '\\u0EB1' | '\\u0EB4' .. '\\u0EB9' | '\\u0EBB' .. '\\u0EBC' | '\\u0EC8' .. '\\u0ECD' | '\\u0F18' .. '\\u0F19' | '\\u0F35' | '\\u0F37' | '\\u0F39' | '\\u0F3E' .. '\\u0F3F' | '\\u0F71' .. '\\u0F84' | '\\u0F86' .. '\\u0F87' | '\\u0F8D' .. '\\u0F97' | '\\u0F99' .. '\\u0FBC' | '\\u0FC6' | '\\u102B' .. '\\u103E' | '\\u1056' .. '\\u1059' | '\\u105E' .. '\\u1060' | '\\u1062' .. '\\u1064' | '\\u1067' .. '\\u106D' | '\\u1071' .. '\\u1074' | '\\u1082' .. '\\u108D' | '\\u108F' | '\\u109A' .. '\\u109D' | '\\u135D' .. '\\u135F' | '\\u1712' .. '\\u1714' | '\\u1732' .. '\\u1734' | '\\u1752' .. '\\u1753' | '\\u1772' .. '\\u1773' | '\\u17B4' .. '\\u17D3' | '\\u17DD' | '\\u180B' .. '\\u180D' | '\\u18A9' | '\\u1920' .. '\\u192B' | '\\u1930' .. '\\u193B' | '\\u1A17' .. '\\u1A1B' | '\\u1A55' .. '\\u1A5E' | '\\u1A60' .. '\\u1A7C' | '\\u1A7F' | '\\u1AB0' .. '\\u1ABD' | '\\u1B00' .. '\\u1B04' | '\\u1B34' .. '\\u1B44' | '\\u1B6B' .. '\\u1B73' | '\\u1B80' .. '\\u1B82' | '\\u1BA1' .. '\\u1BAD' | '\\u1BE6' .. '\\u1BF3' | '\\u1C24' .. '\\u1C37' | '\\u1CD0' .. '\\u1CD2' | '\\u1CD4' .. '\\u1CE8' | '\\u1CED' | '\\u1CF2' .. '\\u1CF4' | '\\u1CF8' .. '\\u1CF9' | '\\u1DC0' .. '\\u1DF5' | '\\u1DFC' .. '\\u1DFF' | '\\u20D0' .. '\\u20DC' | '\\u20E1' | '\\u20E5' .. '\\u20F0' | '\\u2CEF' .. '\\u2CF1' | '\\u2D7F' | '\\u2DE0' .. '\\u2DFF' | '\\u302A' .. '\\u302F' | '\\u3099' .. '\\u309A' | '\\uA66F' | '\\uA674' .. '\\uA67D' | '\\uA69E' .. '\\uA69F' | '\\uA6F0' .. '\\uA6F1' | '\\uA802' | '\\uA806' | '\\uA80B' | '\\uA823' .. '\\uA827' | '\\uA880' .. '\\uA881' | '\\uA8B4' .. '\\uA8C4' | '\\uA8E0' .. '\\uA8F1' | '\\uA926' .. '\\uA92D' | '\\uA947' .. '\\uA953' | '\\uA980' .. '\\uA983' | '\\uA9B3' .. '\\uA9C0' | '\\uA9E5' | '\\uAA29' .. '\\uAA36' | '\\uAA43' | '\\uAA4C' .. '\\uAA4D' | '\\uAA7B' .. '\\uAA7D' | '\\uAAB0' | '\\uAAB2' .. '\\uAAB4' | '\\uAAB7' .. '\\uAAB8' | '\\uAABE' .. '\\uAABF' | '\\uAAC1' | '\\uAAEB' .. '\\uAAEF' | '\\uAAF5' .. '\\uAAF6' | '\\uABE3' .. '\\uABEA' | '\\uABEC' .. '\\uABED' | '\\uFB1E' | '\\uFE00' .. '\\uFE0F' | '\\uFE20' .. '\\uFE2F' ) ) + // InternalSemver.g:2459:49: ( '\\u0300' .. '\\u036F' | '\\u0483' .. '\\u0487' | '\\u0591' .. '\\u05BD' | '\\u05BF' | '\\u05C1' .. '\\u05C2' | '\\u05C4' .. '\\u05C5' | '\\u05C7' | '\\u0610' .. '\\u061A' | '\\u064B' .. '\\u065F' | '\\u0670' | '\\u06D6' .. '\\u06DC' | '\\u06DF' .. '\\u06E4' | '\\u06E7' .. '\\u06E8' | '\\u06EA' .. '\\u06ED' | '\\u0711' | '\\u0730' .. '\\u074A' | '\\u07A6' .. '\\u07B0' | '\\u07EB' .. '\\u07F3' | '\\u0816' .. '\\u0819' | '\\u081B' .. '\\u0823' | '\\u0825' .. '\\u0827' | '\\u0829' .. '\\u082D' | '\\u0859' .. '\\u085B' | '\\u08E3' .. '\\u0903' | '\\u093A' .. '\\u093C' | '\\u093E' .. '\\u094F' | '\\u0951' .. '\\u0957' | '\\u0962' .. '\\u0963' | '\\u0981' .. '\\u0983' | '\\u09BC' | '\\u09BE' .. '\\u09C4' | '\\u09C7' .. '\\u09C8' | '\\u09CB' .. '\\u09CD' | '\\u09D7' | '\\u09E2' .. '\\u09E3' | '\\u0A01' .. '\\u0A03' | '\\u0A3C' | '\\u0A3E' .. '\\u0A42' | '\\u0A47' .. '\\u0A48' | '\\u0A4B' .. '\\u0A4D' | '\\u0A51' | '\\u0A70' .. '\\u0A71' | '\\u0A75' | '\\u0A81' .. '\\u0A83' | '\\u0ABC' | '\\u0ABE' .. '\\u0AC5' | '\\u0AC7' .. '\\u0AC9' | '\\u0ACB' .. '\\u0ACD' | '\\u0AE2' .. '\\u0AE3' | '\\u0B01' .. '\\u0B03' | '\\u0B3C' | '\\u0B3E' .. '\\u0B44' | '\\u0B47' .. '\\u0B48' | '\\u0B4B' .. '\\u0B4D' | '\\u0B56' .. '\\u0B57' | '\\u0B62' .. '\\u0B63' | '\\u0B82' | '\\u0BBE' .. '\\u0BC2' | '\\u0BC6' .. '\\u0BC8' | '\\u0BCA' .. '\\u0BCD' | '\\u0BD7' | '\\u0C00' .. '\\u0C03' | '\\u0C3E' .. '\\u0C44' | '\\u0C46' .. '\\u0C48' | '\\u0C4A' .. '\\u0C4D' | '\\u0C55' .. '\\u0C56' | '\\u0C62' .. '\\u0C63' | '\\u0C81' .. '\\u0C83' | '\\u0CBC' | '\\u0CBE' .. '\\u0CC4' | '\\u0CC6' .. '\\u0CC8' | '\\u0CCA' .. '\\u0CCD' | '\\u0CD5' .. '\\u0CD6' | '\\u0CE2' .. '\\u0CE3' | '\\u0D01' .. '\\u0D03' | '\\u0D3E' .. '\\u0D44' | '\\u0D46' .. '\\u0D48' | '\\u0D4A' .. '\\u0D4D' | '\\u0D57' | '\\u0D62' .. '\\u0D63' | '\\u0D82' .. '\\u0D83' | '\\u0DCA' | '\\u0DCF' .. '\\u0DD4' | '\\u0DD6' | '\\u0DD8' .. '\\u0DDF' | '\\u0DF2' .. '\\u0DF3' | '\\u0E31' | '\\u0E34' .. '\\u0E3A' | '\\u0E47' .. '\\u0E4E' | '\\u0EB1' | '\\u0EB4' .. '\\u0EB9' | '\\u0EBB' .. '\\u0EBC' | '\\u0EC8' .. '\\u0ECD' | '\\u0F18' .. '\\u0F19' | '\\u0F35' | '\\u0F37' | '\\u0F39' | '\\u0F3E' .. '\\u0F3F' | '\\u0F71' .. '\\u0F84' | '\\u0F86' .. '\\u0F87' | '\\u0F8D' .. '\\u0F97' | '\\u0F99' .. '\\u0FBC' | '\\u0FC6' | '\\u102B' .. '\\u103E' | '\\u1056' .. '\\u1059' | '\\u105E' .. '\\u1060' | '\\u1062' .. '\\u1064' | '\\u1067' .. '\\u106D' | '\\u1071' .. '\\u1074' | '\\u1082' .. '\\u108D' | '\\u108F' | '\\u109A' .. '\\u109D' | '\\u135D' .. '\\u135F' | '\\u1712' .. '\\u1714' | '\\u1732' .. '\\u1734' | '\\u1752' .. '\\u1753' | '\\u1772' .. '\\u1773' | '\\u17B4' .. '\\u17D3' | '\\u17DD' | '\\u180B' .. '\\u180D' | '\\u18A9' | '\\u1920' .. '\\u192B' | '\\u1930' .. '\\u193B' | '\\u1A17' .. '\\u1A1B' | '\\u1A55' .. '\\u1A5E' | '\\u1A60' .. '\\u1A7C' | '\\u1A7F' | '\\u1AB0' .. '\\u1ABD' | '\\u1B00' .. '\\u1B04' | '\\u1B34' .. '\\u1B44' | '\\u1B6B' .. '\\u1B73' | '\\u1B80' .. '\\u1B82' | '\\u1BA1' .. '\\u1BAD' | '\\u1BE6' .. '\\u1BF3' | '\\u1C24' .. '\\u1C37' | '\\u1CD0' .. '\\u1CD2' | '\\u1CD4' .. '\\u1CE8' | '\\u1CED' | '\\u1CF2' .. '\\u1CF4' | '\\u1CF8' .. '\\u1CF9' | '\\u1DC0' .. '\\u1DF5' | '\\u1DFC' .. '\\u1DFF' | '\\u20D0' .. '\\u20DC' | '\\u20E1' | '\\u20E5' .. '\\u20F0' | '\\u2CEF' .. '\\u2CF1' | '\\u2D7F' | '\\u2DE0' .. '\\u2DFF' | '\\u302A' .. '\\u302F' | '\\u3099' .. '\\u309A' | '\\uA66F' | '\\uA674' .. '\\uA67D' | '\\uA69E' .. '\\uA69F' | '\\uA6F0' .. '\\uA6F1' | '\\uA802' | '\\uA806' | '\\uA80B' | '\\uA823' .. '\\uA827' | '\\uA880' .. '\\uA881' | '\\uA8B4' .. '\\uA8C4' | '\\uA8E0' .. '\\uA8F1' | '\\uA926' .. '\\uA92D' | '\\uA947' .. '\\uA953' | '\\uA980' .. '\\uA983' | '\\uA9B3' .. '\\uA9C0' | '\\uA9E5' | '\\uAA29' .. '\\uAA36' | '\\uAA43' | '\\uAA4C' .. '\\uAA4D' | '\\uAA7B' .. '\\uAA7D' | '\\uAAB0' | '\\uAAB2' .. '\\uAAB4' | '\\uAAB7' .. '\\uAAB8' | '\\uAABE' .. '\\uAABF' | '\\uAAC1' | '\\uAAEB' .. '\\uAAEF' | '\\uAAF5' .. '\\uAAF6' | '\\uABE3' .. '\\uABEA' | '\\uABEC' .. '\\uABED' | '\\uFB1E' | '\\uFE00' .. '\\uFE0F' | '\\uFE20' .. '\\uFE2F' ) { if ( (input.LA(1)>='\u0300' && input.LA(1)<='\u036F')||(input.LA(1)>='\u0483' && input.LA(1)<='\u0487')||(input.LA(1)>='\u0591' && input.LA(1)<='\u05BD')||input.LA(1)=='\u05BF'||(input.LA(1)>='\u05C1' && input.LA(1)<='\u05C2')||(input.LA(1)>='\u05C4' && input.LA(1)<='\u05C5')||input.LA(1)=='\u05C7'||(input.LA(1)>='\u0610' && input.LA(1)<='\u061A')||(input.LA(1)>='\u064B' && input.LA(1)<='\u065F')||input.LA(1)=='\u0670'||(input.LA(1)>='\u06D6' && input.LA(1)<='\u06DC')||(input.LA(1)>='\u06DF' && input.LA(1)<='\u06E4')||(input.LA(1)>='\u06E7' && input.LA(1)<='\u06E8')||(input.LA(1)>='\u06EA' && input.LA(1)<='\u06ED')||input.LA(1)=='\u0711'||(input.LA(1)>='\u0730' && input.LA(1)<='\u074A')||(input.LA(1)>='\u07A6' && input.LA(1)<='\u07B0')||(input.LA(1)>='\u07EB' && input.LA(1)<='\u07F3')||(input.LA(1)>='\u0816' && input.LA(1)<='\u0819')||(input.LA(1)>='\u081B' && input.LA(1)<='\u0823')||(input.LA(1)>='\u0825' && input.LA(1)<='\u0827')||(input.LA(1)>='\u0829' && input.LA(1)<='\u082D')||(input.LA(1)>='\u0859' && input.LA(1)<='\u085B')||(input.LA(1)>='\u08E3' && input.LA(1)<='\u0903')||(input.LA(1)>='\u093A' && input.LA(1)<='\u093C')||(input.LA(1)>='\u093E' && input.LA(1)<='\u094F')||(input.LA(1)>='\u0951' && input.LA(1)<='\u0957')||(input.LA(1)>='\u0962' && input.LA(1)<='\u0963')||(input.LA(1)>='\u0981' && input.LA(1)<='\u0983')||input.LA(1)=='\u09BC'||(input.LA(1)>='\u09BE' && input.LA(1)<='\u09C4')||(input.LA(1)>='\u09C7' && input.LA(1)<='\u09C8')||(input.LA(1)>='\u09CB' && input.LA(1)<='\u09CD')||input.LA(1)=='\u09D7'||(input.LA(1)>='\u09E2' && input.LA(1)<='\u09E3')||(input.LA(1)>='\u0A01' && input.LA(1)<='\u0A03')||input.LA(1)=='\u0A3C'||(input.LA(1)>='\u0A3E' && input.LA(1)<='\u0A42')||(input.LA(1)>='\u0A47' && input.LA(1)<='\u0A48')||(input.LA(1)>='\u0A4B' && input.LA(1)<='\u0A4D')||input.LA(1)=='\u0A51'||(input.LA(1)>='\u0A70' && input.LA(1)<='\u0A71')||input.LA(1)=='\u0A75'||(input.LA(1)>='\u0A81' && input.LA(1)<='\u0A83')||input.LA(1)=='\u0ABC'||(input.LA(1)>='\u0ABE' && input.LA(1)<='\u0AC5')||(input.LA(1)>='\u0AC7' && input.LA(1)<='\u0AC9')||(input.LA(1)>='\u0ACB' && input.LA(1)<='\u0ACD')||(input.LA(1)>='\u0AE2' && input.LA(1)<='\u0AE3')||(input.LA(1)>='\u0B01' && input.LA(1)<='\u0B03')||input.LA(1)=='\u0B3C'||(input.LA(1)>='\u0B3E' && input.LA(1)<='\u0B44')||(input.LA(1)>='\u0B47' && input.LA(1)<='\u0B48')||(input.LA(1)>='\u0B4B' && input.LA(1)<='\u0B4D')||(input.LA(1)>='\u0B56' && input.LA(1)<='\u0B57')||(input.LA(1)>='\u0B62' && input.LA(1)<='\u0B63')||input.LA(1)=='\u0B82'||(input.LA(1)>='\u0BBE' && input.LA(1)<='\u0BC2')||(input.LA(1)>='\u0BC6' && input.LA(1)<='\u0BC8')||(input.LA(1)>='\u0BCA' && input.LA(1)<='\u0BCD')||input.LA(1)=='\u0BD7'||(input.LA(1)>='\u0C00' && input.LA(1)<='\u0C03')||(input.LA(1)>='\u0C3E' && input.LA(1)<='\u0C44')||(input.LA(1)>='\u0C46' && input.LA(1)<='\u0C48')||(input.LA(1)>='\u0C4A' && input.LA(1)<='\u0C4D')||(input.LA(1)>='\u0C55' && input.LA(1)<='\u0C56')||(input.LA(1)>='\u0C62' && input.LA(1)<='\u0C63')||(input.LA(1)>='\u0C81' && input.LA(1)<='\u0C83')||input.LA(1)=='\u0CBC'||(input.LA(1)>='\u0CBE' && input.LA(1)<='\u0CC4')||(input.LA(1)>='\u0CC6' && input.LA(1)<='\u0CC8')||(input.LA(1)>='\u0CCA' && input.LA(1)<='\u0CCD')||(input.LA(1)>='\u0CD5' && input.LA(1)<='\u0CD6')||(input.LA(1)>='\u0CE2' && input.LA(1)<='\u0CE3')||(input.LA(1)>='\u0D01' && input.LA(1)<='\u0D03')||(input.LA(1)>='\u0D3E' && input.LA(1)<='\u0D44')||(input.LA(1)>='\u0D46' && input.LA(1)<='\u0D48')||(input.LA(1)>='\u0D4A' && input.LA(1)<='\u0D4D')||input.LA(1)=='\u0D57'||(input.LA(1)>='\u0D62' && input.LA(1)<='\u0D63')||(input.LA(1)>='\u0D82' && input.LA(1)<='\u0D83')||input.LA(1)=='\u0DCA'||(input.LA(1)>='\u0DCF' && input.LA(1)<='\u0DD4')||input.LA(1)=='\u0DD6'||(input.LA(1)>='\u0DD8' && input.LA(1)<='\u0DDF')||(input.LA(1)>='\u0DF2' && input.LA(1)<='\u0DF3')||input.LA(1)=='\u0E31'||(input.LA(1)>='\u0E34' && input.LA(1)<='\u0E3A')||(input.LA(1)>='\u0E47' && input.LA(1)<='\u0E4E')||input.LA(1)=='\u0EB1'||(input.LA(1)>='\u0EB4' && input.LA(1)<='\u0EB9')||(input.LA(1)>='\u0EBB' && input.LA(1)<='\u0EBC')||(input.LA(1)>='\u0EC8' && input.LA(1)<='\u0ECD')||(input.LA(1)>='\u0F18' && input.LA(1)<='\u0F19')||input.LA(1)=='\u0F35'||input.LA(1)=='\u0F37'||input.LA(1)=='\u0F39'||(input.LA(1)>='\u0F3E' && input.LA(1)<='\u0F3F')||(input.LA(1)>='\u0F71' && input.LA(1)<='\u0F84')||(input.LA(1)>='\u0F86' && input.LA(1)<='\u0F87')||(input.LA(1)>='\u0F8D' && input.LA(1)<='\u0F97')||(input.LA(1)>='\u0F99' && input.LA(1)<='\u0FBC')||input.LA(1)=='\u0FC6'||(input.LA(1)>='\u102B' && input.LA(1)<='\u103E')||(input.LA(1)>='\u1056' && input.LA(1)<='\u1059')||(input.LA(1)>='\u105E' && input.LA(1)<='\u1060')||(input.LA(1)>='\u1062' && input.LA(1)<='\u1064')||(input.LA(1)>='\u1067' && input.LA(1)<='\u106D')||(input.LA(1)>='\u1071' && input.LA(1)<='\u1074')||(input.LA(1)>='\u1082' && input.LA(1)<='\u108D')||input.LA(1)=='\u108F'||(input.LA(1)>='\u109A' && input.LA(1)<='\u109D')||(input.LA(1)>='\u135D' && input.LA(1)<='\u135F')||(input.LA(1)>='\u1712' && input.LA(1)<='\u1714')||(input.LA(1)>='\u1732' && input.LA(1)<='\u1734')||(input.LA(1)>='\u1752' && input.LA(1)<='\u1753')||(input.LA(1)>='\u1772' && input.LA(1)<='\u1773')||(input.LA(1)>='\u17B4' && input.LA(1)<='\u17D3')||input.LA(1)=='\u17DD'||(input.LA(1)>='\u180B' && input.LA(1)<='\u180D')||input.LA(1)=='\u18A9'||(input.LA(1)>='\u1920' && input.LA(1)<='\u192B')||(input.LA(1)>='\u1930' && input.LA(1)<='\u193B')||(input.LA(1)>='\u1A17' && input.LA(1)<='\u1A1B')||(input.LA(1)>='\u1A55' && input.LA(1)<='\u1A5E')||(input.LA(1)>='\u1A60' && input.LA(1)<='\u1A7C')||input.LA(1)=='\u1A7F'||(input.LA(1)>='\u1AB0' && input.LA(1)<='\u1ABD')||(input.LA(1)>='\u1B00' && input.LA(1)<='\u1B04')||(input.LA(1)>='\u1B34' && input.LA(1)<='\u1B44')||(input.LA(1)>='\u1B6B' && input.LA(1)<='\u1B73')||(input.LA(1)>='\u1B80' && input.LA(1)<='\u1B82')||(input.LA(1)>='\u1BA1' && input.LA(1)<='\u1BAD')||(input.LA(1)>='\u1BE6' && input.LA(1)<='\u1BF3')||(input.LA(1)>='\u1C24' && input.LA(1)<='\u1C37')||(input.LA(1)>='\u1CD0' && input.LA(1)<='\u1CD2')||(input.LA(1)>='\u1CD4' && input.LA(1)<='\u1CE8')||input.LA(1)=='\u1CED'||(input.LA(1)>='\u1CF2' && input.LA(1)<='\u1CF4')||(input.LA(1)>='\u1CF8' && input.LA(1)<='\u1CF9')||(input.LA(1)>='\u1DC0' && input.LA(1)<='\u1DF5')||(input.LA(1)>='\u1DFC' && input.LA(1)<='\u1DFF')||(input.LA(1)>='\u20D0' && input.LA(1)<='\u20DC')||input.LA(1)=='\u20E1'||(input.LA(1)>='\u20E5' && input.LA(1)<='\u20F0')||(input.LA(1)>='\u2CEF' && input.LA(1)<='\u2CF1')||input.LA(1)=='\u2D7F'||(input.LA(1)>='\u2DE0' && input.LA(1)<='\u2DFF')||(input.LA(1)>='\u302A' && input.LA(1)<='\u302F')||(input.LA(1)>='\u3099' && input.LA(1)<='\u309A')||input.LA(1)=='\uA66F'||(input.LA(1)>='\uA674' && input.LA(1)<='\uA67D')||(input.LA(1)>='\uA69E' && input.LA(1)<='\uA69F')||(input.LA(1)>='\uA6F0' && input.LA(1)<='\uA6F1')||input.LA(1)=='\uA802'||input.LA(1)=='\uA806'||input.LA(1)=='\uA80B'||(input.LA(1)>='\uA823' && input.LA(1)<='\uA827')||(input.LA(1)>='\uA880' && input.LA(1)<='\uA881')||(input.LA(1)>='\uA8B4' && input.LA(1)<='\uA8C4')||(input.LA(1)>='\uA8E0' && input.LA(1)<='\uA8F1')||(input.LA(1)>='\uA926' && input.LA(1)<='\uA92D')||(input.LA(1)>='\uA947' && input.LA(1)<='\uA953')||(input.LA(1)>='\uA980' && input.LA(1)<='\uA983')||(input.LA(1)>='\uA9B3' && input.LA(1)<='\uA9C0')||input.LA(1)=='\uA9E5'||(input.LA(1)>='\uAA29' && input.LA(1)<='\uAA36')||input.LA(1)=='\uAA43'||(input.LA(1)>='\uAA4C' && input.LA(1)<='\uAA4D')||(input.LA(1)>='\uAA7B' && input.LA(1)<='\uAA7D')||input.LA(1)=='\uAAB0'||(input.LA(1)>='\uAAB2' && input.LA(1)<='\uAAB4')||(input.LA(1)>='\uAAB7' && input.LA(1)<='\uAAB8')||(input.LA(1)>='\uAABE' && input.LA(1)<='\uAABF')||input.LA(1)=='\uAAC1'||(input.LA(1)>='\uAAEB' && input.LA(1)<='\uAAEF')||(input.LA(1)>='\uAAF5' && input.LA(1)<='\uAAF6')||(input.LA(1)>='\uABE3' && input.LA(1)<='\uABEA')||(input.LA(1)>='\uABEC' && input.LA(1)<='\uABED')||input.LA(1)=='\uFB1E'||(input.LA(1)>='\uFE00' && input.LA(1)<='\uFE0F')||(input.LA(1)>='\uFE20' && input.LA(1)<='\uFE2F') ) { input.consume(); @@ -1253,8 +1427,8 @@ public final void mRULE_UNICODE_COMBINING_MARK_FRAGMENT() throws RecognitionExce // $ANTLR start "RULE_UNICODE_DIGIT_FRAGMENT" public final void mRULE_UNICODE_DIGIT_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2193:38: ( ( '0' .. '9' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u07C0' .. '\\u07C9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE6' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0DE6' .. '\\u0DEF' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u0F20' .. '\\u0F29' | '\\u1040' .. '\\u1049' | '\\u1090' .. '\\u1099' | '\\u17E0' .. '\\u17E9' | '\\u1810' .. '\\u1819' | '\\u1946' .. '\\u194F' | '\\u19D0' .. '\\u19D9' | '\\u1A80' .. '\\u1A89' | '\\u1A90' .. '\\u1A99' | '\\u1B50' .. '\\u1B59' | '\\u1BB0' .. '\\u1BB9' | '\\u1C40' .. '\\u1C49' | '\\u1C50' .. '\\u1C59' | '\\uA620' .. '\\uA629' | '\\uA8D0' .. '\\uA8D9' | '\\uA900' .. '\\uA909' | '\\uA9D0' .. '\\uA9D9' | '\\uA9F0' .. '\\uA9F9' | '\\uAA50' .. '\\uAA59' | '\\uABF0' .. '\\uABF9' | '\\uFF10' .. '\\uFF19' ) ) - // InternalSemver.g:2193:40: ( '0' .. '9' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u07C0' .. '\\u07C9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE6' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0DE6' .. '\\u0DEF' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u0F20' .. '\\u0F29' | '\\u1040' .. '\\u1049' | '\\u1090' .. '\\u1099' | '\\u17E0' .. '\\u17E9' | '\\u1810' .. '\\u1819' | '\\u1946' .. '\\u194F' | '\\u19D0' .. '\\u19D9' | '\\u1A80' .. '\\u1A89' | '\\u1A90' .. '\\u1A99' | '\\u1B50' .. '\\u1B59' | '\\u1BB0' .. '\\u1BB9' | '\\u1C40' .. '\\u1C49' | '\\u1C50' .. '\\u1C59' | '\\uA620' .. '\\uA629' | '\\uA8D0' .. '\\uA8D9' | '\\uA900' .. '\\uA909' | '\\uA9D0' .. '\\uA9D9' | '\\uA9F0' .. '\\uA9F9' | '\\uAA50' .. '\\uAA59' | '\\uABF0' .. '\\uABF9' | '\\uFF10' .. '\\uFF19' ) + // InternalSemver.g:2461:38: ( ( '0' .. '9' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u07C0' .. '\\u07C9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE6' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0DE6' .. '\\u0DEF' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u0F20' .. '\\u0F29' | '\\u1040' .. '\\u1049' | '\\u1090' .. '\\u1099' | '\\u17E0' .. '\\u17E9' | '\\u1810' .. '\\u1819' | '\\u1946' .. '\\u194F' | '\\u19D0' .. '\\u19D9' | '\\u1A80' .. '\\u1A89' | '\\u1A90' .. '\\u1A99' | '\\u1B50' .. '\\u1B59' | '\\u1BB0' .. '\\u1BB9' | '\\u1C40' .. '\\u1C49' | '\\u1C50' .. '\\u1C59' | '\\uA620' .. '\\uA629' | '\\uA8D0' .. '\\uA8D9' | '\\uA900' .. '\\uA909' | '\\uA9D0' .. '\\uA9D9' | '\\uA9F0' .. '\\uA9F9' | '\\uAA50' .. '\\uAA59' | '\\uABF0' .. '\\uABF9' | '\\uFF10' .. '\\uFF19' ) ) + // InternalSemver.g:2461:40: ( '0' .. '9' | '\\u0660' .. '\\u0669' | '\\u06F0' .. '\\u06F9' | '\\u07C0' .. '\\u07C9' | '\\u0966' .. '\\u096F' | '\\u09E6' .. '\\u09EF' | '\\u0A66' .. '\\u0A6F' | '\\u0AE6' .. '\\u0AEF' | '\\u0B66' .. '\\u0B6F' | '\\u0BE6' .. '\\u0BEF' | '\\u0C66' .. '\\u0C6F' | '\\u0CE6' .. '\\u0CEF' | '\\u0D66' .. '\\u0D6F' | '\\u0DE6' .. '\\u0DEF' | '\\u0E50' .. '\\u0E59' | '\\u0ED0' .. '\\u0ED9' | '\\u0F20' .. '\\u0F29' | '\\u1040' .. '\\u1049' | '\\u1090' .. '\\u1099' | '\\u17E0' .. '\\u17E9' | '\\u1810' .. '\\u1819' | '\\u1946' .. '\\u194F' | '\\u19D0' .. '\\u19D9' | '\\u1A80' .. '\\u1A89' | '\\u1A90' .. '\\u1A99' | '\\u1B50' .. '\\u1B59' | '\\u1BB0' .. '\\u1BB9' | '\\u1C40' .. '\\u1C49' | '\\u1C50' .. '\\u1C59' | '\\uA620' .. '\\uA629' | '\\uA8D0' .. '\\uA8D9' | '\\uA900' .. '\\uA909' | '\\uA9D0' .. '\\uA9D9' | '\\uA9F0' .. '\\uA9F9' | '\\uAA50' .. '\\uAA59' | '\\uABF0' .. '\\uABF9' | '\\uFF10' .. '\\uFF19' ) { if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u06F0' && input.LA(1)<='\u06F9')||(input.LA(1)>='\u07C0' && input.LA(1)<='\u07C9')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09EF')||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A6F')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||(input.LA(1)>='\u0BE6' && input.LA(1)<='\u0BEF')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0DE6' && input.LA(1)<='\u0DEF')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u0F20' && input.LA(1)<='\u0F29')||(input.LA(1)>='\u1040' && input.LA(1)<='\u1049')||(input.LA(1)>='\u1090' && input.LA(1)<='\u1099')||(input.LA(1)>='\u17E0' && input.LA(1)<='\u17E9')||(input.LA(1)>='\u1810' && input.LA(1)<='\u1819')||(input.LA(1)>='\u1946' && input.LA(1)<='\u194F')||(input.LA(1)>='\u19D0' && input.LA(1)<='\u19D9')||(input.LA(1)>='\u1A80' && input.LA(1)<='\u1A89')||(input.LA(1)>='\u1A90' && input.LA(1)<='\u1A99')||(input.LA(1)>='\u1B50' && input.LA(1)<='\u1B59')||(input.LA(1)>='\u1BB0' && input.LA(1)<='\u1BB9')||(input.LA(1)>='\u1C40' && input.LA(1)<='\u1C49')||(input.LA(1)>='\u1C50' && input.LA(1)<='\u1C59')||(input.LA(1)>='\uA620' && input.LA(1)<='\uA629')||(input.LA(1)>='\uA8D0' && input.LA(1)<='\uA8D9')||(input.LA(1)>='\uA900' && input.LA(1)<='\uA909')||(input.LA(1)>='\uA9D0' && input.LA(1)<='\uA9D9')||(input.LA(1)>='\uA9F0' && input.LA(1)<='\uA9F9')||(input.LA(1)>='\uAA50' && input.LA(1)<='\uAA59')||(input.LA(1)>='\uABF0' && input.LA(1)<='\uABF9')||(input.LA(1)>='\uFF10' && input.LA(1)<='\uFF19') ) { input.consume(); @@ -1277,8 +1451,8 @@ public final void mRULE_UNICODE_DIGIT_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT" public final void mRULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2195:54: ( ( '_' | '\\u203F' .. '\\u2040' | '\\u2054' | '\\uFE33' .. '\\uFE34' | '\\uFE4D' .. '\\uFE4F' | '\\uFF3F' ) ) - // InternalSemver.g:2195:56: ( '_' | '\\u203F' .. '\\u2040' | '\\u2054' | '\\uFE33' .. '\\uFE34' | '\\uFE4D' .. '\\uFE4F' | '\\uFF3F' ) + // InternalSemver.g:2463:54: ( ( '_' | '\\u203F' .. '\\u2040' | '\\u2054' | '\\uFE33' .. '\\uFE34' | '\\uFE4D' .. '\\uFE4F' | '\\uFF3F' ) ) + // InternalSemver.g:2463:56: ( '_' | '\\u203F' .. '\\u2040' | '\\u2054' | '\\uFE33' .. '\\uFE34' | '\\uFE4D' .. '\\uFE4F' | '\\uFF3F' ) { if ( input.LA(1)=='_'||(input.LA(1)>='\u203F' && input.LA(1)<='\u2040')||input.LA(1)=='\u2054'||(input.LA(1)>='\uFE33' && input.LA(1)<='\uFE34')||(input.LA(1)>='\uFE4D' && input.LA(1)<='\uFE4F')||input.LA(1)=='\uFF3F' ) { input.consume(); @@ -1301,8 +1475,8 @@ public final void mRULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT() throws Recognit // $ANTLR start "RULE_UNICODE_LETTER_FRAGMENT" public final void mRULE_UNICODE_LETTER_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2197:39: ( ( 'A' .. 'Z' | 'a' .. 'z' | '\\u00AA' | '\\u00B5' | '\\u00BA' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u02C1' | '\\u02C6' .. '\\u02D1' | '\\u02E0' .. '\\u02E4' | '\\u02EC' | '\\u02EE' | '\\u0370' .. '\\u0374' | '\\u0376' .. '\\u0377' | '\\u037A' .. '\\u037D' | '\\u037F' | '\\u0386' | '\\u0388' .. '\\u038A' | '\\u038C' | '\\u038E' .. '\\u03A1' | '\\u03A3' .. '\\u03F5' | '\\u03F7' .. '\\u0481' | '\\u048A' .. '\\u052F' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u05D0' .. '\\u05EA' | '\\u05F0' .. '\\u05F2' | '\\u0620' .. '\\u064A' | '\\u066E' .. '\\u066F' | '\\u0671' .. '\\u06D3' | '\\u06D5' | '\\u06E5' .. '\\u06E6' | '\\u06EE' .. '\\u06EF' | '\\u06FA' .. '\\u06FC' | '\\u06FF' | '\\u0710' | '\\u0712' .. '\\u072F' | '\\u074D' .. '\\u07A5' | '\\u07B1' | '\\u07CA' .. '\\u07EA' | '\\u07F4' .. '\\u07F5' | '\\u07FA' | '\\u0800' .. '\\u0815' | '\\u081A' | '\\u0824' | '\\u0828' | '\\u0840' .. '\\u0858' | '\\u08A0' .. '\\u08B4' | '\\u0904' .. '\\u0939' | '\\u093D' | '\\u0950' | '\\u0958' .. '\\u0961' | '\\u0971' .. '\\u0980' | '\\u0985' .. '\\u098C' | '\\u098F' .. '\\u0990' | '\\u0993' .. '\\u09A8' | '\\u09AA' .. '\\u09B0' | '\\u09B2' | '\\u09B6' .. '\\u09B9' | '\\u09BD' | '\\u09CE' | '\\u09DC' .. '\\u09DD' | '\\u09DF' .. '\\u09E1' | '\\u09F0' .. '\\u09F1' | '\\u0A05' .. '\\u0A0A' | '\\u0A0F' .. '\\u0A10' | '\\u0A13' .. '\\u0A28' | '\\u0A2A' .. '\\u0A30' | '\\u0A32' .. '\\u0A33' | '\\u0A35' .. '\\u0A36' | '\\u0A38' .. '\\u0A39' | '\\u0A59' .. '\\u0A5C' | '\\u0A5E' | '\\u0A72' .. '\\u0A74' | '\\u0A85' .. '\\u0A8D' | '\\u0A8F' .. '\\u0A91' | '\\u0A93' .. '\\u0AA8' | '\\u0AAA' .. '\\u0AB0' | '\\u0AB2' .. '\\u0AB3' | '\\u0AB5' .. '\\u0AB9' | '\\u0ABD' | '\\u0AD0' | '\\u0AE0' .. '\\u0AE1' | '\\u0AF9' | '\\u0B05' .. '\\u0B0C' | '\\u0B0F' .. '\\u0B10' | '\\u0B13' .. '\\u0B28' | '\\u0B2A' .. '\\u0B30' | '\\u0B32' .. '\\u0B33' | '\\u0B35' .. '\\u0B39' | '\\u0B3D' | '\\u0B5C' .. '\\u0B5D' | '\\u0B5F' .. '\\u0B61' | '\\u0B71' | '\\u0B83' | '\\u0B85' .. '\\u0B8A' | '\\u0B8E' .. '\\u0B90' | '\\u0B92' .. '\\u0B95' | '\\u0B99' .. '\\u0B9A' | '\\u0B9C' | '\\u0B9E' .. '\\u0B9F' | '\\u0BA3' .. '\\u0BA4' | '\\u0BA8' .. '\\u0BAA' | '\\u0BAE' .. '\\u0BB9' | '\\u0BD0' | '\\u0C05' .. '\\u0C0C' | '\\u0C0E' .. '\\u0C10' | '\\u0C12' .. '\\u0C28' | '\\u0C2A' .. '\\u0C39' | '\\u0C3D' | '\\u0C58' .. '\\u0C5A' | '\\u0C60' .. '\\u0C61' | '\\u0C85' .. '\\u0C8C' | '\\u0C8E' .. '\\u0C90' | '\\u0C92' .. '\\u0CA8' | '\\u0CAA' .. '\\u0CB3' | '\\u0CB5' .. '\\u0CB9' | '\\u0CBD' | '\\u0CDE' | '\\u0CE0' .. '\\u0CE1' | '\\u0CF1' .. '\\u0CF2' | '\\u0D05' .. '\\u0D0C' | '\\u0D0E' .. '\\u0D10' | '\\u0D12' .. '\\u0D3A' | '\\u0D3D' | '\\u0D4E' | '\\u0D5F' .. '\\u0D61' | '\\u0D7A' .. '\\u0D7F' | '\\u0D85' .. '\\u0D96' | '\\u0D9A' .. '\\u0DB1' | '\\u0DB3' .. '\\u0DBB' | '\\u0DBD' | '\\u0DC0' .. '\\u0DC6' | '\\u0E01' .. '\\u0E30' | '\\u0E32' .. '\\u0E33' | '\\u0E40' .. '\\u0E46' | '\\u0E81' .. '\\u0E82' | '\\u0E84' | '\\u0E87' .. '\\u0E88' | '\\u0E8A' | '\\u0E8D' | '\\u0E94' .. '\\u0E97' | '\\u0E99' .. '\\u0E9F' | '\\u0EA1' .. '\\u0EA3' | '\\u0EA5' | '\\u0EA7' | '\\u0EAA' .. '\\u0EAB' | '\\u0EAD' .. '\\u0EB0' | '\\u0EB2' .. '\\u0EB3' | '\\u0EBD' | '\\u0EC0' .. '\\u0EC4' | '\\u0EC6' | '\\u0EDC' .. '\\u0EDF' | '\\u0F00' | '\\u0F40' .. '\\u0F47' | '\\u0F49' .. '\\u0F6C' | '\\u0F88' .. '\\u0F8C' | '\\u1000' .. '\\u102A' | '\\u103F' | '\\u1050' .. '\\u1055' | '\\u105A' .. '\\u105D' | '\\u1061' | '\\u1065' .. '\\u1066' | '\\u106E' .. '\\u1070' | '\\u1075' .. '\\u1081' | '\\u108E' | '\\u10A0' .. '\\u10C5' | '\\u10C7' | '\\u10CD' | '\\u10D0' .. '\\u10FA' | '\\u10FC' .. '\\u1248' | '\\u124A' .. '\\u124D' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125A' .. '\\u125D' | '\\u1260' .. '\\u1288' | '\\u128A' .. '\\u128D' | '\\u1290' .. '\\u12B0' | '\\u12B2' .. '\\u12B5' | '\\u12B8' .. '\\u12BE' | '\\u12C0' | '\\u12C2' .. '\\u12C5' | '\\u12C8' .. '\\u12D6' | '\\u12D8' .. '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u135A' | '\\u1380' .. '\\u138F' | '\\u13A0' .. '\\u13F5' | '\\u13F8' .. '\\u13FD' | '\\u1401' .. '\\u166C' | '\\u166F' .. '\\u167F' | '\\u1681' .. '\\u169A' | '\\u16A0' .. '\\u16EA' | '\\u16EE' .. '\\u16F8' | '\\u1700' .. '\\u170C' | '\\u170E' .. '\\u1711' | '\\u1720' .. '\\u1731' | '\\u1740' .. '\\u1751' | '\\u1760' .. '\\u176C' | '\\u176E' .. '\\u1770' | '\\u1780' .. '\\u17B3' | '\\u17D7' | '\\u17DC' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18A8' | '\\u18AA' | '\\u18B0' .. '\\u18F5' | '\\u1900' .. '\\u191E' | '\\u1950' .. '\\u196D' | '\\u1970' .. '\\u1974' | '\\u1980' .. '\\u19AB' | '\\u19B0' .. '\\u19C9' | '\\u1A00' .. '\\u1A16' | '\\u1A20' .. '\\u1A54' | '\\u1AA7' | '\\u1B05' .. '\\u1B33' | '\\u1B45' .. '\\u1B4B' | '\\u1B83' .. '\\u1BA0' | '\\u1BAE' .. '\\u1BAF' | '\\u1BBA' .. '\\u1BE5' | '\\u1C00' .. '\\u1C23' | '\\u1C4D' .. '\\u1C4F' | '\\u1C5A' .. '\\u1C7D' | '\\u1CE9' .. '\\u1CEC' | '\\u1CEE' .. '\\u1CF1' | '\\u1CF5' .. '\\u1CF6' | '\\u1D00' .. '\\u1DBF' | '\\u1E00' .. '\\u1F15' | '\\u1F18' .. '\\u1F1D' | '\\u1F20' .. '\\u1F45' | '\\u1F48' .. '\\u1F4D' | '\\u1F50' .. '\\u1F57' | '\\u1F59' | '\\u1F5B' | '\\u1F5D' | '\\u1F5F' .. '\\u1F7D' | '\\u1F80' .. '\\u1FB4' | '\\u1FB6' .. '\\u1FBC' | '\\u1FBE' | '\\u1FC2' .. '\\u1FC4' | '\\u1FC6' .. '\\u1FCC' | '\\u1FD0' .. '\\u1FD3' | '\\u1FD6' .. '\\u1FDB' | '\\u1FE0' .. '\\u1FEC' | '\\u1FF2' .. '\\u1FF4' | '\\u1FF6' .. '\\u1FFC' | '\\u2071' | '\\u207F' | '\\u2090' .. '\\u209C' | '\\u2102' | '\\u2107' | '\\u210A' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211D' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212A' .. '\\u212D' | '\\u212F' .. '\\u2139' | '\\u213C' .. '\\u213F' | '\\u2145' .. '\\u2149' | '\\u214E' | '\\u2160' .. '\\u2188' | '\\u2C00' .. '\\u2C2E' | '\\u2C30' .. '\\u2C5E' | '\\u2C60' .. '\\u2CE4' | '\\u2CEB' .. '\\u2CEE' | '\\u2CF2' .. '\\u2CF3' | '\\u2D00' .. '\\u2D25' | '\\u2D27' | '\\u2D2D' | '\\u2D30' .. '\\u2D67' | '\\u2D6F' | '\\u2D80' .. '\\u2D96' | '\\u2DA0' .. '\\u2DA6' | '\\u2DA8' .. '\\u2DAE' | '\\u2DB0' .. '\\u2DB6' | '\\u2DB8' .. '\\u2DBE' | '\\u2DC0' .. '\\u2DC6' | '\\u2DC8' .. '\\u2DCE' | '\\u2DD0' .. '\\u2DD6' | '\\u2DD8' .. '\\u2DDE' | '\\u2E2F' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u3029' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303C' | '\\u3041' .. '\\u3096' | '\\u309D' .. '\\u309F' | '\\u30A1' .. '\\u30FA' | '\\u30FC' .. '\\u30FF' | '\\u3105' .. '\\u312D' | '\\u3131' .. '\\u318E' | '\\u31A0' .. '\\u31BA' | '\\u31F0' .. '\\u31FF' | '\\u3400' .. '\\u4DB5' | '\\u4E00' .. '\\u9FD5' | '\\uA000' .. '\\uA48C' | '\\uA4D0' .. '\\uA4FD' | '\\uA500' .. '\\uA60C' | '\\uA610' .. '\\uA61F' | '\\uA62A' .. '\\uA62B' | '\\uA640' .. '\\uA66E' | '\\uA67F' .. '\\uA69D' | '\\uA6A0' .. '\\uA6EF' | '\\uA717' .. '\\uA71F' | '\\uA722' .. '\\uA788' | '\\uA78B' .. '\\uA7AD' | '\\uA7B0' .. '\\uA7B7' | '\\uA7F7' .. '\\uA801' | '\\uA803' .. '\\uA805' | '\\uA807' .. '\\uA80A' | '\\uA80C' .. '\\uA822' | '\\uA840' .. '\\uA873' | '\\uA882' .. '\\uA8B3' | '\\uA8F2' .. '\\uA8F7' | '\\uA8FB' | '\\uA8FD' | '\\uA90A' .. '\\uA925' | '\\uA930' .. '\\uA946' | '\\uA960' .. '\\uA97C' | '\\uA984' .. '\\uA9B2' | '\\uA9CF' | '\\uA9E0' .. '\\uA9E4' | '\\uA9E6' .. '\\uA9EF' | '\\uA9FA' .. '\\uA9FE' | '\\uAA00' .. '\\uAA28' | '\\uAA40' .. '\\uAA42' | '\\uAA44' .. '\\uAA4B' | '\\uAA60' .. '\\uAA76' | '\\uAA7A' | '\\uAA7E' .. '\\uAAAF' | '\\uAAB1' | '\\uAAB5' .. '\\uAAB6' | '\\uAAB9' .. '\\uAABD' | '\\uAAC0' | '\\uAAC2' | '\\uAADB' .. '\\uAADD' | '\\uAAE0' .. '\\uAAEA' | '\\uAAF2' .. '\\uAAF4' | '\\uAB01' .. '\\uAB06' | '\\uAB09' .. '\\uAB0E' | '\\uAB11' .. '\\uAB16' | '\\uAB20' .. '\\uAB26' | '\\uAB28' .. '\\uAB2E' | '\\uAB30' .. '\\uAB5A' | '\\uAB5C' .. '\\uAB65' | '\\uAB70' .. '\\uABE2' | '\\uAC00' .. '\\uD7A3' | '\\uD7B0' .. '\\uD7C6' | '\\uD7CB' .. '\\uD7FB' | '\\uF900' .. '\\uFA6D' | '\\uFA70' .. '\\uFAD9' | '\\uFB00' .. '\\uFB06' | '\\uFB13' .. '\\uFB17' | '\\uFB1D' | '\\uFB1F' .. '\\uFB28' | '\\uFB2A' .. '\\uFB36' | '\\uFB38' .. '\\uFB3C' | '\\uFB3E' | '\\uFB40' .. '\\uFB41' | '\\uFB43' .. '\\uFB44' | '\\uFB46' .. '\\uFBB1' | '\\uFBD3' .. '\\uFD3D' | '\\uFD50' .. '\\uFD8F' | '\\uFD92' .. '\\uFDC7' | '\\uFDF0' .. '\\uFDFB' | '\\uFE70' .. '\\uFE74' | '\\uFE76' .. '\\uFEFC' | '\\uFF21' .. '\\uFF3A' | '\\uFF41' .. '\\uFF5A' | '\\uFF66' .. '\\uFFBE' | '\\uFFC2' .. '\\uFFC7' | '\\uFFCA' .. '\\uFFCF' | '\\uFFD2' .. '\\uFFD7' | '\\uFFDA' .. '\\uFFDC' ) ) - // InternalSemver.g:2197:41: ( 'A' .. 'Z' | 'a' .. 'z' | '\\u00AA' | '\\u00B5' | '\\u00BA' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u02C1' | '\\u02C6' .. '\\u02D1' | '\\u02E0' .. '\\u02E4' | '\\u02EC' | '\\u02EE' | '\\u0370' .. '\\u0374' | '\\u0376' .. '\\u0377' | '\\u037A' .. '\\u037D' | '\\u037F' | '\\u0386' | '\\u0388' .. '\\u038A' | '\\u038C' | '\\u038E' .. '\\u03A1' | '\\u03A3' .. '\\u03F5' | '\\u03F7' .. '\\u0481' | '\\u048A' .. '\\u052F' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u05D0' .. '\\u05EA' | '\\u05F0' .. '\\u05F2' | '\\u0620' .. '\\u064A' | '\\u066E' .. '\\u066F' | '\\u0671' .. '\\u06D3' | '\\u06D5' | '\\u06E5' .. '\\u06E6' | '\\u06EE' .. '\\u06EF' | '\\u06FA' .. '\\u06FC' | '\\u06FF' | '\\u0710' | '\\u0712' .. '\\u072F' | '\\u074D' .. '\\u07A5' | '\\u07B1' | '\\u07CA' .. '\\u07EA' | '\\u07F4' .. '\\u07F5' | '\\u07FA' | '\\u0800' .. '\\u0815' | '\\u081A' | '\\u0824' | '\\u0828' | '\\u0840' .. '\\u0858' | '\\u08A0' .. '\\u08B4' | '\\u0904' .. '\\u0939' | '\\u093D' | '\\u0950' | '\\u0958' .. '\\u0961' | '\\u0971' .. '\\u0980' | '\\u0985' .. '\\u098C' | '\\u098F' .. '\\u0990' | '\\u0993' .. '\\u09A8' | '\\u09AA' .. '\\u09B0' | '\\u09B2' | '\\u09B6' .. '\\u09B9' | '\\u09BD' | '\\u09CE' | '\\u09DC' .. '\\u09DD' | '\\u09DF' .. '\\u09E1' | '\\u09F0' .. '\\u09F1' | '\\u0A05' .. '\\u0A0A' | '\\u0A0F' .. '\\u0A10' | '\\u0A13' .. '\\u0A28' | '\\u0A2A' .. '\\u0A30' | '\\u0A32' .. '\\u0A33' | '\\u0A35' .. '\\u0A36' | '\\u0A38' .. '\\u0A39' | '\\u0A59' .. '\\u0A5C' | '\\u0A5E' | '\\u0A72' .. '\\u0A74' | '\\u0A85' .. '\\u0A8D' | '\\u0A8F' .. '\\u0A91' | '\\u0A93' .. '\\u0AA8' | '\\u0AAA' .. '\\u0AB0' | '\\u0AB2' .. '\\u0AB3' | '\\u0AB5' .. '\\u0AB9' | '\\u0ABD' | '\\u0AD0' | '\\u0AE0' .. '\\u0AE1' | '\\u0AF9' | '\\u0B05' .. '\\u0B0C' | '\\u0B0F' .. '\\u0B10' | '\\u0B13' .. '\\u0B28' | '\\u0B2A' .. '\\u0B30' | '\\u0B32' .. '\\u0B33' | '\\u0B35' .. '\\u0B39' | '\\u0B3D' | '\\u0B5C' .. '\\u0B5D' | '\\u0B5F' .. '\\u0B61' | '\\u0B71' | '\\u0B83' | '\\u0B85' .. '\\u0B8A' | '\\u0B8E' .. '\\u0B90' | '\\u0B92' .. '\\u0B95' | '\\u0B99' .. '\\u0B9A' | '\\u0B9C' | '\\u0B9E' .. '\\u0B9F' | '\\u0BA3' .. '\\u0BA4' | '\\u0BA8' .. '\\u0BAA' | '\\u0BAE' .. '\\u0BB9' | '\\u0BD0' | '\\u0C05' .. '\\u0C0C' | '\\u0C0E' .. '\\u0C10' | '\\u0C12' .. '\\u0C28' | '\\u0C2A' .. '\\u0C39' | '\\u0C3D' | '\\u0C58' .. '\\u0C5A' | '\\u0C60' .. '\\u0C61' | '\\u0C85' .. '\\u0C8C' | '\\u0C8E' .. '\\u0C90' | '\\u0C92' .. '\\u0CA8' | '\\u0CAA' .. '\\u0CB3' | '\\u0CB5' .. '\\u0CB9' | '\\u0CBD' | '\\u0CDE' | '\\u0CE0' .. '\\u0CE1' | '\\u0CF1' .. '\\u0CF2' | '\\u0D05' .. '\\u0D0C' | '\\u0D0E' .. '\\u0D10' | '\\u0D12' .. '\\u0D3A' | '\\u0D3D' | '\\u0D4E' | '\\u0D5F' .. '\\u0D61' | '\\u0D7A' .. '\\u0D7F' | '\\u0D85' .. '\\u0D96' | '\\u0D9A' .. '\\u0DB1' | '\\u0DB3' .. '\\u0DBB' | '\\u0DBD' | '\\u0DC0' .. '\\u0DC6' | '\\u0E01' .. '\\u0E30' | '\\u0E32' .. '\\u0E33' | '\\u0E40' .. '\\u0E46' | '\\u0E81' .. '\\u0E82' | '\\u0E84' | '\\u0E87' .. '\\u0E88' | '\\u0E8A' | '\\u0E8D' | '\\u0E94' .. '\\u0E97' | '\\u0E99' .. '\\u0E9F' | '\\u0EA1' .. '\\u0EA3' | '\\u0EA5' | '\\u0EA7' | '\\u0EAA' .. '\\u0EAB' | '\\u0EAD' .. '\\u0EB0' | '\\u0EB2' .. '\\u0EB3' | '\\u0EBD' | '\\u0EC0' .. '\\u0EC4' | '\\u0EC6' | '\\u0EDC' .. '\\u0EDF' | '\\u0F00' | '\\u0F40' .. '\\u0F47' | '\\u0F49' .. '\\u0F6C' | '\\u0F88' .. '\\u0F8C' | '\\u1000' .. '\\u102A' | '\\u103F' | '\\u1050' .. '\\u1055' | '\\u105A' .. '\\u105D' | '\\u1061' | '\\u1065' .. '\\u1066' | '\\u106E' .. '\\u1070' | '\\u1075' .. '\\u1081' | '\\u108E' | '\\u10A0' .. '\\u10C5' | '\\u10C7' | '\\u10CD' | '\\u10D0' .. '\\u10FA' | '\\u10FC' .. '\\u1248' | '\\u124A' .. '\\u124D' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125A' .. '\\u125D' | '\\u1260' .. '\\u1288' | '\\u128A' .. '\\u128D' | '\\u1290' .. '\\u12B0' | '\\u12B2' .. '\\u12B5' | '\\u12B8' .. '\\u12BE' | '\\u12C0' | '\\u12C2' .. '\\u12C5' | '\\u12C8' .. '\\u12D6' | '\\u12D8' .. '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u135A' | '\\u1380' .. '\\u138F' | '\\u13A0' .. '\\u13F5' | '\\u13F8' .. '\\u13FD' | '\\u1401' .. '\\u166C' | '\\u166F' .. '\\u167F' | '\\u1681' .. '\\u169A' | '\\u16A0' .. '\\u16EA' | '\\u16EE' .. '\\u16F8' | '\\u1700' .. '\\u170C' | '\\u170E' .. '\\u1711' | '\\u1720' .. '\\u1731' | '\\u1740' .. '\\u1751' | '\\u1760' .. '\\u176C' | '\\u176E' .. '\\u1770' | '\\u1780' .. '\\u17B3' | '\\u17D7' | '\\u17DC' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18A8' | '\\u18AA' | '\\u18B0' .. '\\u18F5' | '\\u1900' .. '\\u191E' | '\\u1950' .. '\\u196D' | '\\u1970' .. '\\u1974' | '\\u1980' .. '\\u19AB' | '\\u19B0' .. '\\u19C9' | '\\u1A00' .. '\\u1A16' | '\\u1A20' .. '\\u1A54' | '\\u1AA7' | '\\u1B05' .. '\\u1B33' | '\\u1B45' .. '\\u1B4B' | '\\u1B83' .. '\\u1BA0' | '\\u1BAE' .. '\\u1BAF' | '\\u1BBA' .. '\\u1BE5' | '\\u1C00' .. '\\u1C23' | '\\u1C4D' .. '\\u1C4F' | '\\u1C5A' .. '\\u1C7D' | '\\u1CE9' .. '\\u1CEC' | '\\u1CEE' .. '\\u1CF1' | '\\u1CF5' .. '\\u1CF6' | '\\u1D00' .. '\\u1DBF' | '\\u1E00' .. '\\u1F15' | '\\u1F18' .. '\\u1F1D' | '\\u1F20' .. '\\u1F45' | '\\u1F48' .. '\\u1F4D' | '\\u1F50' .. '\\u1F57' | '\\u1F59' | '\\u1F5B' | '\\u1F5D' | '\\u1F5F' .. '\\u1F7D' | '\\u1F80' .. '\\u1FB4' | '\\u1FB6' .. '\\u1FBC' | '\\u1FBE' | '\\u1FC2' .. '\\u1FC4' | '\\u1FC6' .. '\\u1FCC' | '\\u1FD0' .. '\\u1FD3' | '\\u1FD6' .. '\\u1FDB' | '\\u1FE0' .. '\\u1FEC' | '\\u1FF2' .. '\\u1FF4' | '\\u1FF6' .. '\\u1FFC' | '\\u2071' | '\\u207F' | '\\u2090' .. '\\u209C' | '\\u2102' | '\\u2107' | '\\u210A' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211D' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212A' .. '\\u212D' | '\\u212F' .. '\\u2139' | '\\u213C' .. '\\u213F' | '\\u2145' .. '\\u2149' | '\\u214E' | '\\u2160' .. '\\u2188' | '\\u2C00' .. '\\u2C2E' | '\\u2C30' .. '\\u2C5E' | '\\u2C60' .. '\\u2CE4' | '\\u2CEB' .. '\\u2CEE' | '\\u2CF2' .. '\\u2CF3' | '\\u2D00' .. '\\u2D25' | '\\u2D27' | '\\u2D2D' | '\\u2D30' .. '\\u2D67' | '\\u2D6F' | '\\u2D80' .. '\\u2D96' | '\\u2DA0' .. '\\u2DA6' | '\\u2DA8' .. '\\u2DAE' | '\\u2DB0' .. '\\u2DB6' | '\\u2DB8' .. '\\u2DBE' | '\\u2DC0' .. '\\u2DC6' | '\\u2DC8' .. '\\u2DCE' | '\\u2DD0' .. '\\u2DD6' | '\\u2DD8' .. '\\u2DDE' | '\\u2E2F' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u3029' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303C' | '\\u3041' .. '\\u3096' | '\\u309D' .. '\\u309F' | '\\u30A1' .. '\\u30FA' | '\\u30FC' .. '\\u30FF' | '\\u3105' .. '\\u312D' | '\\u3131' .. '\\u318E' | '\\u31A0' .. '\\u31BA' | '\\u31F0' .. '\\u31FF' | '\\u3400' .. '\\u4DB5' | '\\u4E00' .. '\\u9FD5' | '\\uA000' .. '\\uA48C' | '\\uA4D0' .. '\\uA4FD' | '\\uA500' .. '\\uA60C' | '\\uA610' .. '\\uA61F' | '\\uA62A' .. '\\uA62B' | '\\uA640' .. '\\uA66E' | '\\uA67F' .. '\\uA69D' | '\\uA6A0' .. '\\uA6EF' | '\\uA717' .. '\\uA71F' | '\\uA722' .. '\\uA788' | '\\uA78B' .. '\\uA7AD' | '\\uA7B0' .. '\\uA7B7' | '\\uA7F7' .. '\\uA801' | '\\uA803' .. '\\uA805' | '\\uA807' .. '\\uA80A' | '\\uA80C' .. '\\uA822' | '\\uA840' .. '\\uA873' | '\\uA882' .. '\\uA8B3' | '\\uA8F2' .. '\\uA8F7' | '\\uA8FB' | '\\uA8FD' | '\\uA90A' .. '\\uA925' | '\\uA930' .. '\\uA946' | '\\uA960' .. '\\uA97C' | '\\uA984' .. '\\uA9B2' | '\\uA9CF' | '\\uA9E0' .. '\\uA9E4' | '\\uA9E6' .. '\\uA9EF' | '\\uA9FA' .. '\\uA9FE' | '\\uAA00' .. '\\uAA28' | '\\uAA40' .. '\\uAA42' | '\\uAA44' .. '\\uAA4B' | '\\uAA60' .. '\\uAA76' | '\\uAA7A' | '\\uAA7E' .. '\\uAAAF' | '\\uAAB1' | '\\uAAB5' .. '\\uAAB6' | '\\uAAB9' .. '\\uAABD' | '\\uAAC0' | '\\uAAC2' | '\\uAADB' .. '\\uAADD' | '\\uAAE0' .. '\\uAAEA' | '\\uAAF2' .. '\\uAAF4' | '\\uAB01' .. '\\uAB06' | '\\uAB09' .. '\\uAB0E' | '\\uAB11' .. '\\uAB16' | '\\uAB20' .. '\\uAB26' | '\\uAB28' .. '\\uAB2E' | '\\uAB30' .. '\\uAB5A' | '\\uAB5C' .. '\\uAB65' | '\\uAB70' .. '\\uABE2' | '\\uAC00' .. '\\uD7A3' | '\\uD7B0' .. '\\uD7C6' | '\\uD7CB' .. '\\uD7FB' | '\\uF900' .. '\\uFA6D' | '\\uFA70' .. '\\uFAD9' | '\\uFB00' .. '\\uFB06' | '\\uFB13' .. '\\uFB17' | '\\uFB1D' | '\\uFB1F' .. '\\uFB28' | '\\uFB2A' .. '\\uFB36' | '\\uFB38' .. '\\uFB3C' | '\\uFB3E' | '\\uFB40' .. '\\uFB41' | '\\uFB43' .. '\\uFB44' | '\\uFB46' .. '\\uFBB1' | '\\uFBD3' .. '\\uFD3D' | '\\uFD50' .. '\\uFD8F' | '\\uFD92' .. '\\uFDC7' | '\\uFDF0' .. '\\uFDFB' | '\\uFE70' .. '\\uFE74' | '\\uFE76' .. '\\uFEFC' | '\\uFF21' .. '\\uFF3A' | '\\uFF41' .. '\\uFF5A' | '\\uFF66' .. '\\uFFBE' | '\\uFFC2' .. '\\uFFC7' | '\\uFFCA' .. '\\uFFCF' | '\\uFFD2' .. '\\uFFD7' | '\\uFFDA' .. '\\uFFDC' ) + // InternalSemver.g:2465:39: ( ( 'A' .. 'Z' | 'a' .. 'z' | '\\u00AA' | '\\u00B5' | '\\u00BA' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u02C1' | '\\u02C6' .. '\\u02D1' | '\\u02E0' .. '\\u02E4' | '\\u02EC' | '\\u02EE' | '\\u0370' .. '\\u0374' | '\\u0376' .. '\\u0377' | '\\u037A' .. '\\u037D' | '\\u037F' | '\\u0386' | '\\u0388' .. '\\u038A' | '\\u038C' | '\\u038E' .. '\\u03A1' | '\\u03A3' .. '\\u03F5' | '\\u03F7' .. '\\u0481' | '\\u048A' .. '\\u052F' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u05D0' .. '\\u05EA' | '\\u05F0' .. '\\u05F2' | '\\u0620' .. '\\u064A' | '\\u066E' .. '\\u066F' | '\\u0671' .. '\\u06D3' | '\\u06D5' | '\\u06E5' .. '\\u06E6' | '\\u06EE' .. '\\u06EF' | '\\u06FA' .. '\\u06FC' | '\\u06FF' | '\\u0710' | '\\u0712' .. '\\u072F' | '\\u074D' .. '\\u07A5' | '\\u07B1' | '\\u07CA' .. '\\u07EA' | '\\u07F4' .. '\\u07F5' | '\\u07FA' | '\\u0800' .. '\\u0815' | '\\u081A' | '\\u0824' | '\\u0828' | '\\u0840' .. '\\u0858' | '\\u08A0' .. '\\u08B4' | '\\u0904' .. '\\u0939' | '\\u093D' | '\\u0950' | '\\u0958' .. '\\u0961' | '\\u0971' .. '\\u0980' | '\\u0985' .. '\\u098C' | '\\u098F' .. '\\u0990' | '\\u0993' .. '\\u09A8' | '\\u09AA' .. '\\u09B0' | '\\u09B2' | '\\u09B6' .. '\\u09B9' | '\\u09BD' | '\\u09CE' | '\\u09DC' .. '\\u09DD' | '\\u09DF' .. '\\u09E1' | '\\u09F0' .. '\\u09F1' | '\\u0A05' .. '\\u0A0A' | '\\u0A0F' .. '\\u0A10' | '\\u0A13' .. '\\u0A28' | '\\u0A2A' .. '\\u0A30' | '\\u0A32' .. '\\u0A33' | '\\u0A35' .. '\\u0A36' | '\\u0A38' .. '\\u0A39' | '\\u0A59' .. '\\u0A5C' | '\\u0A5E' | '\\u0A72' .. '\\u0A74' | '\\u0A85' .. '\\u0A8D' | '\\u0A8F' .. '\\u0A91' | '\\u0A93' .. '\\u0AA8' | '\\u0AAA' .. '\\u0AB0' | '\\u0AB2' .. '\\u0AB3' | '\\u0AB5' .. '\\u0AB9' | '\\u0ABD' | '\\u0AD0' | '\\u0AE0' .. '\\u0AE1' | '\\u0AF9' | '\\u0B05' .. '\\u0B0C' | '\\u0B0F' .. '\\u0B10' | '\\u0B13' .. '\\u0B28' | '\\u0B2A' .. '\\u0B30' | '\\u0B32' .. '\\u0B33' | '\\u0B35' .. '\\u0B39' | '\\u0B3D' | '\\u0B5C' .. '\\u0B5D' | '\\u0B5F' .. '\\u0B61' | '\\u0B71' | '\\u0B83' | '\\u0B85' .. '\\u0B8A' | '\\u0B8E' .. '\\u0B90' | '\\u0B92' .. '\\u0B95' | '\\u0B99' .. '\\u0B9A' | '\\u0B9C' | '\\u0B9E' .. '\\u0B9F' | '\\u0BA3' .. '\\u0BA4' | '\\u0BA8' .. '\\u0BAA' | '\\u0BAE' .. '\\u0BB9' | '\\u0BD0' | '\\u0C05' .. '\\u0C0C' | '\\u0C0E' .. '\\u0C10' | '\\u0C12' .. '\\u0C28' | '\\u0C2A' .. '\\u0C39' | '\\u0C3D' | '\\u0C58' .. '\\u0C5A' | '\\u0C60' .. '\\u0C61' | '\\u0C85' .. '\\u0C8C' | '\\u0C8E' .. '\\u0C90' | '\\u0C92' .. '\\u0CA8' | '\\u0CAA' .. '\\u0CB3' | '\\u0CB5' .. '\\u0CB9' | '\\u0CBD' | '\\u0CDE' | '\\u0CE0' .. '\\u0CE1' | '\\u0CF1' .. '\\u0CF2' | '\\u0D05' .. '\\u0D0C' | '\\u0D0E' .. '\\u0D10' | '\\u0D12' .. '\\u0D3A' | '\\u0D3D' | '\\u0D4E' | '\\u0D5F' .. '\\u0D61' | '\\u0D7A' .. '\\u0D7F' | '\\u0D85' .. '\\u0D96' | '\\u0D9A' .. '\\u0DB1' | '\\u0DB3' .. '\\u0DBB' | '\\u0DBD' | '\\u0DC0' .. '\\u0DC6' | '\\u0E01' .. '\\u0E30' | '\\u0E32' .. '\\u0E33' | '\\u0E40' .. '\\u0E46' | '\\u0E81' .. '\\u0E82' | '\\u0E84' | '\\u0E87' .. '\\u0E88' | '\\u0E8A' | '\\u0E8D' | '\\u0E94' .. '\\u0E97' | '\\u0E99' .. '\\u0E9F' | '\\u0EA1' .. '\\u0EA3' | '\\u0EA5' | '\\u0EA7' | '\\u0EAA' .. '\\u0EAB' | '\\u0EAD' .. '\\u0EB0' | '\\u0EB2' .. '\\u0EB3' | '\\u0EBD' | '\\u0EC0' .. '\\u0EC4' | '\\u0EC6' | '\\u0EDC' .. '\\u0EDF' | '\\u0F00' | '\\u0F40' .. '\\u0F47' | '\\u0F49' .. '\\u0F6C' | '\\u0F88' .. '\\u0F8C' | '\\u1000' .. '\\u102A' | '\\u103F' | '\\u1050' .. '\\u1055' | '\\u105A' .. '\\u105D' | '\\u1061' | '\\u1065' .. '\\u1066' | '\\u106E' .. '\\u1070' | '\\u1075' .. '\\u1081' | '\\u108E' | '\\u10A0' .. '\\u10C5' | '\\u10C7' | '\\u10CD' | '\\u10D0' .. '\\u10FA' | '\\u10FC' .. '\\u1248' | '\\u124A' .. '\\u124D' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125A' .. '\\u125D' | '\\u1260' .. '\\u1288' | '\\u128A' .. '\\u128D' | '\\u1290' .. '\\u12B0' | '\\u12B2' .. '\\u12B5' | '\\u12B8' .. '\\u12BE' | '\\u12C0' | '\\u12C2' .. '\\u12C5' | '\\u12C8' .. '\\u12D6' | '\\u12D8' .. '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u135A' | '\\u1380' .. '\\u138F' | '\\u13A0' .. '\\u13F5' | '\\u13F8' .. '\\u13FD' | '\\u1401' .. '\\u166C' | '\\u166F' .. '\\u167F' | '\\u1681' .. '\\u169A' | '\\u16A0' .. '\\u16EA' | '\\u16EE' .. '\\u16F8' | '\\u1700' .. '\\u170C' | '\\u170E' .. '\\u1711' | '\\u1720' .. '\\u1731' | '\\u1740' .. '\\u1751' | '\\u1760' .. '\\u176C' | '\\u176E' .. '\\u1770' | '\\u1780' .. '\\u17B3' | '\\u17D7' | '\\u17DC' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18A8' | '\\u18AA' | '\\u18B0' .. '\\u18F5' | '\\u1900' .. '\\u191E' | '\\u1950' .. '\\u196D' | '\\u1970' .. '\\u1974' | '\\u1980' .. '\\u19AB' | '\\u19B0' .. '\\u19C9' | '\\u1A00' .. '\\u1A16' | '\\u1A20' .. '\\u1A54' | '\\u1AA7' | '\\u1B05' .. '\\u1B33' | '\\u1B45' .. '\\u1B4B' | '\\u1B83' .. '\\u1BA0' | '\\u1BAE' .. '\\u1BAF' | '\\u1BBA' .. '\\u1BE5' | '\\u1C00' .. '\\u1C23' | '\\u1C4D' .. '\\u1C4F' | '\\u1C5A' .. '\\u1C7D' | '\\u1CE9' .. '\\u1CEC' | '\\u1CEE' .. '\\u1CF1' | '\\u1CF5' .. '\\u1CF6' | '\\u1D00' .. '\\u1DBF' | '\\u1E00' .. '\\u1F15' | '\\u1F18' .. '\\u1F1D' | '\\u1F20' .. '\\u1F45' | '\\u1F48' .. '\\u1F4D' | '\\u1F50' .. '\\u1F57' | '\\u1F59' | '\\u1F5B' | '\\u1F5D' | '\\u1F5F' .. '\\u1F7D' | '\\u1F80' .. '\\u1FB4' | '\\u1FB6' .. '\\u1FBC' | '\\u1FBE' | '\\u1FC2' .. '\\u1FC4' | '\\u1FC6' .. '\\u1FCC' | '\\u1FD0' .. '\\u1FD3' | '\\u1FD6' .. '\\u1FDB' | '\\u1FE0' .. '\\u1FEC' | '\\u1FF2' .. '\\u1FF4' | '\\u1FF6' .. '\\u1FFC' | '\\u2071' | '\\u207F' | '\\u2090' .. '\\u209C' | '\\u2102' | '\\u2107' | '\\u210A' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211D' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212A' .. '\\u212D' | '\\u212F' .. '\\u2139' | '\\u213C' .. '\\u213F' | '\\u2145' .. '\\u2149' | '\\u214E' | '\\u2160' .. '\\u2188' | '\\u2C00' .. '\\u2C2E' | '\\u2C30' .. '\\u2C5E' | '\\u2C60' .. '\\u2CE4' | '\\u2CEB' .. '\\u2CEE' | '\\u2CF2' .. '\\u2CF3' | '\\u2D00' .. '\\u2D25' | '\\u2D27' | '\\u2D2D' | '\\u2D30' .. '\\u2D67' | '\\u2D6F' | '\\u2D80' .. '\\u2D96' | '\\u2DA0' .. '\\u2DA6' | '\\u2DA8' .. '\\u2DAE' | '\\u2DB0' .. '\\u2DB6' | '\\u2DB8' .. '\\u2DBE' | '\\u2DC0' .. '\\u2DC6' | '\\u2DC8' .. '\\u2DCE' | '\\u2DD0' .. '\\u2DD6' | '\\u2DD8' .. '\\u2DDE' | '\\u2E2F' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u3029' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303C' | '\\u3041' .. '\\u3096' | '\\u309D' .. '\\u309F' | '\\u30A1' .. '\\u30FA' | '\\u30FC' .. '\\u30FF' | '\\u3105' .. '\\u312D' | '\\u3131' .. '\\u318E' | '\\u31A0' .. '\\u31BA' | '\\u31F0' .. '\\u31FF' | '\\u3400' .. '\\u4DB5' | '\\u4E00' .. '\\u9FD5' | '\\uA000' .. '\\uA48C' | '\\uA4D0' .. '\\uA4FD' | '\\uA500' .. '\\uA60C' | '\\uA610' .. '\\uA61F' | '\\uA62A' .. '\\uA62B' | '\\uA640' .. '\\uA66E' | '\\uA67F' .. '\\uA69D' | '\\uA6A0' .. '\\uA6EF' | '\\uA717' .. '\\uA71F' | '\\uA722' .. '\\uA788' | '\\uA78B' .. '\\uA7AD' | '\\uA7B0' .. '\\uA7B7' | '\\uA7F7' .. '\\uA801' | '\\uA803' .. '\\uA805' | '\\uA807' .. '\\uA80A' | '\\uA80C' .. '\\uA822' | '\\uA840' .. '\\uA873' | '\\uA882' .. '\\uA8B3' | '\\uA8F2' .. '\\uA8F7' | '\\uA8FB' | '\\uA8FD' | '\\uA90A' .. '\\uA925' | '\\uA930' .. '\\uA946' | '\\uA960' .. '\\uA97C' | '\\uA984' .. '\\uA9B2' | '\\uA9CF' | '\\uA9E0' .. '\\uA9E4' | '\\uA9E6' .. '\\uA9EF' | '\\uA9FA' .. '\\uA9FE' | '\\uAA00' .. '\\uAA28' | '\\uAA40' .. '\\uAA42' | '\\uAA44' .. '\\uAA4B' | '\\uAA60' .. '\\uAA76' | '\\uAA7A' | '\\uAA7E' .. '\\uAAAF' | '\\uAAB1' | '\\uAAB5' .. '\\uAAB6' | '\\uAAB9' .. '\\uAABD' | '\\uAAC0' | '\\uAAC2' | '\\uAADB' .. '\\uAADD' | '\\uAAE0' .. '\\uAAEA' | '\\uAAF2' .. '\\uAAF4' | '\\uAB01' .. '\\uAB06' | '\\uAB09' .. '\\uAB0E' | '\\uAB11' .. '\\uAB16' | '\\uAB20' .. '\\uAB26' | '\\uAB28' .. '\\uAB2E' | '\\uAB30' .. '\\uAB5A' | '\\uAB5C' .. '\\uAB65' | '\\uAB70' .. '\\uABE2' | '\\uAC00' .. '\\uD7A3' | '\\uD7B0' .. '\\uD7C6' | '\\uD7CB' .. '\\uD7FB' | '\\uF900' .. '\\uFA6D' | '\\uFA70' .. '\\uFAD9' | '\\uFB00' .. '\\uFB06' | '\\uFB13' .. '\\uFB17' | '\\uFB1D' | '\\uFB1F' .. '\\uFB28' | '\\uFB2A' .. '\\uFB36' | '\\uFB38' .. '\\uFB3C' | '\\uFB3E' | '\\uFB40' .. '\\uFB41' | '\\uFB43' .. '\\uFB44' | '\\uFB46' .. '\\uFBB1' | '\\uFBD3' .. '\\uFD3D' | '\\uFD50' .. '\\uFD8F' | '\\uFD92' .. '\\uFDC7' | '\\uFDF0' .. '\\uFDFB' | '\\uFE70' .. '\\uFE74' | '\\uFE76' .. '\\uFEFC' | '\\uFF21' .. '\\uFF3A' | '\\uFF41' .. '\\uFF5A' | '\\uFF66' .. '\\uFFBE' | '\\uFFC2' .. '\\uFFC7' | '\\uFFCA' .. '\\uFFCF' | '\\uFFD2' .. '\\uFFD7' | '\\uFFDA' .. '\\uFFDC' ) ) + // InternalSemver.g:2465:41: ( 'A' .. 'Z' | 'a' .. 'z' | '\\u00AA' | '\\u00B5' | '\\u00BA' | '\\u00C0' .. '\\u00D6' | '\\u00D8' .. '\\u00F6' | '\\u00F8' .. '\\u02C1' | '\\u02C6' .. '\\u02D1' | '\\u02E0' .. '\\u02E4' | '\\u02EC' | '\\u02EE' | '\\u0370' .. '\\u0374' | '\\u0376' .. '\\u0377' | '\\u037A' .. '\\u037D' | '\\u037F' | '\\u0386' | '\\u0388' .. '\\u038A' | '\\u038C' | '\\u038E' .. '\\u03A1' | '\\u03A3' .. '\\u03F5' | '\\u03F7' .. '\\u0481' | '\\u048A' .. '\\u052F' | '\\u0531' .. '\\u0556' | '\\u0559' | '\\u0561' .. '\\u0587' | '\\u05D0' .. '\\u05EA' | '\\u05F0' .. '\\u05F2' | '\\u0620' .. '\\u064A' | '\\u066E' .. '\\u066F' | '\\u0671' .. '\\u06D3' | '\\u06D5' | '\\u06E5' .. '\\u06E6' | '\\u06EE' .. '\\u06EF' | '\\u06FA' .. '\\u06FC' | '\\u06FF' | '\\u0710' | '\\u0712' .. '\\u072F' | '\\u074D' .. '\\u07A5' | '\\u07B1' | '\\u07CA' .. '\\u07EA' | '\\u07F4' .. '\\u07F5' | '\\u07FA' | '\\u0800' .. '\\u0815' | '\\u081A' | '\\u0824' | '\\u0828' | '\\u0840' .. '\\u0858' | '\\u08A0' .. '\\u08B4' | '\\u0904' .. '\\u0939' | '\\u093D' | '\\u0950' | '\\u0958' .. '\\u0961' | '\\u0971' .. '\\u0980' | '\\u0985' .. '\\u098C' | '\\u098F' .. '\\u0990' | '\\u0993' .. '\\u09A8' | '\\u09AA' .. '\\u09B0' | '\\u09B2' | '\\u09B6' .. '\\u09B9' | '\\u09BD' | '\\u09CE' | '\\u09DC' .. '\\u09DD' | '\\u09DF' .. '\\u09E1' | '\\u09F0' .. '\\u09F1' | '\\u0A05' .. '\\u0A0A' | '\\u0A0F' .. '\\u0A10' | '\\u0A13' .. '\\u0A28' | '\\u0A2A' .. '\\u0A30' | '\\u0A32' .. '\\u0A33' | '\\u0A35' .. '\\u0A36' | '\\u0A38' .. '\\u0A39' | '\\u0A59' .. '\\u0A5C' | '\\u0A5E' | '\\u0A72' .. '\\u0A74' | '\\u0A85' .. '\\u0A8D' | '\\u0A8F' .. '\\u0A91' | '\\u0A93' .. '\\u0AA8' | '\\u0AAA' .. '\\u0AB0' | '\\u0AB2' .. '\\u0AB3' | '\\u0AB5' .. '\\u0AB9' | '\\u0ABD' | '\\u0AD0' | '\\u0AE0' .. '\\u0AE1' | '\\u0AF9' | '\\u0B05' .. '\\u0B0C' | '\\u0B0F' .. '\\u0B10' | '\\u0B13' .. '\\u0B28' | '\\u0B2A' .. '\\u0B30' | '\\u0B32' .. '\\u0B33' | '\\u0B35' .. '\\u0B39' | '\\u0B3D' | '\\u0B5C' .. '\\u0B5D' | '\\u0B5F' .. '\\u0B61' | '\\u0B71' | '\\u0B83' | '\\u0B85' .. '\\u0B8A' | '\\u0B8E' .. '\\u0B90' | '\\u0B92' .. '\\u0B95' | '\\u0B99' .. '\\u0B9A' | '\\u0B9C' | '\\u0B9E' .. '\\u0B9F' | '\\u0BA3' .. '\\u0BA4' | '\\u0BA8' .. '\\u0BAA' | '\\u0BAE' .. '\\u0BB9' | '\\u0BD0' | '\\u0C05' .. '\\u0C0C' | '\\u0C0E' .. '\\u0C10' | '\\u0C12' .. '\\u0C28' | '\\u0C2A' .. '\\u0C39' | '\\u0C3D' | '\\u0C58' .. '\\u0C5A' | '\\u0C60' .. '\\u0C61' | '\\u0C85' .. '\\u0C8C' | '\\u0C8E' .. '\\u0C90' | '\\u0C92' .. '\\u0CA8' | '\\u0CAA' .. '\\u0CB3' | '\\u0CB5' .. '\\u0CB9' | '\\u0CBD' | '\\u0CDE' | '\\u0CE0' .. '\\u0CE1' | '\\u0CF1' .. '\\u0CF2' | '\\u0D05' .. '\\u0D0C' | '\\u0D0E' .. '\\u0D10' | '\\u0D12' .. '\\u0D3A' | '\\u0D3D' | '\\u0D4E' | '\\u0D5F' .. '\\u0D61' | '\\u0D7A' .. '\\u0D7F' | '\\u0D85' .. '\\u0D96' | '\\u0D9A' .. '\\u0DB1' | '\\u0DB3' .. '\\u0DBB' | '\\u0DBD' | '\\u0DC0' .. '\\u0DC6' | '\\u0E01' .. '\\u0E30' | '\\u0E32' .. '\\u0E33' | '\\u0E40' .. '\\u0E46' | '\\u0E81' .. '\\u0E82' | '\\u0E84' | '\\u0E87' .. '\\u0E88' | '\\u0E8A' | '\\u0E8D' | '\\u0E94' .. '\\u0E97' | '\\u0E99' .. '\\u0E9F' | '\\u0EA1' .. '\\u0EA3' | '\\u0EA5' | '\\u0EA7' | '\\u0EAA' .. '\\u0EAB' | '\\u0EAD' .. '\\u0EB0' | '\\u0EB2' .. '\\u0EB3' | '\\u0EBD' | '\\u0EC0' .. '\\u0EC4' | '\\u0EC6' | '\\u0EDC' .. '\\u0EDF' | '\\u0F00' | '\\u0F40' .. '\\u0F47' | '\\u0F49' .. '\\u0F6C' | '\\u0F88' .. '\\u0F8C' | '\\u1000' .. '\\u102A' | '\\u103F' | '\\u1050' .. '\\u1055' | '\\u105A' .. '\\u105D' | '\\u1061' | '\\u1065' .. '\\u1066' | '\\u106E' .. '\\u1070' | '\\u1075' .. '\\u1081' | '\\u108E' | '\\u10A0' .. '\\u10C5' | '\\u10C7' | '\\u10CD' | '\\u10D0' .. '\\u10FA' | '\\u10FC' .. '\\u1248' | '\\u124A' .. '\\u124D' | '\\u1250' .. '\\u1256' | '\\u1258' | '\\u125A' .. '\\u125D' | '\\u1260' .. '\\u1288' | '\\u128A' .. '\\u128D' | '\\u1290' .. '\\u12B0' | '\\u12B2' .. '\\u12B5' | '\\u12B8' .. '\\u12BE' | '\\u12C0' | '\\u12C2' .. '\\u12C5' | '\\u12C8' .. '\\u12D6' | '\\u12D8' .. '\\u1310' | '\\u1312' .. '\\u1315' | '\\u1318' .. '\\u135A' | '\\u1380' .. '\\u138F' | '\\u13A0' .. '\\u13F5' | '\\u13F8' .. '\\u13FD' | '\\u1401' .. '\\u166C' | '\\u166F' .. '\\u167F' | '\\u1681' .. '\\u169A' | '\\u16A0' .. '\\u16EA' | '\\u16EE' .. '\\u16F8' | '\\u1700' .. '\\u170C' | '\\u170E' .. '\\u1711' | '\\u1720' .. '\\u1731' | '\\u1740' .. '\\u1751' | '\\u1760' .. '\\u176C' | '\\u176E' .. '\\u1770' | '\\u1780' .. '\\u17B3' | '\\u17D7' | '\\u17DC' | '\\u1820' .. '\\u1877' | '\\u1880' .. '\\u18A8' | '\\u18AA' | '\\u18B0' .. '\\u18F5' | '\\u1900' .. '\\u191E' | '\\u1950' .. '\\u196D' | '\\u1970' .. '\\u1974' | '\\u1980' .. '\\u19AB' | '\\u19B0' .. '\\u19C9' | '\\u1A00' .. '\\u1A16' | '\\u1A20' .. '\\u1A54' | '\\u1AA7' | '\\u1B05' .. '\\u1B33' | '\\u1B45' .. '\\u1B4B' | '\\u1B83' .. '\\u1BA0' | '\\u1BAE' .. '\\u1BAF' | '\\u1BBA' .. '\\u1BE5' | '\\u1C00' .. '\\u1C23' | '\\u1C4D' .. '\\u1C4F' | '\\u1C5A' .. '\\u1C7D' | '\\u1CE9' .. '\\u1CEC' | '\\u1CEE' .. '\\u1CF1' | '\\u1CF5' .. '\\u1CF6' | '\\u1D00' .. '\\u1DBF' | '\\u1E00' .. '\\u1F15' | '\\u1F18' .. '\\u1F1D' | '\\u1F20' .. '\\u1F45' | '\\u1F48' .. '\\u1F4D' | '\\u1F50' .. '\\u1F57' | '\\u1F59' | '\\u1F5B' | '\\u1F5D' | '\\u1F5F' .. '\\u1F7D' | '\\u1F80' .. '\\u1FB4' | '\\u1FB6' .. '\\u1FBC' | '\\u1FBE' | '\\u1FC2' .. '\\u1FC4' | '\\u1FC6' .. '\\u1FCC' | '\\u1FD0' .. '\\u1FD3' | '\\u1FD6' .. '\\u1FDB' | '\\u1FE0' .. '\\u1FEC' | '\\u1FF2' .. '\\u1FF4' | '\\u1FF6' .. '\\u1FFC' | '\\u2071' | '\\u207F' | '\\u2090' .. '\\u209C' | '\\u2102' | '\\u2107' | '\\u210A' .. '\\u2113' | '\\u2115' | '\\u2119' .. '\\u211D' | '\\u2124' | '\\u2126' | '\\u2128' | '\\u212A' .. '\\u212D' | '\\u212F' .. '\\u2139' | '\\u213C' .. '\\u213F' | '\\u2145' .. '\\u2149' | '\\u214E' | '\\u2160' .. '\\u2188' | '\\u2C00' .. '\\u2C2E' | '\\u2C30' .. '\\u2C5E' | '\\u2C60' .. '\\u2CE4' | '\\u2CEB' .. '\\u2CEE' | '\\u2CF2' .. '\\u2CF3' | '\\u2D00' .. '\\u2D25' | '\\u2D27' | '\\u2D2D' | '\\u2D30' .. '\\u2D67' | '\\u2D6F' | '\\u2D80' .. '\\u2D96' | '\\u2DA0' .. '\\u2DA6' | '\\u2DA8' .. '\\u2DAE' | '\\u2DB0' .. '\\u2DB6' | '\\u2DB8' .. '\\u2DBE' | '\\u2DC0' .. '\\u2DC6' | '\\u2DC8' .. '\\u2DCE' | '\\u2DD0' .. '\\u2DD6' | '\\u2DD8' .. '\\u2DDE' | '\\u2E2F' | '\\u3005' .. '\\u3007' | '\\u3021' .. '\\u3029' | '\\u3031' .. '\\u3035' | '\\u3038' .. '\\u303C' | '\\u3041' .. '\\u3096' | '\\u309D' .. '\\u309F' | '\\u30A1' .. '\\u30FA' | '\\u30FC' .. '\\u30FF' | '\\u3105' .. '\\u312D' | '\\u3131' .. '\\u318E' | '\\u31A0' .. '\\u31BA' | '\\u31F0' .. '\\u31FF' | '\\u3400' .. '\\u4DB5' | '\\u4E00' .. '\\u9FD5' | '\\uA000' .. '\\uA48C' | '\\uA4D0' .. '\\uA4FD' | '\\uA500' .. '\\uA60C' | '\\uA610' .. '\\uA61F' | '\\uA62A' .. '\\uA62B' | '\\uA640' .. '\\uA66E' | '\\uA67F' .. '\\uA69D' | '\\uA6A0' .. '\\uA6EF' | '\\uA717' .. '\\uA71F' | '\\uA722' .. '\\uA788' | '\\uA78B' .. '\\uA7AD' | '\\uA7B0' .. '\\uA7B7' | '\\uA7F7' .. '\\uA801' | '\\uA803' .. '\\uA805' | '\\uA807' .. '\\uA80A' | '\\uA80C' .. '\\uA822' | '\\uA840' .. '\\uA873' | '\\uA882' .. '\\uA8B3' | '\\uA8F2' .. '\\uA8F7' | '\\uA8FB' | '\\uA8FD' | '\\uA90A' .. '\\uA925' | '\\uA930' .. '\\uA946' | '\\uA960' .. '\\uA97C' | '\\uA984' .. '\\uA9B2' | '\\uA9CF' | '\\uA9E0' .. '\\uA9E4' | '\\uA9E6' .. '\\uA9EF' | '\\uA9FA' .. '\\uA9FE' | '\\uAA00' .. '\\uAA28' | '\\uAA40' .. '\\uAA42' | '\\uAA44' .. '\\uAA4B' | '\\uAA60' .. '\\uAA76' | '\\uAA7A' | '\\uAA7E' .. '\\uAAAF' | '\\uAAB1' | '\\uAAB5' .. '\\uAAB6' | '\\uAAB9' .. '\\uAABD' | '\\uAAC0' | '\\uAAC2' | '\\uAADB' .. '\\uAADD' | '\\uAAE0' .. '\\uAAEA' | '\\uAAF2' .. '\\uAAF4' | '\\uAB01' .. '\\uAB06' | '\\uAB09' .. '\\uAB0E' | '\\uAB11' .. '\\uAB16' | '\\uAB20' .. '\\uAB26' | '\\uAB28' .. '\\uAB2E' | '\\uAB30' .. '\\uAB5A' | '\\uAB5C' .. '\\uAB65' | '\\uAB70' .. '\\uABE2' | '\\uAC00' .. '\\uD7A3' | '\\uD7B0' .. '\\uD7C6' | '\\uD7CB' .. '\\uD7FB' | '\\uF900' .. '\\uFA6D' | '\\uFA70' .. '\\uFAD9' | '\\uFB00' .. '\\uFB06' | '\\uFB13' .. '\\uFB17' | '\\uFB1D' | '\\uFB1F' .. '\\uFB28' | '\\uFB2A' .. '\\uFB36' | '\\uFB38' .. '\\uFB3C' | '\\uFB3E' | '\\uFB40' .. '\\uFB41' | '\\uFB43' .. '\\uFB44' | '\\uFB46' .. '\\uFBB1' | '\\uFBD3' .. '\\uFD3D' | '\\uFD50' .. '\\uFD8F' | '\\uFD92' .. '\\uFDC7' | '\\uFDF0' .. '\\uFDFB' | '\\uFE70' .. '\\uFE74' | '\\uFE76' .. '\\uFEFC' | '\\uFF21' .. '\\uFF3A' | '\\uFF41' .. '\\uFF5A' | '\\uFF66' .. '\\uFFBE' | '\\uFFC2' .. '\\uFFC7' | '\\uFFCA' .. '\\uFFCF' | '\\uFFD2' .. '\\uFFD7' | '\\uFFDA' .. '\\uFFDC' ) { if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z')||input.LA(1)=='\u00AA'||input.LA(1)=='\u00B5'||input.LA(1)=='\u00BA'||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u02C1')||(input.LA(1)>='\u02C6' && input.LA(1)<='\u02D1')||(input.LA(1)>='\u02E0' && input.LA(1)<='\u02E4')||input.LA(1)=='\u02EC'||input.LA(1)=='\u02EE'||(input.LA(1)>='\u0370' && input.LA(1)<='\u0374')||(input.LA(1)>='\u0376' && input.LA(1)<='\u0377')||(input.LA(1)>='\u037A' && input.LA(1)<='\u037D')||input.LA(1)=='\u037F'||input.LA(1)=='\u0386'||(input.LA(1)>='\u0388' && input.LA(1)<='\u038A')||input.LA(1)=='\u038C'||(input.LA(1)>='\u038E' && input.LA(1)<='\u03A1')||(input.LA(1)>='\u03A3' && input.LA(1)<='\u03F5')||(input.LA(1)>='\u03F7' && input.LA(1)<='\u0481')||(input.LA(1)>='\u048A' && input.LA(1)<='\u052F')||(input.LA(1)>='\u0531' && input.LA(1)<='\u0556')||input.LA(1)=='\u0559'||(input.LA(1)>='\u0561' && input.LA(1)<='\u0587')||(input.LA(1)>='\u05D0' && input.LA(1)<='\u05EA')||(input.LA(1)>='\u05F0' && input.LA(1)<='\u05F2')||(input.LA(1)>='\u0620' && input.LA(1)<='\u064A')||(input.LA(1)>='\u066E' && input.LA(1)<='\u066F')||(input.LA(1)>='\u0671' && input.LA(1)<='\u06D3')||input.LA(1)=='\u06D5'||(input.LA(1)>='\u06E5' && input.LA(1)<='\u06E6')||(input.LA(1)>='\u06EE' && input.LA(1)<='\u06EF')||(input.LA(1)>='\u06FA' && input.LA(1)<='\u06FC')||input.LA(1)=='\u06FF'||input.LA(1)=='\u0710'||(input.LA(1)>='\u0712' && input.LA(1)<='\u072F')||(input.LA(1)>='\u074D' && input.LA(1)<='\u07A5')||input.LA(1)=='\u07B1'||(input.LA(1)>='\u07CA' && input.LA(1)<='\u07EA')||(input.LA(1)>='\u07F4' && input.LA(1)<='\u07F5')||input.LA(1)=='\u07FA'||(input.LA(1)>='\u0800' && input.LA(1)<='\u0815')||input.LA(1)=='\u081A'||input.LA(1)=='\u0824'||input.LA(1)=='\u0828'||(input.LA(1)>='\u0840' && input.LA(1)<='\u0858')||(input.LA(1)>='\u08A0' && input.LA(1)<='\u08B4')||(input.LA(1)>='\u0904' && input.LA(1)<='\u0939')||input.LA(1)=='\u093D'||input.LA(1)=='\u0950'||(input.LA(1)>='\u0958' && input.LA(1)<='\u0961')||(input.LA(1)>='\u0971' && input.LA(1)<='\u0980')||(input.LA(1)>='\u0985' && input.LA(1)<='\u098C')||(input.LA(1)>='\u098F' && input.LA(1)<='\u0990')||(input.LA(1)>='\u0993' && input.LA(1)<='\u09A8')||(input.LA(1)>='\u09AA' && input.LA(1)<='\u09B0')||input.LA(1)=='\u09B2'||(input.LA(1)>='\u09B6' && input.LA(1)<='\u09B9')||input.LA(1)=='\u09BD'||input.LA(1)=='\u09CE'||(input.LA(1)>='\u09DC' && input.LA(1)<='\u09DD')||(input.LA(1)>='\u09DF' && input.LA(1)<='\u09E1')||(input.LA(1)>='\u09F0' && input.LA(1)<='\u09F1')||(input.LA(1)>='\u0A05' && input.LA(1)<='\u0A0A')||(input.LA(1)>='\u0A0F' && input.LA(1)<='\u0A10')||(input.LA(1)>='\u0A13' && input.LA(1)<='\u0A28')||(input.LA(1)>='\u0A2A' && input.LA(1)<='\u0A30')||(input.LA(1)>='\u0A32' && input.LA(1)<='\u0A33')||(input.LA(1)>='\u0A35' && input.LA(1)<='\u0A36')||(input.LA(1)>='\u0A38' && input.LA(1)<='\u0A39')||(input.LA(1)>='\u0A59' && input.LA(1)<='\u0A5C')||input.LA(1)=='\u0A5E'||(input.LA(1)>='\u0A72' && input.LA(1)<='\u0A74')||(input.LA(1)>='\u0A85' && input.LA(1)<='\u0A8D')||(input.LA(1)>='\u0A8F' && input.LA(1)<='\u0A91')||(input.LA(1)>='\u0A93' && input.LA(1)<='\u0AA8')||(input.LA(1)>='\u0AAA' && input.LA(1)<='\u0AB0')||(input.LA(1)>='\u0AB2' && input.LA(1)<='\u0AB3')||(input.LA(1)>='\u0AB5' && input.LA(1)<='\u0AB9')||input.LA(1)=='\u0ABD'||input.LA(1)=='\u0AD0'||(input.LA(1)>='\u0AE0' && input.LA(1)<='\u0AE1')||input.LA(1)=='\u0AF9'||(input.LA(1)>='\u0B05' && input.LA(1)<='\u0B0C')||(input.LA(1)>='\u0B0F' && input.LA(1)<='\u0B10')||(input.LA(1)>='\u0B13' && input.LA(1)<='\u0B28')||(input.LA(1)>='\u0B2A' && input.LA(1)<='\u0B30')||(input.LA(1)>='\u0B32' && input.LA(1)<='\u0B33')||(input.LA(1)>='\u0B35' && input.LA(1)<='\u0B39')||input.LA(1)=='\u0B3D'||(input.LA(1)>='\u0B5C' && input.LA(1)<='\u0B5D')||(input.LA(1)>='\u0B5F' && input.LA(1)<='\u0B61')||input.LA(1)=='\u0B71'||input.LA(1)=='\u0B83'||(input.LA(1)>='\u0B85' && input.LA(1)<='\u0B8A')||(input.LA(1)>='\u0B8E' && input.LA(1)<='\u0B90')||(input.LA(1)>='\u0B92' && input.LA(1)<='\u0B95')||(input.LA(1)>='\u0B99' && input.LA(1)<='\u0B9A')||input.LA(1)=='\u0B9C'||(input.LA(1)>='\u0B9E' && input.LA(1)<='\u0B9F')||(input.LA(1)>='\u0BA3' && input.LA(1)<='\u0BA4')||(input.LA(1)>='\u0BA8' && input.LA(1)<='\u0BAA')||(input.LA(1)>='\u0BAE' && input.LA(1)<='\u0BB9')||input.LA(1)=='\u0BD0'||(input.LA(1)>='\u0C05' && input.LA(1)<='\u0C0C')||(input.LA(1)>='\u0C0E' && input.LA(1)<='\u0C10')||(input.LA(1)>='\u0C12' && input.LA(1)<='\u0C28')||(input.LA(1)>='\u0C2A' && input.LA(1)<='\u0C39')||input.LA(1)=='\u0C3D'||(input.LA(1)>='\u0C58' && input.LA(1)<='\u0C5A')||(input.LA(1)>='\u0C60' && input.LA(1)<='\u0C61')||(input.LA(1)>='\u0C85' && input.LA(1)<='\u0C8C')||(input.LA(1)>='\u0C8E' && input.LA(1)<='\u0C90')||(input.LA(1)>='\u0C92' && input.LA(1)<='\u0CA8')||(input.LA(1)>='\u0CAA' && input.LA(1)<='\u0CB3')||(input.LA(1)>='\u0CB5' && input.LA(1)<='\u0CB9')||input.LA(1)=='\u0CBD'||input.LA(1)=='\u0CDE'||(input.LA(1)>='\u0CE0' && input.LA(1)<='\u0CE1')||(input.LA(1)>='\u0CF1' && input.LA(1)<='\u0CF2')||(input.LA(1)>='\u0D05' && input.LA(1)<='\u0D0C')||(input.LA(1)>='\u0D0E' && input.LA(1)<='\u0D10')||(input.LA(1)>='\u0D12' && input.LA(1)<='\u0D3A')||input.LA(1)=='\u0D3D'||input.LA(1)=='\u0D4E'||(input.LA(1)>='\u0D5F' && input.LA(1)<='\u0D61')||(input.LA(1)>='\u0D7A' && input.LA(1)<='\u0D7F')||(input.LA(1)>='\u0D85' && input.LA(1)<='\u0D96')||(input.LA(1)>='\u0D9A' && input.LA(1)<='\u0DB1')||(input.LA(1)>='\u0DB3' && input.LA(1)<='\u0DBB')||input.LA(1)=='\u0DBD'||(input.LA(1)>='\u0DC0' && input.LA(1)<='\u0DC6')||(input.LA(1)>='\u0E01' && input.LA(1)<='\u0E30')||(input.LA(1)>='\u0E32' && input.LA(1)<='\u0E33')||(input.LA(1)>='\u0E40' && input.LA(1)<='\u0E46')||(input.LA(1)>='\u0E81' && input.LA(1)<='\u0E82')||input.LA(1)=='\u0E84'||(input.LA(1)>='\u0E87' && input.LA(1)<='\u0E88')||input.LA(1)=='\u0E8A'||input.LA(1)=='\u0E8D'||(input.LA(1)>='\u0E94' && input.LA(1)<='\u0E97')||(input.LA(1)>='\u0E99' && input.LA(1)<='\u0E9F')||(input.LA(1)>='\u0EA1' && input.LA(1)<='\u0EA3')||input.LA(1)=='\u0EA5'||input.LA(1)=='\u0EA7'||(input.LA(1)>='\u0EAA' && input.LA(1)<='\u0EAB')||(input.LA(1)>='\u0EAD' && input.LA(1)<='\u0EB0')||(input.LA(1)>='\u0EB2' && input.LA(1)<='\u0EB3')||input.LA(1)=='\u0EBD'||(input.LA(1)>='\u0EC0' && input.LA(1)<='\u0EC4')||input.LA(1)=='\u0EC6'||(input.LA(1)>='\u0EDC' && input.LA(1)<='\u0EDF')||input.LA(1)=='\u0F00'||(input.LA(1)>='\u0F40' && input.LA(1)<='\u0F47')||(input.LA(1)>='\u0F49' && input.LA(1)<='\u0F6C')||(input.LA(1)>='\u0F88' && input.LA(1)<='\u0F8C')||(input.LA(1)>='\u1000' && input.LA(1)<='\u102A')||input.LA(1)=='\u103F'||(input.LA(1)>='\u1050' && input.LA(1)<='\u1055')||(input.LA(1)>='\u105A' && input.LA(1)<='\u105D')||input.LA(1)=='\u1061'||(input.LA(1)>='\u1065' && input.LA(1)<='\u1066')||(input.LA(1)>='\u106E' && input.LA(1)<='\u1070')||(input.LA(1)>='\u1075' && input.LA(1)<='\u1081')||input.LA(1)=='\u108E'||(input.LA(1)>='\u10A0' && input.LA(1)<='\u10C5')||input.LA(1)=='\u10C7'||input.LA(1)=='\u10CD'||(input.LA(1)>='\u10D0' && input.LA(1)<='\u10FA')||(input.LA(1)>='\u10FC' && input.LA(1)<='\u1248')||(input.LA(1)>='\u124A' && input.LA(1)<='\u124D')||(input.LA(1)>='\u1250' && input.LA(1)<='\u1256')||input.LA(1)=='\u1258'||(input.LA(1)>='\u125A' && input.LA(1)<='\u125D')||(input.LA(1)>='\u1260' && input.LA(1)<='\u1288')||(input.LA(1)>='\u128A' && input.LA(1)<='\u128D')||(input.LA(1)>='\u1290' && input.LA(1)<='\u12B0')||(input.LA(1)>='\u12B2' && input.LA(1)<='\u12B5')||(input.LA(1)>='\u12B8' && input.LA(1)<='\u12BE')||input.LA(1)=='\u12C0'||(input.LA(1)>='\u12C2' && input.LA(1)<='\u12C5')||(input.LA(1)>='\u12C8' && input.LA(1)<='\u12D6')||(input.LA(1)>='\u12D8' && input.LA(1)<='\u1310')||(input.LA(1)>='\u1312' && input.LA(1)<='\u1315')||(input.LA(1)>='\u1318' && input.LA(1)<='\u135A')||(input.LA(1)>='\u1380' && input.LA(1)<='\u138F')||(input.LA(1)>='\u13A0' && input.LA(1)<='\u13F5')||(input.LA(1)>='\u13F8' && input.LA(1)<='\u13FD')||(input.LA(1)>='\u1401' && input.LA(1)<='\u166C')||(input.LA(1)>='\u166F' && input.LA(1)<='\u167F')||(input.LA(1)>='\u1681' && input.LA(1)<='\u169A')||(input.LA(1)>='\u16A0' && input.LA(1)<='\u16EA')||(input.LA(1)>='\u16EE' && input.LA(1)<='\u16F8')||(input.LA(1)>='\u1700' && input.LA(1)<='\u170C')||(input.LA(1)>='\u170E' && input.LA(1)<='\u1711')||(input.LA(1)>='\u1720' && input.LA(1)<='\u1731')||(input.LA(1)>='\u1740' && input.LA(1)<='\u1751')||(input.LA(1)>='\u1760' && input.LA(1)<='\u176C')||(input.LA(1)>='\u176E' && input.LA(1)<='\u1770')||(input.LA(1)>='\u1780' && input.LA(1)<='\u17B3')||input.LA(1)=='\u17D7'||input.LA(1)=='\u17DC'||(input.LA(1)>='\u1820' && input.LA(1)<='\u1877')||(input.LA(1)>='\u1880' && input.LA(1)<='\u18A8')||input.LA(1)=='\u18AA'||(input.LA(1)>='\u18B0' && input.LA(1)<='\u18F5')||(input.LA(1)>='\u1900' && input.LA(1)<='\u191E')||(input.LA(1)>='\u1950' && input.LA(1)<='\u196D')||(input.LA(1)>='\u1970' && input.LA(1)<='\u1974')||(input.LA(1)>='\u1980' && input.LA(1)<='\u19AB')||(input.LA(1)>='\u19B0' && input.LA(1)<='\u19C9')||(input.LA(1)>='\u1A00' && input.LA(1)<='\u1A16')||(input.LA(1)>='\u1A20' && input.LA(1)<='\u1A54')||input.LA(1)=='\u1AA7'||(input.LA(1)>='\u1B05' && input.LA(1)<='\u1B33')||(input.LA(1)>='\u1B45' && input.LA(1)<='\u1B4B')||(input.LA(1)>='\u1B83' && input.LA(1)<='\u1BA0')||(input.LA(1)>='\u1BAE' && input.LA(1)<='\u1BAF')||(input.LA(1)>='\u1BBA' && input.LA(1)<='\u1BE5')||(input.LA(1)>='\u1C00' && input.LA(1)<='\u1C23')||(input.LA(1)>='\u1C4D' && input.LA(1)<='\u1C4F')||(input.LA(1)>='\u1C5A' && input.LA(1)<='\u1C7D')||(input.LA(1)>='\u1CE9' && input.LA(1)<='\u1CEC')||(input.LA(1)>='\u1CEE' && input.LA(1)<='\u1CF1')||(input.LA(1)>='\u1CF5' && input.LA(1)<='\u1CF6')||(input.LA(1)>='\u1D00' && input.LA(1)<='\u1DBF')||(input.LA(1)>='\u1E00' && input.LA(1)<='\u1F15')||(input.LA(1)>='\u1F18' && input.LA(1)<='\u1F1D')||(input.LA(1)>='\u1F20' && input.LA(1)<='\u1F45')||(input.LA(1)>='\u1F48' && input.LA(1)<='\u1F4D')||(input.LA(1)>='\u1F50' && input.LA(1)<='\u1F57')||input.LA(1)=='\u1F59'||input.LA(1)=='\u1F5B'||input.LA(1)=='\u1F5D'||(input.LA(1)>='\u1F5F' && input.LA(1)<='\u1F7D')||(input.LA(1)>='\u1F80' && input.LA(1)<='\u1FB4')||(input.LA(1)>='\u1FB6' && input.LA(1)<='\u1FBC')||input.LA(1)=='\u1FBE'||(input.LA(1)>='\u1FC2' && input.LA(1)<='\u1FC4')||(input.LA(1)>='\u1FC6' && input.LA(1)<='\u1FCC')||(input.LA(1)>='\u1FD0' && input.LA(1)<='\u1FD3')||(input.LA(1)>='\u1FD6' && input.LA(1)<='\u1FDB')||(input.LA(1)>='\u1FE0' && input.LA(1)<='\u1FEC')||(input.LA(1)>='\u1FF2' && input.LA(1)<='\u1FF4')||(input.LA(1)>='\u1FF6' && input.LA(1)<='\u1FFC')||input.LA(1)=='\u2071'||input.LA(1)=='\u207F'||(input.LA(1)>='\u2090' && input.LA(1)<='\u209C')||input.LA(1)=='\u2102'||input.LA(1)=='\u2107'||(input.LA(1)>='\u210A' && input.LA(1)<='\u2113')||input.LA(1)=='\u2115'||(input.LA(1)>='\u2119' && input.LA(1)<='\u211D')||input.LA(1)=='\u2124'||input.LA(1)=='\u2126'||input.LA(1)=='\u2128'||(input.LA(1)>='\u212A' && input.LA(1)<='\u212D')||(input.LA(1)>='\u212F' && input.LA(1)<='\u2139')||(input.LA(1)>='\u213C' && input.LA(1)<='\u213F')||(input.LA(1)>='\u2145' && input.LA(1)<='\u2149')||input.LA(1)=='\u214E'||(input.LA(1)>='\u2160' && input.LA(1)<='\u2188')||(input.LA(1)>='\u2C00' && input.LA(1)<='\u2C2E')||(input.LA(1)>='\u2C30' && input.LA(1)<='\u2C5E')||(input.LA(1)>='\u2C60' && input.LA(1)<='\u2CE4')||(input.LA(1)>='\u2CEB' && input.LA(1)<='\u2CEE')||(input.LA(1)>='\u2CF2' && input.LA(1)<='\u2CF3')||(input.LA(1)>='\u2D00' && input.LA(1)<='\u2D25')||input.LA(1)=='\u2D27'||input.LA(1)=='\u2D2D'||(input.LA(1)>='\u2D30' && input.LA(1)<='\u2D67')||input.LA(1)=='\u2D6F'||(input.LA(1)>='\u2D80' && input.LA(1)<='\u2D96')||(input.LA(1)>='\u2DA0' && input.LA(1)<='\u2DA6')||(input.LA(1)>='\u2DA8' && input.LA(1)<='\u2DAE')||(input.LA(1)>='\u2DB0' && input.LA(1)<='\u2DB6')||(input.LA(1)>='\u2DB8' && input.LA(1)<='\u2DBE')||(input.LA(1)>='\u2DC0' && input.LA(1)<='\u2DC6')||(input.LA(1)>='\u2DC8' && input.LA(1)<='\u2DCE')||(input.LA(1)>='\u2DD0' && input.LA(1)<='\u2DD6')||(input.LA(1)>='\u2DD8' && input.LA(1)<='\u2DDE')||input.LA(1)=='\u2E2F'||(input.LA(1)>='\u3005' && input.LA(1)<='\u3007')||(input.LA(1)>='\u3021' && input.LA(1)<='\u3029')||(input.LA(1)>='\u3031' && input.LA(1)<='\u3035')||(input.LA(1)>='\u3038' && input.LA(1)<='\u303C')||(input.LA(1)>='\u3041' && input.LA(1)<='\u3096')||(input.LA(1)>='\u309D' && input.LA(1)<='\u309F')||(input.LA(1)>='\u30A1' && input.LA(1)<='\u30FA')||(input.LA(1)>='\u30FC' && input.LA(1)<='\u30FF')||(input.LA(1)>='\u3105' && input.LA(1)<='\u312D')||(input.LA(1)>='\u3131' && input.LA(1)<='\u318E')||(input.LA(1)>='\u31A0' && input.LA(1)<='\u31BA')||(input.LA(1)>='\u31F0' && input.LA(1)<='\u31FF')||(input.LA(1)>='\u3400' && input.LA(1)<='\u4DB5')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FD5')||(input.LA(1)>='\uA000' && input.LA(1)<='\uA48C')||(input.LA(1)>='\uA4D0' && input.LA(1)<='\uA4FD')||(input.LA(1)>='\uA500' && input.LA(1)<='\uA60C')||(input.LA(1)>='\uA610' && input.LA(1)<='\uA61F')||(input.LA(1)>='\uA62A' && input.LA(1)<='\uA62B')||(input.LA(1)>='\uA640' && input.LA(1)<='\uA66E')||(input.LA(1)>='\uA67F' && input.LA(1)<='\uA69D')||(input.LA(1)>='\uA6A0' && input.LA(1)<='\uA6EF')||(input.LA(1)>='\uA717' && input.LA(1)<='\uA71F')||(input.LA(1)>='\uA722' && input.LA(1)<='\uA788')||(input.LA(1)>='\uA78B' && input.LA(1)<='\uA7AD')||(input.LA(1)>='\uA7B0' && input.LA(1)<='\uA7B7')||(input.LA(1)>='\uA7F7' && input.LA(1)<='\uA801')||(input.LA(1)>='\uA803' && input.LA(1)<='\uA805')||(input.LA(1)>='\uA807' && input.LA(1)<='\uA80A')||(input.LA(1)>='\uA80C' && input.LA(1)<='\uA822')||(input.LA(1)>='\uA840' && input.LA(1)<='\uA873')||(input.LA(1)>='\uA882' && input.LA(1)<='\uA8B3')||(input.LA(1)>='\uA8F2' && input.LA(1)<='\uA8F7')||input.LA(1)=='\uA8FB'||input.LA(1)=='\uA8FD'||(input.LA(1)>='\uA90A' && input.LA(1)<='\uA925')||(input.LA(1)>='\uA930' && input.LA(1)<='\uA946')||(input.LA(1)>='\uA960' && input.LA(1)<='\uA97C')||(input.LA(1)>='\uA984' && input.LA(1)<='\uA9B2')||input.LA(1)=='\uA9CF'||(input.LA(1)>='\uA9E0' && input.LA(1)<='\uA9E4')||(input.LA(1)>='\uA9E6' && input.LA(1)<='\uA9EF')||(input.LA(1)>='\uA9FA' && input.LA(1)<='\uA9FE')||(input.LA(1)>='\uAA00' && input.LA(1)<='\uAA28')||(input.LA(1)>='\uAA40' && input.LA(1)<='\uAA42')||(input.LA(1)>='\uAA44' && input.LA(1)<='\uAA4B')||(input.LA(1)>='\uAA60' && input.LA(1)<='\uAA76')||input.LA(1)=='\uAA7A'||(input.LA(1)>='\uAA7E' && input.LA(1)<='\uAAAF')||input.LA(1)=='\uAAB1'||(input.LA(1)>='\uAAB5' && input.LA(1)<='\uAAB6')||(input.LA(1)>='\uAAB9' && input.LA(1)<='\uAABD')||input.LA(1)=='\uAAC0'||input.LA(1)=='\uAAC2'||(input.LA(1)>='\uAADB' && input.LA(1)<='\uAADD')||(input.LA(1)>='\uAAE0' && input.LA(1)<='\uAAEA')||(input.LA(1)>='\uAAF2' && input.LA(1)<='\uAAF4')||(input.LA(1)>='\uAB01' && input.LA(1)<='\uAB06')||(input.LA(1)>='\uAB09' && input.LA(1)<='\uAB0E')||(input.LA(1)>='\uAB11' && input.LA(1)<='\uAB16')||(input.LA(1)>='\uAB20' && input.LA(1)<='\uAB26')||(input.LA(1)>='\uAB28' && input.LA(1)<='\uAB2E')||(input.LA(1)>='\uAB30' && input.LA(1)<='\uAB5A')||(input.LA(1)>='\uAB5C' && input.LA(1)<='\uAB65')||(input.LA(1)>='\uAB70' && input.LA(1)<='\uABE2')||(input.LA(1)>='\uAC00' && input.LA(1)<='\uD7A3')||(input.LA(1)>='\uD7B0' && input.LA(1)<='\uD7C6')||(input.LA(1)>='\uD7CB' && input.LA(1)<='\uD7FB')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFA6D')||(input.LA(1)>='\uFA70' && input.LA(1)<='\uFAD9')||(input.LA(1)>='\uFB00' && input.LA(1)<='\uFB06')||(input.LA(1)>='\uFB13' && input.LA(1)<='\uFB17')||input.LA(1)=='\uFB1D'||(input.LA(1)>='\uFB1F' && input.LA(1)<='\uFB28')||(input.LA(1)>='\uFB2A' && input.LA(1)<='\uFB36')||(input.LA(1)>='\uFB38' && input.LA(1)<='\uFB3C')||input.LA(1)=='\uFB3E'||(input.LA(1)>='\uFB40' && input.LA(1)<='\uFB41')||(input.LA(1)>='\uFB43' && input.LA(1)<='\uFB44')||(input.LA(1)>='\uFB46' && input.LA(1)<='\uFBB1')||(input.LA(1)>='\uFBD3' && input.LA(1)<='\uFD3D')||(input.LA(1)>='\uFD50' && input.LA(1)<='\uFD8F')||(input.LA(1)>='\uFD92' && input.LA(1)<='\uFDC7')||(input.LA(1)>='\uFDF0' && input.LA(1)<='\uFDFB')||(input.LA(1)>='\uFE70' && input.LA(1)<='\uFE74')||(input.LA(1)>='\uFE76' && input.LA(1)<='\uFEFC')||(input.LA(1)>='\uFF21' && input.LA(1)<='\uFF3A')||(input.LA(1)>='\uFF41' && input.LA(1)<='\uFF5A')||(input.LA(1)>='\uFF66' && input.LA(1)<='\uFFBE')||(input.LA(1)>='\uFFC2' && input.LA(1)<='\uFFC7')||(input.LA(1)>='\uFFCA' && input.LA(1)<='\uFFCF')||(input.LA(1)>='\uFFD2' && input.LA(1)<='\uFFD7')||(input.LA(1)>='\uFFDA' && input.LA(1)<='\uFFDC') ) { input.consume(); @@ -1325,8 +1499,8 @@ public final void mRULE_UNICODE_LETTER_FRAGMENT() throws RecognitionException { // $ANTLR start "RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT" public final void mRULE_UNICODE_SPACE_SEPARATOR_FRAGMENT() throws RecognitionException { try { - // InternalSemver.g:2199:48: ( ( ' ' | '\\u00A0' | '\\u1680' | '\\u2000' .. '\\u200A' | '\\u202F' | '\\u205F' | '\\u3000' ) ) - // InternalSemver.g:2199:50: ( ' ' | '\\u00A0' | '\\u1680' | '\\u2000' .. '\\u200A' | '\\u202F' | '\\u205F' | '\\u3000' ) + // InternalSemver.g:2467:48: ( ( ' ' | '\\u00A0' | '\\u1680' | '\\u2000' .. '\\u200A' | '\\u202F' | '\\u205F' | '\\u3000' ) ) + // InternalSemver.g:2467:50: ( ' ' | '\\u00A0' | '\\u1680' | '\\u2000' .. '\\u200A' | '\\u202F' | '\\u205F' | '\\u3000' ) { if ( input.LA(1)==' '||input.LA(1)=='\u00A0'||input.LA(1)=='\u1680'||(input.LA(1)>='\u2000' && input.LA(1)<='\u200A')||input.LA(1)=='\u202F'||input.LA(1)=='\u205F'||input.LA(1)=='\u3000' ) { input.consume(); @@ -1349,8 +1523,8 @@ public final void mRULE_UNICODE_SPACE_SEPARATOR_FRAGMENT() throws RecognitionExc // $ANTLR start "RULE_ANY_OTHER" public final void mRULE_ANY_OTHER() throws RecognitionException { try { - // InternalSemver.g:2201:25: ( . ) - // InternalSemver.g:2201:27: . + // InternalSemver.g:2469:25: ( . ) + // InternalSemver.g:2469:27: . { matchAny(); @@ -1363,140 +1537,140 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { // $ANTLR end "RULE_ANY_OTHER" public void mTokens() throws RecognitionException { - // InternalSemver.g:1:8: ( T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | RULE_LETTER_S | RULE_LETTER_M | RULE_LETTER_R | RULE_LETTER_F | RULE_LETTER_I | RULE_LETTER_L | RULE_LETTER_E | RULE_LETTER_V | RULE_LETTER_X | RULE_LETTER_OTHER | RULE_ASTERIX | RULE_DIGITS | RULE_WS | RULE_EOL ) - int alt9=30; + // InternalSemver.g:1:8: ( T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | RULE_LETTER_A | RULE_LETTER_C | RULE_LETTER_E | RULE_LETTER_F | RULE_LETTER_I | RULE_LETTER_K | RULE_LETTER_L | RULE_LETTER_M | RULE_LETTER_O | RULE_LETTER_P | RULE_LETTER_R | RULE_LETTER_S | RULE_LETTER_V | RULE_LETTER_W | RULE_LETTER_X | RULE_LETTER_OTHER | RULE_ASTERIX | RULE_DIGITS | RULE_WS | RULE_EOL ) + int alt9=36; alt9 = dfa9.predict(input); switch (alt9) { case 1 : - // InternalSemver.g:1:10: T__35 + // InternalSemver.g:1:10: T__41 { - mT__35(); + mT__41(); } break; case 2 : - // InternalSemver.g:1:16: T__36 + // InternalSemver.g:1:16: T__42 { - mT__36(); + mT__42(); } break; case 3 : - // InternalSemver.g:1:22: T__37 + // InternalSemver.g:1:22: T__43 { - mT__37(); + mT__43(); } break; case 4 : - // InternalSemver.g:1:28: T__38 + // InternalSemver.g:1:28: T__44 { - mT__38(); + mT__44(); } break; case 5 : - // InternalSemver.g:1:34: T__39 + // InternalSemver.g:1:34: T__45 { - mT__39(); + mT__45(); } break; case 6 : - // InternalSemver.g:1:40: T__40 + // InternalSemver.g:1:40: T__46 { - mT__40(); + mT__46(); } break; case 7 : - // InternalSemver.g:1:46: T__41 + // InternalSemver.g:1:46: T__47 { - mT__41(); + mT__47(); } break; case 8 : - // InternalSemver.g:1:52: T__42 + // InternalSemver.g:1:52: T__48 { - mT__42(); + mT__48(); } break; case 9 : - // InternalSemver.g:1:58: T__43 + // InternalSemver.g:1:58: T__49 { - mT__43(); + mT__49(); } break; case 10 : - // InternalSemver.g:1:64: T__44 + // InternalSemver.g:1:64: T__50 { - mT__44(); + mT__50(); } break; case 11 : - // InternalSemver.g:1:70: T__45 + // InternalSemver.g:1:70: T__51 { - mT__45(); + mT__51(); } break; case 12 : - // InternalSemver.g:1:76: T__46 + // InternalSemver.g:1:76: T__52 { - mT__46(); + mT__52(); } break; case 13 : - // InternalSemver.g:1:82: T__47 + // InternalSemver.g:1:82: T__53 { - mT__47(); + mT__53(); } break; case 14 : - // InternalSemver.g:1:88: T__48 + // InternalSemver.g:1:88: T__54 { - mT__48(); + mT__54(); } break; case 15 : - // InternalSemver.g:1:94: T__49 + // InternalSemver.g:1:94: T__55 { - mT__49(); + mT__55(); } break; case 16 : - // InternalSemver.g:1:100: T__50 + // InternalSemver.g:1:100: T__56 { - mT__50(); + mT__56(); } break; case 17 : - // InternalSemver.g:1:106: RULE_LETTER_S + // InternalSemver.g:1:106: RULE_LETTER_A { - mRULE_LETTER_S(); + mRULE_LETTER_A(); } break; case 18 : - // InternalSemver.g:1:120: RULE_LETTER_M + // InternalSemver.g:1:120: RULE_LETTER_C { - mRULE_LETTER_M(); + mRULE_LETTER_C(); } break; case 19 : - // InternalSemver.g:1:134: RULE_LETTER_R + // InternalSemver.g:1:134: RULE_LETTER_E { - mRULE_LETTER_R(); + mRULE_LETTER_E(); } break; @@ -1515,63 +1689,105 @@ public void mTokens() throws RecognitionException { } break; case 22 : - // InternalSemver.g:1:176: RULE_LETTER_L + // InternalSemver.g:1:176: RULE_LETTER_K { - mRULE_LETTER_L(); + mRULE_LETTER_K(); } break; case 23 : - // InternalSemver.g:1:190: RULE_LETTER_E + // InternalSemver.g:1:190: RULE_LETTER_L { - mRULE_LETTER_E(); + mRULE_LETTER_L(); } break; case 24 : - // InternalSemver.g:1:204: RULE_LETTER_V + // InternalSemver.g:1:204: RULE_LETTER_M { - mRULE_LETTER_V(); + mRULE_LETTER_M(); } break; case 25 : - // InternalSemver.g:1:218: RULE_LETTER_X + // InternalSemver.g:1:218: RULE_LETTER_O { - mRULE_LETTER_X(); + mRULE_LETTER_O(); } break; case 26 : - // InternalSemver.g:1:232: RULE_LETTER_OTHER + // InternalSemver.g:1:232: RULE_LETTER_P { - mRULE_LETTER_OTHER(); + mRULE_LETTER_P(); } break; case 27 : - // InternalSemver.g:1:250: RULE_ASTERIX + // InternalSemver.g:1:246: RULE_LETTER_R { - mRULE_ASTERIX(); + mRULE_LETTER_R(); } break; case 28 : - // InternalSemver.g:1:263: RULE_DIGITS + // InternalSemver.g:1:260: RULE_LETTER_S { - mRULE_DIGITS(); + mRULE_LETTER_S(); } break; case 29 : - // InternalSemver.g:1:275: RULE_WS + // InternalSemver.g:1:274: RULE_LETTER_V { - mRULE_WS(); + mRULE_LETTER_V(); } break; case 30 : - // InternalSemver.g:1:283: RULE_EOL + // InternalSemver.g:1:288: RULE_LETTER_W + { + mRULE_LETTER_W(); + + } + break; + case 31 : + // InternalSemver.g:1:302: RULE_LETTER_X + { + mRULE_LETTER_X(); + + } + break; + case 32 : + // InternalSemver.g:1:316: RULE_LETTER_OTHER + { + mRULE_LETTER_OTHER(); + + } + break; + case 33 : + // InternalSemver.g:1:334: RULE_ASTERIX + { + mRULE_ASTERIX(); + + } + break; + case 34 : + // InternalSemver.g:1:347: RULE_DIGITS + { + mRULE_DIGITS(); + + } + break; + case 35 : + // InternalSemver.g:1:359: RULE_WS + { + mRULE_WS(); + + } + break; + case 36 : + // InternalSemver.g:1:367: RULE_EOL { mRULE_EOL(); @@ -1585,33 +1801,39 @@ public void mTokens() throws RecognitionException { protected DFA9 dfa9 = new DFA9(this); static final String DFA9_eotS = - "\13\uffff\1\36\2\uffff\1\40\22\uffff"; + "\15\uffff\1\44\1\46\30\uffff"; static final String DFA9_eofS = - "\41\uffff"; + "\47\uffff"; static final String DFA9_minS = - "\1\11\12\uffff\1\75\2\uffff\1\75\22\uffff"; + "\1\11\14\uffff\2\75\30\uffff"; static final String DFA9_maxS = - "\1\ufeff\12\uffff\1\75\2\uffff\1\75\22\uffff"; + "\1\ufeff\14\uffff\2\75\30\uffff"; static final String DFA9_acceptS = - "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\uffff\1\14\1\15\1\uffff\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\16\1\13\1\20\1\17"; + "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\2\uffff\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\17\1\15\1\20\1\16"; static final String DFA9_specialS = - "\41\uffff}>"; + "\47\uffff}>"; static final String[] DFA9_transitionS = { - "\1\33\1\34\2\33\1\34\22\uffff\1\33\2\uffff\1\3\6\uffff\1\31\1\7\1\uffff\1\5\1\6\1\2\12\32\1\1\1\uffff\1\13\1\12\1\16\1\uffff\1\10\4\30\1\25\1\22\2\30\1\23\2\30\1\24\1\20\4\30\1\21\1\17\2\30\1\26\1\30\1\27\2\30\3\uffff\1\15\1\11\1\uffff\4\30\1\25\1\22\2\30\1\23\2\30\1\24\1\20\4\30\1\21\1\17\2\30\1\26\1\30\1\27\2\30\1\uffff\1\4\1\uffff\1\14\41\uffff\1\33\u15df\uffff\1\33\u097f\uffff\13\33\35\uffff\2\34\5\uffff\1\33\57\uffff\1\33\u0fa0\uffff\1\33\ucefe\uffff\1\33", + "\1\41\1\42\2\41\1\42\22\uffff\1\41\2\uffff\1\3\6\uffff\1\37\1\7\1\uffff\1\5\1\6\1\2\12\40\1\1\1\uffff\1\15\1\12\1\16\1\uffff\1\10\1\17\1\36\1\20\1\36\1\21\1\22\2\36\1\23\1\36\1\24\1\25\1\26\1\36\1\27\1\30\1\36\1\31\1\32\2\36\1\33\1\34\1\35\2\36\3\uffff\1\14\1\11\1\uffff\1\17\1\36\1\20\1\36\1\21\1\22\2\36\1\23\1\36\1\24\1\25\1\26\1\36\1\27\1\30\1\36\1\31\1\32\2\36\1\33\1\34\1\35\2\36\1\uffff\1\4\1\uffff\1\13\41\uffff\1\41\u15df\uffff\1\41\u097f\uffff\13\41\35\uffff\2\42\5\uffff\1\41\57\uffff\1\41\u0fa0\uffff\1\41\ucefe\uffff\1\41", + "", + "", + "", + "", + "", + "", "", "", "", "", "", "", + "\1\43", + "\1\45", "", "", "", "", - "\1\35", "", "", - "\1\37", "", "", "", @@ -1662,7 +1884,7 @@ public DFA9(BaseRecognizer recognizer) { this.transition = DFA9_transition; } public String getDescription() { - return "1:1: Tokens : ( T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | RULE_LETTER_S | RULE_LETTER_M | RULE_LETTER_R | RULE_LETTER_F | RULE_LETTER_I | RULE_LETTER_L | RULE_LETTER_E | RULE_LETTER_V | RULE_LETTER_X | RULE_LETTER_OTHER | RULE_ASTERIX | RULE_DIGITS | RULE_WS | RULE_EOL );"; + return "1:1: Tokens : ( T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | RULE_LETTER_A | RULE_LETTER_C | RULE_LETTER_E | RULE_LETTER_F | RULE_LETTER_I | RULE_LETTER_K | RULE_LETTER_L | RULE_LETTER_M | RULE_LETTER_O | RULE_LETTER_P | RULE_LETTER_R | RULE_LETTER_S | RULE_LETTER_V | RULE_LETTER_W | RULE_LETTER_X | RULE_LETTER_OTHER | RULE_ASTERIX | RULE_DIGITS | RULE_WS | RULE_EOL );"; } } diff --git a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemverParser.java b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemverParser.java index 4e94dc56bc..87a12eb941 100644 --- a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemverParser.java +++ b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/parser/antlr/internal/InternalSemverParser.java @@ -33,53 +33,59 @@ @SuppressWarnings("all") public class InternalSemverParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { - "", "", "", "", "RULE_WS", "RULE_LETTER_V", "RULE_DIGITS", "RULE_LETTER_F", "RULE_LETTER_I", "RULE_LETTER_L", "RULE_LETTER_E", "RULE_LETTER_S", "RULE_LETTER_M", "RULE_LETTER_R", "RULE_LETTER_X", "RULE_ASTERIX", "RULE_LETTER_OTHER", "RULE_WHITESPACE_FRAGMENT", "RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT", "RULE_EOL", "RULE_DECIMAL_DIGIT_FRAGMENT", "RULE_HEX_DIGIT", "RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT", "RULE_ZWJ", "RULE_ZWNJ", "RULE_BOM", "RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT", "RULE_LINE_TERMINATOR_FRAGMENT", "RULE_SL_COMMENT_FRAGMENT", "RULE_ML_COMMENT_FRAGMENT", "RULE_UNICODE_COMBINING_MARK_FRAGMENT", "RULE_UNICODE_DIGIT_FRAGMENT", "RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT", "RULE_UNICODE_LETTER_FRAGMENT", "RULE_ANY_OTHER", "':'", "'/'", "'#'", "'||'", "'-'", "'.'", "'+'", "'@'", "'_'", "'='", "'<'", "'~'", "'^'", "'<='", "'>'", "'>='" + "", "", "", "", "RULE_WS", "RULE_LETTER_V", "RULE_DIGITS", "RULE_LETTER_F", "RULE_LETTER_I", "RULE_LETTER_L", "RULE_LETTER_E", "RULE_LETTER_S", "RULE_LETTER_M", "RULE_LETTER_R", "RULE_LETTER_W", "RULE_LETTER_O", "RULE_LETTER_K", "RULE_LETTER_P", "RULE_LETTER_A", "RULE_LETTER_C", "RULE_ASTERIX", "RULE_LETTER_X", "RULE_LETTER_OTHER", "RULE_WHITESPACE_FRAGMENT", "RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT", "RULE_EOL", "RULE_DECIMAL_DIGIT_FRAGMENT", "RULE_HEX_DIGIT", "RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT", "RULE_ZWJ", "RULE_ZWNJ", "RULE_BOM", "RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT", "RULE_LINE_TERMINATOR_FRAGMENT", "RULE_SL_COMMENT_FRAGMENT", "RULE_ML_COMMENT_FRAGMENT", "RULE_UNICODE_COMBINING_MARK_FRAGMENT", "RULE_UNICODE_DIGIT_FRAGMENT", "RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT", "RULE_UNICODE_LETTER_FRAGMENT", "RULE_ANY_OTHER", "':'", "'/'", "'#'", "'||'", "'-'", "'.'", "'+'", "'@'", "'_'", "'='", "'~'", "'^'", "'<'", "'>'", "'<='", "'>='" }; public static final int T__50=50; - public static final int RULE_WHITESPACE_FRAGMENT=17; - public static final int RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=18; - public static final int RULE_EOL=19; - public static final int RULE_LETTER_OTHER=16; - public static final int RULE_UNICODE_COMBINING_MARK_FRAGMENT=30; - public static final int RULE_ZWNJ=24; - public static final int RULE_ASTERIX=15; + public static final int RULE_WHITESPACE_FRAGMENT=23; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int RULE_LINE_TERMINATOR_SEQUENCE_FRAGMENT=24; + public static final int RULE_EOL=25; + public static final int RULE_LETTER_OTHER=22; + public static final int RULE_UNICODE_COMBINING_MARK_FRAGMENT=36; + public static final int RULE_ZWNJ=30; + public static final int RULE_LETTER_A=18; + public static final int RULE_LETTER_C=19; + public static final int RULE_ASTERIX=20; public static final int RULE_LETTER_E=10; - public static final int RULE_ML_COMMENT_FRAGMENT=29; + public static final int RULE_ML_COMMENT_FRAGMENT=35; public static final int RULE_DIGITS=6; - public static final int RULE_ZWJ=23; - public static final int RULE_SL_COMMENT_FRAGMENT=28; - public static final int RULE_UNICODE_DIGIT_FRAGMENT=31; - public static final int T__37=37; + public static final int RULE_LETTER_O=15; + public static final int RULE_ZWJ=29; + public static final int RULE_SL_COMMENT_FRAGMENT=34; + public static final int RULE_LETTER_P=17; + public static final int RULE_UNICODE_DIGIT_FRAGMENT=37; public static final int RULE_LETTER_R=13; - public static final int T__38=38; public static final int RULE_LETTER_S=11; - public static final int T__39=39; public static final int RULE_LETTER_F=7; - public static final int RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=26; - public static final int T__35=35; - public static final int T__36=36; + public static final int RULE_UNICODE_SPACE_SEPARATOR_FRAGMENT=32; public static final int RULE_LETTER_I=8; public static final int EOF=-1; + public static final int RULE_LETTER_K=16; public static final int RULE_LETTER_L=9; public static final int RULE_LETTER_M=12; public static final int RULE_WS=4; - public static final int RULE_BOM=25; + public static final int RULE_BOM=31; public static final int RULE_LETTER_V=5; - public static final int RULE_LETTER_X=14; - public static final int RULE_ANY_OTHER=34; - public static final int RULE_LINE_TERMINATOR_FRAGMENT=27; - public static final int RULE_UNICODE_LETTER_FRAGMENT=33; - public static final int RULE_DECIMAL_DIGIT_FRAGMENT=20; + public static final int RULE_LETTER_W=14; + public static final int RULE_LETTER_X=21; + public static final int RULE_ANY_OTHER=40; + public static final int RULE_LINE_TERMINATOR_FRAGMENT=33; + public static final int RULE_UNICODE_LETTER_FRAGMENT=39; + public static final int RULE_DECIMAL_DIGIT_FRAGMENT=26; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; public static final int T__45=45; - public static final int RULE_HEX_DIGIT=21; - public static final int RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=22; - public static final int RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=32; + public static final int RULE_HEX_DIGIT=27; + public static final int RULE_DECIMAL_INTEGER_LITERAL_FRAGMENT=28; + public static final int RULE_UNICODE_CONNECTOR_PUNCTUATION_FRAGMENT=38; public static final int T__46=46; public static final int T__47=47; - public static final int T__40=40; public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; @@ -164,48 +170,50 @@ public final EObject entryRuleNPMVersionRequirement() throws RecognitionExceptio // $ANTLR start "ruleNPMVersionRequirement" - // InternalSemver.g:79:1: ruleNPMVersionRequirement returns [EObject current=null] : ( ( (this_WS_0= RULE_WS )? this_VersionRangeSetRequirement_1= ruleVersionRangeSetRequirement ) | ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) ) (this_WS_6= RULE_WS )? ) ) ; + // InternalSemver.g:79:1: ruleNPMVersionRequirement returns [EObject current=null] : ( ( (this_WS_0= RULE_WS )? this_VersionRangeSetRequirement_1= ruleVersionRangeSetRequirement ) | ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) ) (this_WS_7= RULE_WS )? ) ) ; public final EObject ruleNPMVersionRequirement() throws RecognitionException { EObject current = null; Token this_WS_0=null; - Token this_WS_6=null; + Token this_WS_7=null; EObject this_VersionRangeSetRequirement_1 = null; EObject this_LocalPathVersionRequirement_2 = null; EObject this_URLVersionRequirement_3 = null; - EObject this_GitHubVersionRequirement_4 = null; + EObject this_WorkspaceVersionRequirement_4 = null; + + EObject this_GitHubVersionRequirement_5 = null; - EObject this_TagVersionRequirement_5 = null; + EObject this_TagVersionRequirement_6 = null; enterRule(); try { - // InternalSemver.g:85:2: ( ( ( (this_WS_0= RULE_WS )? this_VersionRangeSetRequirement_1= ruleVersionRangeSetRequirement ) | ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) ) (this_WS_6= RULE_WS )? ) ) ) - // InternalSemver.g:86:2: ( ( (this_WS_0= RULE_WS )? this_VersionRangeSetRequirement_1= ruleVersionRangeSetRequirement ) | ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) ) (this_WS_6= RULE_WS )? ) ) + // InternalSemver.g:85:2: ( ( ( (this_WS_0= RULE_WS )? this_VersionRangeSetRequirement_1= ruleVersionRangeSetRequirement ) | ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) ) (this_WS_7= RULE_WS )? ) ) ) + // InternalSemver.g:86:2: ( ( (this_WS_0= RULE_WS )? this_VersionRangeSetRequirement_1= ruleVersionRangeSetRequirement ) | ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) ) (this_WS_7= RULE_WS )? ) ) { - // InternalSemver.g:86:2: ( ( (this_WS_0= RULE_WS )? this_VersionRangeSetRequirement_1= ruleVersionRangeSetRequirement ) | ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) ) (this_WS_6= RULE_WS )? ) ) - int alt5=2; - int LA5_0 = input.LA(1); + // InternalSemver.g:86:2: ( ( (this_WS_0= RULE_WS )? this_VersionRangeSetRequirement_1= ruleVersionRangeSetRequirement ) | ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) ) (this_WS_7= RULE_WS )? ) ) + int alt6=2; + int LA6_0 = input.LA(1); - if ( (LA5_0==EOF||(LA5_0>=RULE_WS && LA5_0<=RULE_DIGITS)||(LA5_0>=RULE_LETTER_X && LA5_0<=RULE_ASTERIX)||(LA5_0>=44 && LA5_0<=50)) ) { - alt5=1; + if ( (LA6_0==EOF||(LA6_0>=RULE_WS && LA6_0<=RULE_DIGITS)||(LA6_0>=RULE_ASTERIX && LA6_0<=RULE_LETTER_X)||(LA6_0>=50 && LA6_0<=56)) ) { + alt6=1; } - else if ( ((LA5_0>=RULE_LETTER_F && LA5_0<=RULE_LETTER_R)||LA5_0==RULE_LETTER_OTHER||LA5_0==39||LA5_0==43) ) { - alt5=2; + else if ( ((LA6_0>=RULE_LETTER_F && LA6_0<=RULE_LETTER_C)||LA6_0==RULE_LETTER_OTHER||LA6_0==45||LA6_0==49) ) { + alt6=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 5, 0, input); + new NoViableAltException("", 6, 0, input); throw nvae; } - switch (alt5) { + switch (alt6) { case 1 : // InternalSemver.g:87:3: ( (this_WS_0= RULE_WS )? this_VersionRangeSetRequirement_1= ruleVersionRangeSetRequirement ) { @@ -258,15 +266,15 @@ else if ( ((LA5_0>=RULE_LETTER_F && LA5_0<=RULE_LETTER_R)||LA5_0==RULE_LETTER_OT } break; case 2 : - // InternalSemver.g:104:3: ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) ) (this_WS_6= RULE_WS )? ) + // InternalSemver.g:104:3: ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) ) (this_WS_7= RULE_WS )? ) { - // InternalSemver.g:104:3: ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) ) (this_WS_6= RULE_WS )? ) - // InternalSemver.g:105:4: ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) ) (this_WS_6= RULE_WS )? + // InternalSemver.g:104:3: ( ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) ) (this_WS_7= RULE_WS )? ) + // InternalSemver.g:105:4: ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) ) (this_WS_7= RULE_WS )? { - // InternalSemver.g:105:4: ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) ) - int alt3=2; - alt3 = dfa3.predict(input); - switch (alt3) { + // InternalSemver.g:105:4: ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) ) + int alt4=2; + alt4 = dfa4.predict(input); + switch (alt4) { case 1 : // InternalSemver.g:106:5: ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) { @@ -296,12 +304,12 @@ else if ( ((LA5_0>=RULE_LETTER_F && LA5_0<=RULE_LETTER_R)||LA5_0==RULE_LETTER_OT } break; case 2 : - // InternalSemver.g:118:5: ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) + // InternalSemver.g:118:5: ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) { - // InternalSemver.g:118:5: ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) - int alt2=3; - alt2 = dfa2.predict(input); - switch (alt2) { + // InternalSemver.g:118:5: ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) + int alt3=2; + alt3 = dfa3.predict(input); + switch (alt3) { case 1 : // InternalSemver.g:119:6: ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) { @@ -331,46 +339,87 @@ else if ( ((LA5_0>=RULE_LETTER_F && LA5_0<=RULE_LETTER_R)||LA5_0==RULE_LETTER_OT } break; case 2 : - // InternalSemver.g:131:6: this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement - { - if ( state.backtracking==0 ) { - - newCompositeNode(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1()); - - } - pushFollow(FOLLOW_4); - this_GitHubVersionRequirement_4=ruleGitHubVersionRequirement(); - - state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - current = this_GitHubVersionRequirement_4; - afterParserOrEnumRuleCall(); - - } - - } - break; - case 3 : - // InternalSemver.g:140:6: this_TagVersionRequirement_5= ruleTagVersionRequirement + // InternalSemver.g:131:6: ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) { - if ( state.backtracking==0 ) { + // InternalSemver.g:131:6: ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) + int alt2=3; + alt2 = dfa2.predict(input); + switch (alt2) { + case 1 : + // InternalSemver.g:132:7: ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) + { + // InternalSemver.g:132:7: ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) + // InternalSemver.g:133:8: ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getNPMVersionRequirementAccess().getWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0()); + + } + pushFollow(FOLLOW_4); + this_WorkspaceVersionRequirement_4=ruleWorkspaceVersionRequirement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_WorkspaceVersionRequirement_4; + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + case 2 : + // InternalSemver.g:144:7: this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getNPMVersionRequirementAccess().getGitHubVersionRequirementParserRuleCall_1_0_1_1_1()); + + } + pushFollow(FOLLOW_4); + this_GitHubVersionRequirement_5=ruleGitHubVersionRequirement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_GitHubVersionRequirement_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalSemver.g:153:7: this_TagVersionRequirement_6= ruleTagVersionRequirement + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_1_2()); + + } + pushFollow(FOLLOW_4); + this_TagVersionRequirement_6=ruleTagVersionRequirement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_TagVersionRequirement_6; + afterParserOrEnumRuleCall(); + + } + + } + break; - newCompositeNode(grammarAccess.getNPMVersionRequirementAccess().getTagVersionRequirementParserRuleCall_1_0_1_2()); - } - pushFollow(FOLLOW_4); - this_TagVersionRequirement_5=ruleTagVersionRequirement(); - state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - current = this_TagVersionRequirement_5; - afterParserOrEnumRuleCall(); - - } } break; @@ -383,21 +432,21 @@ else if ( ((LA5_0>=RULE_LETTER_F && LA5_0<=RULE_LETTER_R)||LA5_0==RULE_LETTER_OT } - // InternalSemver.g:150:4: (this_WS_6= RULE_WS )? - int alt4=2; - int LA4_0 = input.LA(1); + // InternalSemver.g:164:4: (this_WS_7= RULE_WS )? + int alt5=2; + int LA5_0 = input.LA(1); - if ( (LA4_0==RULE_WS) ) { - alt4=1; + if ( (LA5_0==RULE_WS) ) { + alt5=1; } - switch (alt4) { + switch (alt5) { case 1 : - // InternalSemver.g:151:5: this_WS_6= RULE_WS + // InternalSemver.g:165:5: this_WS_7= RULE_WS { - this_WS_6=(Token)match(input,RULE_WS,FOLLOW_2); if (state.failed) return current; + this_WS_7=(Token)match(input,RULE_WS,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - newLeafNode(this_WS_6, grammarAccess.getNPMVersionRequirementAccess().getWSTerminalRuleCall_1_1()); + newLeafNode(this_WS_7, grammarAccess.getNPMVersionRequirementAccess().getWSTerminalRuleCall_1_1()); } @@ -437,7 +486,7 @@ else if ( ((LA5_0>=RULE_LETTER_F && LA5_0<=RULE_LETTER_R)||LA5_0==RULE_LETTER_OT // $ANTLR start "entryRuleLocalPathVersionRequirement" - // InternalSemver.g:161:1: entryRuleLocalPathVersionRequirement returns [EObject current=null] : iv_ruleLocalPathVersionRequirement= ruleLocalPathVersionRequirement EOF ; + // InternalSemver.g:175:1: entryRuleLocalPathVersionRequirement returns [EObject current=null] : iv_ruleLocalPathVersionRequirement= ruleLocalPathVersionRequirement EOF ; public final EObject entryRuleLocalPathVersionRequirement() throws RecognitionException { EObject current = null; @@ -445,8 +494,8 @@ public final EObject entryRuleLocalPathVersionRequirement() throws RecognitionEx try { - // InternalSemver.g:161:68: (iv_ruleLocalPathVersionRequirement= ruleLocalPathVersionRequirement EOF ) - // InternalSemver.g:162:2: iv_ruleLocalPathVersionRequirement= ruleLocalPathVersionRequirement EOF + // InternalSemver.g:175:68: (iv_ruleLocalPathVersionRequirement= ruleLocalPathVersionRequirement EOF ) + // InternalSemver.g:176:2: iv_ruleLocalPathVersionRequirement= ruleLocalPathVersionRequirement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLocalPathVersionRequirementRule()); @@ -477,7 +526,7 @@ public final EObject entryRuleLocalPathVersionRequirement() throws RecognitionEx // $ANTLR start "ruleLocalPathVersionRequirement" - // InternalSemver.g:168:1: ruleLocalPathVersionRequirement returns [EObject current=null] : ( ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) ) ; + // InternalSemver.g:182:1: ruleLocalPathVersionRequirement returns [EObject current=null] : ( ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) ) ; public final EObject ruleLocalPathVersionRequirement() throws RecognitionException { EObject current = null; @@ -488,11 +537,11 @@ public final EObject ruleLocalPathVersionRequirement() throws RecognitionExcepti enterRule(); try { - // InternalSemver.g:174:2: ( ( ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) ) ) - // InternalSemver.g:175:2: ( ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) ) + // InternalSemver.g:188:2: ( ( ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) ) ) + // InternalSemver.g:189:2: ( ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) ) { - // InternalSemver.g:175:2: ( ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) ) - // InternalSemver.g:176:3: ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) + // InternalSemver.g:189:2: ( ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) ) + // InternalSemver.g:190:3: ruleFILE_TAG ( (lv_localPath_1_0= rulePATH ) ) { if ( state.backtracking==0 ) { @@ -509,11 +558,11 @@ public final EObject ruleLocalPathVersionRequirement() throws RecognitionExcepti afterParserOrEnumRuleCall(); } - // InternalSemver.g:183:3: ( (lv_localPath_1_0= rulePATH ) ) - // InternalSemver.g:184:4: (lv_localPath_1_0= rulePATH ) + // InternalSemver.g:197:3: ( (lv_localPath_1_0= rulePATH ) ) + // InternalSemver.g:198:4: (lv_localPath_1_0= rulePATH ) { - // InternalSemver.g:184:4: (lv_localPath_1_0= rulePATH ) - // InternalSemver.g:185:5: lv_localPath_1_0= rulePATH + // InternalSemver.g:198:4: (lv_localPath_1_0= rulePATH ) + // InternalSemver.g:199:5: lv_localPath_1_0= rulePATH { if ( state.backtracking==0 ) { @@ -569,7 +618,7 @@ public final EObject ruleLocalPathVersionRequirement() throws RecognitionExcepti // $ANTLR start "entryRuleURLVersionRequirement" - // InternalSemver.g:206:1: entryRuleURLVersionRequirement returns [EObject current=null] : iv_ruleURLVersionRequirement= ruleURLVersionRequirement EOF ; + // InternalSemver.g:220:1: entryRuleURLVersionRequirement returns [EObject current=null] : iv_ruleURLVersionRequirement= ruleURLVersionRequirement EOF ; public final EObject entryRuleURLVersionRequirement() throws RecognitionException { EObject current = null; @@ -577,8 +626,8 @@ public final EObject entryRuleURLVersionRequirement() throws RecognitionExceptio try { - // InternalSemver.g:206:62: (iv_ruleURLVersionRequirement= ruleURLVersionRequirement EOF ) - // InternalSemver.g:207:2: iv_ruleURLVersionRequirement= ruleURLVersionRequirement EOF + // InternalSemver.g:220:62: (iv_ruleURLVersionRequirement= ruleURLVersionRequirement EOF ) + // InternalSemver.g:221:2: iv_ruleURLVersionRequirement= ruleURLVersionRequirement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURLVersionRequirementRule()); @@ -609,7 +658,7 @@ public final EObject entryRuleURLVersionRequirement() throws RecognitionExceptio // $ANTLR start "ruleURLVersionRequirement" - // InternalSemver.g:213:1: ruleURLVersionRequirement returns [EObject current=null] : ( ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? ) ; + // InternalSemver.g:227:1: ruleURLVersionRequirement returns [EObject current=null] : ( ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? ) ; public final EObject ruleURLVersionRequirement() throws RecognitionException { EObject current = null; @@ -628,17 +677,17 @@ public final EObject ruleURLVersionRequirement() throws RecognitionException { enterRule(); try { - // InternalSemver.g:219:2: ( ( ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? ) ) - // InternalSemver.g:220:2: ( ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? ) + // InternalSemver.g:233:2: ( ( ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? ) ) + // InternalSemver.g:234:2: ( ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? ) { - // InternalSemver.g:220:2: ( ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? ) - // InternalSemver.g:221:3: ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? + // InternalSemver.g:234:2: ( ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? ) + // InternalSemver.g:235:3: ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) ( (lv_url_4_0= ruleURL ) ) (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? { - // InternalSemver.g:221:3: ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) - // InternalSemver.g:222:4: (lv_protocol_0_0= ruleURL_PROTOCOL ) + // InternalSemver.g:235:3: ( (lv_protocol_0_0= ruleURL_PROTOCOL ) ) + // InternalSemver.g:236:4: (lv_protocol_0_0= ruleURL_PROTOCOL ) { - // InternalSemver.g:222:4: (lv_protocol_0_0= ruleURL_PROTOCOL ) - // InternalSemver.g:223:5: lv_protocol_0_0= ruleURL_PROTOCOL + // InternalSemver.g:236:4: (lv_protocol_0_0= ruleURL_PROTOCOL ) + // InternalSemver.g:237:5: lv_protocol_0_0= ruleURL_PROTOCOL { if ( state.backtracking==0 ) { @@ -669,22 +718,22 @@ public final EObject ruleURLVersionRequirement() throws RecognitionException { } - // InternalSemver.g:240:3: (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) - // InternalSemver.g:241:4: otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' + // InternalSemver.g:254:3: (otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' ) + // InternalSemver.g:255:4: otherlv_1= ':' otherlv_2= '/' otherlv_3= '/' { - otherlv_1=(Token)match(input,35,FOLLOW_7); if (state.failed) return current; + otherlv_1=(Token)match(input,41,FOLLOW_7); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getURLVersionRequirementAccess().getColonKeyword_1_0()); } - otherlv_2=(Token)match(input,36,FOLLOW_7); if (state.failed) return current; + otherlv_2=(Token)match(input,42,FOLLOW_7); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getURLVersionRequirementAccess().getSolidusKeyword_1_1()); } - otherlv_3=(Token)match(input,36,FOLLOW_8); if (state.failed) return current; + otherlv_3=(Token)match(input,42,FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getURLVersionRequirementAccess().getSolidusKeyword_1_2()); @@ -693,11 +742,11 @@ public final EObject ruleURLVersionRequirement() throws RecognitionException { } - // InternalSemver.g:254:3: ( (lv_url_4_0= ruleURL ) ) - // InternalSemver.g:255:4: (lv_url_4_0= ruleURL ) + // InternalSemver.g:268:3: ( (lv_url_4_0= ruleURL ) ) + // InternalSemver.g:269:4: (lv_url_4_0= ruleURL ) { - // InternalSemver.g:255:4: (lv_url_4_0= ruleURL ) - // InternalSemver.g:256:5: lv_url_4_0= ruleURL + // InternalSemver.g:269:4: (lv_url_4_0= ruleURL ) + // InternalSemver.g:270:5: lv_url_4_0= ruleURL { if ( state.backtracking==0 ) { @@ -728,28 +777,28 @@ public final EObject ruleURLVersionRequirement() throws RecognitionException { } - // InternalSemver.g:273:3: (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? - int alt6=2; - int LA6_0 = input.LA(1); + // InternalSemver.g:287:3: (otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) )? + int alt7=2; + int LA7_0 = input.LA(1); - if ( (LA6_0==37) ) { - alt6=1; + if ( (LA7_0==43) ) { + alt7=1; } - switch (alt6) { + switch (alt7) { case 1 : - // InternalSemver.g:274:4: otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) + // InternalSemver.g:288:4: otherlv_5= '#' ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) { - otherlv_5=(Token)match(input,37,FOLLOW_10); if (state.failed) return current; + otherlv_5=(Token)match(input,43,FOLLOW_10); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getURLVersionRequirementAccess().getNumberSignKeyword_3_0()); } - // InternalSemver.g:278:4: ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) - // InternalSemver.g:279:5: (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) + // InternalSemver.g:292:4: ( (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) ) + // InternalSemver.g:293:5: (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) { - // InternalSemver.g:279:5: (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) - // InternalSemver.g:280:6: lv_versionSpecifier_6_0= ruleURLVersionSpecifier + // InternalSemver.g:293:5: (lv_versionSpecifier_6_0= ruleURLVersionSpecifier ) + // InternalSemver.g:294:6: lv_versionSpecifier_6_0= ruleURLVersionSpecifier { if ( state.backtracking==0 ) { @@ -811,7 +860,7 @@ public final EObject ruleURLVersionRequirement() throws RecognitionException { // $ANTLR start "entryRuleURLVersionSpecifier" - // InternalSemver.g:302:1: entryRuleURLVersionSpecifier returns [EObject current=null] : iv_ruleURLVersionSpecifier= ruleURLVersionSpecifier EOF ; + // InternalSemver.g:316:1: entryRuleURLVersionSpecifier returns [EObject current=null] : iv_ruleURLVersionSpecifier= ruleURLVersionSpecifier EOF ; public final EObject entryRuleURLVersionSpecifier() throws RecognitionException { EObject current = null; @@ -819,8 +868,8 @@ public final EObject entryRuleURLVersionSpecifier() throws RecognitionException try { - // InternalSemver.g:302:60: (iv_ruleURLVersionSpecifier= ruleURLVersionSpecifier EOF ) - // InternalSemver.g:303:2: iv_ruleURLVersionSpecifier= ruleURLVersionSpecifier EOF + // InternalSemver.g:316:60: (iv_ruleURLVersionSpecifier= ruleURLVersionSpecifier EOF ) + // InternalSemver.g:317:2: iv_ruleURLVersionSpecifier= ruleURLVersionSpecifier EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURLVersionSpecifierRule()); @@ -851,7 +900,7 @@ public final EObject entryRuleURLVersionSpecifier() throws RecognitionException // $ANTLR start "ruleURLVersionSpecifier" - // InternalSemver.g:309:1: ruleURLVersionSpecifier returns [EObject current=null] : ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) ) ; + // InternalSemver.g:323:1: ruleURLVersionSpecifier returns [EObject current=null] : ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) ) ; public final EObject ruleURLVersionSpecifier() throws RecognitionException { EObject current = null; @@ -866,18 +915,18 @@ public final EObject ruleURLVersionSpecifier() throws RecognitionException { enterRule(); try { - // InternalSemver.g:315:2: ( ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) ) ) - // InternalSemver.g:316:2: ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) ) + // InternalSemver.g:329:2: ( ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) ) ) + // InternalSemver.g:330:2: ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) ) { - // InternalSemver.g:316:2: ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) ) - int alt7=3; - alt7 = dfa7.predict(input); - switch (alt7) { + // InternalSemver.g:330:2: ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) ) + int alt8=3; + alt8 = dfa8.predict(input); + switch (alt8) { case 1 : - // InternalSemver.g:317:3: ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) + // InternalSemver.g:331:3: ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) { - // InternalSemver.g:317:3: ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) - // InternalSemver.g:318:4: ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver + // InternalSemver.g:331:3: ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) + // InternalSemver.g:332:4: ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver { if ( state.backtracking==0 ) { @@ -902,13 +951,13 @@ public final EObject ruleURLVersionSpecifier() throws RecognitionException { } break; case 2 : - // InternalSemver.g:330:3: ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) + // InternalSemver.g:344:3: ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) { - // InternalSemver.g:330:3: ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) - // InternalSemver.g:331:4: () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) + // InternalSemver.g:344:3: ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) + // InternalSemver.g:345:4: () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) { - // InternalSemver.g:331:4: () - // InternalSemver.g:332:5: + // InternalSemver.g:345:4: () + // InternalSemver.g:346:5: { if ( state.backtracking==0 ) { @@ -920,11 +969,11 @@ public final EObject ruleURLVersionSpecifier() throws RecognitionException { } - // InternalSemver.g:338:4: ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) - // InternalSemver.g:339:5: (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) + // InternalSemver.g:352:4: ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) + // InternalSemver.g:353:5: (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) { - // InternalSemver.g:339:5: (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) - // InternalSemver.g:340:6: lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS + // InternalSemver.g:353:5: (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) + // InternalSemver.g:354:6: lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS { if ( state.backtracking==0 ) { @@ -962,13 +1011,13 @@ public final EObject ruleURLVersionSpecifier() throws RecognitionException { } break; case 3 : - // InternalSemver.g:359:3: ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) + // InternalSemver.g:373:3: ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) { - // InternalSemver.g:359:3: ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) - // InternalSemver.g:360:4: () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:373:3: ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) + // InternalSemver.g:374:4: () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) { - // InternalSemver.g:360:4: () - // InternalSemver.g:361:5: + // InternalSemver.g:374:4: () + // InternalSemver.g:375:5: { if ( state.backtracking==0 ) { @@ -980,11 +1029,11 @@ public final EObject ruleURLVersionSpecifier() throws RecognitionException { } - // InternalSemver.g:367:4: ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) - // InternalSemver.g:368:5: (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:381:4: ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:382:5: (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:368:5: (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) - // InternalSemver.g:369:6: lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS + // InternalSemver.g:382:5: (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:383:6: lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS { if ( state.backtracking==0 ) { @@ -1046,7 +1095,7 @@ public final EObject ruleURLVersionSpecifier() throws RecognitionException { // $ANTLR start "entryRuleURLSemver" - // InternalSemver.g:391:1: entryRuleURLSemver returns [EObject current=null] : iv_ruleURLSemver= ruleURLSemver EOF ; + // InternalSemver.g:405:1: entryRuleURLSemver returns [EObject current=null] : iv_ruleURLSemver= ruleURLSemver EOF ; public final EObject entryRuleURLSemver() throws RecognitionException { EObject current = null; @@ -1054,8 +1103,8 @@ public final EObject entryRuleURLSemver() throws RecognitionException { try { - // InternalSemver.g:391:50: (iv_ruleURLSemver= ruleURLSemver EOF ) - // InternalSemver.g:392:2: iv_ruleURLSemver= ruleURLSemver EOF + // InternalSemver.g:405:50: (iv_ruleURLSemver= ruleURLSemver EOF ) + // InternalSemver.g:406:2: iv_ruleURLSemver= ruleURLSemver EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURLSemverRule()); @@ -1086,7 +1135,7 @@ public final EObject entryRuleURLSemver() throws RecognitionException { // $ANTLR start "ruleURLSemver" - // InternalSemver.g:398:1: ruleURLSemver returns [EObject current=null] : ( () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) ) ; + // InternalSemver.g:412:1: ruleURLSemver returns [EObject current=null] : ( () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) ) ; public final EObject ruleURLSemver() throws RecognitionException { EObject current = null; @@ -1099,14 +1148,14 @@ public final EObject ruleURLSemver() throws RecognitionException { enterRule(); try { - // InternalSemver.g:404:2: ( ( () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) ) ) - // InternalSemver.g:405:2: ( () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) ) + // InternalSemver.g:418:2: ( ( () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) ) ) + // InternalSemver.g:419:2: ( () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) ) { - // InternalSemver.g:405:2: ( () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) ) - // InternalSemver.g:406:3: () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) + // InternalSemver.g:419:2: ( () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) ) + // InternalSemver.g:420:3: () ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) { - // InternalSemver.g:406:3: () - // InternalSemver.g:407:4: + // InternalSemver.g:420:3: () + // InternalSemver.g:421:4: { if ( state.backtracking==0 ) { @@ -1118,19 +1167,19 @@ public final EObject ruleURLSemver() throws RecognitionException { } - // InternalSemver.g:413:3: ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? - int alt8=2; - int LA8_0 = input.LA(1); + // InternalSemver.g:427:3: ( (lv_withSemverTag_1_0= ruleSEMVER_TAG ) )? + int alt9=2; + int LA9_0 = input.LA(1); - if ( (LA8_0==RULE_LETTER_S) ) { - alt8=1; + if ( (LA9_0==RULE_LETTER_S) ) { + alt9=1; } - switch (alt8) { + switch (alt9) { case 1 : - // InternalSemver.g:414:4: (lv_withSemverTag_1_0= ruleSEMVER_TAG ) + // InternalSemver.g:428:4: (lv_withSemverTag_1_0= ruleSEMVER_TAG ) { - // InternalSemver.g:414:4: (lv_withSemverTag_1_0= ruleSEMVER_TAG ) - // InternalSemver.g:415:5: lv_withSemverTag_1_0= ruleSEMVER_TAG + // InternalSemver.g:428:4: (lv_withSemverTag_1_0= ruleSEMVER_TAG ) + // InternalSemver.g:429:5: lv_withSemverTag_1_0= ruleSEMVER_TAG { if ( state.backtracking==0 ) { @@ -1164,11 +1213,11 @@ public final EObject ruleURLSemver() throws RecognitionException { } - // InternalSemver.g:432:3: ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) - // InternalSemver.g:433:4: (lv_simpleVersion_2_0= ruleSimpleVersion ) + // InternalSemver.g:446:3: ( (lv_simpleVersion_2_0= ruleSimpleVersion ) ) + // InternalSemver.g:447:4: (lv_simpleVersion_2_0= ruleSimpleVersion ) { - // InternalSemver.g:433:4: (lv_simpleVersion_2_0= ruleSimpleVersion ) - // InternalSemver.g:434:5: lv_simpleVersion_2_0= ruleSimpleVersion + // InternalSemver.g:447:4: (lv_simpleVersion_2_0= ruleSimpleVersion ) + // InternalSemver.g:448:5: lv_simpleVersion_2_0= ruleSimpleVersion { if ( state.backtracking==0 ) { @@ -1223,28 +1272,28 @@ public final EObject ruleURLSemver() throws RecognitionException { // $ANTLR end "ruleURLSemver" - // $ANTLR start "entryRuleTagVersionRequirement" - // InternalSemver.g:455:1: entryRuleTagVersionRequirement returns [EObject current=null] : iv_ruleTagVersionRequirement= ruleTagVersionRequirement EOF ; - public final EObject entryRuleTagVersionRequirement() throws RecognitionException { + // $ANTLR start "entryRuleWorkspaceVersionRequirement" + // InternalSemver.g:469:1: entryRuleWorkspaceVersionRequirement returns [EObject current=null] : iv_ruleWorkspaceVersionRequirement= ruleWorkspaceVersionRequirement EOF ; + public final EObject entryRuleWorkspaceVersionRequirement() throws RecognitionException { EObject current = null; - EObject iv_ruleTagVersionRequirement = null; + EObject iv_ruleWorkspaceVersionRequirement = null; try { - // InternalSemver.g:455:62: (iv_ruleTagVersionRequirement= ruleTagVersionRequirement EOF ) - // InternalSemver.g:456:2: iv_ruleTagVersionRequirement= ruleTagVersionRequirement EOF + // InternalSemver.g:469:68: (iv_ruleWorkspaceVersionRequirement= ruleWorkspaceVersionRequirement EOF ) + // InternalSemver.g:470:2: iv_ruleWorkspaceVersionRequirement= ruleWorkspaceVersionRequirement EOF { if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getTagVersionRequirementRule()); + newCompositeNode(grammarAccess.getWorkspaceVersionRequirementRule()); } pushFollow(FOLLOW_1); - iv_ruleTagVersionRequirement=ruleTagVersionRequirement(); + iv_ruleWorkspaceVersionRequirement=ruleWorkspaceVersionRequirement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { - current =iv_ruleTagVersionRequirement; + current =iv_ruleWorkspaceVersionRequirement; } match(input,EOF,FOLLOW_2); if (state.failed) return current; @@ -1260,53 +1309,130 @@ public final EObject entryRuleTagVersionRequirement() throws RecognitionExceptio } return current; } - // $ANTLR end "entryRuleTagVersionRequirement" + // $ANTLR end "entryRuleWorkspaceVersionRequirement" - // $ANTLR start "ruleTagVersionRequirement" - // InternalSemver.g:462:1: ruleTagVersionRequirement returns [EObject current=null] : ( (lv_tagName_0_0= ruleTAG ) ) ; - public final EObject ruleTagVersionRequirement() throws RecognitionException { + // $ANTLR start "ruleWorkspaceVersionRequirement" + // InternalSemver.g:476:1: ruleWorkspaceVersionRequirement returns [EObject current=null] : ( ruleWORKSPACE_TAG ( ( ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) ) | ( (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) ) ) ) ; + public final EObject ruleWorkspaceVersionRequirement() throws RecognitionException { EObject current = null; - AntlrDatatypeRuleToken lv_tagName_0_0 = null; + EObject lv_version_1_0 = null; + + AntlrDatatypeRuleToken lv_otherVersion_2_0 = null; enterRule(); try { - // InternalSemver.g:468:2: ( ( (lv_tagName_0_0= ruleTAG ) ) ) - // InternalSemver.g:469:2: ( (lv_tagName_0_0= ruleTAG ) ) - { - // InternalSemver.g:469:2: ( (lv_tagName_0_0= ruleTAG ) ) - // InternalSemver.g:470:3: (lv_tagName_0_0= ruleTAG ) + // InternalSemver.g:482:2: ( ( ruleWORKSPACE_TAG ( ( ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) ) | ( (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) ) ) ) ) + // InternalSemver.g:483:2: ( ruleWORKSPACE_TAG ( ( ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) ) | ( (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) ) ) ) { - // InternalSemver.g:470:3: (lv_tagName_0_0= ruleTAG ) - // InternalSemver.g:471:4: lv_tagName_0_0= ruleTAG + // InternalSemver.g:483:2: ( ruleWORKSPACE_TAG ( ( ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) ) | ( (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) ) ) ) + // InternalSemver.g:484:3: ruleWORKSPACE_TAG ( ( ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) ) | ( (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) ) ) { if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); - + newCompositeNode(grammarAccess.getWorkspaceVersionRequirementAccess().getWORKSPACE_TAGParserRuleCall_0()); + } - pushFollow(FOLLOW_2); - lv_tagName_0_0=ruleTAG(); + pushFollow(FOLLOW_11); + ruleWORKSPACE_TAG(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { - if (current==null) { - current = createModelElementForParent(grammarAccess.getTagVersionRequirementRule()); - } - set( - current, - "tagName", - lv_tagName_0_0, - "org.eclipse.n4js.semver.Semver.TAG"); - afterParserOrEnumRuleCall(); - + afterParserOrEnumRuleCall(); + } + // InternalSemver.g:491:3: ( ( ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) ) | ( (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) ) ) + int alt10=2; + alt10 = dfa10.predict(input); + switch (alt10) { + case 1 : + // InternalSemver.g:492:4: ( ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) ) + { + // InternalSemver.g:492:4: ( ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) ) + // InternalSemver.g:493:5: ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) + { + // InternalSemver.g:497:5: (lv_version_1_0= ruleSimpleVersion ) + // InternalSemver.g:498:6: lv_version_1_0= ruleSimpleVersion + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getWorkspaceVersionRequirementAccess().getVersionSimpleVersionParserRuleCall_1_0_0()); + + } + pushFollow(FOLLOW_2); + lv_version_1_0=ruleSimpleVersion(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getWorkspaceVersionRequirementRule()); + } + set( + current, + "version", + lv_version_1_0, + "org.eclipse.n4js.semver.Semver.SimpleVersion"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalSemver.g:516:4: ( (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) ) + { + // InternalSemver.g:516:4: ( (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) ) + // InternalSemver.g:517:5: (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) + { + // InternalSemver.g:517:5: (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) + // InternalSemver.g:518:6: lv_otherVersion_2_0= ruleWORKSPACE_VERSION + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getWorkspaceVersionRequirementAccess().getOtherVersionWORKSPACE_VERSIONParserRuleCall_1_1_0()); + + } + pushFollow(FOLLOW_2); + lv_otherVersion_2_0=ruleWORKSPACE_VERSION(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getWorkspaceVersionRequirementRule()); + } + set( + current, + "otherVersion", + lv_otherVersion_2_0, + "org.eclipse.n4js.semver.Semver.WORKSPACE_VERSION"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; } @@ -1331,11 +1457,11 @@ public final EObject ruleTagVersionRequirement() throws RecognitionException { } return current; } - // $ANTLR end "ruleTagVersionRequirement" + // $ANTLR end "ruleWorkspaceVersionRequirement" // $ANTLR start "entryRuleGitHubVersionRequirement" - // InternalSemver.g:491:1: entryRuleGitHubVersionRequirement returns [EObject current=null] : iv_ruleGitHubVersionRequirement= ruleGitHubVersionRequirement EOF ; + // InternalSemver.g:540:1: entryRuleGitHubVersionRequirement returns [EObject current=null] : iv_ruleGitHubVersionRequirement= ruleGitHubVersionRequirement EOF ; public final EObject entryRuleGitHubVersionRequirement() throws RecognitionException { EObject current = null; @@ -1343,8 +1469,8 @@ public final EObject entryRuleGitHubVersionRequirement() throws RecognitionExcep try { - // InternalSemver.g:491:65: (iv_ruleGitHubVersionRequirement= ruleGitHubVersionRequirement EOF ) - // InternalSemver.g:492:2: iv_ruleGitHubVersionRequirement= ruleGitHubVersionRequirement EOF + // InternalSemver.g:540:65: (iv_ruleGitHubVersionRequirement= ruleGitHubVersionRequirement EOF ) + // InternalSemver.g:541:2: iv_ruleGitHubVersionRequirement= ruleGitHubVersionRequirement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getGitHubVersionRequirementRule()); @@ -1375,7 +1501,7 @@ public final EObject entryRuleGitHubVersionRequirement() throws RecognitionExcep // $ANTLR start "ruleGitHubVersionRequirement" - // InternalSemver.g:498:1: ruleGitHubVersionRequirement returns [EObject current=null] : ( ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? ) ; + // InternalSemver.g:547:1: ruleGitHubVersionRequirement returns [EObject current=null] : ( ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? ) ; public final EObject ruleGitHubVersionRequirement() throws RecognitionException { EObject current = null; @@ -1389,17 +1515,17 @@ public final EObject ruleGitHubVersionRequirement() throws RecognitionException enterRule(); try { - // InternalSemver.g:504:2: ( ( ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? ) ) - // InternalSemver.g:505:2: ( ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? ) + // InternalSemver.g:553:2: ( ( ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? ) ) + // InternalSemver.g:554:2: ( ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? ) { - // InternalSemver.g:505:2: ( ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? ) - // InternalSemver.g:506:3: ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? + // InternalSemver.g:554:2: ( ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? ) + // InternalSemver.g:555:3: ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? { - // InternalSemver.g:506:3: ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) - // InternalSemver.g:507:4: (lv_githubUrl_0_0= ruleURL_NO_VX ) + // InternalSemver.g:555:3: ( (lv_githubUrl_0_0= ruleURL_NO_VX ) ) + // InternalSemver.g:556:4: (lv_githubUrl_0_0= ruleURL_NO_VX ) { - // InternalSemver.g:507:4: (lv_githubUrl_0_0= ruleURL_NO_VX ) - // InternalSemver.g:508:5: lv_githubUrl_0_0= ruleURL_NO_VX + // InternalSemver.g:556:4: (lv_githubUrl_0_0= ruleURL_NO_VX ) + // InternalSemver.g:557:5: lv_githubUrl_0_0= ruleURL_NO_VX { if ( state.backtracking==0 ) { @@ -1430,28 +1556,28 @@ public final EObject ruleGitHubVersionRequirement() throws RecognitionException } - // InternalSemver.g:525:3: (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? - int alt9=2; - int LA9_0 = input.LA(1); + // InternalSemver.g:574:3: (otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) )? + int alt11=2; + int LA11_0 = input.LA(1); - if ( (LA9_0==37) ) { - alt9=1; + if ( (LA11_0==43) ) { + alt11=1; } - switch (alt9) { + switch (alt11) { case 1 : - // InternalSemver.g:526:4: otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:575:4: otherlv_1= '#' ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) { - otherlv_1=(Token)match(input,37,FOLLOW_10); if (state.failed) return current; + otherlv_1=(Token)match(input,43,FOLLOW_10); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getGitHubVersionRequirementAccess().getNumberSignKeyword_1_0()); } - // InternalSemver.g:530:4: ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) - // InternalSemver.g:531:5: (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:579:4: ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:580:5: (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:531:5: (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) - // InternalSemver.g:532:6: lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS + // InternalSemver.g:580:5: (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:581:6: lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS { if ( state.backtracking==0 ) { @@ -1512,8 +1638,119 @@ public final EObject ruleGitHubVersionRequirement() throws RecognitionException // $ANTLR end "ruleGitHubVersionRequirement" + // $ANTLR start "entryRuleTagVersionRequirement" + // InternalSemver.g:603:1: entryRuleTagVersionRequirement returns [EObject current=null] : iv_ruleTagVersionRequirement= ruleTagVersionRequirement EOF ; + public final EObject entryRuleTagVersionRequirement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTagVersionRequirement = null; + + + try { + // InternalSemver.g:603:62: (iv_ruleTagVersionRequirement= ruleTagVersionRequirement EOF ) + // InternalSemver.g:604:2: iv_ruleTagVersionRequirement= ruleTagVersionRequirement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTagVersionRequirementRule()); + } + pushFollow(FOLLOW_1); + iv_ruleTagVersionRequirement=ruleTagVersionRequirement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleTagVersionRequirement; + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTagVersionRequirement" + + + // $ANTLR start "ruleTagVersionRequirement" + // InternalSemver.g:610:1: ruleTagVersionRequirement returns [EObject current=null] : ( (lv_tagName_0_0= ruleTAG ) ) ; + public final EObject ruleTagVersionRequirement() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_tagName_0_0 = null; + + + + enterRule(); + + try { + // InternalSemver.g:616:2: ( ( (lv_tagName_0_0= ruleTAG ) ) ) + // InternalSemver.g:617:2: ( (lv_tagName_0_0= ruleTAG ) ) + { + // InternalSemver.g:617:2: ( (lv_tagName_0_0= ruleTAG ) ) + // InternalSemver.g:618:3: (lv_tagName_0_0= ruleTAG ) + { + // InternalSemver.g:618:3: (lv_tagName_0_0= ruleTAG ) + // InternalSemver.g:619:4: lv_tagName_0_0= ruleTAG + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTagVersionRequirementAccess().getTagNameTAGParserRuleCall_0()); + + } + pushFollow(FOLLOW_2); + lv_tagName_0_0=ruleTAG(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTagVersionRequirementRule()); + } + set( + current, + "tagName", + lv_tagName_0_0, + "org.eclipse.n4js.semver.Semver.TAG"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTagVersionRequirement" + + // $ANTLR start "entryRuleVersionRangeSetRequirement" - // InternalSemver.g:554:1: entryRuleVersionRangeSetRequirement returns [EObject current=null] : iv_ruleVersionRangeSetRequirement= ruleVersionRangeSetRequirement EOF ; + // InternalSemver.g:639:1: entryRuleVersionRangeSetRequirement returns [EObject current=null] : iv_ruleVersionRangeSetRequirement= ruleVersionRangeSetRequirement EOF ; public final EObject entryRuleVersionRangeSetRequirement() throws RecognitionException { EObject current = null; @@ -1521,8 +1758,8 @@ public final EObject entryRuleVersionRangeSetRequirement() throws RecognitionExc try { - // InternalSemver.g:554:67: (iv_ruleVersionRangeSetRequirement= ruleVersionRangeSetRequirement EOF ) - // InternalSemver.g:555:2: iv_ruleVersionRangeSetRequirement= ruleVersionRangeSetRequirement EOF + // InternalSemver.g:639:67: (iv_ruleVersionRangeSetRequirement= ruleVersionRangeSetRequirement EOF ) + // InternalSemver.g:640:2: iv_ruleVersionRangeSetRequirement= ruleVersionRangeSetRequirement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionRangeSetRequirementRule()); @@ -1553,7 +1790,7 @@ public final EObject entryRuleVersionRangeSetRequirement() throws RecognitionExc // $ANTLR start "ruleVersionRangeSetRequirement" - // InternalSemver.g:561:1: ruleVersionRangeSetRequirement returns [EObject current=null] : ( () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? ) ; + // InternalSemver.g:646:1: ruleVersionRangeSetRequirement returns [EObject current=null] : ( () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? ) ; public final EObject ruleVersionRangeSetRequirement() throws RecognitionException { EObject current = null; @@ -1570,14 +1807,14 @@ public final EObject ruleVersionRangeSetRequirement() throws RecognitionExceptio enterRule(); try { - // InternalSemver.g:567:2: ( ( () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? ) ) - // InternalSemver.g:568:2: ( () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? ) + // InternalSemver.g:652:2: ( ( () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? ) ) + // InternalSemver.g:653:2: ( () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? ) { - // InternalSemver.g:568:2: ( () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? ) - // InternalSemver.g:569:3: () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? + // InternalSemver.g:653:2: ( () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? ) + // InternalSemver.g:654:3: () ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? { - // InternalSemver.g:569:3: () - // InternalSemver.g:570:4: + // InternalSemver.g:654:3: () + // InternalSemver.g:655:4: { if ( state.backtracking==0 ) { @@ -1589,29 +1826,29 @@ public final EObject ruleVersionRangeSetRequirement() throws RecognitionExceptio } - // InternalSemver.g:576:3: ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? - int alt14=2; - int LA14_0 = input.LA(1); + // InternalSemver.g:661:3: ( ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? )? + int alt16=2; + int LA16_0 = input.LA(1); - if ( ((LA14_0>=RULE_LETTER_V && LA14_0<=RULE_DIGITS)||(LA14_0>=RULE_LETTER_X && LA14_0<=RULE_ASTERIX)||(LA14_0>=44 && LA14_0<=50)) ) { - alt14=1; + if ( ((LA16_0>=RULE_LETTER_V && LA16_0<=RULE_DIGITS)||(LA16_0>=RULE_ASTERIX && LA16_0<=RULE_LETTER_X)||(LA16_0>=50 && LA16_0<=56)) ) { + alt16=1; } - switch (alt14) { + switch (alt16) { case 1 : - // InternalSemver.g:577:4: ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? + // InternalSemver.g:662:4: ( (lv_ranges_1_0= ruleVersionRange ) ) ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* (this_WS_6= RULE_WS )? { - // InternalSemver.g:577:4: ( (lv_ranges_1_0= ruleVersionRange ) ) - // InternalSemver.g:578:5: (lv_ranges_1_0= ruleVersionRange ) + // InternalSemver.g:662:4: ( (lv_ranges_1_0= ruleVersionRange ) ) + // InternalSemver.g:663:5: (lv_ranges_1_0= ruleVersionRange ) { - // InternalSemver.g:578:5: (lv_ranges_1_0= ruleVersionRange ) - // InternalSemver.g:579:6: lv_ranges_1_0= ruleVersionRange + // InternalSemver.g:663:5: (lv_ranges_1_0= ruleVersionRange ) + // InternalSemver.g:664:6: lv_ranges_1_0= ruleVersionRange { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_0_0()); } - pushFollow(FOLLOW_11); + pushFollow(FOLLOW_12); lv_ranges_1_0=ruleVersionRange(); state._fsp--; @@ -1635,42 +1872,42 @@ public final EObject ruleVersionRangeSetRequirement() throws RecognitionExceptio } - // InternalSemver.g:596:4: ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* - loop12: + // InternalSemver.g:681:4: ( (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) )* + loop14: do { - int alt12=2; - int LA12_0 = input.LA(1); + int alt14=2; + int LA14_0 = input.LA(1); - if ( (LA12_0==RULE_WS) ) { - int LA12_1 = input.LA(2); + if ( (LA14_0==RULE_WS) ) { + int LA14_1 = input.LA(2); - if ( (LA12_1==38) ) { - alt12=1; + if ( (LA14_1==44) ) { + alt14=1; } } - else if ( (LA12_0==38) ) { - alt12=1; + else if ( (LA14_0==44) ) { + alt14=1; } - switch (alt12) { + switch (alt14) { case 1 : - // InternalSemver.g:597:5: (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) + // InternalSemver.g:682:5: (this_WS_2= RULE_WS )? otherlv_3= '||' (this_WS_4= RULE_WS )? ( (lv_ranges_5_0= ruleVersionRange ) ) { - // InternalSemver.g:597:5: (this_WS_2= RULE_WS )? - int alt10=2; - int LA10_0 = input.LA(1); + // InternalSemver.g:682:5: (this_WS_2= RULE_WS )? + int alt12=2; + int LA12_0 = input.LA(1); - if ( (LA10_0==RULE_WS) ) { - alt10=1; + if ( (LA12_0==RULE_WS) ) { + alt12=1; } - switch (alt10) { + switch (alt12) { case 1 : - // InternalSemver.g:598:6: this_WS_2= RULE_WS + // InternalSemver.g:683:6: this_WS_2= RULE_WS { - this_WS_2=(Token)match(input,RULE_WS,FOLLOW_12); if (state.failed) return current; + this_WS_2=(Token)match(input,RULE_WS,FOLLOW_13); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(this_WS_2, grammarAccess.getVersionRangeSetRequirementAccess().getWSTerminalRuleCall_1_1_0()); @@ -1682,22 +1919,22 @@ else if ( (LA12_0==38) ) { } - otherlv_3=(Token)match(input,38,FOLLOW_13); if (state.failed) return current; + otherlv_3=(Token)match(input,44,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getVersionRangeSetRequirementAccess().getVerticalLineVerticalLineKeyword_1_1_1()); } - // InternalSemver.g:607:5: (this_WS_4= RULE_WS )? - int alt11=2; - int LA11_0 = input.LA(1); + // InternalSemver.g:692:5: (this_WS_4= RULE_WS )? + int alt13=2; + int LA13_0 = input.LA(1); - if ( (LA11_0==RULE_WS) ) { - alt11=1; + if ( (LA13_0==RULE_WS) ) { + alt13=1; } - switch (alt11) { + switch (alt13) { case 1 : - // InternalSemver.g:608:6: this_WS_4= RULE_WS + // InternalSemver.g:693:6: this_WS_4= RULE_WS { this_WS_4=(Token)match(input,RULE_WS,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -1711,18 +1948,18 @@ else if ( (LA12_0==38) ) { } - // InternalSemver.g:613:5: ( (lv_ranges_5_0= ruleVersionRange ) ) - // InternalSemver.g:614:6: (lv_ranges_5_0= ruleVersionRange ) + // InternalSemver.g:698:5: ( (lv_ranges_5_0= ruleVersionRange ) ) + // InternalSemver.g:699:6: (lv_ranges_5_0= ruleVersionRange ) { - // InternalSemver.g:614:6: (lv_ranges_5_0= ruleVersionRange ) - // InternalSemver.g:615:7: lv_ranges_5_0= ruleVersionRange + // InternalSemver.g:699:6: (lv_ranges_5_0= ruleVersionRange ) + // InternalSemver.g:700:7: lv_ranges_5_0= ruleVersionRange { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionRangeSetRequirementAccess().getRangesVersionRangeParserRuleCall_1_1_3_0()); } - pushFollow(FOLLOW_11); + pushFollow(FOLLOW_12); lv_ranges_5_0=ruleVersionRange(); state._fsp--; @@ -1751,20 +1988,20 @@ else if ( (LA12_0==38) ) { break; default : - break loop12; + break loop14; } } while (true); - // InternalSemver.g:633:4: (this_WS_6= RULE_WS )? - int alt13=2; - int LA13_0 = input.LA(1); + // InternalSemver.g:718:4: (this_WS_6= RULE_WS )? + int alt15=2; + int LA15_0 = input.LA(1); - if ( (LA13_0==RULE_WS) ) { - alt13=1; + if ( (LA15_0==RULE_WS) ) { + alt15=1; } - switch (alt13) { + switch (alt15) { case 1 : - // InternalSemver.g:634:5: this_WS_6= RULE_WS + // InternalSemver.g:719:5: this_WS_6= RULE_WS { this_WS_6=(Token)match(input,RULE_WS,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -1809,7 +2046,7 @@ else if ( (LA12_0==38) ) { // $ANTLR start "entryRuleVersionRange" - // InternalSemver.g:644:1: entryRuleVersionRange returns [EObject current=null] : iv_ruleVersionRange= ruleVersionRange EOF ; + // InternalSemver.g:729:1: entryRuleVersionRange returns [EObject current=null] : iv_ruleVersionRange= ruleVersionRange EOF ; public final EObject entryRuleVersionRange() throws RecognitionException { EObject current = null; @@ -1817,8 +2054,8 @@ public final EObject entryRuleVersionRange() throws RecognitionException { try { - // InternalSemver.g:644:53: (iv_ruleVersionRange= ruleVersionRange EOF ) - // InternalSemver.g:645:2: iv_ruleVersionRange= ruleVersionRange EOF + // InternalSemver.g:729:53: (iv_ruleVersionRange= ruleVersionRange EOF ) + // InternalSemver.g:730:2: iv_ruleVersionRange= ruleVersionRange EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionRangeRule()); @@ -1849,7 +2086,7 @@ public final EObject entryRuleVersionRange() throws RecognitionException { // $ANTLR start "ruleVersionRange" - // InternalSemver.g:651:1: ruleVersionRange returns [EObject current=null] : (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange ) ; + // InternalSemver.g:736:1: ruleVersionRange returns [EObject current=null] : (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange ) ; public final EObject ruleVersionRange() throws RecognitionException { EObject current = null; @@ -1862,15 +2099,15 @@ public final EObject ruleVersionRange() throws RecognitionException { enterRule(); try { - // InternalSemver.g:657:2: ( (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange ) ) - // InternalSemver.g:658:2: (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange ) + // InternalSemver.g:742:2: ( (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange ) ) + // InternalSemver.g:743:2: (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange ) { - // InternalSemver.g:658:2: (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange ) - int alt15=2; - alt15 = dfa15.predict(input); - switch (alt15) { + // InternalSemver.g:743:2: (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange ) + int alt17=2; + alt17 = dfa17.predict(input); + switch (alt17) { case 1 : - // InternalSemver.g:659:3: this_VersionRangeContraint_0= ruleVersionRangeContraint + // InternalSemver.g:744:3: this_VersionRangeContraint_0= ruleVersionRangeContraint { if ( state.backtracking==0 ) { @@ -1892,7 +2129,7 @@ public final EObject ruleVersionRange() throws RecognitionException { } break; case 2 : - // InternalSemver.g:668:3: this_HyphenVersionRange_1= ruleHyphenVersionRange + // InternalSemver.g:753:3: this_HyphenVersionRange_1= ruleHyphenVersionRange { if ( state.backtracking==0 ) { @@ -1938,7 +2175,7 @@ public final EObject ruleVersionRange() throws RecognitionException { // $ANTLR start "entryRuleHyphenVersionRange" - // InternalSemver.g:680:1: entryRuleHyphenVersionRange returns [EObject current=null] : iv_ruleHyphenVersionRange= ruleHyphenVersionRange EOF ; + // InternalSemver.g:765:1: entryRuleHyphenVersionRange returns [EObject current=null] : iv_ruleHyphenVersionRange= ruleHyphenVersionRange EOF ; public final EObject entryRuleHyphenVersionRange() throws RecognitionException { EObject current = null; @@ -1946,8 +2183,8 @@ public final EObject entryRuleHyphenVersionRange() throws RecognitionException { try { - // InternalSemver.g:680:59: (iv_ruleHyphenVersionRange= ruleHyphenVersionRange EOF ) - // InternalSemver.g:681:2: iv_ruleHyphenVersionRange= ruleHyphenVersionRange EOF + // InternalSemver.g:765:59: (iv_ruleHyphenVersionRange= ruleHyphenVersionRange EOF ) + // InternalSemver.g:766:2: iv_ruleHyphenVersionRange= ruleHyphenVersionRange EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getHyphenVersionRangeRule()); @@ -1978,7 +2215,7 @@ public final EObject entryRuleHyphenVersionRange() throws RecognitionException { // $ANTLR start "ruleHyphenVersionRange" - // InternalSemver.g:687:1: ruleHyphenVersionRange returns [EObject current=null] : ( () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) ) ; + // InternalSemver.g:772:1: ruleHyphenVersionRange returns [EObject current=null] : ( () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) ) ; public final EObject ruleHyphenVersionRange() throws RecognitionException { EObject current = null; @@ -1994,14 +2231,14 @@ public final EObject ruleHyphenVersionRange() throws RecognitionException { enterRule(); try { - // InternalSemver.g:693:2: ( ( () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) ) ) - // InternalSemver.g:694:2: ( () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) ) + // InternalSemver.g:778:2: ( ( () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) ) ) + // InternalSemver.g:779:2: ( () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) ) { - // InternalSemver.g:694:2: ( () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) ) - // InternalSemver.g:695:3: () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) + // InternalSemver.g:779:2: ( () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) ) + // InternalSemver.g:780:3: () ( (lv_from_1_0= ruleVersionNumber ) ) this_WS_2= RULE_WS otherlv_3= '-' this_WS_4= RULE_WS ( (lv_to_5_0= ruleVersionNumber ) ) { - // InternalSemver.g:695:3: () - // InternalSemver.g:696:4: + // InternalSemver.g:780:3: () + // InternalSemver.g:781:4: { if ( state.backtracking==0 ) { @@ -2013,18 +2250,18 @@ public final EObject ruleHyphenVersionRange() throws RecognitionException { } - // InternalSemver.g:702:3: ( (lv_from_1_0= ruleVersionNumber ) ) - // InternalSemver.g:703:4: (lv_from_1_0= ruleVersionNumber ) + // InternalSemver.g:787:3: ( (lv_from_1_0= ruleVersionNumber ) ) + // InternalSemver.g:788:4: (lv_from_1_0= ruleVersionNumber ) { - // InternalSemver.g:703:4: (lv_from_1_0= ruleVersionNumber ) - // InternalSemver.g:704:5: lv_from_1_0= ruleVersionNumber + // InternalSemver.g:788:4: (lv_from_1_0= ruleVersionNumber ) + // InternalSemver.g:789:5: lv_from_1_0= ruleVersionNumber { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getHyphenVersionRangeAccess().getFromVersionNumberParserRuleCall_1_0()); } - pushFollow(FOLLOW_14); + pushFollow(FOLLOW_15); lv_from_1_0=ruleVersionNumber(); state._fsp--; @@ -2048,13 +2285,13 @@ public final EObject ruleHyphenVersionRange() throws RecognitionException { } - this_WS_2=(Token)match(input,RULE_WS,FOLLOW_15); if (state.failed) return current; + this_WS_2=(Token)match(input,RULE_WS,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(this_WS_2, grammarAccess.getHyphenVersionRangeAccess().getWSTerminalRuleCall_2()); } - otherlv_3=(Token)match(input,39,FOLLOW_14); if (state.failed) return current; + otherlv_3=(Token)match(input,45,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getHyphenVersionRangeAccess().getHyphenMinusKeyword_3()); @@ -2066,11 +2303,11 @@ public final EObject ruleHyphenVersionRange() throws RecognitionException { newLeafNode(this_WS_4, grammarAccess.getHyphenVersionRangeAccess().getWSTerminalRuleCall_4()); } - // InternalSemver.g:733:3: ( (lv_to_5_0= ruleVersionNumber ) ) - // InternalSemver.g:734:4: (lv_to_5_0= ruleVersionNumber ) + // InternalSemver.g:818:3: ( (lv_to_5_0= ruleVersionNumber ) ) + // InternalSemver.g:819:4: (lv_to_5_0= ruleVersionNumber ) { - // InternalSemver.g:734:4: (lv_to_5_0= ruleVersionNumber ) - // InternalSemver.g:735:5: lv_to_5_0= ruleVersionNumber + // InternalSemver.g:819:4: (lv_to_5_0= ruleVersionNumber ) + // InternalSemver.g:820:5: lv_to_5_0= ruleVersionNumber { if ( state.backtracking==0 ) { @@ -2126,7 +2363,7 @@ public final EObject ruleHyphenVersionRange() throws RecognitionException { // $ANTLR start "entryRuleVersionRangeContraint" - // InternalSemver.g:756:1: entryRuleVersionRangeContraint returns [EObject current=null] : iv_ruleVersionRangeContraint= ruleVersionRangeContraint EOF ; + // InternalSemver.g:841:1: entryRuleVersionRangeContraint returns [EObject current=null] : iv_ruleVersionRangeContraint= ruleVersionRangeContraint EOF ; public final EObject entryRuleVersionRangeContraint() throws RecognitionException { EObject current = null; @@ -2134,8 +2371,8 @@ public final EObject entryRuleVersionRangeContraint() throws RecognitionExceptio try { - // InternalSemver.g:756:62: (iv_ruleVersionRangeContraint= ruleVersionRangeContraint EOF ) - // InternalSemver.g:757:2: iv_ruleVersionRangeContraint= ruleVersionRangeContraint EOF + // InternalSemver.g:841:62: (iv_ruleVersionRangeContraint= ruleVersionRangeContraint EOF ) + // InternalSemver.g:842:2: iv_ruleVersionRangeContraint= ruleVersionRangeContraint EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionRangeContraintRule()); @@ -2166,7 +2403,7 @@ public final EObject entryRuleVersionRangeContraint() throws RecognitionExceptio // $ANTLR start "ruleVersionRangeContraint" - // InternalSemver.g:763:1: ruleVersionRangeContraint returns [EObject current=null] : ( () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* ) ; + // InternalSemver.g:848:1: ruleVersionRangeContraint returns [EObject current=null] : ( () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* ) ; public final EObject ruleVersionRangeContraint() throws RecognitionException { EObject current = null; @@ -2180,14 +2417,14 @@ public final EObject ruleVersionRangeContraint() throws RecognitionException { enterRule(); try { - // InternalSemver.g:769:2: ( ( () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* ) ) - // InternalSemver.g:770:2: ( () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* ) + // InternalSemver.g:854:2: ( ( () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* ) ) + // InternalSemver.g:855:2: ( () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* ) { - // InternalSemver.g:770:2: ( () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* ) - // InternalSemver.g:771:3: () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* + // InternalSemver.g:855:2: ( () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* ) + // InternalSemver.g:856:3: () ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* { - // InternalSemver.g:771:3: () - // InternalSemver.g:772:4: + // InternalSemver.g:856:3: () + // InternalSemver.g:857:4: { if ( state.backtracking==0 ) { @@ -2199,11 +2436,11 @@ public final EObject ruleVersionRangeContraint() throws RecognitionException { } - // InternalSemver.g:778:3: ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) - // InternalSemver.g:779:4: (lv_versionConstraints_1_0= ruleSimpleVersion ) + // InternalSemver.g:863:3: ( (lv_versionConstraints_1_0= ruleSimpleVersion ) ) + // InternalSemver.g:864:4: (lv_versionConstraints_1_0= ruleSimpleVersion ) { - // InternalSemver.g:779:4: (lv_versionConstraints_1_0= ruleSimpleVersion ) - // InternalSemver.g:780:5: lv_versionConstraints_1_0= ruleSimpleVersion + // InternalSemver.g:864:4: (lv_versionConstraints_1_0= ruleSimpleVersion ) + // InternalSemver.g:865:5: lv_versionConstraints_1_0= ruleSimpleVersion { if ( state.backtracking==0 ) { @@ -2234,26 +2471,26 @@ public final EObject ruleVersionRangeContraint() throws RecognitionException { } - // InternalSemver.g:797:3: (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* - loop16: + // InternalSemver.g:882:3: (this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) )* + loop18: do { - int alt16=2; - int LA16_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA16_0==RULE_WS) ) { - int LA16_1 = input.LA(2); + if ( (LA18_0==RULE_WS) ) { + int LA18_1 = input.LA(2); - if ( ((LA16_1>=RULE_LETTER_V && LA16_1<=RULE_DIGITS)||(LA16_1>=RULE_LETTER_X && LA16_1<=RULE_ASTERIX)||(LA16_1>=44 && LA16_1<=50)) ) { - alt16=1; + if ( ((LA18_1>=RULE_LETTER_V && LA18_1<=RULE_DIGITS)||(LA18_1>=RULE_ASTERIX && LA18_1<=RULE_LETTER_X)||(LA18_1>=50 && LA18_1<=56)) ) { + alt18=1; } } - switch (alt16) { + switch (alt18) { case 1 : - // InternalSemver.g:798:4: this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) + // InternalSemver.g:883:4: this_WS_2= RULE_WS ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) { this_WS_2=(Token)match(input,RULE_WS,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -2261,11 +2498,11 @@ public final EObject ruleVersionRangeContraint() throws RecognitionException { newLeafNode(this_WS_2, grammarAccess.getVersionRangeContraintAccess().getWSTerminalRuleCall_2_0()); } - // InternalSemver.g:802:4: ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) - // InternalSemver.g:803:5: (lv_versionConstraints_3_0= ruleSimpleVersion ) + // InternalSemver.g:887:4: ( (lv_versionConstraints_3_0= ruleSimpleVersion ) ) + // InternalSemver.g:888:5: (lv_versionConstraints_3_0= ruleSimpleVersion ) { - // InternalSemver.g:803:5: (lv_versionConstraints_3_0= ruleSimpleVersion ) - // InternalSemver.g:804:6: lv_versionConstraints_3_0= ruleSimpleVersion + // InternalSemver.g:888:5: (lv_versionConstraints_3_0= ruleSimpleVersion ) + // InternalSemver.g:889:6: lv_versionConstraints_3_0= ruleSimpleVersion { if ( state.backtracking==0 ) { @@ -2301,7 +2538,7 @@ public final EObject ruleVersionRangeContraint() throws RecognitionException { break; default : - break loop16; + break loop18; } } while (true); @@ -2330,7 +2567,7 @@ public final EObject ruleVersionRangeContraint() throws RecognitionException { // $ANTLR start "entryRuleSimpleVersion" - // InternalSemver.g:826:1: entryRuleSimpleVersion returns [EObject current=null] : iv_ruleSimpleVersion= ruleSimpleVersion EOF ; + // InternalSemver.g:911:1: entryRuleSimpleVersion returns [EObject current=null] : iv_ruleSimpleVersion= ruleSimpleVersion EOF ; public final EObject entryRuleSimpleVersion() throws RecognitionException { EObject current = null; @@ -2338,8 +2575,8 @@ public final EObject entryRuleSimpleVersion() throws RecognitionException { try { - // InternalSemver.g:826:54: (iv_ruleSimpleVersion= ruleSimpleVersion EOF ) - // InternalSemver.g:827:2: iv_ruleSimpleVersion= ruleSimpleVersion EOF + // InternalSemver.g:911:54: (iv_ruleSimpleVersion= ruleSimpleVersion EOF ) + // InternalSemver.g:912:2: iv_ruleSimpleVersion= ruleSimpleVersion EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSimpleVersionRule()); @@ -2370,7 +2607,7 @@ public final EObject entryRuleSimpleVersion() throws RecognitionException { // $ANTLR start "ruleSimpleVersion" - // InternalSemver.g:833:1: ruleSimpleVersion returns [EObject current=null] : ( ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) ) ; + // InternalSemver.g:918:1: ruleSimpleVersion returns [EObject current=null] : ( ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) ) ; public final EObject ruleSimpleVersion() throws RecognitionException { EObject current = null; @@ -2385,39 +2622,39 @@ public final EObject ruleSimpleVersion() throws RecognitionException { enterRule(); try { - // InternalSemver.g:839:2: ( ( ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) ) ) - // InternalSemver.g:840:2: ( ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) ) + // InternalSemver.g:924:2: ( ( ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) ) ) + // InternalSemver.g:925:2: ( ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) ) { - // InternalSemver.g:840:2: ( ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) ) - // InternalSemver.g:841:3: ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) + // InternalSemver.g:925:2: ( ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) ) + // InternalSemver.g:926:3: ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? ( (lv_number_3_0= ruleVersionNumber ) ) { - // InternalSemver.g:841:3: ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* - loop18: + // InternalSemver.g:926:3: ( ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? )* + loop20: do { - int alt18=2; - int LA18_0 = input.LA(1); + int alt20=2; + int LA20_0 = input.LA(1); - if ( ((LA18_0>=44 && LA18_0<=50)) ) { - alt18=1; + if ( ((LA20_0>=50 && LA20_0<=56)) ) { + alt20=1; } - switch (alt18) { + switch (alt20) { case 1 : - // InternalSemver.g:842:4: ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? + // InternalSemver.g:927:4: ( (lv_comparators_0_0= ruleVersionComparator ) ) (this_WS_1= RULE_WS )? { - // InternalSemver.g:842:4: ( (lv_comparators_0_0= ruleVersionComparator ) ) - // InternalSemver.g:843:5: (lv_comparators_0_0= ruleVersionComparator ) + // InternalSemver.g:927:4: ( (lv_comparators_0_0= ruleVersionComparator ) ) + // InternalSemver.g:928:5: (lv_comparators_0_0= ruleVersionComparator ) { - // InternalSemver.g:843:5: (lv_comparators_0_0= ruleVersionComparator ) - // InternalSemver.g:844:6: lv_comparators_0_0= ruleVersionComparator + // InternalSemver.g:928:5: (lv_comparators_0_0= ruleVersionComparator ) + // InternalSemver.g:929:6: lv_comparators_0_0= ruleVersionComparator { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSimpleVersionAccess().getComparatorsVersionComparatorEnumRuleCall_0_0_0()); } - pushFollow(FOLLOW_13); + pushFollow(FOLLOW_14); lv_comparators_0_0=ruleVersionComparator(); state._fsp--; @@ -2441,16 +2678,16 @@ public final EObject ruleSimpleVersion() throws RecognitionException { } - // InternalSemver.g:861:4: (this_WS_1= RULE_WS )? - int alt17=2; - int LA17_0 = input.LA(1); + // InternalSemver.g:946:4: (this_WS_1= RULE_WS )? + int alt19=2; + int LA19_0 = input.LA(1); - if ( (LA17_0==RULE_WS) ) { - alt17=1; + if ( (LA19_0==RULE_WS) ) { + alt19=1; } - switch (alt17) { + switch (alt19) { case 1 : - // InternalSemver.g:862:5: this_WS_1= RULE_WS + // InternalSemver.g:947:5: this_WS_1= RULE_WS { this_WS_1=(Token)match(input,RULE_WS,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -2469,23 +2706,23 @@ public final EObject ruleSimpleVersion() throws RecognitionException { break; default : - break loop18; + break loop20; } } while (true); - // InternalSemver.g:868:3: ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? - int alt19=2; - int LA19_0 = input.LA(1); + // InternalSemver.g:953:3: ( (lv_withLetterV_2_0= RULE_LETTER_V ) )? + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA19_0==RULE_LETTER_V) ) { - alt19=1; + if ( (LA21_0==RULE_LETTER_V) ) { + alt21=1; } - switch (alt19) { + switch (alt21) { case 1 : - // InternalSemver.g:869:4: (lv_withLetterV_2_0= RULE_LETTER_V ) + // InternalSemver.g:954:4: (lv_withLetterV_2_0= RULE_LETTER_V ) { - // InternalSemver.g:869:4: (lv_withLetterV_2_0= RULE_LETTER_V ) - // InternalSemver.g:870:5: lv_withLetterV_2_0= RULE_LETTER_V + // InternalSemver.g:954:4: (lv_withLetterV_2_0= RULE_LETTER_V ) + // InternalSemver.g:955:5: lv_withLetterV_2_0= RULE_LETTER_V { lv_withLetterV_2_0=(Token)match(input,RULE_LETTER_V,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -2514,11 +2751,11 @@ public final EObject ruleSimpleVersion() throws RecognitionException { } - // InternalSemver.g:886:3: ( (lv_number_3_0= ruleVersionNumber ) ) - // InternalSemver.g:887:4: (lv_number_3_0= ruleVersionNumber ) + // InternalSemver.g:971:3: ( (lv_number_3_0= ruleVersionNumber ) ) + // InternalSemver.g:972:4: (lv_number_3_0= ruleVersionNumber ) { - // InternalSemver.g:887:4: (lv_number_3_0= ruleVersionNumber ) - // InternalSemver.g:888:5: lv_number_3_0= ruleVersionNumber + // InternalSemver.g:972:4: (lv_number_3_0= ruleVersionNumber ) + // InternalSemver.g:973:5: lv_number_3_0= ruleVersionNumber { if ( state.backtracking==0 ) { @@ -2574,7 +2811,7 @@ public final EObject ruleSimpleVersion() throws RecognitionException { // $ANTLR start "entryRuleVersionNumber" - // InternalSemver.g:909:1: entryRuleVersionNumber returns [EObject current=null] : iv_ruleVersionNumber= ruleVersionNumber EOF ; + // InternalSemver.g:994:1: entryRuleVersionNumber returns [EObject current=null] : iv_ruleVersionNumber= ruleVersionNumber EOF ; public final EObject entryRuleVersionNumber() throws RecognitionException { EObject current = null; @@ -2582,8 +2819,8 @@ public final EObject entryRuleVersionNumber() throws RecognitionException { try { - // InternalSemver.g:909:54: (iv_ruleVersionNumber= ruleVersionNumber EOF ) - // InternalSemver.g:910:2: iv_ruleVersionNumber= ruleVersionNumber EOF + // InternalSemver.g:994:54: (iv_ruleVersionNumber= ruleVersionNumber EOF ) + // InternalSemver.g:995:2: iv_ruleVersionNumber= ruleVersionNumber EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionNumberRule()); @@ -2614,7 +2851,7 @@ public final EObject entryRuleVersionNumber() throws RecognitionException { // $ANTLR start "ruleVersionNumber" - // InternalSemver.g:916:1: ruleVersionNumber returns [EObject current=null] : ( ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? ) ; + // InternalSemver.g:1001:1: ruleVersionNumber returns [EObject current=null] : ( ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? ) ; public final EObject ruleVersionNumber() throws RecognitionException { EObject current = null; @@ -2636,24 +2873,24 @@ public final EObject ruleVersionNumber() throws RecognitionException { enterRule(); try { - // InternalSemver.g:922:2: ( ( ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? ) ) - // InternalSemver.g:923:2: ( ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? ) + // InternalSemver.g:1007:2: ( ( ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? ) ) + // InternalSemver.g:1008:2: ( ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? ) { - // InternalSemver.g:923:2: ( ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? ) - // InternalSemver.g:924:3: ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? + // InternalSemver.g:1008:2: ( ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? ) + // InternalSemver.g:1009:3: ( (lv_major_0_0= ruleVersionPart ) ) (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? ( (lv_qualifier_7_0= ruleQualifier ) )? { - // InternalSemver.g:924:3: ( (lv_major_0_0= ruleVersionPart ) ) - // InternalSemver.g:925:4: (lv_major_0_0= ruleVersionPart ) + // InternalSemver.g:1009:3: ( (lv_major_0_0= ruleVersionPart ) ) + // InternalSemver.g:1010:4: (lv_major_0_0= ruleVersionPart ) { - // InternalSemver.g:925:4: (lv_major_0_0= ruleVersionPart ) - // InternalSemver.g:926:5: lv_major_0_0= ruleVersionPart + // InternalSemver.g:1010:4: (lv_major_0_0= ruleVersionPart ) + // InternalSemver.g:1011:5: lv_major_0_0= ruleVersionPart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionNumberAccess().getMajorVersionPartParserRuleCall_0_0()); } - pushFollow(FOLLOW_16); + pushFollow(FOLLOW_17); lv_major_0_0=ruleVersionPart(); state._fsp--; @@ -2677,35 +2914,35 @@ public final EObject ruleVersionNumber() throws RecognitionException { } - // InternalSemver.g:943:3: (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? - int alt22=2; - int LA22_0 = input.LA(1); + // InternalSemver.g:1028:3: (otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? )? + int alt24=2; + int LA24_0 = input.LA(1); - if ( (LA22_0==40) ) { - alt22=1; + if ( (LA24_0==46) ) { + alt24=1; } - switch (alt22) { + switch (alt24) { case 1 : - // InternalSemver.g:944:4: otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? + // InternalSemver.g:1029:4: otherlv_1= '.' ( (lv_minor_2_0= ruleVersionPart ) ) (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? { - otherlv_1=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; + otherlv_1=(Token)match(input,46,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getVersionNumberAccess().getFullStopKeyword_1_0()); } - // InternalSemver.g:948:4: ( (lv_minor_2_0= ruleVersionPart ) ) - // InternalSemver.g:949:5: (lv_minor_2_0= ruleVersionPart ) + // InternalSemver.g:1033:4: ( (lv_minor_2_0= ruleVersionPart ) ) + // InternalSemver.g:1034:5: (lv_minor_2_0= ruleVersionPart ) { - // InternalSemver.g:949:5: (lv_minor_2_0= ruleVersionPart ) - // InternalSemver.g:950:6: lv_minor_2_0= ruleVersionPart + // InternalSemver.g:1034:5: (lv_minor_2_0= ruleVersionPart ) + // InternalSemver.g:1035:6: lv_minor_2_0= ruleVersionPart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionNumberAccess().getMinorVersionPartParserRuleCall_1_1_0()); } - pushFollow(FOLLOW_16); + pushFollow(FOLLOW_17); lv_minor_2_0=ruleVersionPart(); state._fsp--; @@ -2729,35 +2966,35 @@ public final EObject ruleVersionNumber() throws RecognitionException { } - // InternalSemver.g:967:4: (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? - int alt21=2; - int LA21_0 = input.LA(1); + // InternalSemver.g:1052:4: (otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* )? + int alt23=2; + int LA23_0 = input.LA(1); - if ( (LA21_0==40) ) { - alt21=1; + if ( (LA23_0==46) ) { + alt23=1; } - switch (alt21) { + switch (alt23) { case 1 : - // InternalSemver.g:968:5: otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* + // InternalSemver.g:1053:5: otherlv_3= '.' ( (lv_patch_4_0= ruleVersionPart ) ) (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* { - otherlv_3=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; + otherlv_3=(Token)match(input,46,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getVersionNumberAccess().getFullStopKeyword_1_2_0()); } - // InternalSemver.g:972:5: ( (lv_patch_4_0= ruleVersionPart ) ) - // InternalSemver.g:973:6: (lv_patch_4_0= ruleVersionPart ) + // InternalSemver.g:1057:5: ( (lv_patch_4_0= ruleVersionPart ) ) + // InternalSemver.g:1058:6: (lv_patch_4_0= ruleVersionPart ) { - // InternalSemver.g:973:6: (lv_patch_4_0= ruleVersionPart ) - // InternalSemver.g:974:7: lv_patch_4_0= ruleVersionPart + // InternalSemver.g:1058:6: (lv_patch_4_0= ruleVersionPart ) + // InternalSemver.g:1059:7: lv_patch_4_0= ruleVersionPart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionNumberAccess().getPatchVersionPartParserRuleCall_1_2_1_0()); } - pushFollow(FOLLOW_16); + pushFollow(FOLLOW_17); lv_patch_4_0=ruleVersionPart(); state._fsp--; @@ -2781,39 +3018,39 @@ public final EObject ruleVersionNumber() throws RecognitionException { } - // InternalSemver.g:991:5: (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* - loop20: + // InternalSemver.g:1076:5: (otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) )* + loop22: do { - int alt20=2; - int LA20_0 = input.LA(1); + int alt22=2; + int LA22_0 = input.LA(1); - if ( (LA20_0==40) ) { - alt20=1; + if ( (LA22_0==46) ) { + alt22=1; } - switch (alt20) { + switch (alt22) { case 1 : - // InternalSemver.g:992:6: otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) + // InternalSemver.g:1077:6: otherlv_5= '.' ( (lv_extended_6_0= ruleVersionPart ) ) { - otherlv_5=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; + otherlv_5=(Token)match(input,46,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getVersionNumberAccess().getFullStopKeyword_1_2_2_0()); } - // InternalSemver.g:996:6: ( (lv_extended_6_0= ruleVersionPart ) ) - // InternalSemver.g:997:7: (lv_extended_6_0= ruleVersionPart ) + // InternalSemver.g:1081:6: ( (lv_extended_6_0= ruleVersionPart ) ) + // InternalSemver.g:1082:7: (lv_extended_6_0= ruleVersionPart ) { - // InternalSemver.g:997:7: (lv_extended_6_0= ruleVersionPart ) - // InternalSemver.g:998:8: lv_extended_6_0= ruleVersionPart + // InternalSemver.g:1082:7: (lv_extended_6_0= ruleVersionPart ) + // InternalSemver.g:1083:8: lv_extended_6_0= ruleVersionPart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionNumberAccess().getExtendedVersionPartParserRuleCall_1_2_2_1_0()); } - pushFollow(FOLLOW_16); + pushFollow(FOLLOW_17); lv_extended_6_0=ruleVersionPart(); state._fsp--; @@ -2842,7 +3079,7 @@ public final EObject ruleVersionNumber() throws RecognitionException { break; default : - break loop20; + break loop22; } } while (true); @@ -2858,19 +3095,19 @@ public final EObject ruleVersionNumber() throws RecognitionException { } - // InternalSemver.g:1018:3: ( (lv_qualifier_7_0= ruleQualifier ) )? - int alt23=2; - int LA23_0 = input.LA(1); + // InternalSemver.g:1103:3: ( (lv_qualifier_7_0= ruleQualifier ) )? + int alt25=2; + int LA25_0 = input.LA(1); - if ( (LA23_0==39||LA23_0==41) ) { - alt23=1; + if ( (LA25_0==45||LA25_0==47) ) { + alt25=1; } - switch (alt23) { + switch (alt25) { case 1 : - // InternalSemver.g:1019:4: (lv_qualifier_7_0= ruleQualifier ) + // InternalSemver.g:1104:4: (lv_qualifier_7_0= ruleQualifier ) { - // InternalSemver.g:1019:4: (lv_qualifier_7_0= ruleQualifier ) - // InternalSemver.g:1020:5: lv_qualifier_7_0= ruleQualifier + // InternalSemver.g:1104:4: (lv_qualifier_7_0= ruleQualifier ) + // InternalSemver.g:1105:5: lv_qualifier_7_0= ruleQualifier { if ( state.backtracking==0 ) { @@ -2929,7 +3166,7 @@ public final EObject ruleVersionNumber() throws RecognitionException { // $ANTLR start "entryRuleVersionPart" - // InternalSemver.g:1041:1: entryRuleVersionPart returns [EObject current=null] : iv_ruleVersionPart= ruleVersionPart EOF ; + // InternalSemver.g:1126:1: entryRuleVersionPart returns [EObject current=null] : iv_ruleVersionPart= ruleVersionPart EOF ; public final EObject entryRuleVersionPart() throws RecognitionException { EObject current = null; @@ -2937,8 +3174,8 @@ public final EObject entryRuleVersionPart() throws RecognitionException { try { - // InternalSemver.g:1041:52: (iv_ruleVersionPart= ruleVersionPart EOF ) - // InternalSemver.g:1042:2: iv_ruleVersionPart= ruleVersionPart EOF + // InternalSemver.g:1126:52: (iv_ruleVersionPart= ruleVersionPart EOF ) + // InternalSemver.g:1127:2: iv_ruleVersionPart= ruleVersionPart EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVersionPartRule()); @@ -2969,7 +3206,7 @@ public final EObject entryRuleVersionPart() throws RecognitionException { // $ANTLR start "ruleVersionPart" - // InternalSemver.g:1048:1: ruleVersionPart returns [EObject current=null] : ( ( (lv_wildcard_0_0= ruleWILDCARD ) ) | ( (lv_numberRaw_1_0= RULE_DIGITS ) ) ) ; + // InternalSemver.g:1133:1: ruleVersionPart returns [EObject current=null] : ( ( (lv_wildcard_0_0= ruleWILDCARD ) ) | ( (lv_numberRaw_1_0= RULE_DIGITS ) ) ) ; public final EObject ruleVersionPart() throws RecognitionException { EObject current = null; @@ -2981,35 +3218,35 @@ public final EObject ruleVersionPart() throws RecognitionException { enterRule(); try { - // InternalSemver.g:1054:2: ( ( ( (lv_wildcard_0_0= ruleWILDCARD ) ) | ( (lv_numberRaw_1_0= RULE_DIGITS ) ) ) ) - // InternalSemver.g:1055:2: ( ( (lv_wildcard_0_0= ruleWILDCARD ) ) | ( (lv_numberRaw_1_0= RULE_DIGITS ) ) ) + // InternalSemver.g:1139:2: ( ( ( (lv_wildcard_0_0= ruleWILDCARD ) ) | ( (lv_numberRaw_1_0= RULE_DIGITS ) ) ) ) + // InternalSemver.g:1140:2: ( ( (lv_wildcard_0_0= ruleWILDCARD ) ) | ( (lv_numberRaw_1_0= RULE_DIGITS ) ) ) { - // InternalSemver.g:1055:2: ( ( (lv_wildcard_0_0= ruleWILDCARD ) ) | ( (lv_numberRaw_1_0= RULE_DIGITS ) ) ) - int alt24=2; - int LA24_0 = input.LA(1); + // InternalSemver.g:1140:2: ( ( (lv_wildcard_0_0= ruleWILDCARD ) ) | ( (lv_numberRaw_1_0= RULE_DIGITS ) ) ) + int alt26=2; + int LA26_0 = input.LA(1); - if ( ((LA24_0>=RULE_LETTER_X && LA24_0<=RULE_ASTERIX)) ) { - alt24=1; + if ( ((LA26_0>=RULE_ASTERIX && LA26_0<=RULE_LETTER_X)) ) { + alt26=1; } - else if ( (LA24_0==RULE_DIGITS) ) { - alt24=2; + else if ( (LA26_0==RULE_DIGITS) ) { + alt26=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 24, 0, input); + new NoViableAltException("", 26, 0, input); throw nvae; } - switch (alt24) { + switch (alt26) { case 1 : - // InternalSemver.g:1056:3: ( (lv_wildcard_0_0= ruleWILDCARD ) ) + // InternalSemver.g:1141:3: ( (lv_wildcard_0_0= ruleWILDCARD ) ) { - // InternalSemver.g:1056:3: ( (lv_wildcard_0_0= ruleWILDCARD ) ) - // InternalSemver.g:1057:4: (lv_wildcard_0_0= ruleWILDCARD ) + // InternalSemver.g:1141:3: ( (lv_wildcard_0_0= ruleWILDCARD ) ) + // InternalSemver.g:1142:4: (lv_wildcard_0_0= ruleWILDCARD ) { - // InternalSemver.g:1057:4: (lv_wildcard_0_0= ruleWILDCARD ) - // InternalSemver.g:1058:5: lv_wildcard_0_0= ruleWILDCARD + // InternalSemver.g:1142:4: (lv_wildcard_0_0= ruleWILDCARD ) + // InternalSemver.g:1143:5: lv_wildcard_0_0= ruleWILDCARD { if ( state.backtracking==0 ) { @@ -3044,13 +3281,13 @@ else if ( (LA24_0==RULE_DIGITS) ) { } break; case 2 : - // InternalSemver.g:1076:3: ( (lv_numberRaw_1_0= RULE_DIGITS ) ) + // InternalSemver.g:1161:3: ( (lv_numberRaw_1_0= RULE_DIGITS ) ) { - // InternalSemver.g:1076:3: ( (lv_numberRaw_1_0= RULE_DIGITS ) ) - // InternalSemver.g:1077:4: (lv_numberRaw_1_0= RULE_DIGITS ) + // InternalSemver.g:1161:3: ( (lv_numberRaw_1_0= RULE_DIGITS ) ) + // InternalSemver.g:1162:4: (lv_numberRaw_1_0= RULE_DIGITS ) { - // InternalSemver.g:1077:4: (lv_numberRaw_1_0= RULE_DIGITS ) - // InternalSemver.g:1078:5: lv_numberRaw_1_0= RULE_DIGITS + // InternalSemver.g:1162:4: (lv_numberRaw_1_0= RULE_DIGITS ) + // InternalSemver.g:1163:5: lv_numberRaw_1_0= RULE_DIGITS { lv_numberRaw_1_0=(Token)match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -3104,7 +3341,7 @@ else if ( (LA24_0==RULE_DIGITS) ) { // $ANTLR start "entryRuleQualifier" - // InternalSemver.g:1098:1: entryRuleQualifier returns [EObject current=null] : iv_ruleQualifier= ruleQualifier EOF ; + // InternalSemver.g:1183:1: entryRuleQualifier returns [EObject current=null] : iv_ruleQualifier= ruleQualifier EOF ; public final EObject entryRuleQualifier() throws RecognitionException { EObject current = null; @@ -3112,8 +3349,8 @@ public final EObject entryRuleQualifier() throws RecognitionException { try { - // InternalSemver.g:1098:50: (iv_ruleQualifier= ruleQualifier EOF ) - // InternalSemver.g:1099:2: iv_ruleQualifier= ruleQualifier EOF + // InternalSemver.g:1183:50: (iv_ruleQualifier= ruleQualifier EOF ) + // InternalSemver.g:1184:2: iv_ruleQualifier= ruleQualifier EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifierRule()); @@ -3144,7 +3381,7 @@ public final EObject entryRuleQualifier() throws RecognitionException { // $ANTLR start "ruleQualifier" - // InternalSemver.g:1105:1: ruleQualifier returns [EObject current=null] : ( (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) | (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) ) ; + // InternalSemver.g:1190:1: ruleQualifier returns [EObject current=null] : ( (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) | (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) ) ; public final EObject ruleQualifier() throws RecognitionException { EObject current = null; @@ -3162,51 +3399,51 @@ public final EObject ruleQualifier() throws RecognitionException { enterRule(); try { - // InternalSemver.g:1111:2: ( ( (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) | (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) ) ) - // InternalSemver.g:1112:2: ( (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) | (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) ) + // InternalSemver.g:1196:2: ( ( (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) | (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) ) ) + // InternalSemver.g:1197:2: ( (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) | (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) ) { - // InternalSemver.g:1112:2: ( (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) | (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) ) - int alt26=2; - int LA26_0 = input.LA(1); + // InternalSemver.g:1197:2: ( (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) | (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) ) + int alt28=2; + int LA28_0 = input.LA(1); - if ( (LA26_0==39) ) { - alt26=1; + if ( (LA28_0==45) ) { + alt28=1; } - else if ( (LA26_0==41) ) { - alt26=2; + else if ( (LA28_0==47) ) { + alt28=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 26, 0, input); + new NoViableAltException("", 28, 0, input); throw nvae; } - switch (alt26) { + switch (alt28) { case 1 : - // InternalSemver.g:1113:3: (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) + // InternalSemver.g:1198:3: (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) { - // InternalSemver.g:1113:3: (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) - // InternalSemver.g:1114:4: otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? + // InternalSemver.g:1198:3: (otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? ) + // InternalSemver.g:1199:4: otherlv_0= '-' ( (lv_preRelease_1_0= ruleQualifierTag ) ) (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? { - otherlv_0=(Token)match(input,39,FOLLOW_10); if (state.failed) return current; + otherlv_0=(Token)match(input,45,FOLLOW_10); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getQualifierAccess().getHyphenMinusKeyword_0_0()); } - // InternalSemver.g:1118:4: ( (lv_preRelease_1_0= ruleQualifierTag ) ) - // InternalSemver.g:1119:5: (lv_preRelease_1_0= ruleQualifierTag ) + // InternalSemver.g:1203:4: ( (lv_preRelease_1_0= ruleQualifierTag ) ) + // InternalSemver.g:1204:5: (lv_preRelease_1_0= ruleQualifierTag ) { - // InternalSemver.g:1119:5: (lv_preRelease_1_0= ruleQualifierTag ) - // InternalSemver.g:1120:6: lv_preRelease_1_0= ruleQualifierTag + // InternalSemver.g:1204:5: (lv_preRelease_1_0= ruleQualifierTag ) + // InternalSemver.g:1205:6: lv_preRelease_1_0= ruleQualifierTag { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifierAccess().getPreReleaseQualifierTagParserRuleCall_0_1_0()); } - pushFollow(FOLLOW_17); + pushFollow(FOLLOW_18); lv_preRelease_1_0=ruleQualifierTag(); state._fsp--; @@ -3230,28 +3467,28 @@ else if ( (LA26_0==41) ) { } - // InternalSemver.g:1137:4: (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? - int alt25=2; - int LA25_0 = input.LA(1); + // InternalSemver.g:1222:4: (otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) )? + int alt27=2; + int LA27_0 = input.LA(1); - if ( (LA25_0==41) ) { - alt25=1; + if ( (LA27_0==47) ) { + alt27=1; } - switch (alt25) { + switch (alt27) { case 1 : - // InternalSemver.g:1138:5: otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) + // InternalSemver.g:1223:5: otherlv_2= '+' ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) { - otherlv_2=(Token)match(input,41,FOLLOW_10); if (state.failed) return current; + otherlv_2=(Token)match(input,47,FOLLOW_10); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getQualifierAccess().getPlusSignKeyword_0_2_0()); } - // InternalSemver.g:1142:5: ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) - // InternalSemver.g:1143:6: (lv_buildMetadata_3_0= ruleQualifierTag ) + // InternalSemver.g:1227:5: ( (lv_buildMetadata_3_0= ruleQualifierTag ) ) + // InternalSemver.g:1228:6: (lv_buildMetadata_3_0= ruleQualifierTag ) { - // InternalSemver.g:1143:6: (lv_buildMetadata_3_0= ruleQualifierTag ) - // InternalSemver.g:1144:7: lv_buildMetadata_3_0= ruleQualifierTag + // InternalSemver.g:1228:6: (lv_buildMetadata_3_0= ruleQualifierTag ) + // InternalSemver.g:1229:7: lv_buildMetadata_3_0= ruleQualifierTag { if ( state.backtracking==0 ) { @@ -3295,22 +3532,22 @@ else if ( (LA26_0==41) ) { } break; case 2 : - // InternalSemver.g:1164:3: (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) + // InternalSemver.g:1249:3: (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) { - // InternalSemver.g:1164:3: (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) - // InternalSemver.g:1165:4: otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) + // InternalSemver.g:1249:3: (otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) ) + // InternalSemver.g:1250:4: otherlv_4= '+' ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) { - otherlv_4=(Token)match(input,41,FOLLOW_10); if (state.failed) return current; + otherlv_4=(Token)match(input,47,FOLLOW_10); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getQualifierAccess().getPlusSignKeyword_1_0()); } - // InternalSemver.g:1169:4: ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) - // InternalSemver.g:1170:5: (lv_buildMetadata_5_0= ruleQualifierTag ) + // InternalSemver.g:1254:4: ( (lv_buildMetadata_5_0= ruleQualifierTag ) ) + // InternalSemver.g:1255:5: (lv_buildMetadata_5_0= ruleQualifierTag ) { - // InternalSemver.g:1170:5: (lv_buildMetadata_5_0= ruleQualifierTag ) - // InternalSemver.g:1171:6: lv_buildMetadata_5_0= ruleQualifierTag + // InternalSemver.g:1255:5: (lv_buildMetadata_5_0= ruleQualifierTag ) + // InternalSemver.g:1256:6: lv_buildMetadata_5_0= ruleQualifierTag { if ( state.backtracking==0 ) { @@ -3372,7 +3609,7 @@ else if ( (LA26_0==41) ) { // $ANTLR start "entryRuleQualifierTag" - // InternalSemver.g:1193:1: entryRuleQualifierTag returns [EObject current=null] : iv_ruleQualifierTag= ruleQualifierTag EOF ; + // InternalSemver.g:1278:1: entryRuleQualifierTag returns [EObject current=null] : iv_ruleQualifierTag= ruleQualifierTag EOF ; public final EObject entryRuleQualifierTag() throws RecognitionException { EObject current = null; @@ -3380,8 +3617,8 @@ public final EObject entryRuleQualifierTag() throws RecognitionException { try { - // InternalSemver.g:1193:53: (iv_ruleQualifierTag= ruleQualifierTag EOF ) - // InternalSemver.g:1194:2: iv_ruleQualifierTag= ruleQualifierTag EOF + // InternalSemver.g:1278:53: (iv_ruleQualifierTag= ruleQualifierTag EOF ) + // InternalSemver.g:1279:2: iv_ruleQualifierTag= ruleQualifierTag EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifierTagRule()); @@ -3412,7 +3649,7 @@ public final EObject entryRuleQualifierTag() throws RecognitionException { // $ANTLR start "ruleQualifierTag" - // InternalSemver.g:1200:1: ruleQualifierTag returns [EObject current=null] : ( ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* ) ; + // InternalSemver.g:1285:1: ruleQualifierTag returns [EObject current=null] : ( ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* ) ; public final EObject ruleQualifierTag() throws RecognitionException { EObject current = null; @@ -3426,24 +3663,24 @@ public final EObject ruleQualifierTag() throws RecognitionException { enterRule(); try { - // InternalSemver.g:1206:2: ( ( ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* ) ) - // InternalSemver.g:1207:2: ( ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* ) + // InternalSemver.g:1291:2: ( ( ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* ) ) + // InternalSemver.g:1292:2: ( ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* ) { - // InternalSemver.g:1207:2: ( ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* ) - // InternalSemver.g:1208:3: ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* + // InternalSemver.g:1292:2: ( ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* ) + // InternalSemver.g:1293:3: ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* { - // InternalSemver.g:1208:3: ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) - // InternalSemver.g:1209:4: (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:1293:3: ( (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:1294:4: (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:1209:4: (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) - // InternalSemver.g:1210:5: lv_parts_0_0= ruleALPHA_NUMERIC_CHARS + // InternalSemver.g:1294:4: (lv_parts_0_0= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:1295:5: lv_parts_0_0= ruleALPHA_NUMERIC_CHARS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_0_0()); } - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_19); lv_parts_0_0=ruleALPHA_NUMERIC_CHARS(); state._fsp--; @@ -3467,39 +3704,39 @@ public final EObject ruleQualifierTag() throws RecognitionException { } - // InternalSemver.g:1227:3: (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* - loop27: + // InternalSemver.g:1312:3: (otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) )* + loop29: do { - int alt27=2; - int LA27_0 = input.LA(1); + int alt29=2; + int LA29_0 = input.LA(1); - if ( (LA27_0==40) ) { - alt27=1; + if ( (LA29_0==46) ) { + alt29=1; } - switch (alt27) { + switch (alt29) { case 1 : - // InternalSemver.g:1228:4: otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:1313:4: otherlv_1= '.' ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) { - otherlv_1=(Token)match(input,40,FOLLOW_10); if (state.failed) return current; + otherlv_1=(Token)match(input,46,FOLLOW_10); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getQualifierTagAccess().getFullStopKeyword_1_0()); } - // InternalSemver.g:1232:4: ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) - // InternalSemver.g:1233:5: (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:1317:4: ( (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:1318:5: (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:1233:5: (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) - // InternalSemver.g:1234:6: lv_parts_2_0= ruleALPHA_NUMERIC_CHARS + // InternalSemver.g:1318:5: (lv_parts_2_0= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:1319:6: lv_parts_2_0= ruleALPHA_NUMERIC_CHARS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifierTagAccess().getPartsALPHA_NUMERIC_CHARSParserRuleCall_1_1_0()); } - pushFollow(FOLLOW_18); + pushFollow(FOLLOW_19); lv_parts_2_0=ruleALPHA_NUMERIC_CHARS(); state._fsp--; @@ -3528,7 +3765,7 @@ public final EObject ruleQualifierTag() throws RecognitionException { break; default : - break loop27; + break loop29; } } while (true); @@ -3557,7 +3794,7 @@ public final EObject ruleQualifierTag() throws RecognitionException { // $ANTLR start "entryRuleFILE_TAG" - // InternalSemver.g:1256:1: entryRuleFILE_TAG returns [String current=null] : iv_ruleFILE_TAG= ruleFILE_TAG EOF ; + // InternalSemver.g:1341:1: entryRuleFILE_TAG returns [String current=null] : iv_ruleFILE_TAG= ruleFILE_TAG EOF ; public final String entryRuleFILE_TAG() throws RecognitionException { String current = null; @@ -3565,8 +3802,8 @@ public final String entryRuleFILE_TAG() throws RecognitionException { try { - // InternalSemver.g:1256:48: (iv_ruleFILE_TAG= ruleFILE_TAG EOF ) - // InternalSemver.g:1257:2: iv_ruleFILE_TAG= ruleFILE_TAG EOF + // InternalSemver.g:1341:48: (iv_ruleFILE_TAG= ruleFILE_TAG EOF ) + // InternalSemver.g:1342:2: iv_ruleFILE_TAG= ruleFILE_TAG EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFILE_TAGRule()); @@ -3597,7 +3834,7 @@ public final String entryRuleFILE_TAG() throws RecognitionException { // $ANTLR start "ruleFILE_TAG" - // InternalSemver.g:1263:1: ruleFILE_TAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' ) ; + // InternalSemver.g:1348:1: ruleFILE_TAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' ) ; public final AntlrDatatypeRuleToken ruleFILE_TAG() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -3611,13 +3848,13 @@ public final AntlrDatatypeRuleToken ruleFILE_TAG() throws RecognitionException { enterRule(); try { - // InternalSemver.g:1269:2: ( (this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' ) ) - // InternalSemver.g:1270:2: (this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' ) + // InternalSemver.g:1354:2: ( (this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' ) ) + // InternalSemver.g:1355:2: (this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' ) { - // InternalSemver.g:1270:2: (this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' ) - // InternalSemver.g:1271:3: this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' + // InternalSemver.g:1355:2: (this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' ) + // InternalSemver.g:1356:3: this_LETTER_F_0= RULE_LETTER_F this_LETTER_I_1= RULE_LETTER_I this_LETTER_L_2= RULE_LETTER_L this_LETTER_E_3= RULE_LETTER_E kw= ':' { - this_LETTER_F_0=(Token)match(input,RULE_LETTER_F,FOLLOW_19); if (state.failed) return current; + this_LETTER_F_0=(Token)match(input,RULE_LETTER_F,FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_LETTER_F_0); @@ -3628,7 +3865,7 @@ public final AntlrDatatypeRuleToken ruleFILE_TAG() throws RecognitionException { newLeafNode(this_LETTER_F_0, grammarAccess.getFILE_TAGAccess().getLETTER_FTerminalRuleCall_0()); } - this_LETTER_I_1=(Token)match(input,RULE_LETTER_I,FOLLOW_20); if (state.failed) return current; + this_LETTER_I_1=(Token)match(input,RULE_LETTER_I,FOLLOW_21); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_LETTER_I_1); @@ -3639,7 +3876,7 @@ public final AntlrDatatypeRuleToken ruleFILE_TAG() throws RecognitionException { newLeafNode(this_LETTER_I_1, grammarAccess.getFILE_TAGAccess().getLETTER_ITerminalRuleCall_1()); } - this_LETTER_L_2=(Token)match(input,RULE_LETTER_L,FOLLOW_21); if (state.failed) return current; + this_LETTER_L_2=(Token)match(input,RULE_LETTER_L,FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_LETTER_L_2); @@ -3661,7 +3898,7 @@ public final AntlrDatatypeRuleToken ruleFILE_TAG() throws RecognitionException { newLeafNode(this_LETTER_E_3, grammarAccess.getFILE_TAGAccess().getLETTER_ETerminalRuleCall_3()); } - kw=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; + kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -3693,7 +3930,7 @@ public final AntlrDatatypeRuleToken ruleFILE_TAG() throws RecognitionException { // $ANTLR start "entryRuleSEMVER_TAG" - // InternalSemver.g:1308:1: entryRuleSEMVER_TAG returns [String current=null] : iv_ruleSEMVER_TAG= ruleSEMVER_TAG EOF ; + // InternalSemver.g:1393:1: entryRuleSEMVER_TAG returns [String current=null] : iv_ruleSEMVER_TAG= ruleSEMVER_TAG EOF ; public final String entryRuleSEMVER_TAG() throws RecognitionException { String current = null; @@ -3701,8 +3938,8 @@ public final String entryRuleSEMVER_TAG() throws RecognitionException { try { - // InternalSemver.g:1308:50: (iv_ruleSEMVER_TAG= ruleSEMVER_TAG EOF ) - // InternalSemver.g:1309:2: iv_ruleSEMVER_TAG= ruleSEMVER_TAG EOF + // InternalSemver.g:1393:50: (iv_ruleSEMVER_TAG= ruleSEMVER_TAG EOF ) + // InternalSemver.g:1394:2: iv_ruleSEMVER_TAG= ruleSEMVER_TAG EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSEMVER_TAGRule()); @@ -3733,7 +3970,7 @@ public final String entryRuleSEMVER_TAG() throws RecognitionException { // $ANTLR start "ruleSEMVER_TAG" - // InternalSemver.g:1315:1: ruleSEMVER_TAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' ) ; + // InternalSemver.g:1400:1: ruleSEMVER_TAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' ) ; public final AntlrDatatypeRuleToken ruleSEMVER_TAG() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -3749,13 +3986,13 @@ public final AntlrDatatypeRuleToken ruleSEMVER_TAG() throws RecognitionException enterRule(); try { - // InternalSemver.g:1321:2: ( (this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' ) ) - // InternalSemver.g:1322:2: (this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' ) + // InternalSemver.g:1406:2: ( (this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' ) ) + // InternalSemver.g:1407:2: (this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' ) { - // InternalSemver.g:1322:2: (this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' ) - // InternalSemver.g:1323:3: this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' + // InternalSemver.g:1407:2: (this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' ) + // InternalSemver.g:1408:3: this_LETTER_S_0= RULE_LETTER_S this_LETTER_E_1= RULE_LETTER_E this_LETTER_M_2= RULE_LETTER_M this_LETTER_V_3= RULE_LETTER_V this_LETTER_E_4= RULE_LETTER_E this_LETTER_R_5= RULE_LETTER_R kw= ':' { - this_LETTER_S_0=(Token)match(input,RULE_LETTER_S,FOLLOW_21); if (state.failed) return current; + this_LETTER_S_0=(Token)match(input,RULE_LETTER_S,FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_LETTER_S_0); @@ -3766,7 +4003,7 @@ public final AntlrDatatypeRuleToken ruleSEMVER_TAG() throws RecognitionException newLeafNode(this_LETTER_S_0, grammarAccess.getSEMVER_TAGAccess().getLETTER_STerminalRuleCall_0()); } - this_LETTER_E_1=(Token)match(input,RULE_LETTER_E,FOLLOW_22); if (state.failed) return current; + this_LETTER_E_1=(Token)match(input,RULE_LETTER_E,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_LETTER_E_1); @@ -3777,7 +4014,7 @@ public final AntlrDatatypeRuleToken ruleSEMVER_TAG() throws RecognitionException newLeafNode(this_LETTER_E_1, grammarAccess.getSEMVER_TAGAccess().getLETTER_ETerminalRuleCall_1()); } - this_LETTER_M_2=(Token)match(input,RULE_LETTER_M,FOLLOW_23); if (state.failed) return current; + this_LETTER_M_2=(Token)match(input,RULE_LETTER_M,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_LETTER_M_2); @@ -3788,7 +4025,7 @@ public final AntlrDatatypeRuleToken ruleSEMVER_TAG() throws RecognitionException newLeafNode(this_LETTER_M_2, grammarAccess.getSEMVER_TAGAccess().getLETTER_MTerminalRuleCall_2()); } - this_LETTER_V_3=(Token)match(input,RULE_LETTER_V,FOLLOW_21); if (state.failed) return current; + this_LETTER_V_3=(Token)match(input,RULE_LETTER_V,FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_LETTER_V_3); @@ -3799,7 +4036,7 @@ public final AntlrDatatypeRuleToken ruleSEMVER_TAG() throws RecognitionException newLeafNode(this_LETTER_V_3, grammarAccess.getSEMVER_TAGAccess().getLETTER_VTerminalRuleCall_3()); } - this_LETTER_E_4=(Token)match(input,RULE_LETTER_E,FOLLOW_24); if (state.failed) return current; + this_LETTER_E_4=(Token)match(input,RULE_LETTER_E,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_LETTER_E_4); @@ -3821,7 +4058,7 @@ public final AntlrDatatypeRuleToken ruleSEMVER_TAG() throws RecognitionException newLeafNode(this_LETTER_R_5, grammarAccess.getSEMVER_TAGAccess().getLETTER_RTerminalRuleCall_5()); } - kw=(Token)match(input,35,FOLLOW_2); if (state.failed) return current; + kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -3852,8 +4089,204 @@ public final AntlrDatatypeRuleToken ruleSEMVER_TAG() throws RecognitionException // $ANTLR end "ruleSEMVER_TAG" + // $ANTLR start "entryRuleWORKSPACE_TAG" + // InternalSemver.g:1459:1: entryRuleWORKSPACE_TAG returns [String current=null] : iv_ruleWORKSPACE_TAG= ruleWORKSPACE_TAG EOF ; + public final String entryRuleWORKSPACE_TAG() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleWORKSPACE_TAG = null; + + + try { + // InternalSemver.g:1459:53: (iv_ruleWORKSPACE_TAG= ruleWORKSPACE_TAG EOF ) + // InternalSemver.g:1460:2: iv_ruleWORKSPACE_TAG= ruleWORKSPACE_TAG EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getWORKSPACE_TAGRule()); + } + pushFollow(FOLLOW_1); + iv_ruleWORKSPACE_TAG=ruleWORKSPACE_TAG(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleWORKSPACE_TAG.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleWORKSPACE_TAG" + + + // $ANTLR start "ruleWORKSPACE_TAG" + // InternalSemver.g:1466:1: ruleWORKSPACE_TAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_W_0= RULE_LETTER_W this_LETTER_O_1= RULE_LETTER_O this_LETTER_R_2= RULE_LETTER_R this_LETTER_K_3= RULE_LETTER_K this_LETTER_S_4= RULE_LETTER_S this_LETTER_P_5= RULE_LETTER_P this_LETTER_A_6= RULE_LETTER_A this_LETTER_C_7= RULE_LETTER_C this_LETTER_E_8= RULE_LETTER_E kw= ':' ) ; + public final AntlrDatatypeRuleToken ruleWORKSPACE_TAG() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_LETTER_W_0=null; + Token this_LETTER_O_1=null; + Token this_LETTER_R_2=null; + Token this_LETTER_K_3=null; + Token this_LETTER_S_4=null; + Token this_LETTER_P_5=null; + Token this_LETTER_A_6=null; + Token this_LETTER_C_7=null; + Token this_LETTER_E_8=null; + Token kw=null; + + + enterRule(); + + try { + // InternalSemver.g:1472:2: ( (this_LETTER_W_0= RULE_LETTER_W this_LETTER_O_1= RULE_LETTER_O this_LETTER_R_2= RULE_LETTER_R this_LETTER_K_3= RULE_LETTER_K this_LETTER_S_4= RULE_LETTER_S this_LETTER_P_5= RULE_LETTER_P this_LETTER_A_6= RULE_LETTER_A this_LETTER_C_7= RULE_LETTER_C this_LETTER_E_8= RULE_LETTER_E kw= ':' ) ) + // InternalSemver.g:1473:2: (this_LETTER_W_0= RULE_LETTER_W this_LETTER_O_1= RULE_LETTER_O this_LETTER_R_2= RULE_LETTER_R this_LETTER_K_3= RULE_LETTER_K this_LETTER_S_4= RULE_LETTER_S this_LETTER_P_5= RULE_LETTER_P this_LETTER_A_6= RULE_LETTER_A this_LETTER_C_7= RULE_LETTER_C this_LETTER_E_8= RULE_LETTER_E kw= ':' ) + { + // InternalSemver.g:1473:2: (this_LETTER_W_0= RULE_LETTER_W this_LETTER_O_1= RULE_LETTER_O this_LETTER_R_2= RULE_LETTER_R this_LETTER_K_3= RULE_LETTER_K this_LETTER_S_4= RULE_LETTER_S this_LETTER_P_5= RULE_LETTER_P this_LETTER_A_6= RULE_LETTER_A this_LETTER_C_7= RULE_LETTER_C this_LETTER_E_8= RULE_LETTER_E kw= ':' ) + // InternalSemver.g:1474:3: this_LETTER_W_0= RULE_LETTER_W this_LETTER_O_1= RULE_LETTER_O this_LETTER_R_2= RULE_LETTER_R this_LETTER_K_3= RULE_LETTER_K this_LETTER_S_4= RULE_LETTER_S this_LETTER_P_5= RULE_LETTER_P this_LETTER_A_6= RULE_LETTER_A this_LETTER_C_7= RULE_LETTER_C this_LETTER_E_8= RULE_LETTER_E kw= ':' + { + this_LETTER_W_0=(Token)match(input,RULE_LETTER_W,FOLLOW_26); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_W_0); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_W_0, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_WTerminalRuleCall_0()); + + } + this_LETTER_O_1=(Token)match(input,RULE_LETTER_O,FOLLOW_25); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_O_1); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_O_1, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_OTerminalRuleCall_1()); + + } + this_LETTER_R_2=(Token)match(input,RULE_LETTER_R,FOLLOW_27); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_R_2); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_R_2, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_RTerminalRuleCall_2()); + + } + this_LETTER_K_3=(Token)match(input,RULE_LETTER_K,FOLLOW_28); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_K_3); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_K_3, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_KTerminalRuleCall_3()); + + } + this_LETTER_S_4=(Token)match(input,RULE_LETTER_S,FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_S_4); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_S_4, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_STerminalRuleCall_4()); + + } + this_LETTER_P_5=(Token)match(input,RULE_LETTER_P,FOLLOW_30); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_P_5); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_P_5, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_PTerminalRuleCall_5()); + + } + this_LETTER_A_6=(Token)match(input,RULE_LETTER_A,FOLLOW_31); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_A_6); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_A_6, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ATerminalRuleCall_6()); + + } + this_LETTER_C_7=(Token)match(input,RULE_LETTER_C,FOLLOW_22); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_C_7); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_C_7, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_CTerminalRuleCall_7()); + + } + this_LETTER_E_8=(Token)match(input,RULE_LETTER_E,FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_E_8); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_E_8, grammarAccess.getWORKSPACE_TAGAccess().getLETTER_ETerminalRuleCall_8()); + + } + kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_TAGAccess().getColonKeyword_9()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleWORKSPACE_TAG" + + // $ANTLR start "entryRulePATH" - // InternalSemver.g:1374:1: entryRulePATH returns [String current=null] : iv_rulePATH= rulePATH EOF ; + // InternalSemver.g:1546:1: entryRulePATH returns [String current=null] : iv_rulePATH= rulePATH EOF ; public final String entryRulePATH() throws RecognitionException { String current = null; @@ -3861,8 +4294,8 @@ public final String entryRulePATH() throws RecognitionException { try { - // InternalSemver.g:1374:44: (iv_rulePATH= rulePATH EOF ) - // InternalSemver.g:1375:2: iv_rulePATH= rulePATH EOF + // InternalSemver.g:1546:44: (iv_rulePATH= rulePATH EOF ) + // InternalSemver.g:1547:2: iv_rulePATH= rulePATH EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPATHRule()); @@ -3893,59 +4326,49 @@ public final String entryRulePATH() throws RecognitionException { // $ANTLR start "rulePATH" - // InternalSemver.g:1381:1: rulePATH returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '/' | kw= '.' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )+ ; + // InternalSemver.g:1553:1: rulePATH returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '/' | kw= '.' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )+ ; public final AntlrDatatypeRuleToken rulePATH() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; - Token this_DIGITS_5=null; - AntlrDatatypeRuleToken this_LETTER_6 = null; + AntlrDatatypeRuleToken this_ALPHA_NUMERIC_CHAR_4 = null; enterRule(); try { - // InternalSemver.g:1387:2: ( (kw= '/' | kw= '.' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )+ ) - // InternalSemver.g:1388:2: (kw= '/' | kw= '.' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )+ + // InternalSemver.g:1559:2: ( (kw= '/' | kw= '.' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )+ ) + // InternalSemver.g:1560:2: (kw= '/' | kw= '.' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )+ { - // InternalSemver.g:1388:2: (kw= '/' | kw= '.' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )+ - int cnt28=0; - loop28: + // InternalSemver.g:1560:2: (kw= '/' | kw= '.' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )+ + int cnt30=0; + loop30: do { - int alt28=8; + int alt30=6; switch ( input.LA(1) ) { - case 36: - { - alt28=1; - } - break; - case 40: - { - alt28=2; - } - break; case 42: { - alt28=3; + alt30=1; } break; - case 39: + case 46: { - alt28=4; + alt30=2; } break; - case 43: + case 48: { - alt28=5; + alt30=3; } break; - case RULE_DIGITS: + case 49: { - alt28=6; + alt30=4; } break; case RULE_LETTER_V: + case RULE_DIGITS: case RULE_LETTER_F: case RULE_LETTER_I: case RULE_LETTER_L: @@ -3953,20 +4376,27 @@ public final AntlrDatatypeRuleToken rulePATH() throws RecognitionException { case RULE_LETTER_S: case RULE_LETTER_M: case RULE_LETTER_R: + case RULE_LETTER_W: + case RULE_LETTER_O: + case RULE_LETTER_K: + case RULE_LETTER_P: + case RULE_LETTER_A: + case RULE_LETTER_C: case RULE_LETTER_X: case RULE_LETTER_OTHER: + case 45: { - alt28=7; + alt30=5; } break; } - switch (alt28) { + switch (alt30) { case 1 : - // InternalSemver.g:1389:3: kw= '/' + // InternalSemver.g:1561:3: kw= '/' { - kw=(Token)match(input,36,FOLLOW_25); if (state.failed) return current; + kw=(Token)match(input,42,FOLLOW_32); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -3977,9 +4407,9 @@ public final AntlrDatatypeRuleToken rulePATH() throws RecognitionException { } break; case 2 : - // InternalSemver.g:1395:3: kw= '.' + // InternalSemver.g:1567:3: kw= '.' { - kw=(Token)match(input,40,FOLLOW_25); if (state.failed) return current; + kw=(Token)match(input,46,FOLLOW_32); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -3990,9 +4420,9 @@ public final AntlrDatatypeRuleToken rulePATH() throws RecognitionException { } break; case 3 : - // InternalSemver.g:1401:3: kw= '@' + // InternalSemver.g:1573:3: kw= '@' { - kw=(Token)match(input,42,FOLLOW_25); if (state.failed) return current; + kw=(Token)match(input,48,FOLLOW_32); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4003,64 +4433,34 @@ public final AntlrDatatypeRuleToken rulePATH() throws RecognitionException { } break; case 4 : - // InternalSemver.g:1407:3: kw= '-' + // InternalSemver.g:1579:3: kw= '_' { - kw=(Token)match(input,39,FOLLOW_25); if (state.failed) return current; + kw=(Token)match(input,49,FOLLOW_32); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); - newLeafNode(kw, grammarAccess.getPATHAccess().getHyphenMinusKeyword_3()); + newLeafNode(kw, grammarAccess.getPATHAccess().get_Keyword_3()); } } break; case 5 : - // InternalSemver.g:1413:3: kw= '_' - { - kw=(Token)match(input,43,FOLLOW_25); if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(kw); - newLeafNode(kw, grammarAccess.getPATHAccess().get_Keyword_4()); - - } - - } - break; - case 6 : - // InternalSemver.g:1419:3: this_DIGITS_5= RULE_DIGITS - { - this_DIGITS_5=(Token)match(input,RULE_DIGITS,FOLLOW_25); if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(this_DIGITS_5); - - } - if ( state.backtracking==0 ) { - - newLeafNode(this_DIGITS_5, grammarAccess.getPATHAccess().getDIGITSTerminalRuleCall_5()); - - } - - } - break; - case 7 : - // InternalSemver.g:1427:3: this_LETTER_6= ruleLETTER + // InternalSemver.g:1585:3: this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getPATHAccess().getLETTERParserRuleCall_6()); + newCompositeNode(grammarAccess.getPATHAccess().getALPHA_NUMERIC_CHARParserRuleCall_4()); } - pushFollow(FOLLOW_25); - this_LETTER_6=ruleLETTER(); + pushFollow(FOLLOW_32); + this_ALPHA_NUMERIC_CHAR_4=ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_6); + current.merge(this_ALPHA_NUMERIC_CHAR_4); } if ( state.backtracking==0 ) { @@ -4073,13 +4473,13 @@ public final AntlrDatatypeRuleToken rulePATH() throws RecognitionException { break; default : - if ( cnt28 >= 1 ) break loop28; + if ( cnt30 >= 1 ) break loop30; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = - new EarlyExitException(28, input); + new EarlyExitException(30, input); throw eee; } - cnt28++; + cnt30++; } while (true); @@ -4104,7 +4504,7 @@ public final AntlrDatatypeRuleToken rulePATH() throws RecognitionException { // $ANTLR start "entryRuleURL_PROTOCOL" - // InternalSemver.g:1441:1: entryRuleURL_PROTOCOL returns [String current=null] : iv_ruleURL_PROTOCOL= ruleURL_PROTOCOL EOF ; + // InternalSemver.g:1599:1: entryRuleURL_PROTOCOL returns [String current=null] : iv_ruleURL_PROTOCOL= ruleURL_PROTOCOL EOF ; public final String entryRuleURL_PROTOCOL() throws RecognitionException { String current = null; @@ -4112,8 +4512,8 @@ public final String entryRuleURL_PROTOCOL() throws RecognitionException { try { - // InternalSemver.g:1441:52: (iv_ruleURL_PROTOCOL= ruleURL_PROTOCOL EOF ) - // InternalSemver.g:1442:2: iv_ruleURL_PROTOCOL= ruleURL_PROTOCOL EOF + // InternalSemver.g:1599:52: (iv_ruleURL_PROTOCOL= ruleURL_PROTOCOL EOF ) + // InternalSemver.g:1600:2: iv_ruleURL_PROTOCOL= ruleURL_PROTOCOL EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURL_PROTOCOLRule()); @@ -4144,7 +4544,7 @@ public final String entryRuleURL_PROTOCOL() throws RecognitionException { // $ANTLR start "ruleURL_PROTOCOL" - // InternalSemver.g:1448:1: ruleURL_PROTOCOL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ ) ; + // InternalSemver.g:1606:1: ruleURL_PROTOCOL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ ) ; public final AntlrDatatypeRuleToken ruleURL_PROTOCOL() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -4158,18 +4558,18 @@ public final AntlrDatatypeRuleToken ruleURL_PROTOCOL() throws RecognitionExcepti enterRule(); try { - // InternalSemver.g:1454:2: ( (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ ) ) - // InternalSemver.g:1455:2: (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ ) + // InternalSemver.g:1612:2: ( (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ ) ) + // InternalSemver.g:1613:2: (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ ) { - // InternalSemver.g:1455:2: (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ ) - // InternalSemver.g:1456:3: this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ + // InternalSemver.g:1613:2: (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ ) + // InternalSemver.g:1614:3: this_LETTER_NO_VX_0= ruleLETTER_NO_VX (this_LETTER_1= ruleLETTER | kw= '+' )+ { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURL_PROTOCOLAccess().getLETTER_NO_VXParserRuleCall_0()); } - pushFollow(FOLLOW_26); + pushFollow(FOLLOW_33); this_LETTER_NO_VX_0=ruleLETTER_NO_VX(); state._fsp--; @@ -4184,31 +4584,31 @@ public final AntlrDatatypeRuleToken ruleURL_PROTOCOL() throws RecognitionExcepti afterParserOrEnumRuleCall(); } - // InternalSemver.g:1466:3: (this_LETTER_1= ruleLETTER | kw= '+' )+ - int cnt29=0; - loop29: + // InternalSemver.g:1624:3: (this_LETTER_1= ruleLETTER | kw= '+' )+ + int cnt31=0; + loop31: do { - int alt29=3; - int LA29_0 = input.LA(1); + int alt31=3; + int LA31_0 = input.LA(1); - if ( (LA29_0==RULE_LETTER_V||(LA29_0>=RULE_LETTER_F && LA29_0<=RULE_LETTER_X)||LA29_0==RULE_LETTER_OTHER) ) { - alt29=1; + if ( (LA31_0==RULE_LETTER_V||(LA31_0>=RULE_LETTER_F && LA31_0<=RULE_LETTER_C)||(LA31_0>=RULE_LETTER_X && LA31_0<=RULE_LETTER_OTHER)) ) { + alt31=1; } - else if ( (LA29_0==41) ) { - alt29=2; + else if ( (LA31_0==47) ) { + alt31=2; } - switch (alt29) { + switch (alt31) { case 1 : - // InternalSemver.g:1467:4: this_LETTER_1= ruleLETTER + // InternalSemver.g:1625:4: this_LETTER_1= ruleLETTER { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURL_PROTOCOLAccess().getLETTERParserRuleCall_1_0()); } - pushFollow(FOLLOW_27); + pushFollow(FOLLOW_34); this_LETTER_1=ruleLETTER(); state._fsp--; @@ -4227,9 +4627,9 @@ else if ( (LA29_0==41) ) { } break; case 2 : - // InternalSemver.g:1478:4: kw= '+' + // InternalSemver.g:1636:4: kw= '+' { - kw=(Token)match(input,41,FOLLOW_27); if (state.failed) return current; + kw=(Token)match(input,47,FOLLOW_34); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4241,13 +4641,13 @@ else if ( (LA29_0==41) ) { break; default : - if ( cnt29 >= 1 ) break loop29; + if ( cnt31 >= 1 ) break loop31; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = - new EarlyExitException(29, input); + new EarlyExitException(31, input); throw eee; } - cnt29++; + cnt31++; } while (true); @@ -4275,7 +4675,7 @@ else if ( (LA29_0==41) ) { // $ANTLR start "entryRuleURL" - // InternalSemver.g:1488:1: entryRuleURL returns [String current=null] : iv_ruleURL= ruleURL EOF ; + // InternalSemver.g:1646:1: entryRuleURL returns [String current=null] : iv_ruleURL= ruleURL EOF ; public final String entryRuleURL() throws RecognitionException { String current = null; @@ -4283,8 +4683,8 @@ public final String entryRuleURL() throws RecognitionException { try { - // InternalSemver.g:1488:43: (iv_ruleURL= ruleURL EOF ) - // InternalSemver.g:1489:2: iv_ruleURL= ruleURL EOF + // InternalSemver.g:1646:43: (iv_ruleURL= ruleURL EOF ) + // InternalSemver.g:1647:2: iv_ruleURL= ruleURL EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURLRule()); @@ -4315,177 +4715,122 @@ public final String entryRuleURL() throws RecognitionException { // $ANTLR start "ruleURL" - // InternalSemver.g:1495:1: ruleURL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' | kw= '_' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_14= RULE_DIGITS | this_LETTER_15= ruleLETTER )* ) ; + // InternalSemver.g:1653:1: ruleURL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '_' | this_ALPHA_NUMERIC_CHAR_1= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_11= ruleALPHA_NUMERIC_CHAR )* ) ; public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; - Token this_DIGITS_2=null; - Token this_DIGITS_14=null; - AntlrDatatypeRuleToken this_LETTER_3 = null; + AntlrDatatypeRuleToken this_ALPHA_NUMERIC_CHAR_1 = null; - AntlrDatatypeRuleToken this_LETTER_15 = null; + AntlrDatatypeRuleToken this_ALPHA_NUMERIC_CHAR_11 = null; enterRule(); try { - // InternalSemver.g:1501:2: ( ( (kw= '-' | kw= '_' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_14= RULE_DIGITS | this_LETTER_15= ruleLETTER )* ) ) - // InternalSemver.g:1502:2: ( (kw= '-' | kw= '_' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_14= RULE_DIGITS | this_LETTER_15= ruleLETTER )* ) + // InternalSemver.g:1659:2: ( ( (kw= '_' | this_ALPHA_NUMERIC_CHAR_1= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_11= ruleALPHA_NUMERIC_CHAR )* ) ) + // InternalSemver.g:1660:2: ( (kw= '_' | this_ALPHA_NUMERIC_CHAR_1= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_11= ruleALPHA_NUMERIC_CHAR )* ) { - // InternalSemver.g:1502:2: ( (kw= '-' | kw= '_' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_14= RULE_DIGITS | this_LETTER_15= ruleLETTER )* ) - // InternalSemver.g:1503:3: (kw= '-' | kw= '_' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_14= RULE_DIGITS | this_LETTER_15= ruleLETTER )* + // InternalSemver.g:1660:2: ( (kw= '_' | this_ALPHA_NUMERIC_CHAR_1= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_11= ruleALPHA_NUMERIC_CHAR )* ) + // InternalSemver.g:1661:3: (kw= '_' | this_ALPHA_NUMERIC_CHAR_1= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_11= ruleALPHA_NUMERIC_CHAR )* { - // InternalSemver.g:1503:3: (kw= '-' | kw= '_' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )* - loop30: + // InternalSemver.g:1661:3: (kw= '_' | this_ALPHA_NUMERIC_CHAR_1= ruleALPHA_NUMERIC_CHAR )* + loop32: do { - int alt30=5; - switch ( input.LA(1) ) { - case 39: - { - alt30=1; - } - break; - case 43: - { - alt30=2; - } - break; - case RULE_DIGITS: - { - alt30=3; - } - break; - case RULE_LETTER_V: - case RULE_LETTER_F: - case RULE_LETTER_I: - case RULE_LETTER_L: - case RULE_LETTER_E: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: - case RULE_LETTER_X: - case RULE_LETTER_OTHER: - { - alt30=4; - } - break; + int alt32=3; + int LA32_0 = input.LA(1); + if ( (LA32_0==49) ) { + alt32=1; + } + else if ( ((LA32_0>=RULE_LETTER_V && LA32_0<=RULE_LETTER_C)||(LA32_0>=RULE_LETTER_X && LA32_0<=RULE_LETTER_OTHER)||LA32_0==45) ) { + alt32=2; } - switch (alt30) { + + switch (alt32) { case 1 : - // InternalSemver.g:1504:4: kw= '-' + // InternalSemver.g:1662:4: kw= '_' { - kw=(Token)match(input,39,FOLLOW_8); if (state.failed) return current; + kw=(Token)match(input,49,FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); - newLeafNode(kw, grammarAccess.getURLAccess().getHyphenMinusKeyword_0_0()); + newLeafNode(kw, grammarAccess.getURLAccess().get_Keyword_0_0()); } } break; case 2 : - // InternalSemver.g:1510:4: kw= '_' + // InternalSemver.g:1668:4: this_ALPHA_NUMERIC_CHAR_1= ruleALPHA_NUMERIC_CHAR { - kw=(Token)match(input,43,FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(kw); - newLeafNode(kw, grammarAccess.getURLAccess().get_Keyword_0_1()); + newCompositeNode(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_0_1()); } + pushFollow(FOLLOW_8); + this_ALPHA_NUMERIC_CHAR_1=ruleALPHA_NUMERIC_CHAR(); - } - break; - case 3 : - // InternalSemver.g:1516:4: this_DIGITS_2= RULE_DIGITS - { - this_DIGITS_2=(Token)match(input,RULE_DIGITS,FOLLOW_8); if (state.failed) return current; + state._fsp--; + if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_DIGITS_2); + current.merge(this_ALPHA_NUMERIC_CHAR_1); } if ( state.backtracking==0 ) { - newLeafNode(this_DIGITS_2, grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_0_2()); + afterParserOrEnumRuleCall(); } } break; - case 4 : - // InternalSemver.g:1524:4: this_LETTER_3= ruleLETTER - { - if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getURLAccess().getLETTERParserRuleCall_0_3()); - - } - pushFollow(FOLLOW_8); - this_LETTER_3=ruleLETTER(); + default : + break loop32; + } + } while (true); - state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(this_LETTER_3); - - } - if ( state.backtracking==0 ) { - - afterParserOrEnumRuleCall(); - - } - - } - break; - - default : - break loop30; - } - } while (true); - - // InternalSemver.g:1535:3: (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) - int alt31=4; + // InternalSemver.g:1679:3: (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) + int alt33=4; switch ( input.LA(1) ) { - case 36: + case 42: { - alt31=1; + alt33=1; } break; - case 40: + case 46: { - alt31=2; + alt33=2; } break; - case 35: + case 41: { - alt31=3; + alt33=3; } break; - case 42: + case 48: { - alt31=4; + alt33=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 31, 0, input); + new NoViableAltException("", 33, 0, input); throw nvae; } - switch (alt31) { + switch (alt33) { case 1 : - // InternalSemver.g:1536:4: kw= '/' + // InternalSemver.g:1680:4: kw= '/' { - kw=(Token)match(input,36,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,42,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4496,9 +4841,9 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { } break; case 2 : - // InternalSemver.g:1542:4: kw= '.' + // InternalSemver.g:1686:4: kw= '.' { - kw=(Token)match(input,40,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,46,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4509,9 +4854,9 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { } break; case 3 : - // InternalSemver.g:1548:4: kw= ':' + // InternalSemver.g:1692:4: kw= ':' { - kw=(Token)match(input,35,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,41,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4522,9 +4867,9 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { } break; case 4 : - // InternalSemver.g:1554:4: kw= '@' + // InternalSemver.g:1698:4: kw= '@' { - kw=(Token)match(input,42,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,48,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4537,47 +4882,38 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { } - // InternalSemver.g:1560:3: (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_14= RULE_DIGITS | this_LETTER_15= ruleLETTER )* - loop32: + // InternalSemver.g:1704:3: (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_11= ruleALPHA_NUMERIC_CHAR )* + loop34: do { - int alt32=9; + int alt34=7; switch ( input.LA(1) ) { - case 36: - { - alt32=1; - } - break; - case 40: - { - alt32=2; - } - break; - case 35: + case 42: { - alt32=3; + alt34=1; } break; - case 42: + case 46: { - alt32=4; + alt34=2; } break; - case 39: + case 41: { - alt32=5; + alt34=3; } break; - case 43: + case 48: { - alt32=6; + alt34=4; } break; - case RULE_DIGITS: + case 49: { - alt32=7; + alt34=5; } break; case RULE_LETTER_V: + case RULE_DIGITS: case RULE_LETTER_F: case RULE_LETTER_I: case RULE_LETTER_L: @@ -4585,20 +4921,27 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { case RULE_LETTER_S: case RULE_LETTER_M: case RULE_LETTER_R: + case RULE_LETTER_W: + case RULE_LETTER_O: + case RULE_LETTER_K: + case RULE_LETTER_P: + case RULE_LETTER_A: + case RULE_LETTER_C: case RULE_LETTER_X: case RULE_LETTER_OTHER: + case 45: { - alt32=8; + alt34=6; } break; } - switch (alt32) { + switch (alt34) { case 1 : - // InternalSemver.g:1561:4: kw= '/' + // InternalSemver.g:1705:4: kw= '/' { - kw=(Token)match(input,36,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,42,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4609,9 +4952,9 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { } break; case 2 : - // InternalSemver.g:1567:4: kw= '.' + // InternalSemver.g:1711:4: kw= '.' { - kw=(Token)match(input,40,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,46,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4622,9 +4965,9 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { } break; case 3 : - // InternalSemver.g:1573:4: kw= ':' + // InternalSemver.g:1717:4: kw= ':' { - kw=(Token)match(input,35,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,41,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4635,9 +4978,9 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { } break; case 4 : - // InternalSemver.g:1579:4: kw= '@' + // InternalSemver.g:1723:4: kw= '@' { - kw=(Token)match(input,42,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,48,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -4648,64 +4991,34 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { } break; case 5 : - // InternalSemver.g:1585:4: kw= '-' + // InternalSemver.g:1729:4: kw= '_' { - kw=(Token)match(input,39,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,49,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); - newLeafNode(kw, grammarAccess.getURLAccess().getHyphenMinusKeyword_2_4()); + newLeafNode(kw, grammarAccess.getURLAccess().get_Keyword_2_4()); } } break; case 6 : - // InternalSemver.g:1591:4: kw= '_' - { - kw=(Token)match(input,43,FOLLOW_28); if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(kw); - newLeafNode(kw, grammarAccess.getURLAccess().get_Keyword_2_5()); - - } - - } - break; - case 7 : - // InternalSemver.g:1597:4: this_DIGITS_14= RULE_DIGITS - { - this_DIGITS_14=(Token)match(input,RULE_DIGITS,FOLLOW_28); if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(this_DIGITS_14); - - } - if ( state.backtracking==0 ) { - - newLeafNode(this_DIGITS_14, grammarAccess.getURLAccess().getDIGITSTerminalRuleCall_2_6()); - - } - - } - break; - case 8 : - // InternalSemver.g:1605:4: this_LETTER_15= ruleLETTER + // InternalSemver.g:1735:4: this_ALPHA_NUMERIC_CHAR_11= ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getURLAccess().getLETTERParserRuleCall_2_7()); + newCompositeNode(grammarAccess.getURLAccess().getALPHA_NUMERIC_CHARParserRuleCall_2_5()); } - pushFollow(FOLLOW_28); - this_LETTER_15=ruleLETTER(); + pushFollow(FOLLOW_35); + this_ALPHA_NUMERIC_CHAR_11=ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_15); + current.merge(this_ALPHA_NUMERIC_CHAR_11); } if ( state.backtracking==0 ) { @@ -4718,7 +5031,7 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { break; default : - break loop32; + break loop34; } } while (true); @@ -4747,7 +5060,7 @@ public final AntlrDatatypeRuleToken ruleURL() throws RecognitionException { // $ANTLR start "entryRuleURL_NO_VX" - // InternalSemver.g:1620:1: entryRuleURL_NO_VX returns [String current=null] : iv_ruleURL_NO_VX= ruleURL_NO_VX EOF ; + // InternalSemver.g:1750:1: entryRuleURL_NO_VX returns [String current=null] : iv_ruleURL_NO_VX= ruleURL_NO_VX EOF ; public final String entryRuleURL_NO_VX() throws RecognitionException { String current = null; @@ -4755,8 +5068,8 @@ public final String entryRuleURL_NO_VX() throws RecognitionException { try { - // InternalSemver.g:1620:49: (iv_ruleURL_NO_VX= ruleURL_NO_VX EOF ) - // InternalSemver.g:1621:2: iv_ruleURL_NO_VX= ruleURL_NO_VX EOF + // InternalSemver.g:1750:49: (iv_ruleURL_NO_VX= ruleURL_NO_VX EOF ) + // InternalSemver.g:1751:2: iv_ruleURL_NO_VX= ruleURL_NO_VX EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURL_NO_VXRule()); @@ -4787,41 +5100,39 @@ public final String entryRuleURL_NO_VX() throws RecognitionException { // $ANTLR start "ruleURL_NO_VX" - // InternalSemver.g:1627:1: ruleURL_NO_VX returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' | kw= '_' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_17= RULE_DIGITS | this_LETTER_18= ruleLETTER )* ) ; + // InternalSemver.g:1757:1: ruleURL_NO_VX returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '_' | kw= '-' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_14= ruleALPHA_NUMERIC_CHAR )* ) ; public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; - Token this_DIGITS_5=null; - Token this_DIGITS_17=null; AntlrDatatypeRuleToken this_LETTER_NO_VX_2 = null; - AntlrDatatypeRuleToken this_LETTER_6 = null; + AntlrDatatypeRuleToken this_ALPHA_NUMERIC_CHAR_4 = null; - AntlrDatatypeRuleToken this_LETTER_18 = null; + AntlrDatatypeRuleToken this_ALPHA_NUMERIC_CHAR_14 = null; enterRule(); try { - // InternalSemver.g:1633:2: ( ( (kw= '-' | kw= '_' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_17= RULE_DIGITS | this_LETTER_18= ruleLETTER )* ) ) - // InternalSemver.g:1634:2: ( (kw= '-' | kw= '_' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_17= RULE_DIGITS | this_LETTER_18= ruleLETTER )* ) + // InternalSemver.g:1763:2: ( ( (kw= '_' | kw= '-' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_14= ruleALPHA_NUMERIC_CHAR )* ) ) + // InternalSemver.g:1764:2: ( (kw= '_' | kw= '-' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_14= ruleALPHA_NUMERIC_CHAR )* ) { - // InternalSemver.g:1634:2: ( (kw= '-' | kw= '_' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_17= RULE_DIGITS | this_LETTER_18= ruleLETTER )* ) - // InternalSemver.g:1635:3: (kw= '-' | kw= '_' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_17= RULE_DIGITS | this_LETTER_18= ruleLETTER )* + // InternalSemver.g:1764:2: ( (kw= '_' | kw= '-' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_14= ruleALPHA_NUMERIC_CHAR )* ) + // InternalSemver.g:1765:3: (kw= '_' | kw= '-' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) (kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )* (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_14= ruleALPHA_NUMERIC_CHAR )* { - // InternalSemver.g:1635:3: (kw= '-' | kw= '_' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) - int alt33=3; + // InternalSemver.g:1765:3: (kw= '_' | kw= '-' | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) + int alt35=3; switch ( input.LA(1) ) { - case 39: + case 49: { - alt33=1; + alt35=1; } break; - case 43: + case 45: { - alt33=2; + alt35=2; } break; case RULE_LETTER_F: @@ -4831,48 +5142,54 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException case RULE_LETTER_S: case RULE_LETTER_M: case RULE_LETTER_R: + case RULE_LETTER_W: + case RULE_LETTER_O: + case RULE_LETTER_K: + case RULE_LETTER_P: + case RULE_LETTER_A: + case RULE_LETTER_C: case RULE_LETTER_OTHER: { - alt33=3; + alt35=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 33, 0, input); + new NoViableAltException("", 35, 0, input); throw nvae; } - switch (alt33) { + switch (alt35) { case 1 : - // InternalSemver.g:1636:4: kw= '-' + // InternalSemver.g:1766:4: kw= '_' { - kw=(Token)match(input,39,FOLLOW_8); if (state.failed) return current; + kw=(Token)match(input,49,FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_0()); + newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_0_0()); } } break; case 2 : - // InternalSemver.g:1642:4: kw= '_' + // InternalSemver.g:1772:4: kw= '-' { - kw=(Token)match(input,43,FOLLOW_8); if (state.failed) return current; + kw=(Token)match(input,45,FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_0_1()); + newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_0_1()); } } break; case 3 : - // InternalSemver.g:1648:4: this_LETTER_NO_VX_2= ruleLETTER_NO_VX + // InternalSemver.g:1778:4: this_LETTER_NO_VX_2= ruleLETTER_NO_VX { if ( state.backtracking==0 ) { @@ -4900,103 +5217,50 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException } - // InternalSemver.g:1659:3: (kw= '-' | kw= '_' | this_DIGITS_5= RULE_DIGITS | this_LETTER_6= ruleLETTER )* - loop34: + // InternalSemver.g:1789:3: (kw= '_' | this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR )* + loop36: do { - int alt34=5; - switch ( input.LA(1) ) { - case 39: - { - alt34=1; - } - break; - case 43: - { - alt34=2; - } - break; - case RULE_DIGITS: - { - alt34=3; - } - break; - case RULE_LETTER_V: - case RULE_LETTER_F: - case RULE_LETTER_I: - case RULE_LETTER_L: - case RULE_LETTER_E: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: - case RULE_LETTER_X: - case RULE_LETTER_OTHER: - { - alt34=4; - } - break; + int alt36=3; + int LA36_0 = input.LA(1); + if ( (LA36_0==49) ) { + alt36=1; + } + else if ( ((LA36_0>=RULE_LETTER_V && LA36_0<=RULE_LETTER_C)||(LA36_0>=RULE_LETTER_X && LA36_0<=RULE_LETTER_OTHER)||LA36_0==45) ) { + alt36=2; } - switch (alt34) { + + switch (alt36) { case 1 : - // InternalSemver.g:1660:4: kw= '-' + // InternalSemver.g:1790:4: kw= '_' { - kw=(Token)match(input,39,FOLLOW_8); if (state.failed) return current; + kw=(Token)match(input,49,FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_1_0()); + newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_1_0()); } } break; case 2 : - // InternalSemver.g:1666:4: kw= '_' - { - kw=(Token)match(input,43,FOLLOW_8); if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_1_1()); - - } - - } - break; - case 3 : - // InternalSemver.g:1672:4: this_DIGITS_5= RULE_DIGITS - { - this_DIGITS_5=(Token)match(input,RULE_DIGITS,FOLLOW_8); if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(this_DIGITS_5); - - } - if ( state.backtracking==0 ) { - - newLeafNode(this_DIGITS_5, grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_1_2()); - - } - - } - break; - case 4 : - // InternalSemver.g:1680:4: this_LETTER_6= ruleLETTER + // InternalSemver.g:1796:4: this_ALPHA_NUMERIC_CHAR_4= ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_1_3()); + newCompositeNode(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_1_1()); } pushFollow(FOLLOW_8); - this_LETTER_6=ruleLETTER(); + this_ALPHA_NUMERIC_CHAR_4=ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_6); + current.merge(this_ALPHA_NUMERIC_CHAR_4); } if ( state.backtracking==0 ) { @@ -5009,46 +5273,46 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException break; default : - break loop34; + break loop36; } } while (true); - // InternalSemver.g:1691:3: (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) - int alt35=4; + // InternalSemver.g:1807:3: (kw= '/' | kw= '.' | kw= ':' | kw= '@' ) + int alt37=4; switch ( input.LA(1) ) { - case 36: + case 42: { - alt35=1; + alt37=1; } break; - case 40: + case 46: { - alt35=2; + alt37=2; } break; - case 35: + case 41: { - alt35=3; + alt37=3; } break; - case 42: + case 48: { - alt35=4; + alt37=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 35, 0, input); + new NoViableAltException("", 37, 0, input); throw nvae; } - switch (alt35) { + switch (alt37) { case 1 : - // InternalSemver.g:1692:4: kw= '/' + // InternalSemver.g:1808:4: kw= '/' { - kw=(Token)match(input,36,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,42,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5059,9 +5323,9 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException } break; case 2 : - // InternalSemver.g:1698:4: kw= '.' + // InternalSemver.g:1814:4: kw= '.' { - kw=(Token)match(input,40,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,46,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5072,9 +5336,9 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException } break; case 3 : - // InternalSemver.g:1704:4: kw= ':' + // InternalSemver.g:1820:4: kw= ':' { - kw=(Token)match(input,35,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,41,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5085,9 +5349,9 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException } break; case 4 : - // InternalSemver.g:1710:4: kw= '@' + // InternalSemver.g:1826:4: kw= '@' { - kw=(Token)match(input,42,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,48,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5100,47 +5364,38 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException } - // InternalSemver.g:1716:3: (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '-' | kw= '_' | this_DIGITS_17= RULE_DIGITS | this_LETTER_18= ruleLETTER )* - loop36: + // InternalSemver.g:1832:3: (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | this_ALPHA_NUMERIC_CHAR_14= ruleALPHA_NUMERIC_CHAR )* + loop38: do { - int alt36=9; + int alt38=7; switch ( input.LA(1) ) { - case 36: - { - alt36=1; - } - break; - case 40: - { - alt36=2; - } - break; - case 35: + case 42: { - alt36=3; + alt38=1; } break; - case 42: + case 46: { - alt36=4; + alt38=2; } break; - case 39: + case 41: { - alt36=5; + alt38=3; } break; - case 43: + case 48: { - alt36=6; + alt38=4; } break; - case RULE_DIGITS: + case 49: { - alt36=7; + alt38=5; } break; case RULE_LETTER_V: + case RULE_DIGITS: case RULE_LETTER_F: case RULE_LETTER_I: case RULE_LETTER_L: @@ -5148,20 +5403,27 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException case RULE_LETTER_S: case RULE_LETTER_M: case RULE_LETTER_R: + case RULE_LETTER_W: + case RULE_LETTER_O: + case RULE_LETTER_K: + case RULE_LETTER_P: + case RULE_LETTER_A: + case RULE_LETTER_C: case RULE_LETTER_X: case RULE_LETTER_OTHER: + case 45: { - alt36=8; + alt38=6; } break; } - switch (alt36) { + switch (alt38) { case 1 : - // InternalSemver.g:1717:4: kw= '/' + // InternalSemver.g:1833:4: kw= '/' { - kw=(Token)match(input,36,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,42,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5172,9 +5434,9 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException } break; case 2 : - // InternalSemver.g:1723:4: kw= '.' + // InternalSemver.g:1839:4: kw= '.' { - kw=(Token)match(input,40,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,46,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5185,9 +5447,9 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException } break; case 3 : - // InternalSemver.g:1729:4: kw= ':' + // InternalSemver.g:1845:4: kw= ':' { - kw=(Token)match(input,35,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,41,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5198,9 +5460,9 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException } break; case 4 : - // InternalSemver.g:1735:4: kw= '@' + // InternalSemver.g:1851:4: kw= '@' { - kw=(Token)match(input,42,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,48,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); @@ -5211,64 +5473,34 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException } break; case 5 : - // InternalSemver.g:1741:4: kw= '-' + // InternalSemver.g:1857:4: kw= '_' { - kw=(Token)match(input,39,FOLLOW_28); if (state.failed) return current; + kw=(Token)match(input,49,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().getHyphenMinusKeyword_3_4()); + newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_3_4()); } } break; case 6 : - // InternalSemver.g:1747:4: kw= '_' - { - kw=(Token)match(input,43,FOLLOW_28); if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(kw); - newLeafNode(kw, grammarAccess.getURL_NO_VXAccess().get_Keyword_3_5()); - - } - - } - break; - case 7 : - // InternalSemver.g:1753:4: this_DIGITS_17= RULE_DIGITS - { - this_DIGITS_17=(Token)match(input,RULE_DIGITS,FOLLOW_28); if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(this_DIGITS_17); - - } - if ( state.backtracking==0 ) { - - newLeafNode(this_DIGITS_17, grammarAccess.getURL_NO_VXAccess().getDIGITSTerminalRuleCall_3_6()); - - } - - } - break; - case 8 : - // InternalSemver.g:1761:4: this_LETTER_18= ruleLETTER + // InternalSemver.g:1863:4: this_ALPHA_NUMERIC_CHAR_14= ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getURL_NO_VXAccess().getLETTERParserRuleCall_3_7()); + newCompositeNode(grammarAccess.getURL_NO_VXAccess().getALPHA_NUMERIC_CHARParserRuleCall_3_5()); } - pushFollow(FOLLOW_28); - this_LETTER_18=ruleLETTER(); + pushFollow(FOLLOW_35); + this_ALPHA_NUMERIC_CHAR_14=ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_18); + current.merge(this_ALPHA_NUMERIC_CHAR_14); } if ( state.backtracking==0 ) { @@ -5281,7 +5513,7 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException break; default : - break loop36; + break loop38; } } while (true); @@ -5310,7 +5542,7 @@ public final AntlrDatatypeRuleToken ruleURL_NO_VX() throws RecognitionException // $ANTLR start "entryRuleTAG" - // InternalSemver.g:1776:1: entryRuleTAG returns [String current=null] : iv_ruleTAG= ruleTAG EOF ; + // InternalSemver.g:1878:1: entryRuleTAG returns [String current=null] : iv_ruleTAG= ruleTAG EOF ; public final String entryRuleTAG() throws RecognitionException { String current = null; @@ -5318,8 +5550,8 @@ public final String entryRuleTAG() throws RecognitionException { try { - // InternalSemver.g:1776:43: (iv_ruleTAG= ruleTAG EOF ) - // InternalSemver.g:1777:2: iv_ruleTAG= ruleTAG EOF + // InternalSemver.g:1878:43: (iv_ruleTAG= ruleTAG EOF ) + // InternalSemver.g:1879:2: iv_ruleTAG= ruleTAG EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTAGRule()); @@ -5350,33 +5582,31 @@ public final String entryRuleTAG() throws RecognitionException { // $ANTLR start "ruleTAG" - // InternalSemver.g:1783:1: ruleTAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ ) ; + // InternalSemver.g:1885:1: ruleTAG returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_NO_VX_0= ruleLETTER_NO_VX this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS ) ; public final AntlrDatatypeRuleToken ruleTAG() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - Token kw=null; - Token this_DIGITS_2=null; AntlrDatatypeRuleToken this_LETTER_NO_VX_0 = null; - AntlrDatatypeRuleToken this_LETTER_3 = null; + AntlrDatatypeRuleToken this_ALPHA_NUMERIC_CHARS_1 = null; enterRule(); try { - // InternalSemver.g:1789:2: ( (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ ) ) - // InternalSemver.g:1790:2: (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ ) + // InternalSemver.g:1891:2: ( (this_LETTER_NO_VX_0= ruleLETTER_NO_VX this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:1892:2: (this_LETTER_NO_VX_0= ruleLETTER_NO_VX this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:1790:2: (this_LETTER_NO_VX_0= ruleLETTER_NO_VX (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ ) - // InternalSemver.g:1791:3: this_LETTER_NO_VX_0= ruleLETTER_NO_VX (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ + // InternalSemver.g:1892:2: (this_LETTER_NO_VX_0= ruleLETTER_NO_VX this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:1893:3: this_LETTER_NO_VX_0= ruleLETTER_NO_VX this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTAGAccess().getLETTER_NO_VXParserRuleCall_0()); } - pushFollow(FOLLOW_5); + pushFollow(FOLLOW_10); this_LETTER_NO_VX_0=ruleLETTER_NO_VX(); state._fsp--; @@ -5391,109 +5621,28 @@ public final AntlrDatatypeRuleToken ruleTAG() throws RecognitionException { afterParserOrEnumRuleCall(); } - // InternalSemver.g:1801:3: (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ - int cnt37=0; - loop37: - do { - int alt37=4; - switch ( input.LA(1) ) { - case 39: - { - alt37=1; - } - break; - case RULE_DIGITS: - { - alt37=2; - } - break; - case RULE_LETTER_V: - case RULE_LETTER_F: - case RULE_LETTER_I: - case RULE_LETTER_L: - case RULE_LETTER_E: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: - case RULE_LETTER_X: - case RULE_LETTER_OTHER: - { - alt37=3; - } - break; + if ( state.backtracking==0 ) { - } + newCompositeNode(grammarAccess.getTAGAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_ALPHA_NUMERIC_CHARS_1=ruleALPHA_NUMERIC_CHARS(); - switch (alt37) { - case 1 : - // InternalSemver.g:1802:4: kw= '-' - { - kw=(Token)match(input,39,FOLLOW_25); if (state.failed) return current; - if ( state.backtracking==0 ) { + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - current.merge(kw); - newLeafNode(kw, grammarAccess.getTAGAccess().getHyphenMinusKeyword_1_0()); - - } + current.merge(this_ALPHA_NUMERIC_CHARS_1); + + } + if ( state.backtracking==0 ) { - } - break; - case 2 : - // InternalSemver.g:1808:4: this_DIGITS_2= RULE_DIGITS - { - this_DIGITS_2=(Token)match(input,RULE_DIGITS,FOLLOW_25); if (state.failed) return current; - if ( state.backtracking==0 ) { + afterParserOrEnumRuleCall(); + + } - current.merge(this_DIGITS_2); - - } - if ( state.backtracking==0 ) { - - newLeafNode(this_DIGITS_2, grammarAccess.getTAGAccess().getDIGITSTerminalRuleCall_1_1()); - - } - - } - break; - case 3 : - // InternalSemver.g:1816:4: this_LETTER_3= ruleLETTER - { - if ( state.backtracking==0 ) { - - newCompositeNode(grammarAccess.getTAGAccess().getLETTERParserRuleCall_1_2()); - - } - pushFollow(FOLLOW_25); - this_LETTER_3=ruleLETTER(); - - state._fsp--; - if (state.failed) return current; - if ( state.backtracking==0 ) { - - current.merge(this_LETTER_3); - - } - if ( state.backtracking==0 ) { - - afterParserOrEnumRuleCall(); - - } - - } - break; - - default : - if ( cnt37 >= 1 ) break loop37; - if (state.backtracking>0) {state.failed=true; return current;} - EarlyExitException eee = - new EarlyExitException(37, input); - throw eee; - } - cnt37++; - } while (true); - - - } + } } @@ -5516,28 +5665,28 @@ public final AntlrDatatypeRuleToken ruleTAG() throws RecognitionException { // $ANTLR end "ruleTAG" - // $ANTLR start "entryRuleALPHA_NUMERIC_CHARS" - // InternalSemver.g:1831:1: entryRuleALPHA_NUMERIC_CHARS returns [String current=null] : iv_ruleALPHA_NUMERIC_CHARS= ruleALPHA_NUMERIC_CHARS EOF ; - public final String entryRuleALPHA_NUMERIC_CHARS() throws RecognitionException { + // $ANTLR start "entryRuleWORKSPACE_VERSION" + // InternalSemver.g:1917:1: entryRuleWORKSPACE_VERSION returns [String current=null] : iv_ruleWORKSPACE_VERSION= ruleWORKSPACE_VERSION EOF ; + public final String entryRuleWORKSPACE_VERSION() throws RecognitionException { String current = null; - AntlrDatatypeRuleToken iv_ruleALPHA_NUMERIC_CHARS = null; + AntlrDatatypeRuleToken iv_ruleWORKSPACE_VERSION = null; try { - // InternalSemver.g:1831:59: (iv_ruleALPHA_NUMERIC_CHARS= ruleALPHA_NUMERIC_CHARS EOF ) - // InternalSemver.g:1832:2: iv_ruleALPHA_NUMERIC_CHARS= ruleALPHA_NUMERIC_CHARS EOF + // InternalSemver.g:1917:57: (iv_ruleWORKSPACE_VERSION= ruleWORKSPACE_VERSION EOF ) + // InternalSemver.g:1918:2: iv_ruleWORKSPACE_VERSION= ruleWORKSPACE_VERSION EOF { if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARSRule()); + newCompositeNode(grammarAccess.getWORKSPACE_VERSIONRule()); } pushFollow(FOLLOW_1); - iv_ruleALPHA_NUMERIC_CHARS=ruleALPHA_NUMERIC_CHARS(); + iv_ruleWORKSPACE_VERSION=ruleWORKSPACE_VERSION(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { - current =iv_ruleALPHA_NUMERIC_CHARS.getText(); + current =iv_ruleWORKSPACE_VERSION.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; @@ -5553,43 +5702,99 @@ public final String entryRuleALPHA_NUMERIC_CHARS() throws RecognitionException { } return current; } - // $ANTLR end "entryRuleALPHA_NUMERIC_CHARS" + // $ANTLR end "entryRuleWORKSPACE_VERSION" - // $ANTLR start "ruleALPHA_NUMERIC_CHARS" - // InternalSemver.g:1838:1: ruleALPHA_NUMERIC_CHARS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '-' | this_DIGITS_1= RULE_DIGITS | this_LETTER_2= ruleLETTER )+ ; - public final AntlrDatatypeRuleToken ruleALPHA_NUMERIC_CHARS() throws RecognitionException { + // $ANTLR start "ruleWORKSPACE_VERSION" + // InternalSemver.g:1924:1: ruleWORKSPACE_VERSION returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | kw= '=' | kw= '~' | kw= '^' | kw= '<' | kw= '>' | kw= '<=' | kw= '>=' | this_ASTERIX_12= RULE_ASTERIX | this_ALPHA_NUMERIC_CHAR_13= ruleALPHA_NUMERIC_CHAR )+ ; + public final AntlrDatatypeRuleToken ruleWORKSPACE_VERSION() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; - Token this_DIGITS_1=null; - AntlrDatatypeRuleToken this_LETTER_2 = null; + Token this_ASTERIX_12=null; + AntlrDatatypeRuleToken this_ALPHA_NUMERIC_CHAR_13 = null; enterRule(); try { - // InternalSemver.g:1844:2: ( (kw= '-' | this_DIGITS_1= RULE_DIGITS | this_LETTER_2= ruleLETTER )+ ) - // InternalSemver.g:1845:2: (kw= '-' | this_DIGITS_1= RULE_DIGITS | this_LETTER_2= ruleLETTER )+ + // InternalSemver.g:1930:2: ( (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | kw= '=' | kw= '~' | kw= '^' | kw= '<' | kw= '>' | kw= '<=' | kw= '>=' | this_ASTERIX_12= RULE_ASTERIX | this_ALPHA_NUMERIC_CHAR_13= ruleALPHA_NUMERIC_CHAR )+ ) + // InternalSemver.g:1931:2: (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | kw= '=' | kw= '~' | kw= '^' | kw= '<' | kw= '>' | kw= '<=' | kw= '>=' | this_ASTERIX_12= RULE_ASTERIX | this_ALPHA_NUMERIC_CHAR_13= ruleALPHA_NUMERIC_CHAR )+ { - // InternalSemver.g:1845:2: (kw= '-' | this_DIGITS_1= RULE_DIGITS | this_LETTER_2= ruleLETTER )+ - int cnt38=0; - loop38: + // InternalSemver.g:1931:2: (kw= '/' | kw= '.' | kw= ':' | kw= '@' | kw= '_' | kw= '=' | kw= '~' | kw= '^' | kw= '<' | kw= '>' | kw= '<=' | kw= '>=' | this_ASTERIX_12= RULE_ASTERIX | this_ALPHA_NUMERIC_CHAR_13= ruleALPHA_NUMERIC_CHAR )+ + int cnt39=0; + loop39: do { - int alt38=4; + int alt39=15; switch ( input.LA(1) ) { - case 39: + case 42: { - alt38=1; + alt39=1; } break; - case RULE_DIGITS: + case 46: { - alt38=2; + alt39=2; + } + break; + case 41: + { + alt39=3; + } + break; + case 48: + { + alt39=4; + } + break; + case 49: + { + alt39=5; + } + break; + case 50: + { + alt39=6; + } + break; + case 51: + { + alt39=7; + } + break; + case 52: + { + alt39=8; + } + break; + case 53: + { + alt39=9; + } + break; + case 54: + { + alt39=10; + } + break; + case 55: + { + alt39=11; + } + break; + case 56: + { + alt39=12; + } + break; + case RULE_ASTERIX: + { + alt39=13; } break; case RULE_LETTER_V: + case RULE_DIGITS: case RULE_LETTER_F: case RULE_LETTER_I: case RULE_LETTER_L: @@ -5597,62 +5802,212 @@ public final AntlrDatatypeRuleToken ruleALPHA_NUMERIC_CHARS() throws Recognition case RULE_LETTER_S: case RULE_LETTER_M: case RULE_LETTER_R: + case RULE_LETTER_W: + case RULE_LETTER_O: + case RULE_LETTER_K: + case RULE_LETTER_P: + case RULE_LETTER_A: + case RULE_LETTER_C: case RULE_LETTER_X: case RULE_LETTER_OTHER: + case 45: { - alt38=3; + alt39=14; } break; } - switch (alt38) { + switch (alt39) { case 1 : - // InternalSemver.g:1846:3: kw= '-' + // InternalSemver.g:1932:3: kw= '/' { - kw=(Token)match(input,39,FOLLOW_25); if (state.failed) return current; + kw=(Token)match(input,42,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); - newLeafNode(kw, grammarAccess.getALPHA_NUMERIC_CHARSAccess().getHyphenMinusKeyword_0()); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getSolidusKeyword_0()); } } break; case 2 : - // InternalSemver.g:1852:3: this_DIGITS_1= RULE_DIGITS + // InternalSemver.g:1938:3: kw= '.' + { + kw=(Token)match(input,46,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getFullStopKeyword_1()); + + } + + } + break; + case 3 : + // InternalSemver.g:1944:3: kw= ':' { - this_DIGITS_1=(Token)match(input,RULE_DIGITS,FOLLOW_25); if (state.failed) return current; + kw=(Token)match(input,41,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_DIGITS_1); + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getColonKeyword_2()); } + + } + break; + case 4 : + // InternalSemver.g:1950:3: kw= '@' + { + kw=(Token)match(input,48,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { - newLeafNode(this_DIGITS_1, grammarAccess.getALPHA_NUMERIC_CHARSAccess().getDIGITSTerminalRuleCall_1()); + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getCommercialAtKeyword_3()); } } break; - case 3 : - // InternalSemver.g:1860:3: this_LETTER_2= ruleLETTER + case 5 : + // InternalSemver.g:1956:3: kw= '_' + { + kw=(Token)match(input,49,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().get_Keyword_4()); + + } + + } + break; + case 6 : + // InternalSemver.g:1962:3: kw= '=' + { + kw=(Token)match(input,50,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getEqualsSignKeyword_5()); + + } + + } + break; + case 7 : + // InternalSemver.g:1968:3: kw= '~' + { + kw=(Token)match(input,51,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getTildeKeyword_6()); + + } + + } + break; + case 8 : + // InternalSemver.g:1974:3: kw= '^' + { + kw=(Token)match(input,52,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getCircumflexAccentKeyword_7()); + + } + + } + break; + case 9 : + // InternalSemver.g:1980:3: kw= '<' + { + kw=(Token)match(input,53,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignKeyword_8()); + + } + + } + break; + case 10 : + // InternalSemver.g:1986:3: kw= '>' + { + kw=(Token)match(input,54,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignKeyword_9()); + + } + + } + break; + case 11 : + // InternalSemver.g:1992:3: kw= '<=' + { + kw=(Token)match(input,55,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getLessThanSignEqualsSignKeyword_10()); + + } + + } + break; + case 12 : + // InternalSemver.g:1998:3: kw= '>=' + { + kw=(Token)match(input,56,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getWORKSPACE_VERSIONAccess().getGreaterThanSignEqualsSignKeyword_11()); + + } + + } + break; + case 13 : + // InternalSemver.g:2004:3: this_ASTERIX_12= RULE_ASTERIX + { + this_ASTERIX_12=(Token)match(input,RULE_ASTERIX,FOLLOW_36); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_ASTERIX_12); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_ASTERIX_12, grammarAccess.getWORKSPACE_VERSIONAccess().getASTERIXTerminalRuleCall_12()); + + } + + } + break; + case 14 : + // InternalSemver.g:2012:3: this_ALPHA_NUMERIC_CHAR_13= ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getLETTERParserRuleCall_2()); + newCompositeNode(grammarAccess.getWORKSPACE_VERSIONAccess().getALPHA_NUMERIC_CHARParserRuleCall_13()); } - pushFollow(FOLLOW_25); - this_LETTER_2=ruleLETTER(); + pushFollow(FOLLOW_36); + this_ALPHA_NUMERIC_CHAR_13=ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_2); + current.merge(this_ALPHA_NUMERIC_CHAR_13); } if ( state.backtracking==0 ) { @@ -5665,13 +6020,13 @@ public final AntlrDatatypeRuleToken ruleALPHA_NUMERIC_CHARS() throws Recognition break; default : - if ( cnt38 >= 1 ) break loop38; + if ( cnt39 >= 1 ) break loop39; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = - new EarlyExitException(38, input); + new EarlyExitException(39, input); throw eee; } - cnt38++; + cnt39++; } while (true); @@ -5692,11 +6047,11 @@ public final AntlrDatatypeRuleToken ruleALPHA_NUMERIC_CHARS() throws Recognition } return current; } - // $ANTLR end "ruleALPHA_NUMERIC_CHARS" + // $ANTLR end "ruleWORKSPACE_VERSION" // $ANTLR start "entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS" - // InternalSemver.g:1874:1: entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS returns [String current=null] : iv_ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF ; + // InternalSemver.g:2026:1: entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS returns [String current=null] : iv_ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF ; public final String entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() throws RecognitionException { String current = null; @@ -5704,8 +6059,8 @@ public final String entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() throws Reco try { - // InternalSemver.g:1874:77: (iv_ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF ) - // InternalSemver.g:1875:2: iv_ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF + // InternalSemver.g:2026:77: (iv_ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF ) + // InternalSemver.g:2027:2: iv_ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSRule()); @@ -5736,27 +6091,25 @@ public final String entryRuleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() throws Reco // $ANTLR start "ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS" - // InternalSemver.g:1881:1: ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_DIGITS_0= RULE_DIGITS (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ ) ; + // InternalSemver.g:2033:1: ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_DIGITS_0= RULE_DIGITS this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS ) ; public final AntlrDatatypeRuleToken ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_DIGITS_0=null; - Token kw=null; - Token this_DIGITS_2=null; - AntlrDatatypeRuleToken this_LETTER_3 = null; + AntlrDatatypeRuleToken this_ALPHA_NUMERIC_CHARS_1 = null; enterRule(); try { - // InternalSemver.g:1887:2: ( (this_DIGITS_0= RULE_DIGITS (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ ) ) - // InternalSemver.g:1888:2: (this_DIGITS_0= RULE_DIGITS (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ ) + // InternalSemver.g:2039:2: ( (this_DIGITS_0= RULE_DIGITS this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS ) ) + // InternalSemver.g:2040:2: (this_DIGITS_0= RULE_DIGITS this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS ) { - // InternalSemver.g:1888:2: (this_DIGITS_0= RULE_DIGITS (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ ) - // InternalSemver.g:1889:3: this_DIGITS_0= RULE_DIGITS (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ + // InternalSemver.g:2040:2: (this_DIGITS_0= RULE_DIGITS this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS ) + // InternalSemver.g:2041:3: this_DIGITS_0= RULE_DIGITS this_ALPHA_NUMERIC_CHARS_1= ruleALPHA_NUMERIC_CHARS { - this_DIGITS_0=(Token)match(input,RULE_DIGITS,FOLLOW_5); if (state.failed) return current; + this_DIGITS_0=(Token)match(input,RULE_DIGITS,FOLLOW_10); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_DIGITS_0); @@ -5767,110 +6120,334 @@ public final AntlrDatatypeRuleToken ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() newLeafNode(this_DIGITS_0, grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_0()); } - // InternalSemver.g:1896:3: (kw= '-' | this_DIGITS_2= RULE_DIGITS | this_LETTER_3= ruleLETTER )+ - int cnt39=0; - loop39: - do { - int alt39=4; - switch ( input.LA(1) ) { - case 39: - { - alt39=1; - } - break; - case RULE_DIGITS: - { - alt39=2; - } - break; - case RULE_LETTER_V: - case RULE_LETTER_F: - case RULE_LETTER_I: - case RULE_LETTER_L: - case RULE_LETTER_E: - case RULE_LETTER_S: - case RULE_LETTER_M: - case RULE_LETTER_R: - case RULE_LETTER_X: - case RULE_LETTER_OTHER: - { - alt39=3; - } - break; + if ( state.backtracking==0 ) { - } + newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getALPHA_NUMERIC_CHARSParserRuleCall_1()); + + } + pushFollow(FOLLOW_2); + this_ALPHA_NUMERIC_CHARS_1=ruleALPHA_NUMERIC_CHARS(); - switch (alt39) { - case 1 : - // InternalSemver.g:1897:4: kw= '-' - { - kw=(Token)match(input,39,FOLLOW_25); if (state.failed) return current; - if ( state.backtracking==0 ) { + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { - current.merge(kw); - newLeafNode(kw, grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getHyphenMinusKeyword_1_0()); - - } + current.merge(this_ALPHA_NUMERIC_CHARS_1); + + } + if ( state.backtracking==0 ) { - } - break; - case 2 : - // InternalSemver.g:1903:4: this_DIGITS_2= RULE_DIGITS - { - this_DIGITS_2=(Token)match(input,RULE_DIGITS,FOLLOW_25); if (state.failed) return current; - if ( state.backtracking==0 ) { + afterParserOrEnumRuleCall(); + + } - current.merge(this_DIGITS_2); - - } - if ( state.backtracking==0 ) { + } - newLeafNode(this_DIGITS_2, grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getDIGITSTerminalRuleCall_1_1()); - - } - } - break; - case 3 : - // InternalSemver.g:1911:4: this_LETTER_3= ruleLETTER + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS" + + + // $ANTLR start "entryRuleALPHA_NUMERIC_CHARS" + // InternalSemver.g:2062:1: entryRuleALPHA_NUMERIC_CHARS returns [String current=null] : iv_ruleALPHA_NUMERIC_CHARS= ruleALPHA_NUMERIC_CHARS EOF ; + public final String entryRuleALPHA_NUMERIC_CHARS() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleALPHA_NUMERIC_CHARS = null; + + + try { + // InternalSemver.g:2062:59: (iv_ruleALPHA_NUMERIC_CHARS= ruleALPHA_NUMERIC_CHARS EOF ) + // InternalSemver.g:2063:2: iv_ruleALPHA_NUMERIC_CHARS= ruleALPHA_NUMERIC_CHARS EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARSRule()); + } + pushFollow(FOLLOW_1); + iv_ruleALPHA_NUMERIC_CHARS=ruleALPHA_NUMERIC_CHARS(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleALPHA_NUMERIC_CHARS.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleALPHA_NUMERIC_CHARS" + + + // $ANTLR start "ruleALPHA_NUMERIC_CHARS" + // InternalSemver.g:2069:1: ruleALPHA_NUMERIC_CHARS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ALPHA_NUMERIC_CHAR_0= ruleALPHA_NUMERIC_CHAR )+ ; + public final AntlrDatatypeRuleToken ruleALPHA_NUMERIC_CHARS() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + AntlrDatatypeRuleToken this_ALPHA_NUMERIC_CHAR_0 = null; + + + + enterRule(); + + try { + // InternalSemver.g:2075:2: ( (this_ALPHA_NUMERIC_CHAR_0= ruleALPHA_NUMERIC_CHAR )+ ) + // InternalSemver.g:2076:2: (this_ALPHA_NUMERIC_CHAR_0= ruleALPHA_NUMERIC_CHAR )+ + { + // InternalSemver.g:2076:2: (this_ALPHA_NUMERIC_CHAR_0= ruleALPHA_NUMERIC_CHAR )+ + int cnt40=0; + loop40: + do { + int alt40=2; + int LA40_0 = input.LA(1); + + if ( ((LA40_0>=RULE_LETTER_V && LA40_0<=RULE_LETTER_C)||(LA40_0>=RULE_LETTER_X && LA40_0<=RULE_LETTER_OTHER)||LA40_0==45) ) { + alt40=1; + } + + + switch (alt40) { + case 1 : + // InternalSemver.g:2077:3: this_ALPHA_NUMERIC_CHAR_0= ruleALPHA_NUMERIC_CHAR { if ( state.backtracking==0 ) { - newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getLETTERParserRuleCall_1_2()); - + newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARSAccess().getALPHA_NUMERIC_CHARParserRuleCall()); + } - pushFollow(FOLLOW_25); - this_LETTER_3=ruleLETTER(); + pushFollow(FOLLOW_32); + this_ALPHA_NUMERIC_CHAR_0=ruleALPHA_NUMERIC_CHAR(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_3); - + current.merge(this_ALPHA_NUMERIC_CHAR_0); + } if ( state.backtracking==0 ) { - afterParserOrEnumRuleCall(); - + afterParserOrEnumRuleCall(); + } } break; default : - if ( cnt39 >= 1 ) break loop39; + if ( cnt40 >= 1 ) break loop40; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = - new EarlyExitException(39, input); + new EarlyExitException(40, input); throw eee; } - cnt39++; + cnt40++; } while (true); } + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleALPHA_NUMERIC_CHARS" + + + // $ANTLR start "entryRuleALPHA_NUMERIC_CHAR" + // InternalSemver.g:2091:1: entryRuleALPHA_NUMERIC_CHAR returns [String current=null] : iv_ruleALPHA_NUMERIC_CHAR= ruleALPHA_NUMERIC_CHAR EOF ; + public final String entryRuleALPHA_NUMERIC_CHAR() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleALPHA_NUMERIC_CHAR = null; + + + try { + // InternalSemver.g:2091:58: (iv_ruleALPHA_NUMERIC_CHAR= ruleALPHA_NUMERIC_CHAR EOF ) + // InternalSemver.g:2092:2: iv_ruleALPHA_NUMERIC_CHAR= ruleALPHA_NUMERIC_CHAR EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARRule()); + } + pushFollow(FOLLOW_1); + iv_ruleALPHA_NUMERIC_CHAR=ruleALPHA_NUMERIC_CHAR(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleALPHA_NUMERIC_CHAR.getText(); + } + match(input,EOF,FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleALPHA_NUMERIC_CHAR" + + + // $ANTLR start "ruleALPHA_NUMERIC_CHAR" + // InternalSemver.g:2098:1: ruleALPHA_NUMERIC_CHAR returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '-' | this_DIGITS_1= RULE_DIGITS | this_LETTER_2= ruleLETTER ) ; + public final AntlrDatatypeRuleToken ruleALPHA_NUMERIC_CHAR() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + Token this_DIGITS_1=null; + AntlrDatatypeRuleToken this_LETTER_2 = null; + + + + enterRule(); + + try { + // InternalSemver.g:2104:2: ( (kw= '-' | this_DIGITS_1= RULE_DIGITS | this_LETTER_2= ruleLETTER ) ) + // InternalSemver.g:2105:2: (kw= '-' | this_DIGITS_1= RULE_DIGITS | this_LETTER_2= ruleLETTER ) + { + // InternalSemver.g:2105:2: (kw= '-' | this_DIGITS_1= RULE_DIGITS | this_LETTER_2= ruleLETTER ) + int alt41=3; + switch ( input.LA(1) ) { + case 45: + { + alt41=1; + } + break; + case RULE_DIGITS: + { + alt41=2; + } + break; + case RULE_LETTER_V: + case RULE_LETTER_F: + case RULE_LETTER_I: + case RULE_LETTER_L: + case RULE_LETTER_E: + case RULE_LETTER_S: + case RULE_LETTER_M: + case RULE_LETTER_R: + case RULE_LETTER_W: + case RULE_LETTER_O: + case RULE_LETTER_K: + case RULE_LETTER_P: + case RULE_LETTER_A: + case RULE_LETTER_C: + case RULE_LETTER_X: + case RULE_LETTER_OTHER: + { + alt41=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 41, 0, input); + + throw nvae; + } + + switch (alt41) { + case 1 : + // InternalSemver.g:2106:3: kw= '-' + { + kw=(Token)match(input,45,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(kw); + newLeafNode(kw, grammarAccess.getALPHA_NUMERIC_CHARAccess().getHyphenMinusKeyword_0()); + + } + + } + break; + case 2 : + // InternalSemver.g:2112:3: this_DIGITS_1= RULE_DIGITS + { + this_DIGITS_1=(Token)match(input,RULE_DIGITS,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_DIGITS_1); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_DIGITS_1, grammarAccess.getALPHA_NUMERIC_CHARAccess().getDIGITSTerminalRuleCall_1()); + + } + + } + break; + case 3 : + // InternalSemver.g:2120:3: this_LETTER_2= ruleLETTER + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getALPHA_NUMERIC_CHARAccess().getLETTERParserRuleCall_2()); + + } + pushFollow(FOLLOW_2); + this_LETTER_2=ruleLETTER(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_2); + + } + if ( state.backtracking==0 ) { + + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + } @@ -5889,11 +6466,11 @@ public final AntlrDatatypeRuleToken ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS() } return current; } - // $ANTLR end "ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS" + // $ANTLR end "ruleALPHA_NUMERIC_CHAR" // $ANTLR start "entryRuleWILDCARD" - // InternalSemver.g:1926:1: entryRuleWILDCARD returns [String current=null] : iv_ruleWILDCARD= ruleWILDCARD EOF ; + // InternalSemver.g:2134:1: entryRuleWILDCARD returns [String current=null] : iv_ruleWILDCARD= ruleWILDCARD EOF ; public final String entryRuleWILDCARD() throws RecognitionException { String current = null; @@ -5901,8 +6478,8 @@ public final String entryRuleWILDCARD() throws RecognitionException { try { - // InternalSemver.g:1926:48: (iv_ruleWILDCARD= ruleWILDCARD EOF ) - // InternalSemver.g:1927:2: iv_ruleWILDCARD= ruleWILDCARD EOF + // InternalSemver.g:2134:48: (iv_ruleWILDCARD= ruleWILDCARD EOF ) + // InternalSemver.g:2135:2: iv_ruleWILDCARD= ruleWILDCARD EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getWILDCARDRule()); @@ -5933,7 +6510,7 @@ public final String entryRuleWILDCARD() throws RecognitionException { // $ANTLR start "ruleWILDCARD" - // InternalSemver.g:1933:1: ruleWILDCARD returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_X_0= RULE_LETTER_X | this_ASTERIX_1= RULE_ASTERIX ) ; + // InternalSemver.g:2141:1: ruleWILDCARD returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_X_0= RULE_LETTER_X | this_ASTERIX_1= RULE_ASTERIX ) ; public final AntlrDatatypeRuleToken ruleWILDCARD() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -5944,29 +6521,29 @@ public final AntlrDatatypeRuleToken ruleWILDCARD() throws RecognitionException { enterRule(); try { - // InternalSemver.g:1939:2: ( (this_LETTER_X_0= RULE_LETTER_X | this_ASTERIX_1= RULE_ASTERIX ) ) - // InternalSemver.g:1940:2: (this_LETTER_X_0= RULE_LETTER_X | this_ASTERIX_1= RULE_ASTERIX ) + // InternalSemver.g:2147:2: ( (this_LETTER_X_0= RULE_LETTER_X | this_ASTERIX_1= RULE_ASTERIX ) ) + // InternalSemver.g:2148:2: (this_LETTER_X_0= RULE_LETTER_X | this_ASTERIX_1= RULE_ASTERIX ) { - // InternalSemver.g:1940:2: (this_LETTER_X_0= RULE_LETTER_X | this_ASTERIX_1= RULE_ASTERIX ) - int alt40=2; - int LA40_0 = input.LA(1); + // InternalSemver.g:2148:2: (this_LETTER_X_0= RULE_LETTER_X | this_ASTERIX_1= RULE_ASTERIX ) + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA40_0==RULE_LETTER_X) ) { - alt40=1; + if ( (LA42_0==RULE_LETTER_X) ) { + alt42=1; } - else if ( (LA40_0==RULE_ASTERIX) ) { - alt40=2; + else if ( (LA42_0==RULE_ASTERIX) ) { + alt42=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 40, 0, input); + new NoViableAltException("", 42, 0, input); throw nvae; } - switch (alt40) { + switch (alt42) { case 1 : - // InternalSemver.g:1941:3: this_LETTER_X_0= RULE_LETTER_X + // InternalSemver.g:2149:3: this_LETTER_X_0= RULE_LETTER_X { this_LETTER_X_0=(Token)match(input,RULE_LETTER_X,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -5983,7 +6560,7 @@ else if ( (LA40_0==RULE_ASTERIX) ) { } break; case 2 : - // InternalSemver.g:1949:3: this_ASTERIX_1= RULE_ASTERIX + // InternalSemver.g:2157:3: this_ASTERIX_1= RULE_ASTERIX { this_ASTERIX_1=(Token)match(input,RULE_ASTERIX,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -6024,7 +6601,7 @@ else if ( (LA40_0==RULE_ASTERIX) ) { // $ANTLR start "ruleLETTER" - // InternalSemver.g:1961:1: ruleLETTER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_V_0= RULE_LETTER_V | this_LETTER_X_1= RULE_LETTER_X | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) ; + // InternalSemver.g:2169:1: ruleLETTER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_V_0= RULE_LETTER_V | this_LETTER_X_1= RULE_LETTER_X | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) ; public final AntlrDatatypeRuleToken ruleLETTER() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); @@ -6037,20 +6614,20 @@ public final AntlrDatatypeRuleToken ruleLETTER() throws RecognitionException { enterRule(); try { - // InternalSemver.g:1967:2: ( (this_LETTER_V_0= RULE_LETTER_V | this_LETTER_X_1= RULE_LETTER_X | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) ) - // InternalSemver.g:1968:2: (this_LETTER_V_0= RULE_LETTER_V | this_LETTER_X_1= RULE_LETTER_X | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) + // InternalSemver.g:2175:2: ( (this_LETTER_V_0= RULE_LETTER_V | this_LETTER_X_1= RULE_LETTER_X | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) ) + // InternalSemver.g:2176:2: (this_LETTER_V_0= RULE_LETTER_V | this_LETTER_X_1= RULE_LETTER_X | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) { - // InternalSemver.g:1968:2: (this_LETTER_V_0= RULE_LETTER_V | this_LETTER_X_1= RULE_LETTER_X | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) - int alt41=3; + // InternalSemver.g:2176:2: (this_LETTER_V_0= RULE_LETTER_V | this_LETTER_X_1= RULE_LETTER_X | this_LETTER_NO_VX_2= ruleLETTER_NO_VX ) + int alt43=3; switch ( input.LA(1) ) { case RULE_LETTER_V: { - alt41=1; + alt43=1; } break; case RULE_LETTER_X: { - alt41=2; + alt43=2; } break; case RULE_LETTER_F: @@ -6060,22 +6637,28 @@ public final AntlrDatatypeRuleToken ruleLETTER() throws RecognitionException { case RULE_LETTER_S: case RULE_LETTER_M: case RULE_LETTER_R: + case RULE_LETTER_W: + case RULE_LETTER_O: + case RULE_LETTER_K: + case RULE_LETTER_P: + case RULE_LETTER_A: + case RULE_LETTER_C: case RULE_LETTER_OTHER: { - alt41=3; + alt43=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 41, 0, input); + new NoViableAltException("", 43, 0, input); throw nvae; } - switch (alt41) { + switch (alt43) { case 1 : - // InternalSemver.g:1969:3: this_LETTER_V_0= RULE_LETTER_V + // InternalSemver.g:2177:3: this_LETTER_V_0= RULE_LETTER_V { this_LETTER_V_0=(Token)match(input,RULE_LETTER_V,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -6092,7 +6675,7 @@ public final AntlrDatatypeRuleToken ruleLETTER() throws RecognitionException { } break; case 2 : - // InternalSemver.g:1977:3: this_LETTER_X_1= RULE_LETTER_X + // InternalSemver.g:2185:3: this_LETTER_X_1= RULE_LETTER_X { this_LETTER_X_1=(Token)match(input,RULE_LETTER_X,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -6109,7 +6692,7 @@ public final AntlrDatatypeRuleToken ruleLETTER() throws RecognitionException { } break; case 3 : - // InternalSemver.g:1985:3: this_LETTER_NO_VX_2= ruleLETTER_NO_VX + // InternalSemver.g:2193:3: this_LETTER_NO_VX_2= ruleLETTER_NO_VX { if ( state.backtracking==0 ) { @@ -6159,131 +6742,167 @@ public final AntlrDatatypeRuleToken ruleLETTER() throws RecognitionException { // $ANTLR start "ruleLETTER_NO_VX" - // InternalSemver.g:2000:1: ruleLETTER_NO_VX returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_S_0= RULE_LETTER_S | this_LETTER_M_1= RULE_LETTER_M | this_LETTER_R_2= RULE_LETTER_R | this_LETTER_F_3= RULE_LETTER_F | this_LETTER_I_4= RULE_LETTER_I | this_LETTER_L_5= RULE_LETTER_L | this_LETTER_E_6= RULE_LETTER_E | this_LETTER_OTHER_7= RULE_LETTER_OTHER ) ; + // InternalSemver.g:2208:1: ruleLETTER_NO_VX returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_LETTER_A_0= RULE_LETTER_A | this_LETTER_C_1= RULE_LETTER_C | this_LETTER_E_2= RULE_LETTER_E | this_LETTER_F_3= RULE_LETTER_F | this_LETTER_I_4= RULE_LETTER_I | this_LETTER_K_5= RULE_LETTER_K | this_LETTER_L_6= RULE_LETTER_L | this_LETTER_M_7= RULE_LETTER_M | this_LETTER_O_8= RULE_LETTER_O | this_LETTER_P_9= RULE_LETTER_P | this_LETTER_R_10= RULE_LETTER_R | this_LETTER_S_11= RULE_LETTER_S | this_LETTER_W_12= RULE_LETTER_W | this_LETTER_OTHER_13= RULE_LETTER_OTHER ) ; public final AntlrDatatypeRuleToken ruleLETTER_NO_VX() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); - Token this_LETTER_S_0=null; - Token this_LETTER_M_1=null; - Token this_LETTER_R_2=null; + Token this_LETTER_A_0=null; + Token this_LETTER_C_1=null; + Token this_LETTER_E_2=null; Token this_LETTER_F_3=null; Token this_LETTER_I_4=null; - Token this_LETTER_L_5=null; - Token this_LETTER_E_6=null; - Token this_LETTER_OTHER_7=null; + Token this_LETTER_K_5=null; + Token this_LETTER_L_6=null; + Token this_LETTER_M_7=null; + Token this_LETTER_O_8=null; + Token this_LETTER_P_9=null; + Token this_LETTER_R_10=null; + Token this_LETTER_S_11=null; + Token this_LETTER_W_12=null; + Token this_LETTER_OTHER_13=null; enterRule(); try { - // InternalSemver.g:2006:2: ( (this_LETTER_S_0= RULE_LETTER_S | this_LETTER_M_1= RULE_LETTER_M | this_LETTER_R_2= RULE_LETTER_R | this_LETTER_F_3= RULE_LETTER_F | this_LETTER_I_4= RULE_LETTER_I | this_LETTER_L_5= RULE_LETTER_L | this_LETTER_E_6= RULE_LETTER_E | this_LETTER_OTHER_7= RULE_LETTER_OTHER ) ) - // InternalSemver.g:2007:2: (this_LETTER_S_0= RULE_LETTER_S | this_LETTER_M_1= RULE_LETTER_M | this_LETTER_R_2= RULE_LETTER_R | this_LETTER_F_3= RULE_LETTER_F | this_LETTER_I_4= RULE_LETTER_I | this_LETTER_L_5= RULE_LETTER_L | this_LETTER_E_6= RULE_LETTER_E | this_LETTER_OTHER_7= RULE_LETTER_OTHER ) + // InternalSemver.g:2214:2: ( (this_LETTER_A_0= RULE_LETTER_A | this_LETTER_C_1= RULE_LETTER_C | this_LETTER_E_2= RULE_LETTER_E | this_LETTER_F_3= RULE_LETTER_F | this_LETTER_I_4= RULE_LETTER_I | this_LETTER_K_5= RULE_LETTER_K | this_LETTER_L_6= RULE_LETTER_L | this_LETTER_M_7= RULE_LETTER_M | this_LETTER_O_8= RULE_LETTER_O | this_LETTER_P_9= RULE_LETTER_P | this_LETTER_R_10= RULE_LETTER_R | this_LETTER_S_11= RULE_LETTER_S | this_LETTER_W_12= RULE_LETTER_W | this_LETTER_OTHER_13= RULE_LETTER_OTHER ) ) + // InternalSemver.g:2215:2: (this_LETTER_A_0= RULE_LETTER_A | this_LETTER_C_1= RULE_LETTER_C | this_LETTER_E_2= RULE_LETTER_E | this_LETTER_F_3= RULE_LETTER_F | this_LETTER_I_4= RULE_LETTER_I | this_LETTER_K_5= RULE_LETTER_K | this_LETTER_L_6= RULE_LETTER_L | this_LETTER_M_7= RULE_LETTER_M | this_LETTER_O_8= RULE_LETTER_O | this_LETTER_P_9= RULE_LETTER_P | this_LETTER_R_10= RULE_LETTER_R | this_LETTER_S_11= RULE_LETTER_S | this_LETTER_W_12= RULE_LETTER_W | this_LETTER_OTHER_13= RULE_LETTER_OTHER ) { - // InternalSemver.g:2007:2: (this_LETTER_S_0= RULE_LETTER_S | this_LETTER_M_1= RULE_LETTER_M | this_LETTER_R_2= RULE_LETTER_R | this_LETTER_F_3= RULE_LETTER_F | this_LETTER_I_4= RULE_LETTER_I | this_LETTER_L_5= RULE_LETTER_L | this_LETTER_E_6= RULE_LETTER_E | this_LETTER_OTHER_7= RULE_LETTER_OTHER ) - int alt42=8; + // InternalSemver.g:2215:2: (this_LETTER_A_0= RULE_LETTER_A | this_LETTER_C_1= RULE_LETTER_C | this_LETTER_E_2= RULE_LETTER_E | this_LETTER_F_3= RULE_LETTER_F | this_LETTER_I_4= RULE_LETTER_I | this_LETTER_K_5= RULE_LETTER_K | this_LETTER_L_6= RULE_LETTER_L | this_LETTER_M_7= RULE_LETTER_M | this_LETTER_O_8= RULE_LETTER_O | this_LETTER_P_9= RULE_LETTER_P | this_LETTER_R_10= RULE_LETTER_R | this_LETTER_S_11= RULE_LETTER_S | this_LETTER_W_12= RULE_LETTER_W | this_LETTER_OTHER_13= RULE_LETTER_OTHER ) + int alt44=14; switch ( input.LA(1) ) { - case RULE_LETTER_S: + case RULE_LETTER_A: { - alt42=1; + alt44=1; } break; - case RULE_LETTER_M: + case RULE_LETTER_C: { - alt42=2; + alt44=2; } break; - case RULE_LETTER_R: + case RULE_LETTER_E: { - alt42=3; + alt44=3; } break; case RULE_LETTER_F: { - alt42=4; + alt44=4; } break; case RULE_LETTER_I: { - alt42=5; + alt44=5; + } + break; + case RULE_LETTER_K: + { + alt44=6; } break; case RULE_LETTER_L: { - alt42=6; + alt44=7; } break; - case RULE_LETTER_E: + case RULE_LETTER_M: + { + alt44=8; + } + break; + case RULE_LETTER_O: + { + alt44=9; + } + break; + case RULE_LETTER_P: + { + alt44=10; + } + break; + case RULE_LETTER_R: { - alt42=7; + alt44=11; + } + break; + case RULE_LETTER_S: + { + alt44=12; + } + break; + case RULE_LETTER_W: + { + alt44=13; } break; case RULE_LETTER_OTHER: { - alt42=8; + alt44=14; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 42, 0, input); + new NoViableAltException("", 44, 0, input); throw nvae; } - switch (alt42) { + switch (alt44) { case 1 : - // InternalSemver.g:2008:3: this_LETTER_S_0= RULE_LETTER_S + // InternalSemver.g:2216:3: this_LETTER_A_0= RULE_LETTER_A { - this_LETTER_S_0=(Token)match(input,RULE_LETTER_S,FOLLOW_2); if (state.failed) return current; + this_LETTER_A_0=(Token)match(input,RULE_LETTER_A,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_S_0); + current.merge(this_LETTER_A_0); } if ( state.backtracking==0 ) { - newLeafNode(this_LETTER_S_0, grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_0()); + newLeafNode(this_LETTER_A_0, grammarAccess.getLETTER_NO_VXAccess().getLETTER_ATerminalRuleCall_0()); } } break; case 2 : - // InternalSemver.g:2016:3: this_LETTER_M_1= RULE_LETTER_M + // InternalSemver.g:2224:3: this_LETTER_C_1= RULE_LETTER_C { - this_LETTER_M_1=(Token)match(input,RULE_LETTER_M,FOLLOW_2); if (state.failed) return current; + this_LETTER_C_1=(Token)match(input,RULE_LETTER_C,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_M_1); + current.merge(this_LETTER_C_1); } if ( state.backtracking==0 ) { - newLeafNode(this_LETTER_M_1, grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_1()); + newLeafNode(this_LETTER_C_1, grammarAccess.getLETTER_NO_VXAccess().getLETTER_CTerminalRuleCall_1()); } } break; case 3 : - // InternalSemver.g:2024:3: this_LETTER_R_2= RULE_LETTER_R + // InternalSemver.g:2232:3: this_LETTER_E_2= RULE_LETTER_E { - this_LETTER_R_2=(Token)match(input,RULE_LETTER_R,FOLLOW_2); if (state.failed) return current; + this_LETTER_E_2=(Token)match(input,RULE_LETTER_E,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_R_2); + current.merge(this_LETTER_E_2); } if ( state.backtracking==0 ) { - newLeafNode(this_LETTER_R_2, grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_2()); + newLeafNode(this_LETTER_E_2, grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_2()); } } break; case 4 : - // InternalSemver.g:2032:3: this_LETTER_F_3= RULE_LETTER_F + // InternalSemver.g:2240:3: this_LETTER_F_3= RULE_LETTER_F { this_LETTER_F_3=(Token)match(input,RULE_LETTER_F,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -6300,7 +6919,7 @@ public final AntlrDatatypeRuleToken ruleLETTER_NO_VX() throws RecognitionExcepti } break; case 5 : - // InternalSemver.g:2040:3: this_LETTER_I_4= RULE_LETTER_I + // InternalSemver.g:2248:3: this_LETTER_I_4= RULE_LETTER_I { this_LETTER_I_4=(Token)match(input,RULE_LETTER_I,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { @@ -6317,51 +6936,153 @@ public final AntlrDatatypeRuleToken ruleLETTER_NO_VX() throws RecognitionExcepti } break; case 6 : - // InternalSemver.g:2048:3: this_LETTER_L_5= RULE_LETTER_L + // InternalSemver.g:2256:3: this_LETTER_K_5= RULE_LETTER_K { - this_LETTER_L_5=(Token)match(input,RULE_LETTER_L,FOLLOW_2); if (state.failed) return current; + this_LETTER_K_5=(Token)match(input,RULE_LETTER_K,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_L_5); + current.merge(this_LETTER_K_5); } if ( state.backtracking==0 ) { - newLeafNode(this_LETTER_L_5, grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_5()); + newLeafNode(this_LETTER_K_5, grammarAccess.getLETTER_NO_VXAccess().getLETTER_KTerminalRuleCall_5()); } } break; case 7 : - // InternalSemver.g:2056:3: this_LETTER_E_6= RULE_LETTER_E + // InternalSemver.g:2264:3: this_LETTER_L_6= RULE_LETTER_L { - this_LETTER_E_6=(Token)match(input,RULE_LETTER_E,FOLLOW_2); if (state.failed) return current; + this_LETTER_L_6=(Token)match(input,RULE_LETTER_L,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_E_6); + current.merge(this_LETTER_L_6); } if ( state.backtracking==0 ) { - newLeafNode(this_LETTER_E_6, grammarAccess.getLETTER_NO_VXAccess().getLETTER_ETerminalRuleCall_6()); + newLeafNode(this_LETTER_L_6, grammarAccess.getLETTER_NO_VXAccess().getLETTER_LTerminalRuleCall_6()); } } break; case 8 : - // InternalSemver.g:2064:3: this_LETTER_OTHER_7= RULE_LETTER_OTHER + // InternalSemver.g:2272:3: this_LETTER_M_7= RULE_LETTER_M + { + this_LETTER_M_7=(Token)match(input,RULE_LETTER_M,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_M_7); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_M_7, grammarAccess.getLETTER_NO_VXAccess().getLETTER_MTerminalRuleCall_7()); + + } + + } + break; + case 9 : + // InternalSemver.g:2280:3: this_LETTER_O_8= RULE_LETTER_O + { + this_LETTER_O_8=(Token)match(input,RULE_LETTER_O,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_O_8); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_O_8, grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTerminalRuleCall_8()); + + } + + } + break; + case 10 : + // InternalSemver.g:2288:3: this_LETTER_P_9= RULE_LETTER_P + { + this_LETTER_P_9=(Token)match(input,RULE_LETTER_P,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_P_9); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_P_9, grammarAccess.getLETTER_NO_VXAccess().getLETTER_PTerminalRuleCall_9()); + + } + + } + break; + case 11 : + // InternalSemver.g:2296:3: this_LETTER_R_10= RULE_LETTER_R + { + this_LETTER_R_10=(Token)match(input,RULE_LETTER_R,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_R_10); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_R_10, grammarAccess.getLETTER_NO_VXAccess().getLETTER_RTerminalRuleCall_10()); + + } + + } + break; + case 12 : + // InternalSemver.g:2304:3: this_LETTER_S_11= RULE_LETTER_S + { + this_LETTER_S_11=(Token)match(input,RULE_LETTER_S,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_S_11); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_S_11, grammarAccess.getLETTER_NO_VXAccess().getLETTER_STerminalRuleCall_11()); + + } + + } + break; + case 13 : + // InternalSemver.g:2312:3: this_LETTER_W_12= RULE_LETTER_W + { + this_LETTER_W_12=(Token)match(input,RULE_LETTER_W,FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + current.merge(this_LETTER_W_12); + + } + if ( state.backtracking==0 ) { + + newLeafNode(this_LETTER_W_12, grammarAccess.getLETTER_NO_VXAccess().getLETTER_WTerminalRuleCall_12()); + + } + + } + break; + case 14 : + // InternalSemver.g:2320:3: this_LETTER_OTHER_13= RULE_LETTER_OTHER { - this_LETTER_OTHER_7=(Token)match(input,RULE_LETTER_OTHER,FOLLOW_2); if (state.failed) return current; + this_LETTER_OTHER_13=(Token)match(input,RULE_LETTER_OTHER,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current.merge(this_LETTER_OTHER_7); + current.merge(this_LETTER_OTHER_13); } if ( state.backtracking==0 ) { - newLeafNode(this_LETTER_OTHER_7, grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_7()); + newLeafNode(this_LETTER_OTHER_13, grammarAccess.getLETTER_NO_VXAccess().getLETTER_OTHERTerminalRuleCall_13()); } @@ -6392,7 +7113,7 @@ public final AntlrDatatypeRuleToken ruleLETTER_NO_VX() throws RecognitionExcepti // $ANTLR start "ruleVersionComparator" - // InternalSemver.g:2075:1: ruleVersionComparator returns [Enumerator current=null] : ( (enumLiteral_0= '=' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '~' ) | (enumLiteral_3= '^' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>' ) | (enumLiteral_6= '>=' ) ) ; + // InternalSemver.g:2331:1: ruleVersionComparator returns [Enumerator current=null] : ( (enumLiteral_0= '=' ) | (enumLiteral_1= '~' ) | (enumLiteral_2= '^' ) | (enumLiteral_3= '<' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '<=' ) | (enumLiteral_6= '>=' ) ) ; public final Enumerator ruleVersionComparator() throws RecognitionException { Enumerator current = null; @@ -6408,63 +7129,63 @@ public final Enumerator ruleVersionComparator() throws RecognitionException { enterRule(); try { - // InternalSemver.g:2081:2: ( ( (enumLiteral_0= '=' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '~' ) | (enumLiteral_3= '^' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>' ) | (enumLiteral_6= '>=' ) ) ) - // InternalSemver.g:2082:2: ( (enumLiteral_0= '=' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '~' ) | (enumLiteral_3= '^' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>' ) | (enumLiteral_6= '>=' ) ) + // InternalSemver.g:2337:2: ( ( (enumLiteral_0= '=' ) | (enumLiteral_1= '~' ) | (enumLiteral_2= '^' ) | (enumLiteral_3= '<' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '<=' ) | (enumLiteral_6= '>=' ) ) ) + // InternalSemver.g:2338:2: ( (enumLiteral_0= '=' ) | (enumLiteral_1= '~' ) | (enumLiteral_2= '^' ) | (enumLiteral_3= '<' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '<=' ) | (enumLiteral_6= '>=' ) ) { - // InternalSemver.g:2082:2: ( (enumLiteral_0= '=' ) | (enumLiteral_1= '<' ) | (enumLiteral_2= '~' ) | (enumLiteral_3= '^' ) | (enumLiteral_4= '<=' ) | (enumLiteral_5= '>' ) | (enumLiteral_6= '>=' ) ) - int alt43=7; + // InternalSemver.g:2338:2: ( (enumLiteral_0= '=' ) | (enumLiteral_1= '~' ) | (enumLiteral_2= '^' ) | (enumLiteral_3= '<' ) | (enumLiteral_4= '>' ) | (enumLiteral_5= '<=' ) | (enumLiteral_6= '>=' ) ) + int alt45=7; switch ( input.LA(1) ) { - case 44: + case 50: { - alt43=1; + alt45=1; } break; - case 45: + case 51: { - alt43=2; + alt45=2; } break; - case 46: + case 52: { - alt43=3; + alt45=3; } break; - case 47: + case 53: { - alt43=4; + alt45=4; } break; - case 48: + case 54: { - alt43=5; + alt45=5; } break; - case 49: + case 55: { - alt43=6; + alt45=6; } break; - case 50: + case 56: { - alt43=7; + alt45=7; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = - new NoViableAltException("", 43, 0, input); + new NoViableAltException("", 45, 0, input); throw nvae; } - switch (alt43) { + switch (alt45) { case 1 : - // InternalSemver.g:2083:3: (enumLiteral_0= '=' ) + // InternalSemver.g:2339:3: (enumLiteral_0= '=' ) { - // InternalSemver.g:2083:3: (enumLiteral_0= '=' ) - // InternalSemver.g:2084:4: enumLiteral_0= '=' + // InternalSemver.g:2339:3: (enumLiteral_0= '=' ) + // InternalSemver.g:2340:4: enumLiteral_0= '=' { - enumLiteral_0=(Token)match(input,44,FOLLOW_2); if (state.failed) return current; + enumLiteral_0=(Token)match(input,50,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current = grammarAccess.getVersionComparatorAccess().getEqualsEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); @@ -6478,16 +7199,16 @@ public final Enumerator ruleVersionComparator() throws RecognitionException { } break; case 2 : - // InternalSemver.g:2091:3: (enumLiteral_1= '<' ) + // InternalSemver.g:2347:3: (enumLiteral_1= '~' ) { - // InternalSemver.g:2091:3: (enumLiteral_1= '<' ) - // InternalSemver.g:2092:4: enumLiteral_1= '<' + // InternalSemver.g:2347:3: (enumLiteral_1= '~' ) + // InternalSemver.g:2348:4: enumLiteral_1= '~' { - enumLiteral_1=(Token)match(input,45,FOLLOW_2); if (state.failed) return current; + enumLiteral_1=(Token)match(input,51,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current = grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_1()); + current = grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_1()); } @@ -6497,16 +7218,16 @@ public final Enumerator ruleVersionComparator() throws RecognitionException { } break; case 3 : - // InternalSemver.g:2099:3: (enumLiteral_2= '~' ) + // InternalSemver.g:2355:3: (enumLiteral_2= '^' ) { - // InternalSemver.g:2099:3: (enumLiteral_2= '~' ) - // InternalSemver.g:2100:4: enumLiteral_2= '~' + // InternalSemver.g:2355:3: (enumLiteral_2= '^' ) + // InternalSemver.g:2356:4: enumLiteral_2= '^' { - enumLiteral_2=(Token)match(input,46,FOLLOW_2); if (state.failed) return current; + enumLiteral_2=(Token)match(input,52,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current = grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getVersionComparatorAccess().getTildeEnumLiteralDeclaration_2()); + current = grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_2()); } @@ -6516,16 +7237,16 @@ public final Enumerator ruleVersionComparator() throws RecognitionException { } break; case 4 : - // InternalSemver.g:2107:3: (enumLiteral_3= '^' ) + // InternalSemver.g:2363:3: (enumLiteral_3= '<' ) { - // InternalSemver.g:2107:3: (enumLiteral_3= '^' ) - // InternalSemver.g:2108:4: enumLiteral_3= '^' + // InternalSemver.g:2363:3: (enumLiteral_3= '<' ) + // InternalSemver.g:2364:4: enumLiteral_3= '<' { - enumLiteral_3=(Token)match(input,47,FOLLOW_2); if (state.failed) return current; + enumLiteral_3=(Token)match(input,53,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current = grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getVersionComparatorAccess().getCaretEnumLiteralDeclaration_3()); + current = grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getVersionComparatorAccess().getSmallerEnumLiteralDeclaration_3()); } @@ -6535,16 +7256,16 @@ public final Enumerator ruleVersionComparator() throws RecognitionException { } break; case 5 : - // InternalSemver.g:2115:3: (enumLiteral_4= '<=' ) + // InternalSemver.g:2371:3: (enumLiteral_4= '>' ) { - // InternalSemver.g:2115:3: (enumLiteral_4= '<=' ) - // InternalSemver.g:2116:4: enumLiteral_4= '<=' + // InternalSemver.g:2371:3: (enumLiteral_4= '>' ) + // InternalSemver.g:2372:4: enumLiteral_4= '>' { - enumLiteral_4=(Token)match(input,48,FOLLOW_2); if (state.failed) return current; + enumLiteral_4=(Token)match(input,54,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current = grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_4()); + current = grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_4()); } @@ -6554,16 +7275,16 @@ public final Enumerator ruleVersionComparator() throws RecognitionException { } break; case 6 : - // InternalSemver.g:2123:3: (enumLiteral_5= '>' ) + // InternalSemver.g:2379:3: (enumLiteral_5= '<=' ) { - // InternalSemver.g:2123:3: (enumLiteral_5= '>' ) - // InternalSemver.g:2124:4: enumLiteral_5= '>' + // InternalSemver.g:2379:3: (enumLiteral_5= '<=' ) + // InternalSemver.g:2380:4: enumLiteral_5= '<=' { - enumLiteral_5=(Token)match(input,49,FOLLOW_2); if (state.failed) return current; + enumLiteral_5=(Token)match(input,55,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { - current = grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getVersionComparatorAccess().getGreaterEnumLiteralDeclaration_5()); + current = grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getVersionComparatorAccess().getSmallerEqualsEnumLiteralDeclaration_5()); } @@ -6573,12 +7294,12 @@ public final Enumerator ruleVersionComparator() throws RecognitionException { } break; case 7 : - // InternalSemver.g:2131:3: (enumLiteral_6= '>=' ) + // InternalSemver.g:2387:3: (enumLiteral_6= '>=' ) { - // InternalSemver.g:2131:3: (enumLiteral_6= '>=' ) - // InternalSemver.g:2132:4: enumLiteral_6= '>=' + // InternalSemver.g:2387:3: (enumLiteral_6= '>=' ) + // InternalSemver.g:2388:4: enumLiteral_6= '>=' { - enumLiteral_6=(Token)match(input,50,FOLLOW_2); if (state.failed) return current; + enumLiteral_6=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current = grammarAccess.getVersionComparatorAccess().getGreaterEqualsEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); @@ -6646,11 +7367,11 @@ public final void synpred2_InternalSemver_fragment() throws RecognitionException // $ANTLR start synpred3_InternalSemver public final void synpred3_InternalSemver_fragment() throws RecognitionException { - // InternalSemver.g:318:4: ( ruleURLSemver ) - // InternalSemver.g:318:5: ruleURLSemver + // InternalSemver.g:133:8: ( ruleWorkspaceVersionRequirement ) + // InternalSemver.g:133:9: ruleWorkspaceVersionRequirement { pushFollow(FOLLOW_2); - ruleURLSemver(); + ruleWorkspaceVersionRequirement(); state._fsp--; if (state.failed) return ; @@ -6659,6 +7380,42 @@ public final void synpred3_InternalSemver_fragment() throws RecognitionException } // $ANTLR end synpred3_InternalSemver + // $ANTLR start synpred4_InternalSemver + public final void synpred4_InternalSemver_fragment() throws RecognitionException { + // InternalSemver.g:332:4: ( ruleURLSemver ) + // InternalSemver.g:332:5: ruleURLSemver + { + pushFollow(FOLLOW_2); + ruleURLSemver(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred4_InternalSemver + + // $ANTLR start synpred5_InternalSemver + public final void synpred5_InternalSemver_fragment() throws RecognitionException { + // InternalSemver.g:493:5: ( ( ruleSimpleVersion ) ) + // InternalSemver.g:493:6: ( ruleSimpleVersion ) + { + // InternalSemver.g:493:6: ( ruleSimpleVersion ) + // InternalSemver.g:494:6: ruleSimpleVersion + { + pushFollow(FOLLOW_2); + ruleSimpleVersion(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred5_InternalSemver + // Delegated rules public final boolean synpred1_InternalSemver() { @@ -6703,26 +7460,62 @@ public final boolean synpred3_InternalSemver() { state.failed=false; return success; } + public final boolean synpred4_InternalSemver() { + state.backtracking++; + int start = input.mark(); + try { + synpred4_InternalSemver_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred5_InternalSemver() { + state.backtracking++; + int start = input.mark(); + try { + synpred5_InternalSemver_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + protected DFA4 dfa4 = new DFA4(this); protected DFA3 dfa3 = new DFA3(this); protected DFA2 dfa2 = new DFA2(this); - protected DFA7 dfa7 = new DFA7(this); - protected DFA15 dfa15 = new DFA15(this); - static final String dfa_1s = "\30\uffff"; - static final String dfa_2s = "\3\uffff\4\2\21\uffff"; - static final String dfa_3s = "\1\7\1\5\1\uffff\4\4\20\0\1\uffff"; - static final String dfa_4s = "\2\53\1\uffff\4\53\20\0\1\uffff"; - static final String dfa_5s = "\2\uffff\1\2\24\uffff\1\1"; - static final String dfa_6s = "\7\uffff\1\16\1\7\1\1\1\12\1\2\1\14\1\3\1\5\1\13\1\15\1\17\1\0\1\4\1\6\1\10\1\11\1\uffff}>"; + protected DFA8 dfa8 = new DFA8(this); + protected DFA10 dfa10 = new DFA10(this); + protected DFA17 dfa17 = new DFA17(this); + static final String dfa_1s = "\36\uffff"; + static final String dfa_2s = "\3\uffff\4\2\27\uffff"; + static final String dfa_3s = "\1\7\1\5\1\uffff\4\4\26\0\1\uffff"; + static final String dfa_4s = "\2\61\1\uffff\4\61\26\0\1\uffff"; + static final String dfa_5s = "\2\uffff\1\2\32\uffff\1\1"; + static final String dfa_6s = "\7\uffff\1\2\1\22\1\4\1\13\1\10\1\24\1\17\1\5\1\7\1\23\1\12\1\0\1\15\1\3\1\20\1\6\1\21\1\11\1\25\1\14\1\1\1\16\1\uffff}>"; static final String[] dfa_7s = { - "\1\1\6\2\2\uffff\1\2\26\uffff\1\2\3\uffff\1\2", - "\3\2\1\3\6\2\1\uffff\1\2\22\uffff\2\2\2\uffff\5\2", + "\1\1\14\2\2\uffff\1\2\26\uffff\1\2\3\uffff\1\2", + "\3\2\1\3\13\2\1\uffff\2\2\22\uffff\2\2\2\uffff\5\2", "", - "\5\2\1\4\5\2\1\uffff\1\2\22\uffff\2\2\2\uffff\5\2", - "\6\2\1\5\4\2\1\uffff\1\2\22\uffff\2\2\2\uffff\5\2", - "\13\2\1\uffff\1\2\22\uffff\1\6\1\2\2\uffff\5\2", - "\1\2\1\15\1\14\1\22\1\23\1\24\1\25\1\17\1\20\1\21\1\16\1\uffff\1\26\22\uffff\1\2\1\7\1\2\1\uffff\1\12\1\10\1\uffff\1\11\1\13", + "\5\2\1\4\12\2\1\uffff\2\2\22\uffff\2\2\2\uffff\5\2", + "\6\2\1\5\11\2\1\uffff\2\2\22\uffff\2\2\2\uffff\5\2", + "\20\2\1\uffff\2\2\22\uffff\1\6\1\2\2\uffff\5\2", + "\1\2\1\15\1\14\1\22\1\23\1\25\1\21\1\32\1\26\1\31\1\33\1\27\1\24\1\30\1\17\1\20\1\uffff\1\16\1\34\22\uffff\1\2\1\7\1\2\1\uffff\1\13\1\10\1\uffff\1\11\1\12", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", @@ -6750,11 +7543,11 @@ public final boolean synpred3_InternalSemver() { static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s); static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s); - class DFA3 extends DFA { + class DFA4 extends DFA { - public DFA3(BaseRecognizer recognizer) { + public DFA4(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 3; + this.decisionNumber = 4; this.eot = dfa_1; this.eof = dfa_2; this.min = dfa_3; @@ -6764,1170 +7557,3188 @@ public DFA3(BaseRecognizer recognizer) { this.transition = dfa_7; } public String getDescription() { - return "105:4: ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement ) )"; + return "105:4: ( ( ( ruleLocalPathVersionRequirement )=>this_LocalPathVersionRequirement_2= ruleLocalPathVersionRequirement ) | ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) ) )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA3_18 = input.LA(1); + int LA4_18 = input.LA(1); - int index3_18 = input.index(); + int index4_18 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_18); + input.seek(index4_18); if ( s>=0 ) return s; break; case 1 : - int LA3_9 = input.LA(1); + int LA4_27 = input.LA(1); - int index3_9 = input.index(); + int index4_27 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_9); + input.seek(index4_27); if ( s>=0 ) return s; break; case 2 : - int LA3_11 = input.LA(1); + int LA4_7 = input.LA(1); - int index3_11 = input.index(); + int index4_7 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_11); + input.seek(index4_7); if ( s>=0 ) return s; break; case 3 : - int LA3_13 = input.LA(1); + int LA4_20 = input.LA(1); - int index3_13 = input.index(); + int index4_20 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_13); + input.seek(index4_20); if ( s>=0 ) return s; break; case 4 : - int LA3_19 = input.LA(1); + int LA4_9 = input.LA(1); - int index3_19 = input.index(); + int index4_9 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_19); + input.seek(index4_9); if ( s>=0 ) return s; break; case 5 : - int LA3_14 = input.LA(1); + int LA4_14 = input.LA(1); - int index3_14 = input.index(); + int index4_14 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_14); + input.seek(index4_14); if ( s>=0 ) return s; break; case 6 : - int LA3_20 = input.LA(1); + int LA4_22 = input.LA(1); - int index3_20 = input.index(); + int index4_22 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_20); + input.seek(index4_22); if ( s>=0 ) return s; break; case 7 : - int LA3_8 = input.LA(1); + int LA4_15 = input.LA(1); - int index3_8 = input.index(); + int index4_15 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_8); + input.seek(index4_15); if ( s>=0 ) return s; break; case 8 : - int LA3_21 = input.LA(1); + int LA4_11 = input.LA(1); - int index3_21 = input.index(); + int index4_11 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_21); + input.seek(index4_11); if ( s>=0 ) return s; break; case 9 : - int LA3_22 = input.LA(1); + int LA4_24 = input.LA(1); - int index3_22 = input.index(); + int index4_24 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_22); + input.seek(index4_24); if ( s>=0 ) return s; break; case 10 : - int LA3_10 = input.LA(1); + int LA4_17 = input.LA(1); - int index3_10 = input.index(); + int index4_17 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_10); + input.seek(index4_17); if ( s>=0 ) return s; break; case 11 : - int LA3_15 = input.LA(1); + int LA4_10 = input.LA(1); - int index3_15 = input.index(); + int index4_10 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_15); + input.seek(index4_10); if ( s>=0 ) return s; break; case 12 : - int LA3_12 = input.LA(1); + int LA4_26 = input.LA(1); - int index3_12 = input.index(); + int index4_26 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_12); + input.seek(index4_26); if ( s>=0 ) return s; break; case 13 : - int LA3_16 = input.LA(1); + int LA4_19 = input.LA(1); - int index3_16 = input.index(); + int index4_19 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_16); + input.seek(index4_19); if ( s>=0 ) return s; break; case 14 : - int LA3_7 = input.LA(1); + int LA4_28 = input.LA(1); - int index3_7 = input.index(); + int index4_28 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_7); + input.seek(index4_28); if ( s>=0 ) return s; break; case 15 : - int LA3_17 = input.LA(1); + int LA4_13 = input.LA(1); - int index3_17 = input.index(); + int index4_13 = input.index(); input.rewind(); s = -1; - if ( (synpred1_InternalSemver()) ) {s = 23;} + if ( (synpred1_InternalSemver()) ) {s = 29;} else if ( (true) ) {s = 2;} - input.seek(index3_17); + input.seek(index4_13); if ( s>=0 ) return s; break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 3, _s, input); - error(nvae); - throw nvae; - } - } - static final String dfa_8s = "\66\uffff"; - static final String dfa_9s = "\12\uffff\12\30\1\uffff\2\30\1\11\1\uffff\12\30\2\11\4\uffff\15\11"; - static final String dfa_10s = "\1\7\10\5\1\uffff\12\4\1\uffff\3\4\1\uffff\14\4\4\0\15\4"; - static final String dfa_11s = "\11\53\1\uffff\12\53\1\uffff\3\53\1\uffff\14\53\4\0\15\53"; - static final String dfa_12s = "\11\uffff\1\2\12\uffff\1\1\3\uffff\1\3\35\uffff"; - static final String dfa_13s = "\1\uffff\1\12\1\20\1\4\1\15\1\1\1\13\1\24\1\7\1\uffff\1\22\1\10\1\21\1\5\1\16\1\2\1\14\1\25\1\11\1\17\21\uffff\1\23\1\0\1\3\1\6\15\uffff}>"; - static final String[] dfa_14s = { - "\1\4\1\5\1\6\1\7\1\1\1\2\1\3\2\uffff\1\10\26\uffff\1\11\3\uffff\1\11", - "\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\2\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\2\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\2\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\2\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\2\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\2\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\2\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\2\11\2\uffff\1\25\1\11\1\24\2\11", - "", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "\1\30\1\12\1\26\1\17\1\20\1\21\1\22\1\14\1\15\1\16\1\13\1\uffff\1\23\22\uffff\1\27\1\11\2\uffff\1\25\1\11\1\24\2\11", - "", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\13\11\1\uffff\1\11\22\uffff\1\11\1\43\1\11\1\uffff\2\11\1\uffff\2\11", - "", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\1\30\1\31\1\26\1\36\1\37\1\40\1\41\1\33\1\34\1\35\1\32\1\uffff\1\42\22\uffff\2\11\2\uffff\1\25\1\11\1\uffff\2\11", - "\13\11\1\uffff\1\11\22\uffff\1\11\1\44\1\11\1\uffff\2\11\1\uffff\2\11", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52", - "\1\11\1\54\1\53\1\61\1\62\1\63\1\64\1\56\1\57\1\60\1\55\1\uffff\1\65\22\uffff\1\47\1\45\1\11\1\uffff\1\51\1\46\1\uffff\1\50\1\52" - }; + case 16 : + int LA4_21 = input.LA(1); - static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); - static final short[] dfa_9 = DFA.unpackEncodedString(dfa_9s); - static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); - static final char[] dfa_11 = DFA.unpackEncodedStringToUnsignedChars(dfa_11s); - static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); - static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); - static final short[][] dfa_14 = unpackEncodedStringArray(dfa_14s); + + int index4_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1_InternalSemver()) ) {s = 29;} - class DFA2 extends DFA { + else if ( (true) ) {s = 2;} - public DFA2(BaseRecognizer recognizer) { - this.recognizer = recognizer; - this.decisionNumber = 2; - this.eot = dfa_8; - this.eof = dfa_9; - this.min = dfa_10; - this.max = dfa_11; - this.accept = dfa_12; - this.special = dfa_13; - this.transition = dfa_14; - } - public String getDescription() { - return "118:5: ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | this_GitHubVersionRequirement_4= ruleGitHubVersionRequirement | this_TagVersionRequirement_5= ruleTagVersionRequirement )"; - } - public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { - TokenStream input = (TokenStream)_input; - int _s = s; + + input.seek(index4_21); + if ( s>=0 ) return s; + break; + case 17 : + int LA4_23 = input.LA(1); + + + int index4_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index4_23); + if ( s>=0 ) return s; + break; + case 18 : + int LA4_8 = input.LA(1); + + + int index4_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index4_8); + if ( s>=0 ) return s; + break; + case 19 : + int LA4_16 = input.LA(1); + + + int index4_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index4_16); + if ( s>=0 ) return s; + break; + case 20 : + int LA4_12 = input.LA(1); + + + int index4_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index4_12); + if ( s>=0 ) return s; + break; + case 21 : + int LA4_25 = input.LA(1); + + + int index4_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1_InternalSemver()) ) {s = 29;} + + else if ( (true) ) {s = 2;} + + + input.seek(index4_25); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 4, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_8s = "\135\uffff"; + static final String dfa_9s = "\20\uffff\20\17\1\uffff\7\17\4\uffff\32\17\4\uffff\23\17"; + static final String dfa_10s = "\1\7\16\5\1\uffff\20\4\1\uffff\7\4\4\0\32\4\4\0\23\4"; + static final String dfa_11s = "\17\61\1\uffff\20\61\1\uffff\7\61\4\0\27\61\3\70\4\0\23\70"; + static final String dfa_12s = "\17\uffff\1\2\20\uffff\1\1\74\uffff"; + static final String dfa_13s = "\1\uffff\1\50\1\12\1\45\1\6\1\26\1\54\1\22\1\51\1\10\1\34\1\4\1\31\1\42\1\15\1\uffff\1\7\1\27\1\17\1\46\1\11\1\37\1\0\1\23\1\53\1\20\1\44\1\5\1\33\1\1\1\21\1\47\1\uffff\1\35\1\uffff\1\40\1\uffff\1\36\1\uffff\1\16\1\14\1\24\1\32\1\43\23\uffff\1\41\1\55\1\30\1\2\3\uffff\1\52\1\3\1\13\1\25\23\uffff}>"; + static final String[] dfa_14s = { + "\1\4\1\5\1\7\1\3\1\14\1\10\1\13\1\15\1\11\1\6\1\12\1\1\1\2\2\uffff\1\16\26\uffff\1\17\3\uffff\1\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\41\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\2\17\2\uffff\2\17\1\40\2\17", + "", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\43\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\20\17\1\uffff\2\17\22\uffff\1\17\1\44\1\17\1\uffff\2\17\1\uffff\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\45\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\20\17\1\uffff\2\17\22\uffff\1\17\1\46\1\17\1\uffff\2\17\1\uffff\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\47\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\77\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\57\1\56\1\64\1\65\1\67\1\63\1\74\1\70\1\73\1\75\1\71\1\66\1\72\1\61\1\62\1\uffff\1\60\1\76\22\uffff\1\52\1\50\1\17\1\uffff\1\55\1\51\1\uffff\1\53\1\54", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\100\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\101\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\102\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\42\1\17\2\uffff\2\17\1\40\2\17", + "\1\17\1\20\1\17\1\25\1\26\1\30\1\24\1\35\1\31\1\34\1\36\1\32\1\27\1\33\1\22\1\23\1\uffff\1\21\1\37\22\uffff\1\103\1\17\2\uffff\2\17\1\40\2\17", + "\23\17\22\uffff\1\17\1\104\1\17\1\uffff\2\17\1\uffff\11\17", + "\23\17\22\uffff\1\17\1\105\1\17\1\uffff\2\17\1\uffff\11\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17", + "\1\17\1\115\1\114\1\122\1\123\1\125\1\121\1\132\1\126\1\131\1\133\1\127\1\124\1\130\1\117\1\120\1\17\1\116\1\134\22\uffff\1\110\1\106\1\17\1\uffff\1\113\1\107\1\uffff\1\111\1\112\7\17" + }; + + static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); + static final short[] dfa_9 = DFA.unpackEncodedString(dfa_9s); + static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); + static final char[] dfa_11 = DFA.unpackEncodedStringToUnsignedChars(dfa_11s); + static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); + static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); + static final short[][] dfa_14 = unpackEncodedStringArray(dfa_14s); + + class DFA3 extends DFA { + + public DFA3(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 3; + this.eot = dfa_8; + this.eof = dfa_9; + this.min = dfa_10; + this.max = dfa_11; + this.accept = dfa_12; + this.special = dfa_13; + this.transition = dfa_14; + } + public String getDescription() { + return "118:5: ( ( ( ruleURLVersionRequirement )=>this_URLVersionRequirement_3= ruleURLVersionRequirement ) | ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement ) )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; switch ( s ) { case 0 : - int LA2_38 = input.LA(1); + int LA3_22 = input.LA(1); + + + int index3_22 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_22==EOF||LA3_22==RULE_WS||LA3_22==RULE_DIGITS||LA3_22==42||(LA3_22>=45 && LA3_22<=46)||(LA3_22>=48 && LA3_22<=49)) ) {s = 15;} + + else if ( (LA3_22==41) ) {s = 34;} + + else if ( (LA3_22==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_22==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_22==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_22==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_22==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_22==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_22==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_22==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_22==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_22==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_22==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_22==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_22==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_22==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_22==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_22==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_22==47) && (synpred2_InternalSemver())) {s = 32;} - int index2_38 = input.index(); + input.seek(index3_22); + if ( s>=0 ) return s; + break; + case 1 : + int LA3_29 = input.LA(1); + + + int index3_29 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_29==EOF||LA3_29==RULE_WS||LA3_29==RULE_DIGITS||LA3_29==42||(LA3_29>=45 && LA3_29<=46)||(LA3_29>=48 && LA3_29<=49)) ) {s = 15;} + + else if ( (LA3_29==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_29==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_29==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_29==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_29==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_29==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_29==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_29==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_29==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_29==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_29==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_29==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_29==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_29==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_29==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_29==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_29==41) ) {s = 34;} + + else if ( (LA3_29==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_29); + if ( s>=0 ) return s; + break; + case 2 : + int LA3_66 = input.LA(1); + + + int index3_66 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_66==41) ) {s = 67;} + + else if ( (LA3_66==EOF||LA3_66==RULE_WS||LA3_66==RULE_DIGITS||LA3_66==42||(LA3_66>=45 && LA3_66<=46)||(LA3_66>=48 && LA3_66<=49)) ) {s = 15;} + + else if ( (LA3_66==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_66==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_66==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_66==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_66==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_66==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_66==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_66==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_66==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_66==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_66==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_66==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_66==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_66==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_66==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_66==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_66==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_66); + if ( s>=0 ) return s; + break; + case 3 : + int LA3_71 = input.LA(1); + + + int index3_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred2_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index3_71); + if ( s>=0 ) return s; + break; + case 4 : + int LA3_11 = input.LA(1); + + + int index3_11 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_11==RULE_DIGITS||(LA3_11>=41 && LA3_11<=42)||(LA3_11>=45 && LA3_11<=46)||(LA3_11>=48 && LA3_11<=49)) ) {s = 15;} + + else if ( (LA3_11==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_11==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_11==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_11==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_11==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_11==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_11==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_11==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_11==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_11==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_11==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_11==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_11==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_11==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_11==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_11==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_11==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_11); + if ( s>=0 ) return s; + break; + case 5 : + int LA3_27 = input.LA(1); + + + int index3_27 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_27==EOF||LA3_27==RULE_WS||LA3_27==RULE_DIGITS||LA3_27==42||(LA3_27>=45 && LA3_27<=46)||(LA3_27>=48 && LA3_27<=49)) ) {s = 15;} + + else if ( (LA3_27==41) ) {s = 34;} + + else if ( (LA3_27==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_27==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_27==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_27==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_27==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_27==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_27==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_27==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_27==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_27==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_27==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_27==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_27==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_27==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_27==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_27==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_27==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_27); + if ( s>=0 ) return s; + break; + case 6 : + int LA3_4 = input.LA(1); + + + int index3_4 = input.index(); input.rewind(); s = -1; - if ( (synpred2_InternalSemver()) ) {s = 20;} + if ( (LA3_4==RULE_DIGITS||(LA3_4>=41 && LA3_4<=42)||(LA3_4>=45 && LA3_4<=46)||(LA3_4>=48 && LA3_4<=49)) ) {s = 15;} + + else if ( (LA3_4==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_4==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_4==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_4==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_4==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_4==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_4==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_4==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_4==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_4==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_4==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_4==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_4==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_4==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_4==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_4==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_4==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_4); + if ( s>=0 ) return s; + break; + case 7 : + int LA3_16 = input.LA(1); + + + int index3_16 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_16==EOF||LA3_16==RULE_WS||LA3_16==RULE_DIGITS||LA3_16==42||(LA3_16>=45 && LA3_16<=46)||(LA3_16>=48 && LA3_16<=49)) ) {s = 15;} + + else if ( (LA3_16==41) ) {s = 34;} + + else if ( (LA3_16==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_16==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_16==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_16==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_16==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_16==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_16==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_16==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_16==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_16==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_16==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_16==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_16==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_16==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_16==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_16==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_16==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_16); + if ( s>=0 ) return s; + break; + case 8 : + int LA3_9 = input.LA(1); + + + int index3_9 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_9==RULE_DIGITS||(LA3_9>=41 && LA3_9<=42)||(LA3_9>=45 && LA3_9<=46)||(LA3_9>=48 && LA3_9<=49)) ) {s = 15;} + + else if ( (LA3_9==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_9==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_9==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_9==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_9==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_9==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_9==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_9==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_9==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_9==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_9==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_9==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_9==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_9==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_9==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_9==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_9==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA3_20 = input.LA(1); + + + int index3_20 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_20==EOF||LA3_20==RULE_WS||LA3_20==RULE_DIGITS||LA3_20==42||(LA3_20>=45 && LA3_20<=46)||(LA3_20>=48 && LA3_20<=49)) ) {s = 15;} + + else if ( (LA3_20==41) ) {s = 34;} + + else if ( (LA3_20==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_20==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_20==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_20==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_20==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_20==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_20==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_20==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_20==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_20==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_20==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_20==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_20==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_20==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_20==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_20==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_20==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_20); + if ( s>=0 ) return s; + break; + case 10 : + int LA3_2 = input.LA(1); + + + int index3_2 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_2==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_2==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_2==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_2==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_2==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_2==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_2==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_2==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_2==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_2==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_2==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_2==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_2==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_2==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_2==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_2==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_2==47) && (synpred2_InternalSemver())) {s = 32;} + + else if ( (LA3_2==RULE_DIGITS||(LA3_2>=41 && LA3_2<=42)||(LA3_2>=45 && LA3_2<=46)||(LA3_2>=48 && LA3_2<=49)) ) {s = 15;} + + + input.seek(index3_2); + if ( s>=0 ) return s; + break; + case 11 : + int LA3_72 = input.LA(1); + + + int index3_72 = input.index(); + input.rewind(); + s = -1; + if ( (synpred2_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index3_72); + if ( s>=0 ) return s; + break; + case 12 : + int LA3_40 = input.LA(1); + + + int index3_40 = input.index(); + input.rewind(); + s = -1; + if ( (synpred2_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index3_40); + if ( s>=0 ) return s; + break; + case 13 : + int LA3_14 = input.LA(1); + + + int index3_14 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_14==RULE_DIGITS||(LA3_14>=41 && LA3_14<=42)||(LA3_14>=45 && LA3_14<=46)||(LA3_14>=48 && LA3_14<=49)) ) {s = 15;} + + else if ( (LA3_14==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_14==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_14==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_14==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_14==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_14==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_14==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_14==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_14==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_14==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_14==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_14==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_14==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_14==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_14==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_14==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_14==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA3_39 = input.LA(1); + + + int index3_39 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_39==EOF||LA3_39==RULE_WS||LA3_39==RULE_DIGITS||LA3_39==42||(LA3_39>=45 && LA3_39<=46)||(LA3_39>=48 && LA3_39<=49)) ) {s = 15;} + + else if ( (LA3_39==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_39==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_39==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_39==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_39==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_39==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_39==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_39==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_39==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_39==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_39==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_39==RULE_LETTER_P) ) {s = 63;} + + else if ( (LA3_39==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_39==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_39==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_39==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_39==41) ) {s = 34;} + + else if ( (LA3_39==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_39); + if ( s>=0 ) return s; + break; + case 15 : + int LA3_18 = input.LA(1); + + + int index3_18 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_18==41) ) {s = 34;} + + else if ( (LA3_18==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_18==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_18==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_18==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_18==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_18==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_18==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_18==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_18==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_18==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_18==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_18==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_18==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_18==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_18==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_18==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_18==47) && (synpred2_InternalSemver())) {s = 32;} + + else if ( (LA3_18==EOF||LA3_18==RULE_WS||LA3_18==RULE_DIGITS||LA3_18==42||(LA3_18>=45 && LA3_18<=46)||(LA3_18>=48 && LA3_18<=49)) ) {s = 15;} + + + input.seek(index3_18); + if ( s>=0 ) return s; + break; + case 16 : + int LA3_25 = input.LA(1); + + + int index3_25 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_25==EOF||LA3_25==RULE_WS||LA3_25==RULE_DIGITS||LA3_25==42||(LA3_25>=45 && LA3_25<=46)||(LA3_25>=48 && LA3_25<=49)) ) {s = 15;} + + else if ( (LA3_25==41) ) {s = 34;} + + else if ( (LA3_25==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_25==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_25==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_25==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_25==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_25==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_25==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_25==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_25==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_25==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_25==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_25==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_25==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_25==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_25==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_25==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_25==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_25); + if ( s>=0 ) return s; + break; + case 17 : + int LA3_30 = input.LA(1); + + + int index3_30 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_30==EOF||LA3_30==RULE_WS||LA3_30==RULE_DIGITS||LA3_30==42||(LA3_30>=45 && LA3_30<=46)||(LA3_30>=48 && LA3_30<=49)) ) {s = 15;} + + else if ( (LA3_30==41) ) {s = 34;} + + else if ( (LA3_30==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_30==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_30==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_30==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_30==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_30==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_30==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_30==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_30==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_30==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_30==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_30==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_30==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_30==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_30==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_30==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_30==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_30); + if ( s>=0 ) return s; + break; + case 18 : + int LA3_7 = input.LA(1); + + + int index3_7 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_7==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_7==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_7==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_7==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_7==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_7==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_7==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_7==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_7==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_7==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_7==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_7==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_7==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_7==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_7==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_7==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_7==47) && (synpred2_InternalSemver())) {s = 32;} + + else if ( (LA3_7==RULE_DIGITS||(LA3_7>=41 && LA3_7<=42)||(LA3_7>=45 && LA3_7<=46)||(LA3_7>=48 && LA3_7<=49)) ) {s = 15;} + + + input.seek(index3_7); + if ( s>=0 ) return s; + break; + case 19 : + int LA3_23 = input.LA(1); + + + int index3_23 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_23==EOF||LA3_23==RULE_WS||LA3_23==RULE_DIGITS||LA3_23==42||(LA3_23>=45 && LA3_23<=46)||(LA3_23>=48 && LA3_23<=49)) ) {s = 15;} + + else if ( (LA3_23==41) ) {s = 34;} + + else if ( (LA3_23==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_23==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_23==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_23==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_23==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_23==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_23==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_23==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_23==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_23==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_23==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_23==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_23==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_23==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_23==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_23==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_23==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_23); + if ( s>=0 ) return s; + break; + case 20 : + int LA3_41 = input.LA(1); + + + int index3_41 = input.index(); + input.rewind(); + s = -1; + if ( (synpred2_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index3_41); + if ( s>=0 ) return s; + break; + case 21 : + int LA3_73 = input.LA(1); + + + int index3_73 = input.index(); + input.rewind(); + s = -1; + if ( (synpred2_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index3_73); + if ( s>=0 ) return s; + break; + case 22 : + int LA3_5 = input.LA(1); + + + int index3_5 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_5==RULE_DIGITS||(LA3_5>=41 && LA3_5<=42)||(LA3_5>=45 && LA3_5<=46)||(LA3_5>=48 && LA3_5<=49)) ) {s = 15;} + + else if ( (LA3_5==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_5==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_5==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_5==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_5==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_5==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_5==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_5==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_5==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_5==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_5==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_5==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_5==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_5==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_5==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_5==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_5==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_5); + if ( s>=0 ) return s; + break; + case 23 : + int LA3_17 = input.LA(1); + + + int index3_17 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_17==41) ) {s = 34;} + + else if ( (LA3_17==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_17==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_17==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_17==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_17==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_17==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_17==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_17==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_17==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_17==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_17==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_17==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_17==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_17==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_17==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_17==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_17==47) && (synpred2_InternalSemver())) {s = 32;} + + else if ( (LA3_17==EOF||LA3_17==RULE_WS||LA3_17==RULE_DIGITS||LA3_17==42||(LA3_17>=45 && LA3_17<=46)||(LA3_17>=48 && LA3_17<=49)) ) {s = 15;} + + + input.seek(index3_17); + if ( s>=0 ) return s; + break; + case 24 : + int LA3_65 = input.LA(1); + + + int index3_65 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_65==EOF||LA3_65==RULE_WS||LA3_65==RULE_DIGITS||LA3_65==42||(LA3_65>=45 && LA3_65<=46)||(LA3_65>=48 && LA3_65<=49)) ) {s = 15;} + + else if ( (LA3_65==41) ) {s = 34;} + + else if ( (LA3_65==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_65==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_65==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_65==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_65==RULE_LETTER_E) ) {s = 66;} + + else if ( (LA3_65==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_65==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_65==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_65==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_65==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_65==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_65==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_65==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_65==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_65==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_65==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_65==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_65); + if ( s>=0 ) return s; + break; + case 25 : + int LA3_12 = input.LA(1); + + + int index3_12 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_12==RULE_DIGITS||(LA3_12>=41 && LA3_12<=42)||(LA3_12>=45 && LA3_12<=46)||(LA3_12>=48 && LA3_12<=49)) ) {s = 15;} + + else if ( (LA3_12==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_12==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_12==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_12==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_12==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_12==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_12==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_12==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_12==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_12==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_12==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_12==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_12==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_12==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_12==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_12==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_12==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_12); + if ( s>=0 ) return s; + break; + case 26 : + int LA3_42 = input.LA(1); + + + int index3_42 = input.index(); + input.rewind(); + s = -1; + if ( (synpred2_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index3_42); + if ( s>=0 ) return s; + break; + case 27 : + int LA3_28 = input.LA(1); + + + int index3_28 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_28==EOF||LA3_28==RULE_WS||LA3_28==RULE_DIGITS||LA3_28==42||(LA3_28>=45 && LA3_28<=46)||(LA3_28>=48 && LA3_28<=49)) ) {s = 15;} + + else if ( (LA3_28==41) ) {s = 34;} + + else if ( (LA3_28==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_28==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_28==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_28==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_28==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_28==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_28==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_28==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_28==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_28==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_28==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_28==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_28==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_28==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_28==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_28==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_28==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_28); + if ( s>=0 ) return s; + break; + case 28 : + int LA3_10 = input.LA(1); + + + int index3_10 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_10==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_10==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_10==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_10==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_10==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_10==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_10==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_10==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_10==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_10==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_10==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_10==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_10==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_10==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_10==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_10==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_10==47) && (synpred2_InternalSemver())) {s = 32;} + + else if ( (LA3_10==RULE_DIGITS||(LA3_10>=41 && LA3_10<=42)||(LA3_10>=45 && LA3_10<=46)||(LA3_10>=48 && LA3_10<=49)) ) {s = 15;} + + + input.seek(index3_10); + if ( s>=0 ) return s; + break; + case 29 : + int LA3_33 = input.LA(1); + + + int index3_33 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_33==41) ) {s = 34;} + + else if ( (LA3_33==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_33==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_33==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_33==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_33==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_33==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_33==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_33==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_33==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_33==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_33==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_33==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_33==RULE_LETTER_R) ) {s = 35;} + + else if ( (LA3_33==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_33==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_33==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_33==47) && (synpred2_InternalSemver())) {s = 32;} + + else if ( (LA3_33==EOF||LA3_33==RULE_WS||LA3_33==RULE_DIGITS||LA3_33==42||(LA3_33>=45 && LA3_33<=46)||(LA3_33>=48 && LA3_33<=49)) ) {s = 15;} + + + input.seek(index3_33); + if ( s>=0 ) return s; + break; + case 30 : + int LA3_37 = input.LA(1); + + + int index3_37 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_37==RULE_LETTER_S) ) {s = 39;} + + else if ( (LA3_37==EOF||LA3_37==RULE_WS||LA3_37==RULE_DIGITS||LA3_37==42||(LA3_37>=45 && LA3_37<=46)||(LA3_37>=48 && LA3_37<=49)) ) {s = 15;} + + else if ( (LA3_37==41) ) {s = 34;} + + else if ( (LA3_37==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_37==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_37==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_37==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_37==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_37==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_37==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_37==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_37==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_37==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_37==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_37==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_37==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_37==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_37==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_37==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_37); + if ( s>=0 ) return s; + break; + case 31 : + int LA3_21 = input.LA(1); + + + int index3_21 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_21==EOF||LA3_21==RULE_WS||LA3_21==RULE_DIGITS||LA3_21==42||(LA3_21>=45 && LA3_21<=46)||(LA3_21>=48 && LA3_21<=49)) ) {s = 15;} + + else if ( (LA3_21==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_21==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_21==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_21==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_21==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_21==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_21==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_21==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_21==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_21==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_21==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_21==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_21==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_21==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_21==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_21==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_21==41) ) {s = 34;} + + else if ( (LA3_21==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_21); + if ( s>=0 ) return s; + break; + case 32 : + int LA3_35 = input.LA(1); + + + int index3_35 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_35==EOF||LA3_35==RULE_WS||LA3_35==RULE_DIGITS||LA3_35==42||(LA3_35>=45 && LA3_35<=46)||(LA3_35>=48 && LA3_35<=49)) ) {s = 15;} + + else if ( (LA3_35==41) ) {s = 34;} + + else if ( (LA3_35==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_35==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_35==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_35==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_35==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_35==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_35==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_35==RULE_LETTER_K) ) {s = 37;} + + else if ( (LA3_35==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_35==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_35==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_35==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_35==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_35==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_35==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_35==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_35==47) && (synpred2_InternalSemver())) {s = 32;} + + + input.seek(index3_35); + if ( s>=0 ) return s; + break; + case 33 : + int LA3_63 = input.LA(1); + + + int index3_63 = input.index(); + input.rewind(); + s = -1; + if ( (LA3_63==RULE_LETTER_A) ) {s = 64;} + + else if ( (LA3_63==EOF||LA3_63==RULE_WS||LA3_63==RULE_DIGITS||LA3_63==42||(LA3_63>=45 && LA3_63<=46)||(LA3_63>=48 && LA3_63<=49)) ) {s = 15;} + + else if ( (LA3_63==41) ) {s = 34;} + + else if ( (LA3_63==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_63==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_63==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_63==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_63==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_63==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_63==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_63==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_63==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_63==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_63==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_63==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_63==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_63==RULE_LETTER_W) ) {s = 30;} - else if ( (true) ) {s = 9;} + else if ( (LA3_63==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_63==47) && (synpred2_InternalSemver())) {s = 32;} - input.seek(index2_38); + input.seek(index3_63); if ( s>=0 ) return s; break; - case 1 : - int LA2_5 = input.LA(1); + case 34 : + int LA3_13 = input.LA(1); - int index2_5 = input.index(); + int index3_13 = input.index(); input.rewind(); s = -1; - if ( (LA2_5==39) ) {s = 21;} + if ( (LA3_13==RULE_DIGITS||(LA3_13>=41 && LA3_13<=42)||(LA3_13>=45 && LA3_13<=46)||(LA3_13>=48 && LA3_13<=49)) ) {s = 15;} + + else if ( (LA3_13==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_13==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_13==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_13==RULE_LETTER_C) ) {s = 19;} - else if ( ((LA2_5>=35 && LA2_5<=36)||LA2_5==40||(LA2_5>=42 && LA2_5<=43)) ) {s = 9;} + else if ( (LA3_13==RULE_LETTER_E) ) {s = 20;} - else if ( (LA2_5==RULE_DIGITS) ) {s = 22;} + else if ( (LA3_13==RULE_LETTER_F) ) {s = 21;} - else if ( (LA2_5==RULE_LETTER_V) ) {s = 10;} + else if ( (LA3_13==RULE_LETTER_I) ) {s = 22;} - else if ( (LA2_5==RULE_LETTER_X) ) {s = 11;} + else if ( (LA3_13==RULE_LETTER_K) ) {s = 23;} - else if ( (LA2_5==RULE_LETTER_S) ) {s = 12;} + else if ( (LA3_13==RULE_LETTER_L) ) {s = 24;} - else if ( (LA2_5==RULE_LETTER_M) ) {s = 13;} + else if ( (LA3_13==RULE_LETTER_M) ) {s = 25;} - else if ( (LA2_5==RULE_LETTER_R) ) {s = 14;} + else if ( (LA3_13==RULE_LETTER_O) ) {s = 33;} - else if ( (LA2_5==RULE_LETTER_F) ) {s = 15;} + else if ( (LA3_13==RULE_LETTER_P) ) {s = 27;} - else if ( (LA2_5==RULE_LETTER_I) ) {s = 16;} + else if ( (LA3_13==RULE_LETTER_R) ) {s = 28;} - else if ( (LA2_5==RULE_LETTER_L) ) {s = 17;} + else if ( (LA3_13==RULE_LETTER_S) ) {s = 29;} - else if ( (LA2_5==RULE_LETTER_E) ) {s = 18;} + else if ( (LA3_13==RULE_LETTER_W) ) {s = 30;} - else if ( (LA2_5==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA3_13==RULE_LETTER_OTHER) ) {s = 31;} - else if ( (LA2_5==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA3_13==47) && (synpred2_InternalSemver())) {s = 32;} - input.seek(index2_5); + input.seek(index3_13); if ( s>=0 ) return s; break; - case 2 : - int LA2_15 = input.LA(1); + case 35 : + int LA3_43 = input.LA(1); + + + int index3_43 = input.index(); + input.rewind(); + s = -1; + if ( (synpred2_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index3_43); + if ( s>=0 ) return s; + break; + case 36 : + int LA3_26 = input.LA(1); - int index2_15 = input.index(); + int index3_26 = input.index(); input.rewind(); s = -1; - if ( (LA2_15==36||LA2_15==40||(LA2_15>=42 && LA2_15<=43)) ) {s = 9;} + if ( (LA3_26==41) ) {s = 34;} + + else if ( (LA3_26==RULE_LETTER_V) ) {s = 16;} - else if ( (LA2_15==35) ) {s = 23;} + else if ( (LA3_26==RULE_LETTER_X) ) {s = 17;} - else if ( (LA2_15==39) ) {s = 21;} + else if ( (LA3_26==RULE_LETTER_A) ) {s = 18;} - else if ( (LA2_15==RULE_DIGITS) ) {s = 22;} + else if ( (LA3_26==RULE_LETTER_C) ) {s = 19;} - else if ( (LA2_15==RULE_LETTER_V) ) {s = 10;} + else if ( (LA3_26==RULE_LETTER_E) ) {s = 20;} - else if ( (LA2_15==RULE_LETTER_X) ) {s = 11;} + else if ( (LA3_26==RULE_LETTER_F) ) {s = 21;} - else if ( (LA2_15==RULE_LETTER_S) ) {s = 12;} + else if ( (LA3_26==RULE_LETTER_I) ) {s = 22;} - else if ( (LA2_15==RULE_LETTER_M) ) {s = 13;} + else if ( (LA3_26==RULE_LETTER_K) ) {s = 23;} - else if ( (LA2_15==RULE_LETTER_R) ) {s = 14;} + else if ( (LA3_26==RULE_LETTER_L) ) {s = 24;} - else if ( (LA2_15==RULE_LETTER_F) ) {s = 15;} + else if ( (LA3_26==RULE_LETTER_M) ) {s = 25;} - else if ( (LA2_15==RULE_LETTER_I) ) {s = 16;} + else if ( (LA3_26==RULE_LETTER_O) ) {s = 26;} - else if ( (LA2_15==RULE_LETTER_L) ) {s = 17;} + else if ( (LA3_26==RULE_LETTER_P) ) {s = 27;} - else if ( (LA2_15==RULE_LETTER_E) ) {s = 18;} + else if ( (LA3_26==RULE_LETTER_R) ) {s = 28;} - else if ( (LA2_15==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA3_26==RULE_LETTER_S) ) {s = 29;} - else if ( (LA2_15==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA3_26==RULE_LETTER_W) ) {s = 30;} - else if ( (LA2_15==EOF||LA2_15==RULE_WS) ) {s = 24;} + else if ( (LA3_26==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_26==47) && (synpred2_InternalSemver())) {s = 32;} + + else if ( (LA3_26==EOF||LA3_26==RULE_WS||LA3_26==RULE_DIGITS||LA3_26==42||(LA3_26>=45 && LA3_26<=46)||(LA3_26>=48 && LA3_26<=49)) ) {s = 15;} - input.seek(index2_15); + input.seek(index3_26); if ( s>=0 ) return s; break; - case 3 : - int LA2_39 = input.LA(1); + case 37 : + int LA3_3 = input.LA(1); - int index2_39 = input.index(); + int index3_3 = input.index(); input.rewind(); s = -1; - if ( (synpred2_InternalSemver()) ) {s = 20;} + if ( (LA3_3==RULE_DIGITS||(LA3_3>=41 && LA3_3<=42)||(LA3_3>=45 && LA3_3<=46)||(LA3_3>=48 && LA3_3<=49)) ) {s = 15;} + + else if ( (LA3_3==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_3==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_3==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_3==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_3==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_3==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_3==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_3==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_3==RULE_LETTER_L) ) {s = 24;} - else if ( (true) ) {s = 9;} + else if ( (LA3_3==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_3==RULE_LETTER_O) ) {s = 26;} + + else if ( (LA3_3==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_3==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_3==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_3==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_3==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_3==47) && (synpred2_InternalSemver())) {s = 32;} - input.seek(index2_39); + input.seek(index3_3); if ( s>=0 ) return s; break; - case 4 : - int LA2_3 = input.LA(1); + case 38 : + int LA3_19 = input.LA(1); - int index2_3 = input.index(); + int index3_19 = input.index(); input.rewind(); s = -1; - if ( (LA2_3==RULE_LETTER_V) ) {s = 10;} + if ( (LA3_19==EOF||LA3_19==RULE_WS||LA3_19==RULE_DIGITS||LA3_19==42||(LA3_19>=45 && LA3_19<=46)||(LA3_19>=48 && LA3_19<=49)) ) {s = 15;} + + else if ( (LA3_19==41) ) {s = 34;} + + else if ( (LA3_19==RULE_LETTER_V) ) {s = 16;} - else if ( (LA2_3==RULE_LETTER_X) ) {s = 11;} + else if ( (LA3_19==RULE_LETTER_X) ) {s = 17;} - else if ( (LA2_3==RULE_LETTER_S) ) {s = 12;} + else if ( (LA3_19==RULE_LETTER_A) ) {s = 18;} - else if ( (LA2_3==RULE_LETTER_M) ) {s = 13;} + else if ( (LA3_19==RULE_LETTER_C) ) {s = 19;} - else if ( (LA2_3==RULE_LETTER_R) ) {s = 14;} + else if ( (LA3_19==RULE_LETTER_E) ) {s = 20;} - else if ( (LA2_3==RULE_LETTER_F) ) {s = 15;} + else if ( (LA3_19==RULE_LETTER_F) ) {s = 21;} - else if ( (LA2_3==RULE_LETTER_I) ) {s = 16;} + else if ( (LA3_19==RULE_LETTER_I) ) {s = 22;} - else if ( (LA2_3==RULE_LETTER_L) ) {s = 17;} + else if ( (LA3_19==RULE_LETTER_K) ) {s = 23;} - else if ( (LA2_3==RULE_LETTER_E) ) {s = 18;} + else if ( (LA3_19==RULE_LETTER_L) ) {s = 24;} - else if ( (LA2_3==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA3_19==RULE_LETTER_M) ) {s = 25;} - else if ( (LA2_3==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA3_19==RULE_LETTER_O) ) {s = 26;} - else if ( (LA2_3==39) ) {s = 21;} + else if ( (LA3_19==RULE_LETTER_P) ) {s = 27;} - else if ( ((LA2_3>=35 && LA2_3<=36)||LA2_3==40||(LA2_3>=42 && LA2_3<=43)) ) {s = 9;} + else if ( (LA3_19==RULE_LETTER_R) ) {s = 28;} - else if ( (LA2_3==RULE_DIGITS) ) {s = 22;} + else if ( (LA3_19==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_19==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_19==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_19==47) && (synpred2_InternalSemver())) {s = 32;} - input.seek(index2_3); + input.seek(index3_19); if ( s>=0 ) return s; break; - case 5 : - int LA2_13 = input.LA(1); + case 39 : + int LA3_31 = input.LA(1); - int index2_13 = input.index(); + int index3_31 = input.index(); input.rewind(); s = -1; - if ( (LA2_13==EOF||LA2_13==RULE_WS) ) {s = 24;} + if ( (LA3_31==EOF||LA3_31==RULE_WS||LA3_31==RULE_DIGITS||LA3_31==42||(LA3_31>=45 && LA3_31<=46)||(LA3_31>=48 && LA3_31<=49)) ) {s = 15;} + + else if ( (LA3_31==41) ) {s = 34;} + + else if ( (LA3_31==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_31==RULE_LETTER_X) ) {s = 17;} - else if ( (LA2_13==39) ) {s = 21;} + else if ( (LA3_31==RULE_LETTER_A) ) {s = 18;} - else if ( (LA2_13==RULE_DIGITS) ) {s = 22;} + else if ( (LA3_31==RULE_LETTER_C) ) {s = 19;} - else if ( (LA2_13==RULE_LETTER_V) ) {s = 10;} + else if ( (LA3_31==RULE_LETTER_E) ) {s = 20;} - else if ( (LA2_13==RULE_LETTER_X) ) {s = 11;} + else if ( (LA3_31==RULE_LETTER_F) ) {s = 21;} - else if ( (LA2_13==RULE_LETTER_S) ) {s = 12;} + else if ( (LA3_31==RULE_LETTER_I) ) {s = 22;} - else if ( (LA2_13==RULE_LETTER_M) ) {s = 13;} + else if ( (LA3_31==RULE_LETTER_K) ) {s = 23;} - else if ( (LA2_13==RULE_LETTER_R) ) {s = 14;} + else if ( (LA3_31==RULE_LETTER_L) ) {s = 24;} - else if ( (LA2_13==RULE_LETTER_F) ) {s = 15;} + else if ( (LA3_31==RULE_LETTER_M) ) {s = 25;} - else if ( (LA2_13==RULE_LETTER_I) ) {s = 16;} + else if ( (LA3_31==RULE_LETTER_O) ) {s = 26;} - else if ( (LA2_13==RULE_LETTER_L) ) {s = 17;} + else if ( (LA3_31==RULE_LETTER_P) ) {s = 27;} - else if ( (LA2_13==RULE_LETTER_E) ) {s = 18;} + else if ( (LA3_31==RULE_LETTER_R) ) {s = 28;} - else if ( (LA2_13==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA3_31==RULE_LETTER_S) ) {s = 29;} - else if ( (LA2_13==36||LA2_13==40||(LA2_13>=42 && LA2_13<=43)) ) {s = 9;} + else if ( (LA3_31==RULE_LETTER_W) ) {s = 30;} - else if ( (LA2_13==35) ) {s = 23;} + else if ( (LA3_31==RULE_LETTER_OTHER) ) {s = 31;} - else if ( (LA2_13==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA3_31==47) && (synpred2_InternalSemver())) {s = 32;} - input.seek(index2_13); + input.seek(index3_31); if ( s>=0 ) return s; break; - case 6 : - int LA2_40 = input.LA(1); + case 40 : + int LA3_1 = input.LA(1); - int index2_40 = input.index(); + int index3_1 = input.index(); input.rewind(); s = -1; - if ( (synpred2_InternalSemver()) ) {s = 20;} + if ( (LA3_1==RULE_DIGITS||(LA3_1>=41 && LA3_1<=42)||(LA3_1>=45 && LA3_1<=46)||(LA3_1>=48 && LA3_1<=49)) ) {s = 15;} + + else if ( (LA3_1==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_1==RULE_LETTER_X) ) {s = 17;} + + else if ( (LA3_1==RULE_LETTER_A) ) {s = 18;} + + else if ( (LA3_1==RULE_LETTER_C) ) {s = 19;} + + else if ( (LA3_1==RULE_LETTER_E) ) {s = 20;} + + else if ( (LA3_1==RULE_LETTER_F) ) {s = 21;} + + else if ( (LA3_1==RULE_LETTER_I) ) {s = 22;} + + else if ( (LA3_1==RULE_LETTER_K) ) {s = 23;} + + else if ( (LA3_1==RULE_LETTER_L) ) {s = 24;} + + else if ( (LA3_1==RULE_LETTER_M) ) {s = 25;} + + else if ( (LA3_1==RULE_LETTER_O) ) {s = 26;} - else if ( (true) ) {s = 9;} + else if ( (LA3_1==RULE_LETTER_P) ) {s = 27;} + + else if ( (LA3_1==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_1==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_1==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_1==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_1==47) && (synpred2_InternalSemver())) {s = 32;} - input.seek(index2_40); + input.seek(index3_1); if ( s>=0 ) return s; break; - case 7 : - int LA2_8 = input.LA(1); + case 41 : + int LA3_8 = input.LA(1); - int index2_8 = input.index(); + int index3_8 = input.index(); input.rewind(); s = -1; - if ( (LA2_8==39) ) {s = 21;} + if ( (LA3_8==RULE_DIGITS||(LA3_8>=41 && LA3_8<=42)||(LA3_8>=45 && LA3_8<=46)||(LA3_8>=48 && LA3_8<=49)) ) {s = 15;} - else if ( ((LA2_8>=35 && LA2_8<=36)||LA2_8==40||(LA2_8>=42 && LA2_8<=43)) ) {s = 9;} + else if ( (LA3_8==RULE_LETTER_V) ) {s = 16;} - else if ( (LA2_8==RULE_DIGITS) ) {s = 22;} + else if ( (LA3_8==RULE_LETTER_X) ) {s = 17;} - else if ( (LA2_8==RULE_LETTER_V) ) {s = 10;} + else if ( (LA3_8==RULE_LETTER_A) ) {s = 18;} - else if ( (LA2_8==RULE_LETTER_X) ) {s = 11;} + else if ( (LA3_8==RULE_LETTER_C) ) {s = 19;} - else if ( (LA2_8==RULE_LETTER_S) ) {s = 12;} + else if ( (LA3_8==RULE_LETTER_E) ) {s = 20;} - else if ( (LA2_8==RULE_LETTER_M) ) {s = 13;} + else if ( (LA3_8==RULE_LETTER_F) ) {s = 21;} - else if ( (LA2_8==RULE_LETTER_R) ) {s = 14;} + else if ( (LA3_8==RULE_LETTER_I) ) {s = 22;} - else if ( (LA2_8==RULE_LETTER_F) ) {s = 15;} + else if ( (LA3_8==RULE_LETTER_K) ) {s = 23;} - else if ( (LA2_8==RULE_LETTER_I) ) {s = 16;} + else if ( (LA3_8==RULE_LETTER_L) ) {s = 24;} - else if ( (LA2_8==RULE_LETTER_L) ) {s = 17;} + else if ( (LA3_8==RULE_LETTER_M) ) {s = 25;} - else if ( (LA2_8==RULE_LETTER_E) ) {s = 18;} + else if ( (LA3_8==RULE_LETTER_O) ) {s = 26;} - else if ( (LA2_8==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA3_8==RULE_LETTER_P) ) {s = 27;} - else if ( (LA2_8==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA3_8==RULE_LETTER_R) ) {s = 28;} + + else if ( (LA3_8==RULE_LETTER_S) ) {s = 29;} + + else if ( (LA3_8==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_8==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_8==47) && (synpred2_InternalSemver())) {s = 32;} - input.seek(index2_8); + input.seek(index3_8); if ( s>=0 ) return s; break; - case 8 : - int LA2_11 = input.LA(1); + case 42 : + int LA3_70 = input.LA(1); + + + int index3_70 = input.index(); + input.rewind(); + s = -1; + if ( (synpred2_InternalSemver()) ) {s = 32;} + + else if ( (true) ) {s = 15;} + + + input.seek(index3_70); + if ( s>=0 ) return s; + break; + case 43 : + int LA3_24 = input.LA(1); - int index2_11 = input.index(); + int index3_24 = input.index(); input.rewind(); s = -1; - if ( (LA2_11==36||LA2_11==40||(LA2_11>=42 && LA2_11<=43)) ) {s = 9;} + if ( (LA3_24==EOF||LA3_24==RULE_WS||LA3_24==RULE_DIGITS||LA3_24==42||(LA3_24>=45 && LA3_24<=46)||(LA3_24>=48 && LA3_24<=49)) ) {s = 15;} + + else if ( (LA3_24==41) ) {s = 34;} - else if ( (LA2_11==35) ) {s = 23;} + else if ( (LA3_24==RULE_LETTER_V) ) {s = 16;} - else if ( (LA2_11==39) ) {s = 21;} + else if ( (LA3_24==RULE_LETTER_X) ) {s = 17;} - else if ( (LA2_11==RULE_DIGITS) ) {s = 22;} + else if ( (LA3_24==RULE_LETTER_A) ) {s = 18;} - else if ( (LA2_11==RULE_LETTER_V) ) {s = 10;} + else if ( (LA3_24==RULE_LETTER_C) ) {s = 19;} - else if ( (LA2_11==RULE_LETTER_X) ) {s = 11;} + else if ( (LA3_24==RULE_LETTER_E) ) {s = 20;} - else if ( (LA2_11==RULE_LETTER_S) ) {s = 12;} + else if ( (LA3_24==RULE_LETTER_F) ) {s = 21;} - else if ( (LA2_11==RULE_LETTER_M) ) {s = 13;} + else if ( (LA3_24==RULE_LETTER_I) ) {s = 22;} - else if ( (LA2_11==RULE_LETTER_R) ) {s = 14;} + else if ( (LA3_24==RULE_LETTER_K) ) {s = 23;} - else if ( (LA2_11==RULE_LETTER_F) ) {s = 15;} + else if ( (LA3_24==RULE_LETTER_L) ) {s = 24;} - else if ( (LA2_11==RULE_LETTER_I) ) {s = 16;} + else if ( (LA3_24==RULE_LETTER_M) ) {s = 25;} - else if ( (LA2_11==RULE_LETTER_L) ) {s = 17;} + else if ( (LA3_24==RULE_LETTER_O) ) {s = 26;} - else if ( (LA2_11==RULE_LETTER_E) ) {s = 18;} + else if ( (LA3_24==RULE_LETTER_P) ) {s = 27;} - else if ( (LA2_11==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA3_24==RULE_LETTER_R) ) {s = 28;} - else if ( (LA2_11==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA3_24==RULE_LETTER_S) ) {s = 29;} - else if ( (LA2_11==EOF||LA2_11==RULE_WS) ) {s = 24;} + else if ( (LA3_24==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_24==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_24==47) && (synpred2_InternalSemver())) {s = 32;} - input.seek(index2_11); + input.seek(index3_24); if ( s>=0 ) return s; break; - case 9 : - int LA2_18 = input.LA(1); + case 44 : + int LA3_6 = input.LA(1); - int index2_18 = input.index(); + int index3_6 = input.index(); input.rewind(); s = -1; - if ( (LA2_18==EOF||LA2_18==RULE_WS) ) {s = 24;} + if ( (LA3_6==RULE_DIGITS||(LA3_6>=41 && LA3_6<=42)||(LA3_6>=45 && LA3_6<=46)||(LA3_6>=48 && LA3_6<=49)) ) {s = 15;} + + else if ( (LA3_6==RULE_LETTER_V) ) {s = 16;} - else if ( (LA2_18==39) ) {s = 21;} + else if ( (LA3_6==RULE_LETTER_X) ) {s = 17;} - else if ( (LA2_18==RULE_DIGITS) ) {s = 22;} + else if ( (LA3_6==RULE_LETTER_A) ) {s = 18;} - else if ( (LA2_18==RULE_LETTER_V) ) {s = 10;} + else if ( (LA3_6==RULE_LETTER_C) ) {s = 19;} - else if ( (LA2_18==RULE_LETTER_X) ) {s = 11;} + else if ( (LA3_6==RULE_LETTER_E) ) {s = 20;} - else if ( (LA2_18==RULE_LETTER_S) ) {s = 12;} + else if ( (LA3_6==RULE_LETTER_F) ) {s = 21;} - else if ( (LA2_18==RULE_LETTER_M) ) {s = 13;} + else if ( (LA3_6==RULE_LETTER_I) ) {s = 22;} - else if ( (LA2_18==RULE_LETTER_R) ) {s = 14;} + else if ( (LA3_6==RULE_LETTER_K) ) {s = 23;} - else if ( (LA2_18==RULE_LETTER_F) ) {s = 15;} + else if ( (LA3_6==RULE_LETTER_L) ) {s = 24;} - else if ( (LA2_18==RULE_LETTER_I) ) {s = 16;} + else if ( (LA3_6==RULE_LETTER_M) ) {s = 25;} - else if ( (LA2_18==RULE_LETTER_L) ) {s = 17;} + else if ( (LA3_6==RULE_LETTER_O) ) {s = 26;} - else if ( (LA2_18==RULE_LETTER_E) ) {s = 18;} + else if ( (LA3_6==RULE_LETTER_P) ) {s = 27;} - else if ( (LA2_18==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA3_6==RULE_LETTER_R) ) {s = 28;} - else if ( (LA2_18==36||LA2_18==40||(LA2_18>=42 && LA2_18<=43)) ) {s = 9;} + else if ( (LA3_6==RULE_LETTER_S) ) {s = 29;} - else if ( (LA2_18==35) ) {s = 23;} + else if ( (LA3_6==RULE_LETTER_W) ) {s = 30;} - else if ( (LA2_18==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA3_6==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_6==47) && (synpred2_InternalSemver())) {s = 32;} - input.seek(index2_18); + input.seek(index3_6); if ( s>=0 ) return s; break; - case 10 : - int LA2_1 = input.LA(1); + case 45 : + int LA3_64 = input.LA(1); - int index2_1 = input.index(); + int index3_64 = input.index(); input.rewind(); s = -1; - if ( (LA2_1==RULE_LETTER_V) ) {s = 10;} + if ( (LA3_64==41) ) {s = 34;} + + else if ( (LA3_64==RULE_LETTER_V) ) {s = 16;} + + else if ( (LA3_64==RULE_LETTER_X) ) {s = 17;} - else if ( (LA2_1==RULE_LETTER_X) ) {s = 11;} + else if ( (LA3_64==RULE_LETTER_A) ) {s = 18;} - else if ( (LA2_1==RULE_LETTER_S) ) {s = 12;} + else if ( (LA3_64==RULE_LETTER_C) ) {s = 65;} - else if ( (LA2_1==RULE_LETTER_M) ) {s = 13;} + else if ( (LA3_64==RULE_LETTER_E) ) {s = 20;} - else if ( (LA2_1==RULE_LETTER_R) ) {s = 14;} + else if ( (LA3_64==RULE_LETTER_F) ) {s = 21;} - else if ( (LA2_1==RULE_LETTER_F) ) {s = 15;} + else if ( (LA3_64==RULE_LETTER_I) ) {s = 22;} - else if ( (LA2_1==RULE_LETTER_I) ) {s = 16;} + else if ( (LA3_64==RULE_LETTER_K) ) {s = 23;} - else if ( (LA2_1==RULE_LETTER_L) ) {s = 17;} + else if ( (LA3_64==RULE_LETTER_L) ) {s = 24;} - else if ( (LA2_1==RULE_LETTER_E) ) {s = 18;} + else if ( (LA3_64==RULE_LETTER_M) ) {s = 25;} - else if ( (LA2_1==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA3_64==RULE_LETTER_O) ) {s = 26;} - else if ( (LA2_1==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA3_64==RULE_LETTER_P) ) {s = 27;} - else if ( (LA2_1==39) ) {s = 21;} + else if ( (LA3_64==RULE_LETTER_R) ) {s = 28;} - else if ( ((LA2_1>=35 && LA2_1<=36)||LA2_1==40||(LA2_1>=42 && LA2_1<=43)) ) {s = 9;} + else if ( (LA3_64==RULE_LETTER_S) ) {s = 29;} - else if ( (LA2_1==RULE_DIGITS) ) {s = 22;} + else if ( (LA3_64==RULE_LETTER_W) ) {s = 30;} + + else if ( (LA3_64==RULE_LETTER_OTHER) ) {s = 31;} + + else if ( (LA3_64==47) && (synpred2_InternalSemver())) {s = 32;} + + else if ( (LA3_64==EOF||LA3_64==RULE_WS||LA3_64==RULE_DIGITS||LA3_64==42||(LA3_64>=45 && LA3_64<=46)||(LA3_64>=48 && LA3_64<=49)) ) {s = 15;} - input.seek(index2_1); + input.seek(index3_64); if ( s>=0 ) return s; break; - case 11 : - int LA2_6 = input.LA(1); + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 3, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_15s = "\113\uffff"; + static final String dfa_16s = "\20\uffff\23\43\1\uffff\7\43\1\2\37\uffff"; + static final String dfa_17s = "\1\7\1\5\1\uffff\15\5\23\4\1\uffff\10\4\27\0\10\uffff"; + static final String dfa_18s = "\2\61\1\uffff\40\61\1\uffff\7\61\1\70\27\0\10\uffff"; + static final String dfa_19s = "\2\uffff\1\2\40\uffff\1\3\37\uffff\10\1"; + static final String dfa_20s = "\53\uffff\1\26\1\24\1\0\1\3\1\7\1\12\1\4\1\23\1\11\1\20\1\1\1\13\1\16\1\27\1\5\1\15\1\21\1\2\1\10\1\17\1\25\1\6\1\14\1\22\10\uffff}>"; + static final String[] dfa_21s = { + "\1\6\1\7\1\11\1\5\1\16\1\12\1\15\1\1\1\13\1\10\1\14\1\3\1\4\2\uffff\1\17\26\uffff\1\2\3\uffff\1\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\34\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\44\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\45\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\46\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\47\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\50\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\51\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\52\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\2\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\43\1\22\1\21\1\27\1\30\1\32\1\26\1\37\1\33\1\36\1\40\1\42\1\31\1\35\1\24\1\25\1\uffff\1\23\1\41\22\uffff\1\53\1\2\2\uffff\1\20\1\2\1\uffff\2\2", + "\1\2\1\63\1\62\1\70\1\71\1\73\1\67\1\100\1\74\1\77\1\101\1\75\1\72\1\76\1\65\1\66\1\112\1\64\1\102\22\uffff\1\56\1\54\1\2\1\uffff\1\61\1\55\1\uffff\1\57\1\60\1\103\1\104\1\105\1\106\1\107\1\110\1\111", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); + static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); + static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); + static final char[] dfa_18 = DFA.unpackEncodedStringToUnsignedChars(dfa_18s); + static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); + static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); + static final short[][] dfa_21 = unpackEncodedStringArray(dfa_21s); + + class DFA2 extends DFA { + + public DFA2(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 2; + this.eot = dfa_15; + this.eof = dfa_16; + this.min = dfa_17; + this.max = dfa_18; + this.accept = dfa_19; + this.special = dfa_20; + this.transition = dfa_21; + } + public String getDescription() { + return "131:6: ( ( ( ruleWorkspaceVersionRequirement )=>this_WorkspaceVersionRequirement_4= ruleWorkspaceVersionRequirement ) | this_GitHubVersionRequirement_5= ruleGitHubVersionRequirement | this_TagVersionRequirement_6= ruleTagVersionRequirement )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA2_45 = input.LA(1); + + + int index2_45 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} + + else if ( (true) ) {s = 2;} + + + input.seek(index2_45); + if ( s>=0 ) return s; + break; + case 1 : + int LA2_53 = input.LA(1); - int index2_6 = input.index(); + int index2_53 = input.index(); input.rewind(); s = -1; - if ( (LA2_6==RULE_LETTER_V) ) {s = 10;} + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_6==RULE_LETTER_X) ) {s = 11;} + else if ( (true) ) {s = 2;} - else if ( (LA2_6==RULE_LETTER_S) ) {s = 12;} + + input.seek(index2_53); + if ( s>=0 ) return s; + break; + case 2 : + int LA2_60 = input.LA(1); - else if ( (LA2_6==RULE_LETTER_M) ) {s = 13;} + + int index2_60 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_6==RULE_LETTER_R) ) {s = 14;} + else if ( (true) ) {s = 2;} - else if ( (LA2_6==RULE_LETTER_F) ) {s = 15;} + + input.seek(index2_60); + if ( s>=0 ) return s; + break; + case 3 : + int LA2_46 = input.LA(1); - else if ( (LA2_6==RULE_LETTER_I) ) {s = 16;} + + int index2_46 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_6==RULE_LETTER_L) ) {s = 17;} + else if ( (true) ) {s = 2;} - else if ( (LA2_6==RULE_LETTER_E) ) {s = 18;} + + input.seek(index2_46); + if ( s>=0 ) return s; + break; + case 4 : + int LA2_49 = input.LA(1); - else if ( (LA2_6==RULE_LETTER_OTHER) ) {s = 19;} + + int index2_49 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_6==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (true) ) {s = 2;} - else if ( (LA2_6==39) ) {s = 21;} + + input.seek(index2_49); + if ( s>=0 ) return s; + break; + case 5 : + int LA2_57 = input.LA(1); - else if ( ((LA2_6>=35 && LA2_6<=36)||LA2_6==40||(LA2_6>=42 && LA2_6<=43)) ) {s = 9;} + + int index2_57 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_6==RULE_DIGITS) ) {s = 22;} + else if ( (true) ) {s = 2;} - input.seek(index2_6); + input.seek(index2_57); if ( s>=0 ) return s; break; - case 12 : - int LA2_16 = input.LA(1); + case 6 : + int LA2_64 = input.LA(1); - int index2_16 = input.index(); + int index2_64 = input.index(); input.rewind(); s = -1; - if ( (LA2_16==35) ) {s = 23;} + if ( (synpred3_InternalSemver()) ) {s = 74;} + + else if ( (true) ) {s = 2;} - else if ( (LA2_16==RULE_LETTER_V) ) {s = 10;} + + input.seek(index2_64); + if ( s>=0 ) return s; + break; + case 7 : + int LA2_47 = input.LA(1); - else if ( (LA2_16==RULE_LETTER_X) ) {s = 11;} + + int index2_47 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_16==RULE_LETTER_S) ) {s = 12;} + else if ( (true) ) {s = 2;} - else if ( (LA2_16==RULE_LETTER_M) ) {s = 13;} + + input.seek(index2_47); + if ( s>=0 ) return s; + break; + case 8 : + int LA2_61 = input.LA(1); - else if ( (LA2_16==RULE_LETTER_R) ) {s = 14;} + + int index2_61 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_16==RULE_LETTER_F) ) {s = 15;} + else if ( (true) ) {s = 2;} - else if ( (LA2_16==RULE_LETTER_I) ) {s = 16;} + + input.seek(index2_61); + if ( s>=0 ) return s; + break; + case 9 : + int LA2_51 = input.LA(1); - else if ( (LA2_16==RULE_LETTER_L) ) {s = 17;} + + int index2_51 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_16==RULE_LETTER_E) ) {s = 18;} + else if ( (true) ) {s = 2;} - else if ( (LA2_16==RULE_LETTER_OTHER) ) {s = 19;} + + input.seek(index2_51); + if ( s>=0 ) return s; + break; + case 10 : + int LA2_48 = input.LA(1); - else if ( (LA2_16==41) && (synpred2_InternalSemver())) {s = 20;} + + int index2_48 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_16==EOF||LA2_16==RULE_WS) ) {s = 24;} + else if ( (true) ) {s = 2;} - else if ( (LA2_16==39) ) {s = 21;} + + input.seek(index2_48); + if ( s>=0 ) return s; + break; + case 11 : + int LA2_54 = input.LA(1); - else if ( (LA2_16==RULE_DIGITS) ) {s = 22;} + + int index2_54 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_16==36||LA2_16==40||(LA2_16>=42 && LA2_16<=43)) ) {s = 9;} + else if ( (true) ) {s = 2;} - input.seek(index2_16); + input.seek(index2_54); if ( s>=0 ) return s; break; - case 13 : - int LA2_4 = input.LA(1); + case 12 : + int LA2_65 = input.LA(1); - int index2_4 = input.index(); + int index2_65 = input.index(); input.rewind(); s = -1; - if ( (LA2_4==39) ) {s = 21;} - - else if ( (LA2_4==RULE_DIGITS) ) {s = 22;} - - else if ( (LA2_4==RULE_LETTER_V) ) {s = 10;} + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_4==RULE_LETTER_X) ) {s = 11;} - - else if ( (LA2_4==RULE_LETTER_S) ) {s = 12;} - - else if ( (LA2_4==RULE_LETTER_M) ) {s = 13;} - - else if ( (LA2_4==RULE_LETTER_R) ) {s = 14;} - - else if ( (LA2_4==RULE_LETTER_F) ) {s = 15;} - - else if ( (LA2_4==RULE_LETTER_I) ) {s = 16;} - - else if ( (LA2_4==RULE_LETTER_L) ) {s = 17;} - - else if ( (LA2_4==RULE_LETTER_E) ) {s = 18;} + else if ( (true) ) {s = 2;} - else if ( (LA2_4==RULE_LETTER_OTHER) ) {s = 19;} + + input.seek(index2_65); + if ( s>=0 ) return s; + break; + case 13 : + int LA2_58 = input.LA(1); - else if ( (LA2_4==41) && (synpred2_InternalSemver())) {s = 20;} + + int index2_58 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( ((LA2_4>=35 && LA2_4<=36)||LA2_4==40||(LA2_4>=42 && LA2_4<=43)) ) {s = 9;} + else if ( (true) ) {s = 2;} - input.seek(index2_4); + input.seek(index2_58); if ( s>=0 ) return s; break; case 14 : - int LA2_14 = input.LA(1); + int LA2_55 = input.LA(1); - int index2_14 = input.index(); + int index2_55 = input.index(); input.rewind(); s = -1; - if ( (LA2_14==35) ) {s = 23;} - - else if ( (LA2_14==RULE_LETTER_V) ) {s = 10;} - - else if ( (LA2_14==RULE_LETTER_X) ) {s = 11;} - - else if ( (LA2_14==RULE_LETTER_S) ) {s = 12;} - - else if ( (LA2_14==RULE_LETTER_M) ) {s = 13;} - - else if ( (LA2_14==RULE_LETTER_R) ) {s = 14;} - - else if ( (LA2_14==RULE_LETTER_F) ) {s = 15;} - - else if ( (LA2_14==RULE_LETTER_I) ) {s = 16;} - - else if ( (LA2_14==RULE_LETTER_L) ) {s = 17;} + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_14==RULE_LETTER_E) ) {s = 18;} + else if ( (true) ) {s = 2;} - else if ( (LA2_14==RULE_LETTER_OTHER) ) {s = 19;} + + input.seek(index2_55); + if ( s>=0 ) return s; + break; + case 15 : + int LA2_62 = input.LA(1); - else if ( (LA2_14==41) && (synpred2_InternalSemver())) {s = 20;} + + int index2_62 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_14==EOF||LA2_14==RULE_WS) ) {s = 24;} + else if ( (true) ) {s = 2;} - else if ( (LA2_14==39) ) {s = 21;} + + input.seek(index2_62); + if ( s>=0 ) return s; + break; + case 16 : + int LA2_52 = input.LA(1); - else if ( (LA2_14==RULE_DIGITS) ) {s = 22;} + + int index2_52 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_14==36||LA2_14==40||(LA2_14>=42 && LA2_14<=43)) ) {s = 9;} + else if ( (true) ) {s = 2;} - input.seek(index2_14); + input.seek(index2_52); if ( s>=0 ) return s; break; - case 15 : - int LA2_19 = input.LA(1); + case 17 : + int LA2_59 = input.LA(1); - int index2_19 = input.index(); + int index2_59 = input.index(); input.rewind(); s = -1; - if ( (LA2_19==35) ) {s = 23;} - - else if ( (LA2_19==RULE_LETTER_V) ) {s = 10;} + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_19==RULE_LETTER_X) ) {s = 11;} - - else if ( (LA2_19==RULE_LETTER_S) ) {s = 12;} + else if ( (true) ) {s = 2;} - else if ( (LA2_19==RULE_LETTER_M) ) {s = 13;} + + input.seek(index2_59); + if ( s>=0 ) return s; + break; + case 18 : + int LA2_66 = input.LA(1); - else if ( (LA2_19==RULE_LETTER_R) ) {s = 14;} + + int index2_66 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_19==RULE_LETTER_F) ) {s = 15;} + else if ( (true) ) {s = 2;} - else if ( (LA2_19==RULE_LETTER_I) ) {s = 16;} + + input.seek(index2_66); + if ( s>=0 ) return s; + break; + case 19 : + int LA2_50 = input.LA(1); - else if ( (LA2_19==RULE_LETTER_L) ) {s = 17;} + + int index2_50 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_19==RULE_LETTER_E) ) {s = 18;} + else if ( (true) ) {s = 2;} - else if ( (LA2_19==RULE_LETTER_OTHER) ) {s = 19;} + + input.seek(index2_50); + if ( s>=0 ) return s; + break; + case 20 : + int LA2_44 = input.LA(1); - else if ( (LA2_19==41) && (synpred2_InternalSemver())) {s = 20;} + + int index2_44 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_19==EOF||LA2_19==RULE_WS) ) {s = 24;} + else if ( (true) ) {s = 2;} - else if ( (LA2_19==39) ) {s = 21;} + + input.seek(index2_44); + if ( s>=0 ) return s; + break; + case 21 : + int LA2_63 = input.LA(1); - else if ( (LA2_19==RULE_DIGITS) ) {s = 22;} + + int index2_63 = input.index(); + input.rewind(); + s = -1; + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_19==36||LA2_19==40||(LA2_19>=42 && LA2_19<=43)) ) {s = 9;} + else if ( (true) ) {s = 2;} - input.seek(index2_19); + input.seek(index2_63); if ( s>=0 ) return s; break; - case 16 : - int LA2_2 = input.LA(1); + case 22 : + int LA2_43 = input.LA(1); - int index2_2 = input.index(); + int index2_43 = input.index(); input.rewind(); s = -1; - if ( (LA2_2==39) ) {s = 21;} + if ( (LA2_43==42) ) {s = 44;} - else if ( ((LA2_2>=35 && LA2_2<=36)||LA2_2==40||(LA2_2>=42 && LA2_2<=43)) ) {s = 9;} + else if ( (LA2_43==46) ) {s = 45;} - else if ( (LA2_2==RULE_DIGITS) ) {s = 22;} + else if ( (LA2_43==41) ) {s = 46;} - else if ( (LA2_2==RULE_LETTER_V) ) {s = 10;} + else if ( (LA2_43==48) ) {s = 47;} - else if ( (LA2_2==RULE_LETTER_X) ) {s = 11;} + else if ( (LA2_43==49) ) {s = 48;} - else if ( (LA2_2==RULE_LETTER_S) ) {s = 12;} + else if ( (LA2_43==45) ) {s = 49;} - else if ( (LA2_2==RULE_LETTER_M) ) {s = 13;} + else if ( (LA2_43==RULE_DIGITS) ) {s = 50;} - else if ( (LA2_2==RULE_LETTER_R) ) {s = 14;} + else if ( (LA2_43==RULE_LETTER_V) ) {s = 51;} - else if ( (LA2_2==RULE_LETTER_F) ) {s = 15;} + else if ( (LA2_43==RULE_LETTER_X) ) {s = 52;} - else if ( (LA2_2==RULE_LETTER_I) ) {s = 16;} + else if ( (LA2_43==RULE_LETTER_A) ) {s = 53;} - else if ( (LA2_2==RULE_LETTER_L) ) {s = 17;} + else if ( (LA2_43==RULE_LETTER_C) ) {s = 54;} - else if ( (LA2_2==RULE_LETTER_E) ) {s = 18;} + else if ( (LA2_43==RULE_LETTER_E) ) {s = 55;} - else if ( (LA2_2==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA2_43==RULE_LETTER_F) ) {s = 56;} - else if ( (LA2_2==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA2_43==RULE_LETTER_I) ) {s = 57;} - - input.seek(index2_2); - if ( s>=0 ) return s; - break; - case 17 : - int LA2_12 = input.LA(1); + else if ( (LA2_43==RULE_LETTER_K) ) {s = 58;} - - int index2_12 = input.index(); - input.rewind(); - s = -1; - if ( (LA2_12==36||LA2_12==40||(LA2_12>=42 && LA2_12<=43)) ) {s = 9;} + else if ( (LA2_43==RULE_LETTER_L) ) {s = 59;} - else if ( (LA2_12==35) ) {s = 23;} + else if ( (LA2_43==RULE_LETTER_M) ) {s = 60;} - else if ( (LA2_12==39) ) {s = 21;} + else if ( (LA2_43==RULE_LETTER_O) ) {s = 61;} - else if ( (LA2_12==RULE_DIGITS) ) {s = 22;} + else if ( (LA2_43==RULE_LETTER_P) ) {s = 62;} - else if ( (LA2_12==RULE_LETTER_V) ) {s = 10;} + else if ( (LA2_43==RULE_LETTER_R) ) {s = 63;} - else if ( (LA2_12==RULE_LETTER_X) ) {s = 11;} + else if ( (LA2_43==RULE_LETTER_S) ) {s = 64;} - else if ( (LA2_12==RULE_LETTER_S) ) {s = 12;} + else if ( (LA2_43==RULE_LETTER_W) ) {s = 65;} - else if ( (LA2_12==RULE_LETTER_M) ) {s = 13;} + else if ( (LA2_43==RULE_LETTER_OTHER) ) {s = 66;} - else if ( (LA2_12==RULE_LETTER_R) ) {s = 14;} + else if ( (LA2_43==EOF||LA2_43==RULE_WS||LA2_43==43) ) {s = 2;} - else if ( (LA2_12==RULE_LETTER_F) ) {s = 15;} + else if ( (LA2_43==50) && (synpred3_InternalSemver())) {s = 67;} - else if ( (LA2_12==RULE_LETTER_I) ) {s = 16;} + else if ( (LA2_43==51) && (synpred3_InternalSemver())) {s = 68;} - else if ( (LA2_12==RULE_LETTER_L) ) {s = 17;} + else if ( (LA2_43==52) && (synpred3_InternalSemver())) {s = 69;} - else if ( (LA2_12==RULE_LETTER_E) ) {s = 18;} + else if ( (LA2_43==53) && (synpred3_InternalSemver())) {s = 70;} - else if ( (LA2_12==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA2_43==54) && (synpred3_InternalSemver())) {s = 71;} - else if ( (LA2_12==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA2_43==55) && (synpred3_InternalSemver())) {s = 72;} - else if ( (LA2_12==EOF||LA2_12==RULE_WS) ) {s = 24;} + else if ( (LA2_43==56) && (synpred3_InternalSemver())) {s = 73;} + + else if ( (LA2_43==RULE_ASTERIX) && (synpred3_InternalSemver())) {s = 74;} - input.seek(index2_12); + input.seek(index2_43); if ( s>=0 ) return s; break; - case 18 : - int LA2_10 = input.LA(1); + case 23 : + int LA2_56 = input.LA(1); - int index2_10 = input.index(); + int index2_56 = input.index(); input.rewind(); s = -1; - if ( (LA2_10==35) ) {s = 23;} + if ( (synpred3_InternalSemver()) ) {s = 74;} - else if ( (LA2_10==RULE_LETTER_V) ) {s = 10;} - - else if ( (LA2_10==RULE_LETTER_X) ) {s = 11;} - - else if ( (LA2_10==RULE_LETTER_S) ) {s = 12;} - - else if ( (LA2_10==RULE_LETTER_M) ) {s = 13;} - - else if ( (LA2_10==RULE_LETTER_R) ) {s = 14;} - - else if ( (LA2_10==RULE_LETTER_F) ) {s = 15;} - - else if ( (LA2_10==RULE_LETTER_I) ) {s = 16;} + else if ( (true) ) {s = 2;} - else if ( (LA2_10==RULE_LETTER_L) ) {s = 17;} + + input.seek(index2_56); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 2, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_22s = "\26\uffff"; + static final String dfa_23s = "\1\uffff\1\15\7\uffff\1\15\4\uffff\1\15\2\uffff\4\15\1\uffff"; + static final String dfa_24s = "\1\5\1\4\7\uffff\1\4\1\0\1\uffff\1\5\1\uffff\1\4\1\0\1\uffff\4\4\1\uffff"; + static final String dfa_25s = "\1\70\1\55\7\uffff\1\55\1\0\1\uffff\1\55\1\uffff\1\55\1\0\1\uffff\4\55\1\uffff"; + static final String dfa_26s = "\2\uffff\7\1\2\uffff\1\1\1\uffff\1\3\2\uffff\1\2\4\uffff\1\1"; + static final String dfa_27s = "\1\5\10\uffff\1\0\1\4\1\uffff\1\3\2\uffff\1\1\4\uffff\1\2\1\uffff}>"; + static final String[] dfa_28s = { + "\1\11\1\14\4\15\1\1\10\15\1\13\1\12\1\15\26\uffff\1\15\4\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10", + "\6\15\1\16\11\15\1\uffff\2\15\26\uffff\1\15", + "", + "", + "", + "", + "", + "", + "", + "\2\15\1\17\15\15\1\13\1\12\1\15\26\uffff\1\15", + "\1\uffff", + "", + "\17\20\1\uffff\2\20\26\uffff\1\20", + "", + "\10\15\1\21\7\15\1\uffff\2\15\26\uffff\1\15", + "\1\uffff", + "", + "\1\15\1\22\16\15\1\uffff\2\15\26\uffff\1\15", + "\6\15\1\23\11\15\1\uffff\2\15\26\uffff\1\15", + "\11\15\1\24\6\15\1\uffff\2\15\26\uffff\1\15", + "\20\15\1\uffff\2\15\22\uffff\1\25\3\uffff\1\15", + "" + }; - else if ( (LA2_10==RULE_LETTER_E) ) {s = 18;} + static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final char[] dfa_24 = DFA.unpackEncodedStringToUnsignedChars(dfa_24s); + static final char[] dfa_25 = DFA.unpackEncodedStringToUnsignedChars(dfa_25s); + static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); + static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); + static final short[][] dfa_28 = unpackEncodedStringArray(dfa_28s); - else if ( (LA2_10==RULE_LETTER_OTHER) ) {s = 19;} + class DFA8 extends DFA { - else if ( (LA2_10==41) && (synpred2_InternalSemver())) {s = 20;} + public DFA8(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 8; + this.eot = dfa_22; + this.eof = dfa_23; + this.min = dfa_24; + this.max = dfa_25; + this.accept = dfa_26; + this.special = dfa_27; + this.transition = dfa_28; + } + public String getDescription() { + return "330:2: ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA8_9 = input.LA(1); - else if ( (LA2_10==EOF||LA2_10==RULE_WS) ) {s = 24;} + + int index8_9 = input.index(); + input.rewind(); + s = -1; + if ( (LA8_9==EOF||(LA8_9>=RULE_WS && LA8_9<=RULE_LETTER_V)||(LA8_9>=RULE_LETTER_F && LA8_9<=RULE_LETTER_C)||LA8_9==RULE_LETTER_OTHER||LA8_9==45) ) {s = 13;} - else if ( (LA2_10==39) ) {s = 21;} + else if ( (LA8_9==RULE_DIGITS) ) {s = 15;} - else if ( (LA2_10==RULE_DIGITS) ) {s = 22;} + else if ( (LA8_9==RULE_LETTER_X) ) {s = 10;} - else if ( (LA2_10==36||LA2_10==40||(LA2_10>=42 && LA2_10<=43)) ) {s = 9;} + else if ( (LA8_9==RULE_ASTERIX) && (synpred4_InternalSemver())) {s = 11;} - input.seek(index2_10); + input.seek(index8_9); if ( s>=0 ) return s; break; - case 19 : - int LA2_37 = input.LA(1); + case 1 : + int LA8_15 = input.LA(1); - int index2_37 = input.index(); + int index8_15 = input.index(); input.rewind(); s = -1; - if ( (synpred2_InternalSemver()) ) {s = 20;} + if ( (synpred4_InternalSemver()) ) {s = 11;} - else if ( (true) ) {s = 9;} + else if ( (true) ) {s = 13;} - input.seek(index2_37); + input.seek(index8_15); if ( s>=0 ) return s; break; - case 20 : - int LA2_7 = input.LA(1); + case 2 : + int LA8_20 = input.LA(1); - int index2_7 = input.index(); + int index8_20 = input.index(); input.rewind(); s = -1; - if ( (LA2_7==39) ) {s = 21;} + if ( (LA8_20==41) && (synpred4_InternalSemver())) {s = 21;} - else if ( (LA2_7==RULE_DIGITS) ) {s = 22;} + else if ( (LA8_20==EOF||(LA8_20>=RULE_WS && LA8_20<=RULE_LETTER_C)||(LA8_20>=RULE_LETTER_X && LA8_20<=RULE_LETTER_OTHER)||LA8_20==45) ) {s = 13;} - else if ( (LA2_7==RULE_LETTER_V) ) {s = 10;} - - else if ( (LA2_7==RULE_LETTER_X) ) {s = 11;} - - else if ( (LA2_7==RULE_LETTER_S) ) {s = 12;} - - else if ( (LA2_7==RULE_LETTER_M) ) {s = 13;} - - else if ( (LA2_7==RULE_LETTER_R) ) {s = 14;} - - else if ( (LA2_7==RULE_LETTER_F) ) {s = 15;} - - else if ( (LA2_7==RULE_LETTER_I) ) {s = 16;} - - else if ( (LA2_7==RULE_LETTER_L) ) {s = 17;} - - else if ( (LA2_7==RULE_LETTER_E) ) {s = 18;} + + input.seek(index8_20); + if ( s>=0 ) return s; + break; + case 3 : + int LA8_12 = input.LA(1); - else if ( (LA2_7==RULE_LETTER_OTHER) ) {s = 19;} + + int index8_12 = input.index(); + input.rewind(); + s = -1; + if ( ((LA8_12>=RULE_LETTER_V && LA8_12<=RULE_LETTER_C)||(LA8_12>=RULE_LETTER_X && LA8_12<=RULE_LETTER_OTHER)||LA8_12==45) ) {s = 16;} - else if ( (LA2_7==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (synpred4_InternalSemver()) ) {s = 11;} - else if ( ((LA2_7>=35 && LA2_7<=36)||LA2_7==40||(LA2_7>=42 && LA2_7<=43)) ) {s = 9;} + else if ( (true) ) {s = 13;} - input.seek(index2_7); + input.seek(index8_12); if ( s>=0 ) return s; break; - case 21 : - int LA2_17 = input.LA(1); + case 4 : + int LA8_10 = input.LA(1); - int index2_17 = input.index(); + int index8_10 = input.index(); input.rewind(); s = -1; - if ( (LA2_17==35) ) {s = 23;} + if ( (synpred4_InternalSemver()) ) {s = 11;} - else if ( (LA2_17==RULE_LETTER_V) ) {s = 10;} + else if ( (true) ) {s = 13;} - else if ( (LA2_17==RULE_LETTER_X) ) {s = 11;} + + input.seek(index8_10); + if ( s>=0 ) return s; + break; + case 5 : + int LA8_0 = input.LA(1); - else if ( (LA2_17==RULE_LETTER_S) ) {s = 12;} + + int index8_0 = input.index(); + input.rewind(); + s = -1; + if ( (LA8_0==RULE_LETTER_S) ) {s = 1;} - else if ( (LA2_17==RULE_LETTER_M) ) {s = 13;} + else if ( (LA8_0==50) && (synpred4_InternalSemver())) {s = 2;} - else if ( (LA2_17==RULE_LETTER_R) ) {s = 14;} + else if ( (LA8_0==51) && (synpred4_InternalSemver())) {s = 3;} - else if ( (LA2_17==RULE_LETTER_F) ) {s = 15;} + else if ( (LA8_0==52) && (synpred4_InternalSemver())) {s = 4;} - else if ( (LA2_17==RULE_LETTER_I) ) {s = 16;} + else if ( (LA8_0==53) && (synpred4_InternalSemver())) {s = 5;} - else if ( (LA2_17==RULE_LETTER_L) ) {s = 17;} + else if ( (LA8_0==54) && (synpred4_InternalSemver())) {s = 6;} - else if ( (LA2_17==RULE_LETTER_E) ) {s = 18;} + else if ( (LA8_0==55) && (synpred4_InternalSemver())) {s = 7;} - else if ( (LA2_17==RULE_LETTER_OTHER) ) {s = 19;} + else if ( (LA8_0==56) && (synpred4_InternalSemver())) {s = 8;} - else if ( (LA2_17==41) && (synpred2_InternalSemver())) {s = 20;} + else if ( (LA8_0==RULE_LETTER_V) ) {s = 9;} - else if ( (LA2_17==EOF||LA2_17==RULE_WS) ) {s = 24;} + else if ( (LA8_0==RULE_LETTER_X) ) {s = 10;} - else if ( (LA2_17==39) ) {s = 21;} + else if ( (LA8_0==RULE_ASTERIX) && (synpred4_InternalSemver())) {s = 11;} - else if ( (LA2_17==RULE_DIGITS) ) {s = 22;} + else if ( (LA8_0==RULE_DIGITS) ) {s = 12;} - else if ( (LA2_17==36||LA2_17==40||(LA2_17>=42 && LA2_17<=43)) ) {s = 9;} + else if ( ((LA8_0>=RULE_LETTER_F && LA8_0<=RULE_LETTER_E)||(LA8_0>=RULE_LETTER_M && LA8_0<=RULE_LETTER_C)||LA8_0==RULE_LETTER_OTHER||LA8_0==45) ) {s = 13;} - input.seek(index2_17); + input.seek(index8_0); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 2, _s, input); + new NoViableAltException(getDescription(), 8, _s, input); error(nvae); throw nvae; } } - static final String dfa_15s = "\26\uffff"; - static final String dfa_16s = "\1\uffff\1\15\7\uffff\1\15\4\uffff\1\15\2\uffff\4\15\1\uffff"; - static final String dfa_17s = "\1\5\1\4\7\uffff\1\4\1\0\1\uffff\1\5\1\uffff\1\4\1\0\1\uffff\4\4\1\uffff"; - static final String dfa_18s = "\1\62\1\47\7\uffff\1\47\1\0\1\uffff\1\47\1\uffff\1\47\1\0\1\uffff\4\47\1\uffff"; - static final String dfa_19s = "\2\uffff\7\1\2\uffff\1\1\1\uffff\1\3\2\uffff\1\2\4\uffff\1\1"; - static final String dfa_20s = "\1\4\10\uffff\1\1\1\0\1\uffff\1\2\2\uffff\1\3\4\uffff\1\5\1\uffff}>"; - static final String[] dfa_21s = { - "\1\11\1\14\4\15\1\1\2\15\1\12\1\13\1\15\26\uffff\1\15\4\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10", - "\6\15\1\16\4\15\1\uffff\1\15\26\uffff\1\15", + static final String dfa_29s = "\31\uffff"; + static final String dfa_30s = "\1\uffff\10\14\4\uffff\1\14\13\uffff"; + static final String dfa_31s = "\1\5\10\4\3\0\1\uffff\1\5\13\uffff"; + static final String dfa_32s = "\11\70\3\0\1\uffff\1\70\13\uffff"; + static final String dfa_33s = "\14\uffff\1\2\1\uffff\13\1"; + static final String dfa_34s = "\11\uffff\1\0\1\2\1\3\1\uffff\1\1\13\uffff}>"; + static final String[] dfa_35s = { + "\1\10\1\13\15\14\1\12\1\11\1\14\22\uffff\2\14\2\uffff\2\14\1\uffff\2\14\1\1\1\2\1\3\1\4\1\5\1\6\1\7", + "\1\15\1\10\1\13\15\14\1\12\1\11\1\14\22\uffff\2\14\2\uffff\2\14\1\uffff\2\14\1\1\1\2\1\3\1\4\1\5\1\6\1\7", + "\1\15\1\10\1\13\15\14\1\12\1\11\1\14\22\uffff\2\14\2\uffff\2\14\1\uffff\2\14\1\1\1\2\1\3\1\4\1\5\1\6\1\7", + "\1\15\1\10\1\13\15\14\1\12\1\11\1\14\22\uffff\2\14\2\uffff\2\14\1\uffff\2\14\1\1\1\2\1\3\1\4\1\5\1\6\1\7", + "\1\15\1\10\1\13\15\14\1\12\1\11\1\14\22\uffff\2\14\2\uffff\2\14\1\uffff\2\14\1\1\1\2\1\3\1\4\1\5\1\6\1\7", + "\1\15\1\10\1\13\15\14\1\12\1\11\1\14\22\uffff\2\14\2\uffff\2\14\1\uffff\2\14\1\1\1\2\1\3\1\4\1\5\1\6\1\7", + "\1\15\1\10\1\13\15\14\1\12\1\11\1\14\22\uffff\2\14\2\uffff\2\14\1\uffff\2\14\1\1\1\2\1\3\1\4\1\5\1\6\1\7", + "\1\15\1\10\1\13\15\14\1\12\1\11\1\14\22\uffff\2\14\2\uffff\2\14\1\uffff\2\14\1\1\1\2\1\3\1\4\1\5\1\6\1\7", + "\2\14\1\13\15\14\1\12\1\11\1\14\22\uffff\2\14\2\uffff\2\14\1\uffff\11\14", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "\1\17\1\21\15\uffff\1\20\1\16\34\uffff\1\22\1\23\1\24\1\25\1\26\1\27\1\30", "", "", "", @@ -7935,335 +10746,332 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "", "", "", - "\2\15\1\17\7\15\1\12\1\13\1\15\26\uffff\1\15", - "\1\uffff", "", - "\12\20\1\uffff\1\20\26\uffff\1\20", "", - "\10\15\1\21\2\15\1\uffff\1\15\26\uffff\1\15", - "\1\uffff", "", - "\1\15\1\22\11\15\1\uffff\1\15\26\uffff\1\15", - "\6\15\1\23\4\15\1\uffff\1\15\26\uffff\1\15", - "\11\15\1\24\1\15\1\uffff\1\15\26\uffff\1\15", - "\13\15\1\uffff\1\15\22\uffff\1\25\3\uffff\1\15", "" }; - static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); - static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); - static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); - static final char[] dfa_18 = DFA.unpackEncodedStringToUnsignedChars(dfa_18s); - static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); - static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); - static final short[][] dfa_21 = unpackEncodedStringArray(dfa_21s); + static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s); + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final char[] dfa_31 = DFA.unpackEncodedStringToUnsignedChars(dfa_31s); + static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s); + static final short[] dfa_33 = DFA.unpackEncodedString(dfa_33s); + static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s); + static final short[][] dfa_35 = unpackEncodedStringArray(dfa_35s); - class DFA7 extends DFA { + class DFA10 extends DFA { - public DFA7(BaseRecognizer recognizer) { + public DFA10(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 7; - this.eot = dfa_15; - this.eof = dfa_16; - this.min = dfa_17; - this.max = dfa_18; - this.accept = dfa_19; - this.special = dfa_20; - this.transition = dfa_21; + this.decisionNumber = 10; + this.eot = dfa_29; + this.eof = dfa_30; + this.min = dfa_31; + this.max = dfa_32; + this.accept = dfa_33; + this.special = dfa_34; + this.transition = dfa_35; } public String getDescription() { - return "316:2: ( ( ( ruleURLSemver )=>this_URLSemver_0= ruleURLSemver ) | ( () ( (lv_commitISH_2_0= ruleALPHA_NUMERIC_CHARS_START_WITH_DIGITS ) ) ) | ( () ( (lv_commitISH_4_0= ruleALPHA_NUMERIC_CHARS ) ) ) )"; + return "491:3: ( ( ( ( ruleSimpleVersion ) )=> (lv_version_1_0= ruleSimpleVersion ) ) | ( (lv_otherVersion_2_0= ruleWORKSPACE_VERSION ) ) )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : - int LA7_10 = input.LA(1); + int LA10_9 = input.LA(1); - int index7_10 = input.index(); + int index10_9 = input.index(); input.rewind(); s = -1; - if ( (synpred3_InternalSemver()) ) {s = 11;} + if ( (synpred5_InternalSemver()) ) {s = 14;} - else if ( (true) ) {s = 13;} + else if ( (true) ) {s = 12;} - input.seek(index7_10); + input.seek(index10_9); if ( s>=0 ) return s; break; case 1 : - int LA7_9 = input.LA(1); + int LA10_13 = input.LA(1); - int index7_9 = input.index(); + int index10_13 = input.index(); input.rewind(); s = -1; - if ( (LA7_9==RULE_LETTER_X) ) {s = 10;} + if ( (LA10_13==EOF) ) {s = 12;} - else if ( (LA7_9==RULE_ASTERIX) && (synpred3_InternalSemver())) {s = 11;} + else if ( (LA10_13==RULE_LETTER_V) && (synpred5_InternalSemver())) {s = 15;} - else if ( (LA7_9==RULE_DIGITS) ) {s = 15;} + else if ( (LA10_13==RULE_LETTER_X) && (synpred5_InternalSemver())) {s = 14;} - else if ( (LA7_9==EOF||(LA7_9>=RULE_WS && LA7_9<=RULE_LETTER_V)||(LA7_9>=RULE_LETTER_F && LA7_9<=RULE_LETTER_R)||LA7_9==RULE_LETTER_OTHER||LA7_9==39) ) {s = 13;} + else if ( (LA10_13==RULE_ASTERIX) && (synpred5_InternalSemver())) {s = 16;} - - input.seek(index7_9); - if ( s>=0 ) return s; - break; - case 2 : - int LA7_12 = input.LA(1); + else if ( (LA10_13==RULE_DIGITS) && (synpred5_InternalSemver())) {s = 17;} - - int index7_12 = input.index(); - input.rewind(); - s = -1; - if ( ((LA7_12>=RULE_LETTER_V && LA7_12<=RULE_LETTER_X)||LA7_12==RULE_LETTER_OTHER||LA7_12==39) ) {s = 16;} + else if ( (LA10_13==50) && (synpred5_InternalSemver())) {s = 18;} - else if ( (synpred3_InternalSemver()) ) {s = 11;} + else if ( (LA10_13==51) && (synpred5_InternalSemver())) {s = 19;} - else if ( (true) ) {s = 13;} + else if ( (LA10_13==52) && (synpred5_InternalSemver())) {s = 20;} - - input.seek(index7_12); - if ( s>=0 ) return s; - break; - case 3 : - int LA7_15 = input.LA(1); + else if ( (LA10_13==53) && (synpred5_InternalSemver())) {s = 21;} - - int index7_15 = input.index(); - input.rewind(); - s = -1; - if ( (synpred3_InternalSemver()) ) {s = 11;} + else if ( (LA10_13==54) && (synpred5_InternalSemver())) {s = 22;} - else if ( (true) ) {s = 13;} + else if ( (LA10_13==55) && (synpred5_InternalSemver())) {s = 23;} + + else if ( (LA10_13==56) && (synpred5_InternalSemver())) {s = 24;} - input.seek(index7_15); + input.seek(index10_13); if ( s>=0 ) return s; break; - case 4 : - int LA7_0 = input.LA(1); + case 2 : + int LA10_10 = input.LA(1); - int index7_0 = input.index(); + int index10_10 = input.index(); input.rewind(); s = -1; - if ( (LA7_0==RULE_LETTER_S) ) {s = 1;} - - else if ( (LA7_0==44) && (synpred3_InternalSemver())) {s = 2;} - - else if ( (LA7_0==45) && (synpred3_InternalSemver())) {s = 3;} - - else if ( (LA7_0==46) && (synpred3_InternalSemver())) {s = 4;} - - else if ( (LA7_0==47) && (synpred3_InternalSemver())) {s = 5;} + if ( (synpred5_InternalSemver()) ) {s = 14;} - else if ( (LA7_0==48) && (synpred3_InternalSemver())) {s = 6;} - - else if ( (LA7_0==49) && (synpred3_InternalSemver())) {s = 7;} - - else if ( (LA7_0==50) && (synpred3_InternalSemver())) {s = 8;} - - else if ( (LA7_0==RULE_LETTER_V) ) {s = 9;} - - else if ( (LA7_0==RULE_LETTER_X) ) {s = 10;} - - else if ( (LA7_0==RULE_ASTERIX) && (synpred3_InternalSemver())) {s = 11;} - - else if ( (LA7_0==RULE_DIGITS) ) {s = 12;} - - else if ( ((LA7_0>=RULE_LETTER_F && LA7_0<=RULE_LETTER_E)||(LA7_0>=RULE_LETTER_M && LA7_0<=RULE_LETTER_R)||LA7_0==RULE_LETTER_OTHER||LA7_0==39) ) {s = 13;} + else if ( (true) ) {s = 12;} - input.seek(index7_0); + input.seek(index10_10); if ( s>=0 ) return s; break; - case 5 : - int LA7_20 = input.LA(1); + case 3 : + int LA10_11 = input.LA(1); - int index7_20 = input.index(); + int index10_11 = input.index(); input.rewind(); s = -1; - if ( (LA7_20==EOF||(LA7_20>=RULE_WS && LA7_20<=RULE_LETTER_X)||LA7_20==RULE_LETTER_OTHER||LA7_20==39) ) {s = 13;} + if ( (synpred5_InternalSemver()) ) {s = 14;} - else if ( (LA7_20==35) && (synpred3_InternalSemver())) {s = 21;} + else if ( (true) ) {s = 12;} - input.seek(index7_20); + input.seek(index10_11); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 7, _s, input); + new NoViableAltException(getDescription(), 10, _s, input); error(nvae); throw nvae; } } - static final String dfa_22s = "\141\uffff"; - static final String dfa_23s = "\2\uffff\3\1\3\uffff\34\1\5\uffff\47\1\2\uffff\17\1"; - static final String dfa_24s = "\1\5\1\uffff\3\4\1\6\3\5\33\4\1\uffff\1\6\3\5\47\4\1\6\1\5\17\4"; - static final String dfa_25s = "\1\62\1\uffff\3\51\1\17\2\47\1\62\17\51\14\50\1\uffff\1\17\3\47\17\51\30\50\1\17\1\47\3\51\14\50"; - static final String dfa_26s = "\1\uffff\1\1\42\uffff\1\2\74\uffff"; - static final String dfa_27s = "\141\uffff}>"; - static final String[] dfa_28s = { - "\1\1\1\4\7\uffff\1\2\1\3\34\uffff\7\1", + static final String dfa_36s = "\u0085\uffff"; + static final String dfa_37s = "\2\uffff\3\1\3\uffff\50\1\5\uffff\71\1\2\uffff\25\1"; + static final String dfa_38s = "\1\5\1\uffff\3\4\1\6\3\5\47\4\1\uffff\1\6\3\5\71\4\1\6\1\5\25\4"; + static final String dfa_39s = "\1\70\1\uffff\3\57\1\25\2\55\1\70\25\57\22\56\1\uffff\1\25\3\55\25\57\44\56\1\25\1\55\3\57\22\56"; + static final String dfa_40s = "\1\uffff\1\1\56\uffff\1\2\124\uffff"; + static final String dfa_41s = "\u0085\uffff}>"; + static final String[] dfa_42s = { + "\1\1\1\4\15\uffff\1\3\1\2\34\uffff\7\1", "", - "\1\10\41\uffff\1\1\1\6\1\5\1\7", - "\1\10\41\uffff\1\1\1\6\1\5\1\7", - "\1\10\41\uffff\1\1\1\6\1\5\1\7", - "\1\13\7\uffff\1\11\1\12", - "\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\26\uffff\1\14", - "\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\26\uffff\1\30", - "\2\1\7\uffff\2\1\26\uffff\1\1\1\44\4\uffff\7\1", - "\1\10\41\uffff\1\1\1\6\1\45\1\7", - "\1\10\41\uffff\1\1\1\6\1\45\1\7", - "\1\10\41\uffff\1\1\1\6\1\45\1\7", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\16\1\15\1\23\1\24\1\25\1\26\1\20\1\21\1\22\1\17\1\uffff\1\27\25\uffff\1\1\1\14\1\46\1\47", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", - "\1\10\1\32\1\31\1\37\1\40\1\41\1\42\1\34\1\35\1\36\1\33\1\uffff\1\43\25\uffff\1\1\1\30\1\50", + "\1\10\47\uffff\1\1\1\6\1\5\1\7", + "\1\10\47\uffff\1\1\1\6\1\5\1\7", + "\1\10\47\uffff\1\1\1\6\1\5\1\7", + "\1\13\15\uffff\1\12\1\11", + "\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\26\uffff\1\14", + "\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\26\uffff\1\36", + "\2\1\15\uffff\2\1\26\uffff\1\1\1\60\4\uffff\7\1", + "\1\10\47\uffff\1\1\1\6\1\61\1\7", + "\1\10\47\uffff\1\1\1\6\1\61\1\7", + "\1\10\47\uffff\1\1\1\6\1\61\1\7", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\16\1\15\1\23\1\24\1\26\1\22\1\33\1\27\1\32\1\34\1\30\1\25\1\31\1\20\1\21\1\uffff\1\17\1\35\25\uffff\1\1\1\14\1\62\1\63", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", + "\1\10\1\40\1\37\1\45\1\46\1\50\1\44\1\55\1\51\1\54\1\56\1\52\1\47\1\53\1\42\1\43\1\uffff\1\41\1\57\25\uffff\1\1\1\36\1\64", "", - "\1\53\7\uffff\1\51\1\52", - "\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\26\uffff\1\54", - "\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\26\uffff\1\70", - "\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\26\uffff\1\104", - "\1\10\41\uffff\1\1\1\6\1\120\1\7", - "\1\10\41\uffff\1\1\1\6\1\120\1\7", - "\1\10\41\uffff\1\1\1\6\1\120\1\7", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\56\1\55\1\63\1\64\1\65\1\66\1\60\1\61\1\62\1\57\1\uffff\1\67\25\uffff\1\1\1\54\1\46\1\47", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\72\1\71\1\77\1\100\1\101\1\102\1\74\1\75\1\76\1\73\1\uffff\1\103\25\uffff\1\1\1\70\1\121", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\10\1\106\1\105\1\113\1\114\1\115\1\116\1\110\1\111\1\112\1\107\1\uffff\1\117\25\uffff\1\1\1\104\1\50", - "\1\124\7\uffff\1\122\1\123", - "\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\26\uffff\1\125", - "\1\10\41\uffff\1\1\1\6\1\120\1\7", - "\1\10\41\uffff\1\1\1\6\1\120\1\7", - "\1\10\41\uffff\1\1\1\6\1\120\1\7", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121", - "\1\10\1\127\1\126\1\134\1\135\1\136\1\137\1\131\1\132\1\133\1\130\1\uffff\1\140\25\uffff\1\1\1\125\1\121" + "\1\67\15\uffff\1\66\1\65", + "\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\26\uffff\1\70", + "\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\26\uffff\1\112", + "\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\26\uffff\1\134", + "\1\10\47\uffff\1\1\1\6\1\156\1\7", + "\1\10\47\uffff\1\1\1\6\1\156\1\7", + "\1\10\47\uffff\1\1\1\6\1\156\1\7", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\72\1\71\1\77\1\100\1\102\1\76\1\107\1\103\1\106\1\110\1\104\1\101\1\105\1\74\1\75\1\uffff\1\73\1\111\25\uffff\1\1\1\70\1\62\1\63", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\114\1\113\1\121\1\122\1\124\1\120\1\131\1\125\1\130\1\132\1\126\1\123\1\127\1\116\1\117\1\uffff\1\115\1\133\25\uffff\1\1\1\112\1\157", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\10\1\136\1\135\1\143\1\144\1\146\1\142\1\153\1\147\1\152\1\154\1\150\1\145\1\151\1\140\1\141\1\uffff\1\137\1\155\25\uffff\1\1\1\134\1\64", + "\1\162\15\uffff\1\161\1\160", + "\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\26\uffff\1\163", + "\1\10\47\uffff\1\1\1\6\1\156\1\7", + "\1\10\47\uffff\1\1\1\6\1\156\1\7", + "\1\10\47\uffff\1\1\1\6\1\156\1\7", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157", + "\1\10\1\165\1\164\1\172\1\173\1\175\1\171\1\u0082\1\176\1\u0081\1\u0083\1\177\1\174\1\u0080\1\167\1\170\1\uffff\1\166\1\u0084\25\uffff\1\1\1\163\1\157" }; - static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s); - static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); - static final char[] dfa_24 = DFA.unpackEncodedStringToUnsignedChars(dfa_24s); - static final char[] dfa_25 = DFA.unpackEncodedStringToUnsignedChars(dfa_25s); - static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); - static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); - static final short[][] dfa_28 = unpackEncodedStringArray(dfa_28s); + static final short[] dfa_36 = DFA.unpackEncodedString(dfa_36s); + static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s); + static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s); + static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s); + static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s); + static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s); + static final short[][] dfa_42 = unpackEncodedStringArray(dfa_42s); - class DFA15 extends DFA { + class DFA17 extends DFA { - public DFA15(BaseRecognizer recognizer) { + public DFA17(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 15; - this.eot = dfa_22; - this.eof = dfa_23; - this.min = dfa_24; - this.max = dfa_25; - this.accept = dfa_26; - this.special = dfa_27; - this.transition = dfa_28; + this.decisionNumber = 17; + this.eot = dfa_36; + this.eof = dfa_37; + this.min = dfa_38; + this.max = dfa_39; + this.accept = dfa_40; + this.special = dfa_41; + this.transition = dfa_42; } public String getDescription() { - return "658:2: (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange )"; + return "743:2: (this_VersionRangeContraint_0= ruleVersionRangeContraint | this_HyphenVersionRange_1= ruleHyphenVersionRange )"; } } public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0007F0000000C060L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x01FC000000300060L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000012L}); - public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000D9000017FE0L}); - public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000800000000L}); - public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000001000000000L}); - public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000D9800017FE0L}); - public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000002000000002L}); - public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0007FD900001FFE0L}); - public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000004000000012L}); - public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000004000000000L}); - public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0007F0000000C070L}); - public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000010L}); - public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000038000000002L}); - public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000020000000002L}); - public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000010000000002L}); - public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000200L}); - public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000400L}); - public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000001000L}); - public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x00000D9000017FE2L}); - public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x00000F9000017FE0L}); - public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x00000F9000017FE2L}); - public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x00000D9800017FE2L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00036400006FFFE0L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00036600006FFFE0L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000080000000002L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x01FF6400007FFFE0L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x01FF6600007FFFE0L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000100000000012L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x01FC000000300070L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000E00000000002L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000800000000002L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000400000000002L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000200L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000000000400L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000000000800L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000000040000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x00036400006FFFE2L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0003E400006FFFE0L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0003E400006FFFE2L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x00036600006FFFE2L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x01FF6600007FFFE2L}); } \ No newline at end of file diff --git a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/serializer/SemverSemanticSequencer.java b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/serializer/SemverSemanticSequencer.java index b7d41cebed..882eb5af7e 100644 --- a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/serializer/SemverSemanticSequencer.java +++ b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/serializer/SemverSemanticSequencer.java @@ -29,6 +29,7 @@ import org.eclipse.n4js.semver.Semver.VersionPart; import org.eclipse.n4js.semver.Semver.VersionRangeConstraint; import org.eclipse.n4js.semver.Semver.VersionRangeSetRequirement; +import org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement; import org.eclipse.n4js.semver.services.SemverGrammarAccess; import org.eclipse.xtext.Action; import org.eclipse.xtext.Parameter; @@ -94,18 +95,23 @@ public void sequence(ISerializationContext context, EObject semanticObject) { case SemverPackage.VERSION_RANGE_SET_REQUIREMENT: sequence_VersionRangeSetRequirement(context, (VersionRangeSetRequirement) semanticObject); return; + case SemverPackage.WORKSPACE_VERSION_REQUIREMENT: + sequence_WorkspaceVersionRequirement(context, (WorkspaceVersionRequirement) semanticObject); + return; } if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); } /** + *
 	 * Contexts:
 	 *     NPMVersionRequirement returns GitHubVersionRequirement
 	 *     GitHubVersionRequirement returns GitHubVersionRequirement
 	 *
 	 * Constraint:
 	 *     (githubUrl=URL_NO_VX commitISH=ALPHA_NUMERIC_CHARS?)
+	 * 
*/ protected void sequence_GitHubVersionRequirement(ISerializationContext context, GitHubVersionRequirement semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -113,12 +119,14 @@ protected void sequence_GitHubVersionRequirement(ISerializationContext context, /** + *
 	 * Contexts:
 	 *     VersionRange returns HyphenVersionRange
 	 *     HyphenVersionRange returns HyphenVersionRange
 	 *
 	 * Constraint:
 	 *     (from=VersionNumber to=VersionNumber)
+	 * 
*/ protected void sequence_HyphenVersionRange(ISerializationContext context, HyphenVersionRange semanticObject) { if (errorAcceptor != null) { @@ -135,12 +143,14 @@ protected void sequence_HyphenVersionRange(ISerializationContext context, Hyphen /** + *
 	 * Contexts:
 	 *     NPMVersionRequirement returns LocalPathVersionRequirement
 	 *     LocalPathVersionRequirement returns LocalPathVersionRequirement
 	 *
 	 * Constraint:
 	 *     localPath=PATH
+	 * 
*/ protected void sequence_LocalPathVersionRequirement(ISerializationContext context, LocalPathVersionRequirement semanticObject) { if (errorAcceptor != null) { @@ -154,11 +164,13 @@ protected void sequence_LocalPathVersionRequirement(ISerializationContext contex /** + *
 	 * Contexts:
 	 *     QualifierTag returns QualifierTag
 	 *
 	 * Constraint:
 	 *     (parts+=ALPHA_NUMERIC_CHARS parts+=ALPHA_NUMERIC_CHARS*)
+	 * 
*/ protected void sequence_QualifierTag(ISerializationContext context, QualifierTag semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -166,11 +178,13 @@ protected void sequence_QualifierTag(ISerializationContext context, QualifierTag /** + *
 	 * Contexts:
 	 *     Qualifier returns Qualifier
 	 *
 	 * Constraint:
 	 *     ((preRelease=QualifierTag buildMetadata=QualifierTag?) | buildMetadata=QualifierTag)
+	 * 
*/ protected void sequence_Qualifier(ISerializationContext context, Qualifier semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -178,11 +192,13 @@ protected void sequence_Qualifier(ISerializationContext context, Qualifier seman /** + *
 	 * Contexts:
 	 *     SimpleVersion returns SimpleVersion
 	 *
 	 * Constraint:
 	 *     (comparators+=VersionComparator* withLetterV?=LETTER_V? number=VersionNumber)
+	 * 
*/ protected void sequence_SimpleVersion(ISerializationContext context, SimpleVersion semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -190,12 +206,14 @@ protected void sequence_SimpleVersion(ISerializationContext context, SimpleVersi /** + *
 	 * Contexts:
 	 *     NPMVersionRequirement returns TagVersionRequirement
 	 *     TagVersionRequirement returns TagVersionRequirement
 	 *
 	 * Constraint:
 	 *     tagName=TAG
+	 * 
*/ protected void sequence_TagVersionRequirement(ISerializationContext context, TagVersionRequirement semanticObject) { if (errorAcceptor != null) { @@ -209,12 +227,14 @@ protected void sequence_TagVersionRequirement(ISerializationContext context, Tag /** + *
 	 * Contexts:
 	 *     URLVersionSpecifier returns URLSemver
 	 *     URLSemver returns URLSemver
 	 *
 	 * Constraint:
 	 *     (withSemverTag?=SEMVER_TAG? simpleVersion=SimpleVersion)
+	 * 
*/ protected void sequence_URLSemver(ISerializationContext context, URLSemver semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -222,12 +242,14 @@ protected void sequence_URLSemver(ISerializationContext context, URLSemver seman /** + *
 	 * Contexts:
 	 *     NPMVersionRequirement returns URLVersionRequirement
 	 *     URLVersionRequirement returns URLVersionRequirement
 	 *
 	 * Constraint:
 	 *     (protocol=URL_PROTOCOL url=URL versionSpecifier=URLVersionSpecifier?)
+	 * 
*/ protected void sequence_URLVersionRequirement(ISerializationContext context, URLVersionRequirement semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -235,11 +257,13 @@ protected void sequence_URLVersionRequirement(ISerializationContext context, URL /** + *
 	 * Contexts:
 	 *     URLVersionSpecifier returns URLCommitISH
 	 *
 	 * Constraint:
 	 *     (commitISH=ALPHA_NUMERIC_CHARS_START_WITH_DIGITS | commitISH=ALPHA_NUMERIC_CHARS)
+	 * 
*/ protected void sequence_URLVersionSpecifier(ISerializationContext context, URLCommitISH semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -247,11 +271,13 @@ protected void sequence_URLVersionSpecifier(ISerializationContext context, URLCo /** + *
 	 * Contexts:
 	 *     VersionNumber returns VersionNumber
 	 *
 	 * Constraint:
 	 *     (major=VersionPart (minor=VersionPart (patch=VersionPart extended+=VersionPart*)?)? qualifier=Qualifier?)
+	 * 
*/ protected void sequence_VersionNumber(ISerializationContext context, VersionNumber semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -259,11 +285,13 @@ protected void sequence_VersionNumber(ISerializationContext context, VersionNumb /** + *
 	 * Contexts:
 	 *     VersionPart returns VersionPart
 	 *
 	 * Constraint:
 	 *     (wildcard?=WILDCARD | numberRaw=DIGITS)
+	 * 
*/ protected void sequence_VersionPart(ISerializationContext context, VersionPart semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -271,12 +299,14 @@ protected void sequence_VersionPart(ISerializationContext context, VersionPart s /** + *
 	 * Contexts:
 	 *     VersionRange returns VersionRangeConstraint
 	 *     VersionRangeContraint returns VersionRangeConstraint
 	 *
 	 * Constraint:
 	 *     (versionConstraints+=SimpleVersion versionConstraints+=SimpleVersion*)
+	 * 
*/ protected void sequence_VersionRangeContraint(ISerializationContext context, VersionRangeConstraint semanticObject) { genericSequencer.createSequence(context, semanticObject); @@ -284,16 +314,33 @@ protected void sequence_VersionRangeContraint(ISerializationContext context, Ver /** + *
 	 * Contexts:
 	 *     NPMVersionRequirement returns VersionRangeSetRequirement
 	 *     VersionRangeSetRequirement returns VersionRangeSetRequirement
 	 *
 	 * Constraint:
 	 *     (ranges+=VersionRange ranges+=VersionRange*)?
+	 * 
*/ protected void sequence_VersionRangeSetRequirement(ISerializationContext context, VersionRangeSetRequirement semanticObject) { genericSequencer.createSequence(context, semanticObject); } + /** + *
+	 * Contexts:
+	 *     NPMVersionRequirement returns WorkspaceVersionRequirement
+	 *     WorkspaceVersionRequirement returns WorkspaceVersionRequirement
+	 *
+	 * Constraint:
+	 *     (version=SimpleVersion | otherVersion=WORKSPACE_VERSION)
+	 * 
+ */ + protected void sequence_WorkspaceVersionRequirement(ISerializationContext context, WorkspaceVersionRequirement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + } diff --git a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/serializer/SemverSyntacticSequencer.java b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/serializer/SemverSyntacticSequencer.java index 921c1755e3..1bd9efb0e6 100644 --- a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/serializer/SemverSyntacticSequencer.java +++ b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/serializer/SemverSyntacticSequencer.java @@ -55,6 +55,8 @@ else if (ruleCall.getRule() == grammarAccess.getSEMVER_TAGRule()) return getSEMVER_TAGToken(semanticObject, ruleCall, node); else if (ruleCall.getRule() == grammarAccess.getWILDCARDRule()) return getWILDCARDToken(semanticObject, ruleCall, node); + else if (ruleCall.getRule() == grammarAccess.getWORKSPACE_TAGRule()) + return getWORKSPACE_TAGToken(semanticObject, ruleCall, node); else if (ruleCall.getRule() == grammarAccess.getWSRule()) return getWSToken(semanticObject, ruleCall, node); return ""; @@ -104,6 +106,17 @@ protected String getWILDCARDToken(EObject semanticObject, RuleCall ruleCall, INo return "x"; } + /** + * WORKSPACE_TAG: + * LETTER_W LETTER_O LETTER_R LETTER_K LETTER_S LETTER_P LETTER_A LETTER_C LETTER_E ':' + * ; + */ + protected String getWORKSPACE_TAGToken(EObject semanticObject, RuleCall ruleCall, INode node) { + if (node != null) + return getTokenText(node); + return "w o r k s p a c e :"; + } + /** * terminal WS: * WHITESPACE_FRAGMENT+; @@ -137,18 +150,22 @@ else if (match_VersionRangeSetRequirement_WSTerminalRuleCall_1_2_q.equals(syntax } /** + *
 	 * Ambiguous syntax:
 	 *     WS?
 	 *
 	 * This ambiguous syntax occurs at:
 	 *     (rule start) (ambiguity) (rule start)
 	 *     (rule start) (ambiguity) ranges+=VersionRange
+	 
+	 * 
*/ protected void emit_NPMVersionRequirement_WSTerminalRuleCall_0_0_q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } /** + *
 	 * Ambiguous syntax:
 	 *     WS?
 	 *
@@ -156,15 +173,20 @@ protected void emit_NPMVersionRequirement_WSTerminalRuleCall_0_0_q(EObject seman
 	 *     commitISH=ALPHA_NUMERIC_CHARS (ambiguity) (rule end)
 	 *     githubUrl=URL_NO_VX (ambiguity) (rule end)
 	 *     localPath=PATH (ambiguity) (rule end)
+	 *     otherVersion=WORKSPACE_VERSION (ambiguity) (rule end)
 	 *     tagName=TAG (ambiguity) (rule end)
 	 *     url=URL (ambiguity) (rule end)
+	 *     version=SimpleVersion (ambiguity) (rule end)
 	 *     versionSpecifier=URLVersionSpecifier (ambiguity) (rule end)
+	 
+	 * 
*/ protected void emit_NPMVersionRequirement_WSTerminalRuleCall_1_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } /** + *
 	 * Ambiguous syntax:
 	 *     WS?
 	 *
@@ -172,39 +194,50 @@ protected void emit_NPMVersionRequirement_WSTerminalRuleCall_1_1_q(EObject seman
 	 *     comparators+=VersionComparator (ambiguity) comparators+=VersionComparator
 	 *     comparators+=VersionComparator (ambiguity) number=VersionNumber
 	 *     comparators+=VersionComparator (ambiguity) withLetterV?=LETTER_V
+	 
+	 * 
*/ protected void emit_SimpleVersion_WSTerminalRuleCall_0_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } /** + *
 	 * Ambiguous syntax:
 	 *     WS?
 	 *
 	 * This ambiguous syntax occurs at:
 	 *     ranges+=VersionRange (ambiguity) '||' WS? ranges+=VersionRange
+	 
+	 * 
*/ protected void emit_VersionRangeSetRequirement_WSTerminalRuleCall_1_1_0_q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } /** + *
 	 * Ambiguous syntax:
 	 *     WS?
 	 *
 	 * This ambiguous syntax occurs at:
 	 *     ranges+=VersionRange WS? '||' (ambiguity) ranges+=VersionRange
+	 
+	 * 
*/ protected void emit_VersionRangeSetRequirement_WSTerminalRuleCall_1_1_2_q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); } /** + *
 	 * Ambiguous syntax:
 	 *     WS?
 	 *
 	 * This ambiguous syntax occurs at:
 	 *     ranges+=VersionRange (ambiguity) (rule end)
+	 
+	 * 
*/ protected void emit_VersionRangeSetRequirement_WSTerminalRuleCall_1_2_q(EObject semanticObject, ISynNavigable transition, List nodes) { acceptNodes(transition, nodes); diff --git a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/services/SemverGrammarAccess.java b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/services/SemverGrammarAccess.java index 0267c57d3c..1c220750cd 100644 --- a/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/services/SemverGrammarAccess.java +++ b/plugins/org.eclipse.n4js.semver/src-gen/org/eclipse/n4js/semver/services/SemverGrammarAccess.java @@ -43,8 +43,10 @@ public class NPMVersionRequirementElements extends AbstractParserRuleElementFind private final RuleCall cLocalPathVersionRequirementParserRuleCall_1_0_0 = (RuleCall)cAlternatives_1_0.eContents().get(0); private final Alternatives cAlternatives_1_0_1 = (Alternatives)cAlternatives_1_0.eContents().get(1); private final RuleCall cURLVersionRequirementParserRuleCall_1_0_1_0 = (RuleCall)cAlternatives_1_0_1.eContents().get(0); - private final RuleCall cGitHubVersionRequirementParserRuleCall_1_0_1_1 = (RuleCall)cAlternatives_1_0_1.eContents().get(1); - private final RuleCall cTagVersionRequirementParserRuleCall_1_0_1_2 = (RuleCall)cAlternatives_1_0_1.eContents().get(2); + private final Alternatives cAlternatives_1_0_1_1 = (Alternatives)cAlternatives_1_0_1.eContents().get(1); + private final RuleCall cWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0 = (RuleCall)cAlternatives_1_0_1_1.eContents().get(0); + private final RuleCall cGitHubVersionRequirementParserRuleCall_1_0_1_1_1 = (RuleCall)cAlternatives_1_0_1_1.eContents().get(1); + private final RuleCall cTagVersionRequirementParserRuleCall_1_0_1_1_2 = (RuleCall)cAlternatives_1_0_1_1.eContents().get(2); private final RuleCall cWSTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); //// This grammar of SemVer 2.0.0 is an adapted version of the BNF found at: @@ -55,8 +57,10 @@ public class NPMVersionRequirementElements extends AbstractParserRuleElementFind // ( // =>LocalPathVersionRequirement // | ( =>URLVersionRequirement - // | GitHubVersionRequirement - // | TagVersionRequirement + // | ( =>WorkspaceVersionRequirement + // | GitHubVersionRequirement + // | TagVersionRequirement // this can be any string + // ) // ) // ) WS? //; @@ -67,8 +71,10 @@ public class NPMVersionRequirementElements extends AbstractParserRuleElementFind // ( // =>LocalPathVersionRequirement // | ( =>URLVersionRequirement - // | GitHubVersionRequirement - // | TagVersionRequirement + // | ( =>WorkspaceVersionRequirement + // | GitHubVersionRequirement + // | TagVersionRequirement // this can be any string + // ) // ) // ) WS? public Alternatives getAlternatives() { return cAlternatives; } @@ -85,8 +91,10 @@ public class NPMVersionRequirementElements extends AbstractParserRuleElementFind //( // =>LocalPathVersionRequirement // | ( =>URLVersionRequirement - // | GitHubVersionRequirement - // | TagVersionRequirement + // | ( =>WorkspaceVersionRequirement + // | GitHubVersionRequirement + // | TagVersionRequirement // this can be any string + // ) // ) //) WS? public Group getGroup_1() { return cGroup_1; } @@ -94,8 +102,10 @@ public class NPMVersionRequirementElements extends AbstractParserRuleElementFind //( // =>LocalPathVersionRequirement // | ( =>URLVersionRequirement - // | GitHubVersionRequirement - // | TagVersionRequirement + // | ( =>WorkspaceVersionRequirement + // | GitHubVersionRequirement + // | TagVersionRequirement // this can be any string + // ) // ) //) public Alternatives getAlternatives_1_0() { return cAlternatives_1_0; } @@ -104,19 +114,30 @@ public class NPMVersionRequirementElements extends AbstractParserRuleElementFind public RuleCall getLocalPathVersionRequirementParserRuleCall_1_0_0() { return cLocalPathVersionRequirementParserRuleCall_1_0_0; } //( =>URLVersionRequirement - // | GitHubVersionRequirement - // | TagVersionRequirement + // | ( =>WorkspaceVersionRequirement + // | GitHubVersionRequirement + // | TagVersionRequirement // this can be any string + // ) // ) public Alternatives getAlternatives_1_0_1() { return cAlternatives_1_0_1; } //=>URLVersionRequirement public RuleCall getURLVersionRequirementParserRuleCall_1_0_1_0() { return cURLVersionRequirementParserRuleCall_1_0_1_0; } + //( =>WorkspaceVersionRequirement + // | GitHubVersionRequirement + // | TagVersionRequirement // this can be any string + // ) + public Alternatives getAlternatives_1_0_1_1() { return cAlternatives_1_0_1_1; } + + //=>WorkspaceVersionRequirement + public RuleCall getWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0() { return cWorkspaceVersionRequirementParserRuleCall_1_0_1_1_0; } + //GitHubVersionRequirement - public RuleCall getGitHubVersionRequirementParserRuleCall_1_0_1_1() { return cGitHubVersionRequirementParserRuleCall_1_0_1_1; } + public RuleCall getGitHubVersionRequirementParserRuleCall_1_0_1_1_1() { return cGitHubVersionRequirementParserRuleCall_1_0_1_1_1; } //TagVersionRequirement - public RuleCall getTagVersionRequirementParserRuleCall_1_0_1_2() { return cTagVersionRequirementParserRuleCall_1_0_1_2; } + public RuleCall getTagVersionRequirementParserRuleCall_1_0_1_1_2() { return cTagVersionRequirementParserRuleCall_1_0_1_1_2; } //WS? public RuleCall getWSTerminalRuleCall_1_1() { return cWSTerminalRuleCall_1_1; } @@ -299,24 +320,49 @@ public class URLSemverElements extends AbstractParserRuleElementFinder { //SimpleVersion public RuleCall getSimpleVersionSimpleVersionParserRuleCall_2_0() { return cSimpleVersionSimpleVersionParserRuleCall_2_0; } } - public class TagVersionRequirementElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.TagVersionRequirement"); - private final Assignment cTagNameAssignment = (Assignment)rule.eContents().get(1); - private final RuleCall cTagNameTAGParserRuleCall_0 = (RuleCall)cTagNameAssignment.eContents().get(0); - - ////URLCommitISH: - //// commitISH=ALPHA_NUMERIC_CHARS - ////; - //TagVersionRequirement: - // tagName=TAG + public class WorkspaceVersionRequirementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cWORKSPACE_TAGParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Assignment cVersionAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); + private final RuleCall cVersionSimpleVersionParserRuleCall_1_0_0 = (RuleCall)cVersionAssignment_1_0.eContents().get(0); + private final Assignment cOtherVersionAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); + private final RuleCall cOtherVersionWORKSPACE_VERSIONParserRuleCall_1_1_0 = (RuleCall)cOtherVersionAssignment_1_1.eContents().get(0); + + //WorkspaceVersionRequirement: + // (WORKSPACE_TAG) + // ( =>version=SimpleVersion + // | otherVersion=WORKSPACE_VERSION // fallback for various other version kinds + // ) //; @Override public ParserRule getRule() { return rule; } - //tagName=TAG - public Assignment getTagNameAssignment() { return cTagNameAssignment; } + //(WORKSPACE_TAG) + //( =>version=SimpleVersion + //| otherVersion=WORKSPACE_VERSION // fallback for various other version kinds + //) + public Group getGroup() { return cGroup; } - //TAG - public RuleCall getTagNameTAGParserRuleCall_0() { return cTagNameTAGParserRuleCall_0; } + //(WORKSPACE_TAG) + public RuleCall getWORKSPACE_TAGParserRuleCall_0() { return cWORKSPACE_TAGParserRuleCall_0; } + + //( =>version=SimpleVersion + //| otherVersion=WORKSPACE_VERSION // fallback for various other version kinds + //) + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //=>version=SimpleVersion + public Assignment getVersionAssignment_1_0() { return cVersionAssignment_1_0; } + + //SimpleVersion + public RuleCall getVersionSimpleVersionParserRuleCall_1_0_0() { return cVersionSimpleVersionParserRuleCall_1_0_0; } + + //otherVersion=WORKSPACE_VERSION + public Assignment getOtherVersionAssignment_1_1() { return cOtherVersionAssignment_1_1; } + + //WORKSPACE_VERSION + public RuleCall getOtherVersionWORKSPACE_VERSIONParserRuleCall_1_1_0() { return cOtherVersionWORKSPACE_VERSIONParserRuleCall_1_1_0; } } public class GitHubVersionRequirementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.GitHubVersionRequirement"); @@ -354,6 +400,25 @@ public class GitHubVersionRequirementElements extends AbstractParserRuleElementF //ALPHA_NUMERIC_CHARS public RuleCall getCommitISHALPHA_NUMERIC_CHARSParserRuleCall_1_1_0() { return cCommitISHALPHA_NUMERIC_CHARSParserRuleCall_1_1_0; } } + public class TagVersionRequirementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.TagVersionRequirement"); + private final Assignment cTagNameAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cTagNameTAGParserRuleCall_0 = (RuleCall)cTagNameAssignment.eContents().get(0); + + ////URLCommitISH: + //// commitISH=ALPHA_NUMERIC_CHARS + ////; + //TagVersionRequirement: + // tagName=TAG + //; + @Override public ParserRule getRule() { return rule; } + + //tagName=TAG + public Assignment getTagNameAssignment() { return cTagNameAssignment; } + + //TAG + public RuleCall getTagNameTAGParserRuleCall_0() { return cTagNameTAGParserRuleCall_0; } + } public class VersionRangeSetRequirementElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.VersionRangeSetRequirement"); private final Group cGroup = (Group)rule.eContents().get(1); @@ -852,23 +917,73 @@ public class SEMVER_TAGElements extends AbstractParserRuleElementFinder { //':' public Keyword getColonKeyword_6() { return cColonKeyword_6; } } + public class WORKSPACE_TAGElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.WORKSPACE_TAG"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cLETTER_WTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final RuleCall cLETTER_OTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); + private final RuleCall cLETTER_RTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2); + private final RuleCall cLETTER_KTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3); + private final RuleCall cLETTER_STerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4); + private final RuleCall cLETTER_PTerminalRuleCall_5 = (RuleCall)cGroup.eContents().get(5); + private final RuleCall cLETTER_ATerminalRuleCall_6 = (RuleCall)cGroup.eContents().get(6); + private final RuleCall cLETTER_CTerminalRuleCall_7 = (RuleCall)cGroup.eContents().get(7); + private final RuleCall cLETTER_ETerminalRuleCall_8 = (RuleCall)cGroup.eContents().get(8); + private final Keyword cColonKeyword_9 = (Keyword)cGroup.eContents().get(9); + + //WORKSPACE_TAG: + // LETTER_W LETTER_O LETTER_R LETTER_K LETTER_S LETTER_P LETTER_A LETTER_C LETTER_E ':' + //; + @Override public ParserRule getRule() { return rule; } + + //LETTER_W LETTER_O LETTER_R LETTER_K LETTER_S LETTER_P LETTER_A LETTER_C LETTER_E ':' + public Group getGroup() { return cGroup; } + + //LETTER_W + public RuleCall getLETTER_WTerminalRuleCall_0() { return cLETTER_WTerminalRuleCall_0; } + + //LETTER_O + public RuleCall getLETTER_OTerminalRuleCall_1() { return cLETTER_OTerminalRuleCall_1; } + + //LETTER_R + public RuleCall getLETTER_RTerminalRuleCall_2() { return cLETTER_RTerminalRuleCall_2; } + + //LETTER_K + public RuleCall getLETTER_KTerminalRuleCall_3() { return cLETTER_KTerminalRuleCall_3; } + + //LETTER_S + public RuleCall getLETTER_STerminalRuleCall_4() { return cLETTER_STerminalRuleCall_4; } + + //LETTER_P + public RuleCall getLETTER_PTerminalRuleCall_5() { return cLETTER_PTerminalRuleCall_5; } + + //LETTER_A + public RuleCall getLETTER_ATerminalRuleCall_6() { return cLETTER_ATerminalRuleCall_6; } + + //LETTER_C + public RuleCall getLETTER_CTerminalRuleCall_7() { return cLETTER_CTerminalRuleCall_7; } + + //LETTER_E + public RuleCall getLETTER_ETerminalRuleCall_8() { return cLETTER_ETerminalRuleCall_8; } + + //':' + public Keyword getColonKeyword_9() { return cColonKeyword_9; } + } public class PATHElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.PATH"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final Keyword cSolidusKeyword_0 = (Keyword)cAlternatives.eContents().get(0); private final Keyword cFullStopKeyword_1 = (Keyword)cAlternatives.eContents().get(1); private final Keyword cCommercialAtKeyword_2 = (Keyword)cAlternatives.eContents().get(2); - private final Keyword cHyphenMinusKeyword_3 = (Keyword)cAlternatives.eContents().get(3); - private final Keyword c_Keyword_4 = (Keyword)cAlternatives.eContents().get(4); - private final RuleCall cDIGITSTerminalRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); - private final RuleCall cLETTERParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); + private final Keyword c_Keyword_3 = (Keyword)cAlternatives.eContents().get(3); + private final RuleCall cALPHA_NUMERIC_CHARParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); //PATH: - // ('/' | '.' | '@' | '-' | '_' | DIGITS | LETTER)+ + // ('/' | '.' | '@' | '_' | ALPHA_NUMERIC_CHAR)+ //; @Override public ParserRule getRule() { return rule; } - //('/' | '.' | '@' | '-' | '_' | DIGITS | LETTER)+ + //('/' | '.' | '@' | '_' | ALPHA_NUMERIC_CHAR)+ public Alternatives getAlternatives() { return cAlternatives; } //'/' @@ -880,17 +995,11 @@ public class PATHElements extends AbstractParserRuleElementFinder { //'@' public Keyword getCommercialAtKeyword_2() { return cCommercialAtKeyword_2; } - //'-' - public Keyword getHyphenMinusKeyword_3() { return cHyphenMinusKeyword_3; } - //'_' - public Keyword get_Keyword_4() { return c_Keyword_4; } - - //DIGITS - public RuleCall getDIGITSTerminalRuleCall_5() { return cDIGITSTerminalRuleCall_5; } + public Keyword get_Keyword_3() { return c_Keyword_3; } - //LETTER - public RuleCall getLETTERParserRuleCall_6() { return cLETTERParserRuleCall_6; } + //ALPHA_NUMERIC_CHAR + public RuleCall getALPHA_NUMERIC_CHARParserRuleCall_4() { return cALPHA_NUMERIC_CHARParserRuleCall_4; } } public class URL_PROTOCOLElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.URL_PROTOCOL"); @@ -924,10 +1033,8 @@ public class URLElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.URL"); private final Group cGroup = (Group)rule.eContents().get(1); private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); - private final Keyword cHyphenMinusKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0); - private final Keyword c_Keyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); - private final RuleCall cDIGITSTerminalRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2); - private final RuleCall cLETTERParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3); + private final Keyword c_Keyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0); + private final RuleCall cALPHA_NUMERIC_CHARParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); private final Keyword cSolidusKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0); private final Keyword cFullStopKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1); @@ -938,37 +1045,29 @@ public class URLElements extends AbstractParserRuleElementFinder { private final Keyword cFullStopKeyword_2_1 = (Keyword)cAlternatives_2.eContents().get(1); private final Keyword cColonKeyword_2_2 = (Keyword)cAlternatives_2.eContents().get(2); private final Keyword cCommercialAtKeyword_2_3 = (Keyword)cAlternatives_2.eContents().get(3); - private final Keyword cHyphenMinusKeyword_2_4 = (Keyword)cAlternatives_2.eContents().get(4); - private final Keyword c_Keyword_2_5 = (Keyword)cAlternatives_2.eContents().get(5); - private final RuleCall cDIGITSTerminalRuleCall_2_6 = (RuleCall)cAlternatives_2.eContents().get(6); - private final RuleCall cLETTERParserRuleCall_2_7 = (RuleCall)cAlternatives_2.eContents().get(7); + private final Keyword c_Keyword_2_4 = (Keyword)cAlternatives_2.eContents().get(4); + private final RuleCall cALPHA_NUMERIC_CHARParserRuleCall_2_5 = (RuleCall)cAlternatives_2.eContents().get(5); //URL: - // ('-' | '_' | DIGITS | LETTER)* + // ('_' | ALPHA_NUMERIC_CHAR)* // ('/' | '.' | ':' | '@') - // ('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + // ('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* //; @Override public ParserRule getRule() { return rule; } - //('-' | '_' | DIGITS | LETTER)* + //('_' | ALPHA_NUMERIC_CHAR)* //('/' | '.' | ':' | '@') - //('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + //('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* public Group getGroup() { return cGroup; } - //('-' | '_' | DIGITS | LETTER)* + //('_' | ALPHA_NUMERIC_CHAR)* public Alternatives getAlternatives_0() { return cAlternatives_0; } - //'-' - public Keyword getHyphenMinusKeyword_0_0() { return cHyphenMinusKeyword_0_0; } - //'_' - public Keyword get_Keyword_0_1() { return c_Keyword_0_1; } + public Keyword get_Keyword_0_0() { return c_Keyword_0_0; } - //DIGITS - public RuleCall getDIGITSTerminalRuleCall_0_2() { return cDIGITSTerminalRuleCall_0_2; } - - //LETTER - public RuleCall getLETTERParserRuleCall_0_3() { return cLETTERParserRuleCall_0_3; } + //ALPHA_NUMERIC_CHAR + public RuleCall getALPHA_NUMERIC_CHARParserRuleCall_0_1() { return cALPHA_NUMERIC_CHARParserRuleCall_0_1; } //('/' | '.' | ':' | '@') public Alternatives getAlternatives_1() { return cAlternatives_1; } @@ -985,7 +1084,7 @@ public class URLElements extends AbstractParserRuleElementFinder { //'@' public Keyword getCommercialAtKeyword_1_3() { return cCommercialAtKeyword_1_3; } - //('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + //('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* public Alternatives getAlternatives_2() { return cAlternatives_2; } //'/' @@ -1000,30 +1099,22 @@ public class URLElements extends AbstractParserRuleElementFinder { //'@' public Keyword getCommercialAtKeyword_2_3() { return cCommercialAtKeyword_2_3; } - //'-' - public Keyword getHyphenMinusKeyword_2_4() { return cHyphenMinusKeyword_2_4; } - //'_' - public Keyword get_Keyword_2_5() { return c_Keyword_2_5; } - - //DIGITS - public RuleCall getDIGITSTerminalRuleCall_2_6() { return cDIGITSTerminalRuleCall_2_6; } + public Keyword get_Keyword_2_4() { return c_Keyword_2_4; } - //LETTER - public RuleCall getLETTERParserRuleCall_2_7() { return cLETTERParserRuleCall_2_7; } + //ALPHA_NUMERIC_CHAR + public RuleCall getALPHA_NUMERIC_CHARParserRuleCall_2_5() { return cALPHA_NUMERIC_CHARParserRuleCall_2_5; } } public class URL_NO_VXElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.URL_NO_VX"); private final Group cGroup = (Group)rule.eContents().get(1); private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); - private final Keyword cHyphenMinusKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0); - private final Keyword c_Keyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); + private final Keyword c_Keyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0); + private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); private final RuleCall cLETTER_NO_VXParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2); private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); - private final Keyword cHyphenMinusKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0); - private final Keyword c_Keyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1); - private final RuleCall cDIGITSTerminalRuleCall_1_2 = (RuleCall)cAlternatives_1.eContents().get(2); - private final RuleCall cLETTERParserRuleCall_1_3 = (RuleCall)cAlternatives_1.eContents().get(3); + private final Keyword c_Keyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0); + private final RuleCall cALPHA_NUMERIC_CHARParserRuleCall_1_1 = (RuleCall)cAlternatives_1.eContents().get(1); private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); private final Keyword cSolidusKeyword_2_0 = (Keyword)cAlternatives_2.eContents().get(0); private final Keyword cFullStopKeyword_2_1 = (Keyword)cAlternatives_2.eContents().get(1); @@ -1034,51 +1125,43 @@ public class URL_NO_VXElements extends AbstractParserRuleElementFinder { private final Keyword cFullStopKeyword_3_1 = (Keyword)cAlternatives_3.eContents().get(1); private final Keyword cColonKeyword_3_2 = (Keyword)cAlternatives_3.eContents().get(2); private final Keyword cCommercialAtKeyword_3_3 = (Keyword)cAlternatives_3.eContents().get(3); - private final Keyword cHyphenMinusKeyword_3_4 = (Keyword)cAlternatives_3.eContents().get(4); - private final Keyword c_Keyword_3_5 = (Keyword)cAlternatives_3.eContents().get(5); - private final RuleCall cDIGITSTerminalRuleCall_3_6 = (RuleCall)cAlternatives_3.eContents().get(6); - private final RuleCall cLETTERParserRuleCall_3_7 = (RuleCall)cAlternatives_3.eContents().get(7); + private final Keyword c_Keyword_3_4 = (Keyword)cAlternatives_3.eContents().get(4); + private final RuleCall cALPHA_NUMERIC_CHARParserRuleCall_3_5 = (RuleCall)cAlternatives_3.eContents().get(5); //URL_NO_VX: - // ('-' | '_' | LETTER_NO_VX) - // ('-' | '_' | DIGITS | LETTER)* + // ('_' | '-' | LETTER_NO_VX) + // ('_' | ALPHA_NUMERIC_CHAR)* // ('/' | '.' | ':' | '@') - // ('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + // ('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* //; @Override public ParserRule getRule() { return rule; } - //('-' | '_' | LETTER_NO_VX) - //('-' | '_' | DIGITS | LETTER)* + //('_' | '-' | LETTER_NO_VX) + //('_' | ALPHA_NUMERIC_CHAR)* //('/' | '.' | ':' | '@') - //('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + //('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* public Group getGroup() { return cGroup; } - //('-' | '_' | LETTER_NO_VX) + //('_' | '-' | LETTER_NO_VX) public Alternatives getAlternatives_0() { return cAlternatives_0; } - //'-' - public Keyword getHyphenMinusKeyword_0_0() { return cHyphenMinusKeyword_0_0; } - //'_' - public Keyword get_Keyword_0_1() { return c_Keyword_0_1; } + public Keyword get_Keyword_0_0() { return c_Keyword_0_0; } + + //'-' + public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; } //LETTER_NO_VX public RuleCall getLETTER_NO_VXParserRuleCall_0_2() { return cLETTER_NO_VXParserRuleCall_0_2; } - //('-' | '_' | DIGITS | LETTER)* + //('_' | ALPHA_NUMERIC_CHAR)* public Alternatives getAlternatives_1() { return cAlternatives_1; } - //'-' - public Keyword getHyphenMinusKeyword_1_0() { return cHyphenMinusKeyword_1_0; } - //'_' - public Keyword get_Keyword_1_1() { return c_Keyword_1_1; } + public Keyword get_Keyword_1_0() { return c_Keyword_1_0; } - //DIGITS - public RuleCall getDIGITSTerminalRuleCall_1_2() { return cDIGITSTerminalRuleCall_1_2; } - - //LETTER - public RuleCall getLETTERParserRuleCall_1_3() { return cLETTERParserRuleCall_1_3; } + //ALPHA_NUMERIC_CHAR + public RuleCall getALPHA_NUMERIC_CHARParserRuleCall_1_1() { return cALPHA_NUMERIC_CHARParserRuleCall_1_1; } //('/' | '.' | ':' | '@') public Alternatives getAlternatives_2() { return cAlternatives_2; } @@ -1095,7 +1178,7 @@ public class URL_NO_VXElements extends AbstractParserRuleElementFinder { //'@' public Keyword getCommercialAtKeyword_2_3() { return cCommercialAtKeyword_2_3; } - //('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + //('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* public Alternatives getAlternatives_3() { return cAlternatives_3; } //'/' @@ -1110,105 +1193,155 @@ public class URL_NO_VXElements extends AbstractParserRuleElementFinder { //'@' public Keyword getCommercialAtKeyword_3_3() { return cCommercialAtKeyword_3_3; } - //'-' - public Keyword getHyphenMinusKeyword_3_4() { return cHyphenMinusKeyword_3_4; } - //'_' - public Keyword get_Keyword_3_5() { return c_Keyword_3_5; } - - //DIGITS - public RuleCall getDIGITSTerminalRuleCall_3_6() { return cDIGITSTerminalRuleCall_3_6; } + public Keyword get_Keyword_3_4() { return c_Keyword_3_4; } - //LETTER - public RuleCall getLETTERParserRuleCall_3_7() { return cLETTERParserRuleCall_3_7; } + //ALPHA_NUMERIC_CHAR + public RuleCall getALPHA_NUMERIC_CHARParserRuleCall_3_5() { return cALPHA_NUMERIC_CHARParserRuleCall_3_5; } } public class TAGElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.TAG"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cLETTER_NO_VXParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); - private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); - private final Keyword cHyphenMinusKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0); - private final RuleCall cDIGITSTerminalRuleCall_1_1 = (RuleCall)cAlternatives_1.eContents().get(1); - private final RuleCall cLETTERParserRuleCall_1_2 = (RuleCall)cAlternatives_1.eContents().get(2); + private final RuleCall cALPHA_NUMERIC_CHARSParserRuleCall_1 = (RuleCall)cGroup.eContents().get(1); //TAG: - // (LETTER_NO_VX /*| LETTER_X*/) ('-' | DIGITS | LETTER)+ + // (LETTER_NO_VX /*| LETTER_X*/) ALPHA_NUMERIC_CHARS //; @Override public ParserRule getRule() { return rule; } - //(LETTER_NO_VX /*| LETTER_X*/) ('-' | DIGITS | LETTER)+ + //(LETTER_NO_VX /*| LETTER_X*/) ALPHA_NUMERIC_CHARS public Group getGroup() { return cGroup; } //(LETTER_NO_VX /*| LETTER_X*/) public RuleCall getLETTER_NO_VXParserRuleCall_0() { return cLETTER_NO_VXParserRuleCall_0; } - //('-' | DIGITS | LETTER)+ - public Alternatives getAlternatives_1() { return cAlternatives_1; } - - //'-' - public Keyword getHyphenMinusKeyword_1_0() { return cHyphenMinusKeyword_1_0; } - - //DIGITS - public RuleCall getDIGITSTerminalRuleCall_1_1() { return cDIGITSTerminalRuleCall_1_1; } - - //LETTER - public RuleCall getLETTERParserRuleCall_1_2() { return cLETTERParserRuleCall_1_2; } + //ALPHA_NUMERIC_CHARS + public RuleCall getALPHA_NUMERIC_CHARSParserRuleCall_1() { return cALPHA_NUMERIC_CHARSParserRuleCall_1; } } - public class ALPHA_NUMERIC_CHARSElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.ALPHA_NUMERIC_CHARS"); + public class WORKSPACE_VERSIONElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.WORKSPACE_VERSION"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final Keyword cHyphenMinusKeyword_0 = (Keyword)cAlternatives.eContents().get(0); - private final RuleCall cDIGITSTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cLETTERParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - - //ALPHA_NUMERIC_CHARS: - // ('-' | DIGITS | LETTER)+ + private final Keyword cSolidusKeyword_0 = (Keyword)cAlternatives.eContents().get(0); + private final Keyword cFullStopKeyword_1 = (Keyword)cAlternatives.eContents().get(1); + private final Keyword cColonKeyword_2 = (Keyword)cAlternatives.eContents().get(2); + private final Keyword cCommercialAtKeyword_3 = (Keyword)cAlternatives.eContents().get(3); + private final Keyword c_Keyword_4 = (Keyword)cAlternatives.eContents().get(4); + private final Keyword cEqualsSignKeyword_5 = (Keyword)cAlternatives.eContents().get(5); + private final Keyword cTildeKeyword_6 = (Keyword)cAlternatives.eContents().get(6); + private final Keyword cCircumflexAccentKeyword_7 = (Keyword)cAlternatives.eContents().get(7); + private final Keyword cLessThanSignKeyword_8 = (Keyword)cAlternatives.eContents().get(8); + private final Keyword cGreaterThanSignKeyword_9 = (Keyword)cAlternatives.eContents().get(9); + private final Keyword cLessThanSignEqualsSignKeyword_10 = (Keyword)cAlternatives.eContents().get(10); + private final Keyword cGreaterThanSignEqualsSignKeyword_11 = (Keyword)cAlternatives.eContents().get(11); + private final RuleCall cASTERIXTerminalRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12); + private final RuleCall cALPHA_NUMERIC_CHARParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13); + + //WORKSPACE_VERSION: + // ( '/' | '.' | ':' | '@' | '_' | '=' | '~' | '^' | '<' | '>' | '<=' | '>=' | ASTERIX | ALPHA_NUMERIC_CHAR)+ //; @Override public ParserRule getRule() { return rule; } - //('-' | DIGITS | LETTER)+ + //( '/' | '.' | ':' | '@' | '_' | '=' | '~' | '^' | '<' | '>' | '<=' | '>=' | ASTERIX | ALPHA_NUMERIC_CHAR)+ public Alternatives getAlternatives() { return cAlternatives; } - //'-' - public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } + //'/' + public Keyword getSolidusKeyword_0() { return cSolidusKeyword_0; } - //DIGITS - public RuleCall getDIGITSTerminalRuleCall_1() { return cDIGITSTerminalRuleCall_1; } + //'.' + public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; } - //LETTER - public RuleCall getLETTERParserRuleCall_2() { return cLETTERParserRuleCall_2; } + //':' + public Keyword getColonKeyword_2() { return cColonKeyword_2; } + + //'@' + public Keyword getCommercialAtKeyword_3() { return cCommercialAtKeyword_3; } + + //'_' + public Keyword get_Keyword_4() { return c_Keyword_4; } + + //'=' + public Keyword getEqualsSignKeyword_5() { return cEqualsSignKeyword_5; } + + //'~' + public Keyword getTildeKeyword_6() { return cTildeKeyword_6; } + + //'^' + public Keyword getCircumflexAccentKeyword_7() { return cCircumflexAccentKeyword_7; } + + //'<' + public Keyword getLessThanSignKeyword_8() { return cLessThanSignKeyword_8; } + + //'>' + public Keyword getGreaterThanSignKeyword_9() { return cGreaterThanSignKeyword_9; } + + //'<=' + public Keyword getLessThanSignEqualsSignKeyword_10() { return cLessThanSignEqualsSignKeyword_10; } + + //'>=' + public Keyword getGreaterThanSignEqualsSignKeyword_11() { return cGreaterThanSignEqualsSignKeyword_11; } + + //ASTERIX + public RuleCall getASTERIXTerminalRuleCall_12() { return cASTERIXTerminalRuleCall_12; } + + //ALPHA_NUMERIC_CHAR + public RuleCall getALPHA_NUMERIC_CHARParserRuleCall_13() { return cALPHA_NUMERIC_CHARParserRuleCall_13; } } public class ALPHA_NUMERIC_CHARS_START_WITH_DIGITSElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.ALPHA_NUMERIC_CHARS_START_WITH_DIGITS"); private final Group cGroup = (Group)rule.eContents().get(1); private final RuleCall cDIGITSTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); - private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); - private final Keyword cHyphenMinusKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0); - private final RuleCall cDIGITSTerminalRuleCall_1_1 = (RuleCall)cAlternatives_1.eContents().get(1); - private final RuleCall cLETTERParserRuleCall_1_2 = (RuleCall)cAlternatives_1.eContents().get(2); + private final RuleCall cALPHA_NUMERIC_CHARSParserRuleCall_1 = (RuleCall)cGroup.eContents().get(1); //ALPHA_NUMERIC_CHARS_START_WITH_DIGITS: - // DIGITS ('-' | DIGITS | LETTER)+ + // DIGITS ALPHA_NUMERIC_CHARS //; @Override public ParserRule getRule() { return rule; } - //DIGITS ('-' | DIGITS | LETTER)+ + //DIGITS ALPHA_NUMERIC_CHARS public Group getGroup() { return cGroup; } //DIGITS public RuleCall getDIGITSTerminalRuleCall_0() { return cDIGITSTerminalRuleCall_0; } - //('-' | DIGITS | LETTER)+ - public Alternatives getAlternatives_1() { return cAlternatives_1; } + //ALPHA_NUMERIC_CHARS + public RuleCall getALPHA_NUMERIC_CHARSParserRuleCall_1() { return cALPHA_NUMERIC_CHARSParserRuleCall_1; } + } + public class ALPHA_NUMERIC_CHARSElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.ALPHA_NUMERIC_CHARS"); + private final RuleCall cALPHA_NUMERIC_CHARParserRuleCall = (RuleCall)rule.eContents().get(1); + + //ALPHA_NUMERIC_CHARS: + // ALPHA_NUMERIC_CHAR+ + //; + @Override public ParserRule getRule() { return rule; } + + //ALPHA_NUMERIC_CHAR+ + public RuleCall getALPHA_NUMERIC_CHARParserRuleCall() { return cALPHA_NUMERIC_CHARParserRuleCall; } + } + public class ALPHA_NUMERIC_CHARElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.ALPHA_NUMERIC_CHAR"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Keyword cHyphenMinusKeyword_0 = (Keyword)cAlternatives.eContents().get(0); + private final RuleCall cDIGITSTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cLETTERParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //ALPHA_NUMERIC_CHAR: + // '-' | DIGITS | LETTER + //; + @Override public ParserRule getRule() { return rule; } + + //'-' | DIGITS | LETTER + public Alternatives getAlternatives() { return cAlternatives; } //'-' - public Keyword getHyphenMinusKeyword_1_0() { return cHyphenMinusKeyword_1_0; } + public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } //DIGITS - public RuleCall getDIGITSTerminalRuleCall_1_1() { return cDIGITSTerminalRuleCall_1_1; } + public RuleCall getDIGITSTerminalRuleCall_1() { return cDIGITSTerminalRuleCall_1; } //LETTER - public RuleCall getLETTERParserRuleCall_1_2() { return cLETTERParserRuleCall_1_2; } + public RuleCall getLETTERParserRuleCall_2() { return cLETTERParserRuleCall_2; } } public class WILDCARDElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.WILDCARD"); @@ -1261,45 +1394,63 @@ public class LETTERElements extends AbstractParserRuleElementFinder { public class LETTER_NO_VXElements extends AbstractParserRuleElementFinder { private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_NO_VX"); private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cLETTER_STerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cLETTER_MTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cLETTER_RTerminalRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cLETTER_ATerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cLETTER_CTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cLETTER_ETerminalRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); private final RuleCall cLETTER_FTerminalRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); private final RuleCall cLETTER_ITerminalRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); - private final RuleCall cLETTER_LTerminalRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); - private final RuleCall cLETTER_ETerminalRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); - private final RuleCall cLETTER_OTHERTerminalRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); + private final RuleCall cLETTER_KTerminalRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + private final RuleCall cLETTER_LTerminalRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); + private final RuleCall cLETTER_MTerminalRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); + private final RuleCall cLETTER_OTerminalRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8); + private final RuleCall cLETTER_PTerminalRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9); + private final RuleCall cLETTER_RTerminalRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10); + private final RuleCall cLETTER_STerminalRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11); + private final RuleCall cLETTER_WTerminalRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12); + private final RuleCall cLETTER_OTHERTerminalRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13); //fragment LETTER_NO_VX: - // LETTER_S - // | LETTER_M - // | LETTER_R + // LETTER_A + // | LETTER_C + // | LETTER_E // | LETTER_F // | LETTER_I + // | LETTER_K // | LETTER_L - // | LETTER_E + // | LETTER_M + // | LETTER_O + // | LETTER_P + // | LETTER_R + // | LETTER_S + // | LETTER_W // | LETTER_OTHER //; @Override public ParserRule getRule() { return rule; } - //LETTER_S - //| LETTER_M - //| LETTER_R + //LETTER_A + //| LETTER_C + //| LETTER_E //| LETTER_F //| LETTER_I + //| LETTER_K //| LETTER_L - //| LETTER_E + //| LETTER_M + //| LETTER_O + //| LETTER_P + //| LETTER_R + //| LETTER_S + //| LETTER_W //| LETTER_OTHER public Alternatives getAlternatives() { return cAlternatives; } - //LETTER_S - public RuleCall getLETTER_STerminalRuleCall_0() { return cLETTER_STerminalRuleCall_0; } + //LETTER_A + public RuleCall getLETTER_ATerminalRuleCall_0() { return cLETTER_ATerminalRuleCall_0; } - //LETTER_M - public RuleCall getLETTER_MTerminalRuleCall_1() { return cLETTER_MTerminalRuleCall_1; } + //LETTER_C + public RuleCall getLETTER_CTerminalRuleCall_1() { return cLETTER_CTerminalRuleCall_1; } - //LETTER_R - public RuleCall getLETTER_RTerminalRuleCall_2() { return cLETTER_RTerminalRuleCall_2; } + //LETTER_E + public RuleCall getLETTER_ETerminalRuleCall_2() { return cLETTER_ETerminalRuleCall_2; } //LETTER_F public RuleCall getLETTER_FTerminalRuleCall_3() { return cLETTER_FTerminalRuleCall_3; } @@ -1307,14 +1458,32 @@ public class LETTER_NO_VXElements extends AbstractParserRuleElementFinder { //LETTER_I public RuleCall getLETTER_ITerminalRuleCall_4() { return cLETTER_ITerminalRuleCall_4; } + //LETTER_K + public RuleCall getLETTER_KTerminalRuleCall_5() { return cLETTER_KTerminalRuleCall_5; } + //LETTER_L - public RuleCall getLETTER_LTerminalRuleCall_5() { return cLETTER_LTerminalRuleCall_5; } + public RuleCall getLETTER_LTerminalRuleCall_6() { return cLETTER_LTerminalRuleCall_6; } - //LETTER_E - public RuleCall getLETTER_ETerminalRuleCall_6() { return cLETTER_ETerminalRuleCall_6; } + //LETTER_M + public RuleCall getLETTER_MTerminalRuleCall_7() { return cLETTER_MTerminalRuleCall_7; } + + //LETTER_O + public RuleCall getLETTER_OTerminalRuleCall_8() { return cLETTER_OTerminalRuleCall_8; } + + //LETTER_P + public RuleCall getLETTER_PTerminalRuleCall_9() { return cLETTER_PTerminalRuleCall_9; } + + //LETTER_R + public RuleCall getLETTER_RTerminalRuleCall_10() { return cLETTER_RTerminalRuleCall_10; } + + //LETTER_S + public RuleCall getLETTER_STerminalRuleCall_11() { return cLETTER_STerminalRuleCall_11; } + + //LETTER_W + public RuleCall getLETTER_WTerminalRuleCall_12() { return cLETTER_WTerminalRuleCall_12; } //LETTER_OTHER - public RuleCall getLETTER_OTHERTerminalRuleCall_7() { return cLETTER_OTHERTerminalRuleCall_7; } + public RuleCall getLETTER_OTHERTerminalRuleCall_13() { return cLETTER_OTHERTerminalRuleCall_13; } } public class VersionComparatorElements extends AbstractElementFinder.AbstractEnumRuleElementFinder { @@ -1322,36 +1491,36 @@ public class VersionComparatorElements extends AbstractElementFinder.AbstractEnu private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); private final EnumLiteralDeclaration cEqualsEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); private final Keyword cEqualsEqualsSignKeyword_0_0 = (Keyword)cEqualsEnumLiteralDeclaration_0.eContents().get(0); - private final EnumLiteralDeclaration cSmallerEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); - private final Keyword cSmallerLessThanSignKeyword_1_0 = (Keyword)cSmallerEnumLiteralDeclaration_1.eContents().get(0); - private final EnumLiteralDeclaration cTildeEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); - private final Keyword cTildeTildeKeyword_2_0 = (Keyword)cTildeEnumLiteralDeclaration_2.eContents().get(0); - private final EnumLiteralDeclaration cCaretEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); - private final Keyword cCaretCircumflexAccentKeyword_3_0 = (Keyword)cCaretEnumLiteralDeclaration_3.eContents().get(0); - private final EnumLiteralDeclaration cSmallerEqualsEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); - private final Keyword cSmallerEqualsLessThanSignEqualsSignKeyword_4_0 = (Keyword)cSmallerEqualsEnumLiteralDeclaration_4.eContents().get(0); - private final EnumLiteralDeclaration cGreaterEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); - private final Keyword cGreaterGreaterThanSignKeyword_5_0 = (Keyword)cGreaterEnumLiteralDeclaration_5.eContents().get(0); + private final EnumLiteralDeclaration cTildeEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cTildeTildeKeyword_1_0 = (Keyword)cTildeEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cCaretEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cCaretCircumflexAccentKeyword_2_0 = (Keyword)cCaretEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cSmallerEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cSmallerLessThanSignKeyword_3_0 = (Keyword)cSmallerEnumLiteralDeclaration_3.eContents().get(0); + private final EnumLiteralDeclaration cGreaterEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); + private final Keyword cGreaterGreaterThanSignKeyword_4_0 = (Keyword)cGreaterEnumLiteralDeclaration_4.eContents().get(0); + private final EnumLiteralDeclaration cSmallerEqualsEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); + private final Keyword cSmallerEqualsLessThanSignEqualsSignKeyword_5_0 = (Keyword)cSmallerEqualsEnumLiteralDeclaration_5.eContents().get(0); private final EnumLiteralDeclaration cGreaterEqualsEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); private final Keyword cGreaterEqualsGreaterThanSignEqualsSignKeyword_6_0 = (Keyword)cGreaterEqualsEnumLiteralDeclaration_6.eContents().get(0); //enum VersionComparator: // Equals = '=' - //| Smaller = '<' //| Tilde = '~' //| Caret = '^' - //| SmallerEquals = '<=' + //| Smaller = '<' //| Greater = '>' + //| SmallerEquals = '<=' //| GreaterEquals = '>=' //; public EnumRule getRule() { return rule; } // Equals = '=' - //| Smaller = '<' //| Tilde = '~' //| Caret = '^' - //| SmallerEquals = '<=' + //| Smaller = '<' //| Greater = '>' + //| SmallerEquals = '<=' //| GreaterEquals = '>=' public Alternatives getAlternatives() { return cAlternatives; } @@ -1361,35 +1530,35 @@ public class VersionComparatorElements extends AbstractElementFinder.AbstractEnu //'=' public Keyword getEqualsEqualsSignKeyword_0_0() { return cEqualsEqualsSignKeyword_0_0; } - //Smaller = '<' - public EnumLiteralDeclaration getSmallerEnumLiteralDeclaration_1() { return cSmallerEnumLiteralDeclaration_1; } - - //'<' - public Keyword getSmallerLessThanSignKeyword_1_0() { return cSmallerLessThanSignKeyword_1_0; } - //Tilde = '~' - public EnumLiteralDeclaration getTildeEnumLiteralDeclaration_2() { return cTildeEnumLiteralDeclaration_2; } + public EnumLiteralDeclaration getTildeEnumLiteralDeclaration_1() { return cTildeEnumLiteralDeclaration_1; } //'~' - public Keyword getTildeTildeKeyword_2_0() { return cTildeTildeKeyword_2_0; } + public Keyword getTildeTildeKeyword_1_0() { return cTildeTildeKeyword_1_0; } //Caret = '^' - public EnumLiteralDeclaration getCaretEnumLiteralDeclaration_3() { return cCaretEnumLiteralDeclaration_3; } + public EnumLiteralDeclaration getCaretEnumLiteralDeclaration_2() { return cCaretEnumLiteralDeclaration_2; } //'^' - public Keyword getCaretCircumflexAccentKeyword_3_0() { return cCaretCircumflexAccentKeyword_3_0; } + public Keyword getCaretCircumflexAccentKeyword_2_0() { return cCaretCircumflexAccentKeyword_2_0; } - //SmallerEquals = '<=' - public EnumLiteralDeclaration getSmallerEqualsEnumLiteralDeclaration_4() { return cSmallerEqualsEnumLiteralDeclaration_4; } + //Smaller = '<' + public EnumLiteralDeclaration getSmallerEnumLiteralDeclaration_3() { return cSmallerEnumLiteralDeclaration_3; } - //'<=' - public Keyword getSmallerEqualsLessThanSignEqualsSignKeyword_4_0() { return cSmallerEqualsLessThanSignEqualsSignKeyword_4_0; } + //'<' + public Keyword getSmallerLessThanSignKeyword_3_0() { return cSmallerLessThanSignKeyword_3_0; } //Greater = '>' - public EnumLiteralDeclaration getGreaterEnumLiteralDeclaration_5() { return cGreaterEnumLiteralDeclaration_5; } + public EnumLiteralDeclaration getGreaterEnumLiteralDeclaration_4() { return cGreaterEnumLiteralDeclaration_4; } //'>' - public Keyword getGreaterGreaterThanSignKeyword_5_0() { return cGreaterGreaterThanSignKeyword_5_0; } + public Keyword getGreaterGreaterThanSignKeyword_4_0() { return cGreaterGreaterThanSignKeyword_4_0; } + + //SmallerEquals = '<=' + public EnumLiteralDeclaration getSmallerEqualsEnumLiteralDeclaration_5() { return cSmallerEqualsEnumLiteralDeclaration_5; } + + //'<=' + public Keyword getSmallerEqualsLessThanSignEqualsSignKeyword_5_0() { return cSmallerEqualsLessThanSignEqualsSignKeyword_5_0; } //GreaterEquals = '>=' public EnumLiteralDeclaration getGreaterEqualsEnumLiteralDeclaration_6() { return cGreaterEqualsEnumLiteralDeclaration_6; } @@ -1403,8 +1572,9 @@ public class VersionComparatorElements extends AbstractElementFinder.AbstractEnu private final URLVersionRequirementElements pURLVersionRequirement; private final URLVersionSpecifierElements pURLVersionSpecifier; private final URLSemverElements pURLSemver; - private final TagVersionRequirementElements pTagVersionRequirement; + private final WorkspaceVersionRequirementElements pWorkspaceVersionRequirement; private final GitHubVersionRequirementElements pGitHubVersionRequirement; + private final TagVersionRequirementElements pTagVersionRequirement; private final VersionRangeSetRequirementElements pVersionRangeSetRequirement; private final VersionRangeElements pVersionRange; private final HyphenVersionRangeElements pHyphenVersionRange; @@ -1416,24 +1586,33 @@ public class VersionComparatorElements extends AbstractElementFinder.AbstractEnu private final QualifierTagElements pQualifierTag; private final FILE_TAGElements pFILE_TAG; private final SEMVER_TAGElements pSEMVER_TAG; + private final WORKSPACE_TAGElements pWORKSPACE_TAG; private final PATHElements pPATH; private final URL_PROTOCOLElements pURL_PROTOCOL; private final URLElements pURL; private final URL_NO_VXElements pURL_NO_VX; private final TAGElements pTAG; - private final ALPHA_NUMERIC_CHARSElements pALPHA_NUMERIC_CHARS; + private final WORKSPACE_VERSIONElements pWORKSPACE_VERSION; private final ALPHA_NUMERIC_CHARS_START_WITH_DIGITSElements pALPHA_NUMERIC_CHARS_START_WITH_DIGITS; + private final ALPHA_NUMERIC_CHARSElements pALPHA_NUMERIC_CHARS; + private final ALPHA_NUMERIC_CHARElements pALPHA_NUMERIC_CHAR; private final WILDCARDElements pWILDCARD; private final LETTERElements pLETTER; private final LETTER_NO_VXElements pLETTER_NO_VX; - private final TerminalRule tLETTER_S; - private final TerminalRule tLETTER_M; - private final TerminalRule tLETTER_R; + private final TerminalRule tLETTER_A; + private final TerminalRule tLETTER_C; + private final TerminalRule tLETTER_E; private final TerminalRule tLETTER_F; private final TerminalRule tLETTER_I; + private final TerminalRule tLETTER_K; private final TerminalRule tLETTER_L; - private final TerminalRule tLETTER_E; + private final TerminalRule tLETTER_M; + private final TerminalRule tLETTER_O; + private final TerminalRule tLETTER_P; + private final TerminalRule tLETTER_R; + private final TerminalRule tLETTER_S; private final TerminalRule tLETTER_V; + private final TerminalRule tLETTER_W; private final TerminalRule tLETTER_X; private final TerminalRule tLETTER_OTHER; private final TerminalRule tASTERIX; @@ -1456,8 +1635,9 @@ public SemverGrammarAccess(GrammarProvider grammarProvider, this.pURLVersionRequirement = new URLVersionRequirementElements(); this.pURLVersionSpecifier = new URLVersionSpecifierElements(); this.pURLSemver = new URLSemverElements(); - this.pTagVersionRequirement = new TagVersionRequirementElements(); + this.pWorkspaceVersionRequirement = new WorkspaceVersionRequirementElements(); this.pGitHubVersionRequirement = new GitHubVersionRequirementElements(); + this.pTagVersionRequirement = new TagVersionRequirementElements(); this.pVersionRangeSetRequirement = new VersionRangeSetRequirementElements(); this.pVersionRange = new VersionRangeElements(); this.pHyphenVersionRange = new HyphenVersionRangeElements(); @@ -1469,24 +1649,33 @@ public SemverGrammarAccess(GrammarProvider grammarProvider, this.pQualifierTag = new QualifierTagElements(); this.pFILE_TAG = new FILE_TAGElements(); this.pSEMVER_TAG = new SEMVER_TAGElements(); + this.pWORKSPACE_TAG = new WORKSPACE_TAGElements(); this.pPATH = new PATHElements(); this.pURL_PROTOCOL = new URL_PROTOCOLElements(); this.pURL = new URLElements(); this.pURL_NO_VX = new URL_NO_VXElements(); this.pTAG = new TAGElements(); - this.pALPHA_NUMERIC_CHARS = new ALPHA_NUMERIC_CHARSElements(); + this.pWORKSPACE_VERSION = new WORKSPACE_VERSIONElements(); this.pALPHA_NUMERIC_CHARS_START_WITH_DIGITS = new ALPHA_NUMERIC_CHARS_START_WITH_DIGITSElements(); + this.pALPHA_NUMERIC_CHARS = new ALPHA_NUMERIC_CHARSElements(); + this.pALPHA_NUMERIC_CHAR = new ALPHA_NUMERIC_CHARElements(); this.pWILDCARD = new WILDCARDElements(); this.pLETTER = new LETTERElements(); this.pLETTER_NO_VX = new LETTER_NO_VXElements(); - this.tLETTER_S = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_S"); - this.tLETTER_M = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_M"); - this.tLETTER_R = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_R"); + this.tLETTER_A = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_A"); + this.tLETTER_C = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_C"); + this.tLETTER_E = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_E"); this.tLETTER_F = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_F"); this.tLETTER_I = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_I"); + this.tLETTER_K = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_K"); this.tLETTER_L = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_L"); - this.tLETTER_E = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_E"); + this.tLETTER_M = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_M"); + this.tLETTER_O = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_O"); + this.tLETTER_P = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_P"); + this.tLETTER_R = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_R"); + this.tLETTER_S = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_S"); this.tLETTER_V = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_V"); + this.tLETTER_W = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_W"); this.tLETTER_X = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_X"); this.tLETTER_OTHER = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.LETTER_OTHER"); this.tASTERIX = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "org.eclipse.n4js.semver.Semver.ASTERIX"); @@ -1531,8 +1720,10 @@ public UnicodeGrammarAccess getUnicodeGrammarAccess() { // ( // =>LocalPathVersionRequirement // | ( =>URLVersionRequirement - // | GitHubVersionRequirement - // | TagVersionRequirement + // | ( =>WorkspaceVersionRequirement + // | GitHubVersionRequirement + // | TagVersionRequirement // this can be any string + // ) // ) // ) WS? //; @@ -1593,18 +1784,18 @@ public ParserRule getURLSemverRule() { return getURLSemverAccess().getRule(); } - ////URLCommitISH: - //// commitISH=ALPHA_NUMERIC_CHARS - ////; - //TagVersionRequirement: - // tagName=TAG + //WorkspaceVersionRequirement: + // (WORKSPACE_TAG) + // ( =>version=SimpleVersion + // | otherVersion=WORKSPACE_VERSION // fallback for various other version kinds + // ) //; - public TagVersionRequirementElements getTagVersionRequirementAccess() { - return pTagVersionRequirement; + public WorkspaceVersionRequirementElements getWorkspaceVersionRequirementAccess() { + return pWorkspaceVersionRequirement; } - public ParserRule getTagVersionRequirementRule() { - return getTagVersionRequirementAccess().getRule(); + public ParserRule getWorkspaceVersionRequirementRule() { + return getWorkspaceVersionRequirementAccess().getRule(); } //GitHubVersionRequirement: @@ -1618,6 +1809,20 @@ public ParserRule getGitHubVersionRequirementRule() { return getGitHubVersionRequirementAccess().getRule(); } + ////URLCommitISH: + //// commitISH=ALPHA_NUMERIC_CHARS + ////; + //TagVersionRequirement: + // tagName=TAG + //; + public TagVersionRequirementElements getTagVersionRequirementAccess() { + return pTagVersionRequirement; + } + + public ParserRule getTagVersionRequirementRule() { + return getTagVersionRequirementAccess().getRule(); + } + //VersionRangeSetRequirement: // {VersionRangeSetRequirement} (ranges+=VersionRange (WS? '||' WS? ranges+=VersionRange)* WS?)? //; @@ -1747,8 +1952,19 @@ public ParserRule getSEMVER_TAGRule() { return getSEMVER_TAGAccess().getRule(); } + //WORKSPACE_TAG: + // LETTER_W LETTER_O LETTER_R LETTER_K LETTER_S LETTER_P LETTER_A LETTER_C LETTER_E ':' + //; + public WORKSPACE_TAGElements getWORKSPACE_TAGAccess() { + return pWORKSPACE_TAG; + } + + public ParserRule getWORKSPACE_TAGRule() { + return getWORKSPACE_TAGAccess().getRule(); + } + //PATH: - // ('/' | '.' | '@' | '-' | '_' | DIGITS | LETTER)+ + // ('/' | '.' | '@' | '_' | ALPHA_NUMERIC_CHAR)+ //; public PATHElements getPATHAccess() { return pPATH; @@ -1770,9 +1986,9 @@ public ParserRule getURL_PROTOCOLRule() { } //URL: - // ('-' | '_' | DIGITS | LETTER)* + // ('_' | ALPHA_NUMERIC_CHAR)* // ('/' | '.' | ':' | '@') - // ('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + // ('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* //; public URLElements getURLAccess() { return pURL; @@ -1783,10 +1999,10 @@ public ParserRule getURLRule() { } //URL_NO_VX: - // ('-' | '_' | LETTER_NO_VX) - // ('-' | '_' | DIGITS | LETTER)* + // ('_' | '-' | LETTER_NO_VX) + // ('_' | ALPHA_NUMERIC_CHAR)* // ('/' | '.' | ':' | '@') - // ('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + // ('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* //; public URL_NO_VXElements getURL_NO_VXAccess() { return pURL_NO_VX; @@ -1797,7 +2013,7 @@ public ParserRule getURL_NO_VXRule() { } //TAG: - // (LETTER_NO_VX /*| LETTER_X*/) ('-' | DIGITS | LETTER)+ + // (LETTER_NO_VX /*| LETTER_X*/) ALPHA_NUMERIC_CHARS //; public TAGElements getTAGAccess() { return pTAG; @@ -1807,19 +2023,19 @@ public ParserRule getTAGRule() { return getTAGAccess().getRule(); } - //ALPHA_NUMERIC_CHARS: - // ('-' | DIGITS | LETTER)+ + //WORKSPACE_VERSION: + // ( '/' | '.' | ':' | '@' | '_' | '=' | '~' | '^' | '<' | '>' | '<=' | '>=' | ASTERIX | ALPHA_NUMERIC_CHAR)+ //; - public ALPHA_NUMERIC_CHARSElements getALPHA_NUMERIC_CHARSAccess() { - return pALPHA_NUMERIC_CHARS; + public WORKSPACE_VERSIONElements getWORKSPACE_VERSIONAccess() { + return pWORKSPACE_VERSION; } - public ParserRule getALPHA_NUMERIC_CHARSRule() { - return getALPHA_NUMERIC_CHARSAccess().getRule(); + public ParserRule getWORKSPACE_VERSIONRule() { + return getWORKSPACE_VERSIONAccess().getRule(); } //ALPHA_NUMERIC_CHARS_START_WITH_DIGITS: - // DIGITS ('-' | DIGITS | LETTER)+ + // DIGITS ALPHA_NUMERIC_CHARS //; public ALPHA_NUMERIC_CHARS_START_WITH_DIGITSElements getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess() { return pALPHA_NUMERIC_CHARS_START_WITH_DIGITS; @@ -1829,6 +2045,28 @@ public ParserRule getALPHA_NUMERIC_CHARS_START_WITH_DIGITSRule() { return getALPHA_NUMERIC_CHARS_START_WITH_DIGITSAccess().getRule(); } + //ALPHA_NUMERIC_CHARS: + // ALPHA_NUMERIC_CHAR+ + //; + public ALPHA_NUMERIC_CHARSElements getALPHA_NUMERIC_CHARSAccess() { + return pALPHA_NUMERIC_CHARS; + } + + public ParserRule getALPHA_NUMERIC_CHARSRule() { + return getALPHA_NUMERIC_CHARSAccess().getRule(); + } + + //ALPHA_NUMERIC_CHAR: + // '-' | DIGITS | LETTER + //; + public ALPHA_NUMERIC_CHARElements getALPHA_NUMERIC_CHARAccess() { + return pALPHA_NUMERIC_CHAR; + } + + public ParserRule getALPHA_NUMERIC_CHARRule() { + return getALPHA_NUMERIC_CHARAccess().getRule(); + } + //WILDCARD: // LETTER_X | ASTERIX //; @@ -1854,13 +2092,19 @@ public ParserRule getLETTERRule() { } //fragment LETTER_NO_VX: - // LETTER_S - // | LETTER_M - // | LETTER_R + // LETTER_A + // | LETTER_C + // | LETTER_E // | LETTER_F // | LETTER_I + // | LETTER_K // | LETTER_L - // | LETTER_E + // | LETTER_M + // | LETTER_O + // | LETTER_P + // | LETTER_R + // | LETTER_S + // | LETTER_W // | LETTER_OTHER //; public LETTER_NO_VXElements getLETTER_NO_VXAccess() { @@ -1871,25 +2115,25 @@ public ParserRule getLETTER_NO_VXRule() { return getLETTER_NO_VXAccess().getRule(); } - //terminal LETTER_S : - // 's' | 'S' + //terminal LETTER_A : + // 'a' | 'A' //; - public TerminalRule getLETTER_SRule() { - return tLETTER_S; + public TerminalRule getLETTER_ARule() { + return tLETTER_A; } - //terminal LETTER_M : - // 'm' | 'M' + //terminal LETTER_C : + // 'c' | 'C' //; - public TerminalRule getLETTER_MRule() { - return tLETTER_M; + public TerminalRule getLETTER_CRule() { + return tLETTER_C; } - //terminal LETTER_R : - // 'r' | 'R' + //terminal LETTER_E : + // 'e' | 'E' //; - public TerminalRule getLETTER_RRule() { - return tLETTER_R; + public TerminalRule getLETTER_ERule() { + return tLETTER_E; } //terminal LETTER_F : @@ -1906,6 +2150,13 @@ public TerminalRule getLETTER_IRule() { return tLETTER_I; } + //terminal LETTER_K : + // 'k' | 'K' + //; + public TerminalRule getLETTER_KRule() { + return tLETTER_K; + } + //terminal LETTER_L : // 'l' | 'L' //; @@ -1913,11 +2164,39 @@ public TerminalRule getLETTER_LRule() { return tLETTER_L; } - //terminal LETTER_E : - // 'e' | 'E' + //terminal LETTER_M : + // 'm' | 'M' //; - public TerminalRule getLETTER_ERule() { - return tLETTER_E; + public TerminalRule getLETTER_MRule() { + return tLETTER_M; + } + + //terminal LETTER_O : + // 'o' | 'O' + //; + public TerminalRule getLETTER_ORule() { + return tLETTER_O; + } + + //terminal LETTER_P : + // 'p' | 'P' + //; + public TerminalRule getLETTER_PRule() { + return tLETTER_P; + } + + //terminal LETTER_R : + // 'r' | 'R' + //; + public TerminalRule getLETTER_RRule() { + return tLETTER_R; + } + + //terminal LETTER_S : + // 's' | 'S' + //; + public TerminalRule getLETTER_SRule() { + return tLETTER_S; } //terminal LETTER_V : @@ -1927,6 +2206,13 @@ public TerminalRule getLETTER_VRule() { return tLETTER_V; } + //terminal LETTER_W : + // 'w' | 'W' + //; + public TerminalRule getLETTER_WRule() { + return tLETTER_W; + } + //terminal LETTER_X: // 'x' | 'X' //; @@ -1935,9 +2221,9 @@ public TerminalRule getLETTER_XRule() { } //terminal LETTER_OTHER: - // 'a' | 'A' - // | 'b' | 'B' - // | 'c' | 'C' + // // 'a' | 'A' // part of 'workspace' tag + // 'b' | 'B' + // // | 'c' | 'C' // part of 'workspace' tag // | 'd' | 'D' // // | 'e' | 'E' // part of 'semver' and/or 'file' tag // // | 'f' | 'F' // part of 'file' tag @@ -1945,19 +2231,19 @@ public TerminalRule getLETTER_XRule() { // | 'h' | 'H' // // | 'i' | 'I' // part of 'file' tag // | 'j' | 'J' - // | 'k' | 'K' + // // | 'k' | 'K' // part of 'workspace' tag // // | 'l' | 'L' // part of 'file' tag // // | 'm' | 'M' // part of 'semver' tag // | 'n' | 'N' - // | 'o' | 'O' - // | 'p' | 'P' + // // | 'o' | 'O' // part of 'workspace' tag + // // | 'p' | 'P' // part of 'workspace' tag // | 'q' | 'Q' // // | 'r' | 'R' // part of 'semver' tag // // | 's' | 'S' // part of 'semver' tag // | 't' | 'T' // | 'u' | 'U' // // | 'v' | 'V' // can be a prefix of a version and/or part of 'semver' tag - // | 'w' | 'W' + // // | 'w' | 'W' // part of 'workspace' tag // // | 'x' | 'X' // can be a wildcard // | 'y' | 'Y' // | 'z' | 'Z' @@ -1994,11 +2280,11 @@ public TerminalRule getEOLRule() { //enum VersionComparator: // Equals = '=' - //| Smaller = '<' //| Tilde = '~' //| Caret = '^' - //| SmallerEquals = '<=' + //| Smaller = '<' //| Greater = '>' + //| SmallerEquals = '<=' //| GreaterEquals = '>=' //; public VersionComparatorElements getVersionComparatorAccess() { diff --git a/plugins/org.eclipse.n4js.semver/src/org/eclipse/n4js/semver/Semver.xtext b/plugins/org.eclipse.n4js.semver/src/org/eclipse/n4js/semver/Semver.xtext index 6950d35b0b..073bbd9884 100644 --- a/plugins/org.eclipse.n4js.semver/src/org/eclipse/n4js/semver/Semver.xtext +++ b/plugins/org.eclipse.n4js.semver/src/org/eclipse/n4js/semver/Semver.xtext @@ -28,8 +28,10 @@ NPMVersionRequirement: ( =>LocalPathVersionRequirement | ( =>URLVersionRequirement - | GitHubVersionRequirement - | TagVersionRequirement + | ( =>WorkspaceVersionRequirement + | GitHubVersionRequirement + | TagVersionRequirement // this can be any string + ) ) ) WS? ; @@ -55,6 +57,17 @@ URLSemver: simpleVersion=SimpleVersion ; +WorkspaceVersionRequirement: + (WORKSPACE_TAG) + ( =>version=SimpleVersion + | otherVersion=WORKSPACE_VERSION // fallback for various other version kinds + ) +; + +GitHubVersionRequirement: + githubUrl=URL_NO_VX ('#' commitISH=ALPHA_NUMERIC_CHARS)? +; + //URLCommitISH: // commitISH=ALPHA_NUMERIC_CHARS //; @@ -63,10 +76,6 @@ TagVersionRequirement: tagName=TAG ; -GitHubVersionRequirement: - githubUrl=URL_NO_VX ('#' commitISH=ALPHA_NUMERIC_CHARS)? -; - VersionRangeSetRequirement: {VersionRangeSetRequirement} (ranges+=VersionRange (WS? '||' WS? ranges+=VersionRange)* WS?)? ; @@ -120,9 +129,13 @@ SEMVER_TAG: LETTER_S LETTER_E LETTER_M LETTER_V LETTER_E LETTER_R ':' ; +WORKSPACE_TAG: + LETTER_W LETTER_O LETTER_R LETTER_K LETTER_S LETTER_P LETTER_A LETTER_C LETTER_E ':' +; + PATH: - ('/' | '.' | '@' | '-' | '_' | DIGITS | LETTER)+ + ('/' | '.' | '@' | '_' | ALPHA_NUMERIC_CHAR)+ ; URL_PROTOCOL: @@ -130,28 +143,36 @@ URL_PROTOCOL: ; URL: - ('-' | '_' | DIGITS | LETTER)* + ('_' | ALPHA_NUMERIC_CHAR)* ('/' | '.' | ':' | '@') - ('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + ('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* ; URL_NO_VX: - ('-' | '_' | LETTER_NO_VX) - ('-' | '_' | DIGITS | LETTER)* + ('_' | '-' | LETTER_NO_VX) + ('_' | ALPHA_NUMERIC_CHAR)* ('/' | '.' | ':' | '@') - ('/' | '.' | ':' | '@' | '-' | '_' | DIGITS | LETTER)* + ('/' | '.' | ':' | '@' | '_' | ALPHA_NUMERIC_CHAR)* ; TAG: - (LETTER_NO_VX /*| LETTER_X*/) ('-' | DIGITS | LETTER)+ + (LETTER_NO_VX /*| LETTER_X*/) ALPHA_NUMERIC_CHARS ; -ALPHA_NUMERIC_CHARS: - ('-' | DIGITS | LETTER)+ +WORKSPACE_VERSION: + ( '/' | '.' | ':' | '@' | '_' | '=' | '~' | '^' | '<' | '>' | '<=' | '>=' | ASTERIX | ALPHA_NUMERIC_CHAR)+ ; ALPHA_NUMERIC_CHARS_START_WITH_DIGITS: - DIGITS ('-' | DIGITS | LETTER)+ + DIGITS ALPHA_NUMERIC_CHARS +; + +ALPHA_NUMERIC_CHARS: + ALPHA_NUMERIC_CHAR+ +; + +ALPHA_NUMERIC_CHAR: + '-' | DIGITS | LETTER ; WILDCARD: @@ -167,27 +188,33 @@ fragment LETTER: fragment LETTER_NO_VX: - LETTER_S - | LETTER_M - | LETTER_R + LETTER_A + | LETTER_C + | LETTER_E | LETTER_F | LETTER_I + | LETTER_K | LETTER_L - | LETTER_E + | LETTER_M + | LETTER_O + | LETTER_P + | LETTER_R + | LETTER_S + | LETTER_W | LETTER_OTHER ; -terminal LETTER_S : - 's' | 'S' +terminal LETTER_A : + 'a' | 'A' ; -terminal LETTER_M : - 'm' | 'M' +terminal LETTER_C : + 'c' | 'C' ; -terminal LETTER_R : - 'r' | 'R' +terminal LETTER_E : + 'e' | 'E' ; terminal LETTER_F : @@ -198,26 +225,50 @@ terminal LETTER_I : 'i' | 'I' ; +terminal LETTER_K : + 'k' | 'K' +; + terminal LETTER_L : 'l' | 'L' ; -terminal LETTER_E : - 'e' | 'E' +terminal LETTER_M : + 'm' | 'M' +; + +terminal LETTER_O : + 'o' | 'O' +; + +terminal LETTER_P : + 'p' | 'P' +; + +terminal LETTER_R : + 'r' | 'R' +; + +terminal LETTER_S : + 's' | 'S' ; terminal LETTER_V : 'v' | 'V' ; +terminal LETTER_W : + 'w' | 'W' +; + terminal LETTER_X: 'x' | 'X' ; terminal LETTER_OTHER: - 'a' | 'A' - | 'b' | 'B' - | 'c' | 'C' + // 'a' | 'A' // part of 'workspace' tag + 'b' | 'B' + // | 'c' | 'C' // part of 'workspace' tag | 'd' | 'D' // | 'e' | 'E' // part of 'semver' and/or 'file' tag // | 'f' | 'F' // part of 'file' tag @@ -225,19 +276,19 @@ terminal LETTER_OTHER: | 'h' | 'H' // | 'i' | 'I' // part of 'file' tag | 'j' | 'J' - | 'k' | 'K' + // | 'k' | 'K' // part of 'workspace' tag // | 'l' | 'L' // part of 'file' tag // | 'm' | 'M' // part of 'semver' tag | 'n' | 'N' - | 'o' | 'O' - | 'p' | 'P' + // | 'o' | 'O' // part of 'workspace' tag + // | 'p' | 'P' // part of 'workspace' tag | 'q' | 'Q' // | 'r' | 'R' // part of 'semver' tag // | 's' | 'S' // part of 'semver' tag | 't' | 'T' | 'u' | 'U' // | 'v' | 'V' // can be a prefix of a version and/or part of 'semver' tag - | 'w' | 'W' + // | 'w' | 'W' // part of 'workspace' tag // | 'x' | 'X' // can be a wildcard | 'y' | 'Y' | 'z' | 'Z' @@ -253,8 +304,6 @@ terminal DIGITS returns ecore::EInt: - - terminal WS: WHITESPACE_FRAGMENT+; @@ -264,12 +313,13 @@ terminal EOL: + enum VersionComparator: Equals = '=' -| Smaller = '<' | Tilde = '~' | Caret = '^' -| SmallerEquals = '<=' +| Smaller = '<' | Greater = '>' +| SmallerEquals = '<=' | GreaterEquals = '>=' ; diff --git a/tests/org.eclipse.n4js.semver.tests/src/org/eclipse/n4js/semver/tests/parser/SemverParserTest.java b/tests/org.eclipse.n4js.semver.tests/src/org/eclipse/n4js/semver/tests/parser/SemverParserTest.java index cf7298abce..26e3eac0cf 100644 --- a/tests/org.eclipse.n4js.semver.tests/src/org/eclipse/n4js/semver/tests/parser/SemverParserTest.java +++ b/tests/org.eclipse.n4js.semver.tests/src/org/eclipse/n4js/semver/tests/parser/SemverParserTest.java @@ -25,6 +25,7 @@ import org.eclipse.n4js.semver.Semver.TagVersionRequirement; import org.eclipse.n4js.semver.Semver.URLVersionRequirement; import org.eclipse.n4js.semver.Semver.VersionRangeSetRequirement; +import org.eclipse.n4js.semver.Semver.WorkspaceVersionRequirement; import org.eclipse.xtext.serializer.ISerializer; import org.eclipse.xtext.testing.InjectWith; import org.eclipse.xtext.testing.XtextRunner; @@ -185,6 +186,16 @@ public class SemverParserTest { "latest" ); + List workspaceData =List.of( + "workspace:*", + "workspace:~", + "workspace:^", + "workspace:^1.0.5", + "workspace:foo@*", + "workspace:2.0.0", + "workspace:../foo" + ); + List errorData =List.of( "001tag", "1s", @@ -236,6 +247,12 @@ public void testNPMTagParseAndToString() throws Exception { internalTestParseAndToString(tagData, TagVersionRequirement.class, (s) -> s); } + /** Checks other NPM supported versions. */ + @Test + public void testNPMWorkspaceParseAndToString() throws Exception { + internalTestParseAndToString(workspaceData, WorkspaceVersionRequirement.class, (s) -> s); + } + /** Checks other NPM supported versions. */ @Test public void testNPMError() throws Exception { From 38746ee9dba6650baab8562fde6dcd3e4a4bb872 Mon Sep 17 00:00:00 2001 From: mmews Date: Wed, 3 Jan 2024 10:34:35 +0100 Subject: [PATCH 03/16] support symlinks for package dependencies --- .../src/org/eclipse/n4js/utils/ProjectDiscoveryHelper.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDiscoveryHelper.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDiscoveryHelper.java index 23c581cfac..f627ee01ed 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDiscoveryHelper.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDiscoveryHelper.java @@ -516,6 +516,9 @@ private Path findDependencyLocation(NodeModulesFolder nodeModulesFolder, Path pr } for (File currNMF : nodeModulesFolder.getNodeModulesFoldersInOrderOfPriority()) { File depLocation = new File(currNMF, depName); + if (SemanticDependencySupplier.isSymbolicLink(depLocation.toPath())) { + depLocation = SemanticDependencySupplier.resolveSymbolicLink(depLocation.toPath()).toFile(); + } if (depLocation.isDirectory()) { return depLocation.toPath(); } From bc4affad88386d68d9ecf4656890429f9762644b Mon Sep 17 00:00:00 2001 From: mmews Date: Wed, 3 Jan 2024 10:34:59 +0100 Subject: [PATCH 04/16] fix unrelated bug --- .../n4js/xtext/ide/server/build/ProjectStatePersister.java | 3 +++ .../org/eclipse/n4js/xtext/ide/server/build/XIndexer.java | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/org.eclipse.n4js.xtext.ide/src/org/eclipse/n4js/xtext/ide/server/build/ProjectStatePersister.java b/plugins/org.eclipse.n4js.xtext.ide/src/org/eclipse/n4js/xtext/ide/server/build/ProjectStatePersister.java index 3e62393c6e..0878a24240 100644 --- a/plugins/org.eclipse.n4js.xtext.ide/src/org/eclipse/n4js/xtext/ide/server/build/ProjectStatePersister.java +++ b/plugins/org.eclipse.n4js.xtext.ide/src/org/eclipse/n4js/xtext/ide/server/build/ProjectStatePersister.java @@ -43,6 +43,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.n4js.utils.URIUtils; import org.eclipse.n4js.xtext.ide.server.QueuedExecutorService; +import org.eclipse.n4js.xtext.ide.server.build.XIndexer.XResolvedResourceDescription; import org.eclipse.n4js.xtext.workspace.ProjectConfigSnapshot; import org.eclipse.xtext.build.Source2GeneratedMapping; import org.eclipse.xtext.diagnostics.Severity; @@ -209,6 +210,8 @@ private void writeResourceDescriptions(ImmutableProjectState state, URI baseURI, for (IResourceDescription description : descriptions) { if (description instanceof SerializableResourceDescription) { writeResourceDescription((SerializableResourceDescription) description, baseURI, output); + } else if (description instanceof XResolvedResourceDescription) { + // ignore } else { throw new IOException("Unexpected type: " + description.getClass().getName()); } diff --git a/plugins/org.eclipse.n4js.xtext.ide/src/org/eclipse/n4js/xtext/ide/server/build/XIndexer.java b/plugins/org.eclipse.n4js.xtext.ide/src/org/eclipse/n4js/xtext/ide/server/build/XIndexer.java index ff2168e332..42e5eddcf2 100644 --- a/plugins/org.eclipse.n4js.xtext.ide/src/org/eclipse/n4js/xtext/ide/server/build/XIndexer.java +++ b/plugins/org.eclipse.n4js.xtext.ide/src/org/eclipse/n4js/xtext/ide/server/build/XIndexer.java @@ -309,12 +309,13 @@ protected IResourceDescription.Delta addToIndex(LoadResult loadResult, boolean i IResourceDescription.Manager manager = serviceProvider.getResourceDescriptionManager(); Resource resource = loadResult.resource; + IResourceDescription oldDescription = oldIndex != null ? oldIndex.getResourceDescription(uri) : null; if (resource == null) { // loading of resource failed if (loadResult.isFileNotFound()) { // a source file was renamed/deleted and we did not get a 'didChangeWatchedFiles' notification // OR the rename/delete happened while the build was in progress - IResourceDescription oldDesc = oldIndex != null ? oldIndex.getResourceDescription(uri) : null; + IResourceDescription oldDesc = oldDescription; return oldDesc != null ? manager.createDelta(oldDesc, null) : null; } Throwables.throwIfUnchecked(loadResult.throwable); @@ -328,8 +329,7 @@ protected IResourceDescription.Delta addToIndex(LoadResult loadResult, boolean i IResourceDescription newDescription = manager.getResourceDescription(resource); IResourceDescription toBeAdded = new XIndexer.XResolvedResourceDescription(newDescription); - IResourceDescription.Delta delta = manager - .createDelta(oldIndex != null ? oldIndex.getResourceDescription(uri) : null, toBeAdded); + IResourceDescription.Delta delta = manager.createDelta(oldDescription, toBeAdded); return delta; } From 7979fab81893f8eb49b5639996864d7056f3be6f Mon Sep 17 00:00:00 2001 From: mmews Date: Wed, 3 Jan 2024 16:47:29 +0100 Subject: [PATCH 05/16] add parser for yaml files, check workspaces in pnpm-workspaces.yaml --- .../src/org/eclipse/n4js/N4JSGlobals.java | 5 + .../ProjectDescription.java | 22 ++- .../ProjectDescriptionBuilder.java | 12 +- .../n4js/utils/ProjectDescriptionLoader.java | 34 +++- .../src/org/eclipse/n4js/utils/YamlUtil.java | 102 +++++++++++ .../org/eclipse/n4js/utils/YamlUtilTest.java | 166 ++++++++++++++++++ 6 files changed, 334 insertions(+), 7 deletions(-) create mode 100644 plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/YamlUtil.java create mode 100644 tests/org.eclipse.n4js.utils.tests/src/org/eclipse/n4js/utils/YamlUtilTest.java diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/N4JSGlobals.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/N4JSGlobals.java index d6ae3d965e..e91e35cc33 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/N4JSGlobals.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/N4JSGlobals.java @@ -274,6 +274,11 @@ public final class N4JSGlobals { */ public static final String TS_CONFIG = "tsconfig.json"; + /** + * The name of the pnpm-workspace.yaml file. + */ + public static final String PNPM_WORKSPACE = "pnpm-workspace.yaml"; + /** * All project names of n4js libraries. */ diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescription.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescription.java index ebc1af0e34..51f985fac1 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescription.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescription.java @@ -66,6 +66,7 @@ public class ProjectDescription extends ImmutableDataClass { private final boolean esm; private final boolean moduleProperty; private final boolean n4jsNature; + private final boolean pnpmWorkspaceRoot; private final boolean yarnWorkspaceRoot; private final boolean isGeneratorEnabledSourceMaps; private final boolean isGeneratorEnabledDts; @@ -86,8 +87,8 @@ public ProjectDescription(FileURI location, FileURI relatedRootlocation, Iterable implementedProjects, String outputPath, Iterable sourceContainers, Iterable moduleFilters, Iterable testedProjects, String definesPackage, boolean nestedNodeModulesFolder, - boolean esm, boolean moduleProperty, boolean n4jsNature, boolean yarnWorkspaceRoot, - boolean isGeneratorEnabledSourceMaps, boolean isGeneratorEnabledDts, + boolean esm, boolean moduleProperty, boolean n4jsNature, boolean pnpmWorkspaceRoot, + boolean yarnWorkspaceRoot, boolean isGeneratorEnabledSourceMaps, boolean isGeneratorEnabledDts, Map generatorRewriteModuleSpecifiers, boolean isGeneratorEnabledRewriteCjsImports, Iterable workspaces, Iterable tsFiles, Iterable tsInclude, Iterable tsExclude) { @@ -121,6 +122,7 @@ public ProjectDescription(FileURI location, FileURI relatedRootlocation, this.esm = esm; this.moduleProperty = moduleProperty; this.n4jsNature = n4jsNature; + this.pnpmWorkspaceRoot = pnpmWorkspaceRoot; this.yarnWorkspaceRoot = yarnWorkspaceRoot; this.isGeneratorEnabledSourceMaps = isGeneratorEnabledSourceMaps; this.isGeneratorEnabledDts = isGeneratorEnabledDts; @@ -162,6 +164,7 @@ public ProjectDescription(ProjectDescription template) { this.esm = template.esm; this.moduleProperty = template.moduleProperty; this.n4jsNature = template.n4jsNature; + this.pnpmWorkspaceRoot = template.pnpmWorkspaceRoot; this.yarnWorkspaceRoot = template.yarnWorkspaceRoot; this.isGeneratorEnabledSourceMaps = template.isGeneratorEnabledSourceMaps; this.isGeneratorEnabledDts = template.isGeneratorEnabledDts; @@ -207,6 +210,7 @@ public ProjectDescriptionBuilder change() { builder.setESM(esm); builder.setModuleProperty(moduleProperty); builder.setN4JSNature(n4jsNature); + builder.setPnpmWorkspaceRoot(pnpmWorkspaceRoot); builder.setYarnWorkspaceRoot(yarnWorkspaceRoot); builder.setGeneratorEnabledSourceMaps(isGeneratorEnabledSourceMaps); builder.setGeneratorEnabledDts(isGeneratorEnabledDts); @@ -387,6 +391,16 @@ public boolean isYarnWorkspaceRoot() { return yarnWorkspaceRoot; } + /** + * True iff the project represented by this project description is the root of a pnpm workspace. This flag will be + * {@code true} iff the directory containing a package.json also contains the pnpm-workspace.yaml file with the + * top-level property "packages", no matter the value (i.e. will be {@code true} even if the value is the empty + * array). + */ + public boolean isPnpmWorkspaceRoot() { + return pnpmWorkspaceRoot; + } + /** Returns true iff source maps should be emitted. */ public boolean isGeneratorEnabledSourceMaps() { return isGeneratorEnabledSourceMaps; @@ -513,6 +527,7 @@ protected boolean computeEquals(Object obj) { && esm == other.esm && moduleProperty == other.moduleProperty && n4jsNature == other.n4jsNature + && pnpmWorkspaceRoot == other.pnpmWorkspaceRoot && yarnWorkspaceRoot == other.yarnWorkspaceRoot && isGeneratorEnabledSourceMaps == other.isGeneratorEnabledSourceMaps && isGeneratorEnabledDts == other.isGeneratorEnabledDts @@ -578,6 +593,9 @@ public void toStringAdditionalProperties(StringBuilder sb) { if (definesPackage != null) { sb.append(" definesPackage: " + definesPackage + "\n"); } + if (pnpmWorkspaceRoot) { + sb.append(" pnpmWorkspaceRoot: true\n"); + } if (yarnWorkspaceRoot) { sb.append(" yarnWorkspaceRoot: true\n"); } diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescriptionBuilder.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescriptionBuilder.java index cff7a0a6af..876188db42 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescriptionBuilder.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescriptionBuilder.java @@ -57,6 +57,7 @@ public class ProjectDescriptionBuilder { private boolean esm; private boolean moduleProperty; private boolean n4jsNature; + private boolean pnpmWorkspaceRoot; private boolean yarnWorkspaceRoot; private Boolean isGeneratorEnabledSourceMaps; private Boolean isGeneratorEnabledDts; @@ -84,7 +85,7 @@ public ProjectDescription build() { exports, extendedRuntimeEnvironment, providedRuntimeLibraries, requiredRuntimeLibraries, dependencies, implementationId, implementedProjects, outputPath, sourceContainers, moduleFilters, testedProjects, definesPackage, - nestedNodeModulesFolder, esm, moduleProperty, n4jsNature, yarnWorkspaceRoot, + nestedNodeModulesFolder, esm, moduleProperty, n4jsNature, pnpmWorkspaceRoot, yarnWorkspaceRoot, isGeneratorEnabledSourceMaps, isGeneratorEnabledDts, generatorRewriteModuleSpecifiers, isGeneratorEnabledRewriteCjsImports, workspaces, tsFiles, tsInclude, tsExclude); } @@ -378,10 +379,19 @@ public ProjectDescriptionBuilder setN4JSNature(boolean n4jsNature) { return this; } + public boolean isPnpmWorkspaceRoot() { + return pnpmWorkspaceRoot; + } + public boolean isYarnWorkspaceRoot() { return yarnWorkspaceRoot; } + public ProjectDescriptionBuilder setPnpmWorkspaceRoot(boolean pnpmWorkspaceRoot) { + this.pnpmWorkspaceRoot = pnpmWorkspaceRoot; + return this; + } + public ProjectDescriptionBuilder setYarnWorkspaceRoot(boolean yarnWorkspaceRoot) { this.yarnWorkspaceRoot = yarnWorkspaceRoot; return this; diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionLoader.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionLoader.java index d518a4aa52..0e1ed3f551 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionLoader.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionLoader.java @@ -23,11 +23,13 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.regex.Pattern; +import org.apache.log4j.Logger; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.common.util.WrappedException; import org.eclipse.emf.ecore.EObject; @@ -54,10 +56,10 @@ import org.eclipse.xtext.resource.XtextResourceSet; import org.eclipse.xtext.util.LazyStringInputStream; import org.eclipse.xtext.util.Pair; -import org.eclipse.xtext.util.RuntimeIOException; import org.eclipse.xtext.util.Strings; import org.eclipse.xtext.util.Tuples; +import com.google.common.collect.Multimap; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -73,6 +75,7 @@ */ @Singleton public class ProjectDescriptionLoader { + private final static Logger LOGGER = Logger.getLogger(ProjectDescriptionLoader.class); @Inject private Provider resourceSetProvider; @@ -111,6 +114,7 @@ public ProjectDescription loadProjectDescriptionAtLocation(FileURI location, URI if (pdbFromPackageJSON != null) { setInformationFromFileSystem(location, pdbFromPackageJSON); setInformationFromTSConfig(location, pdbFromPackageJSON); + setInformationFromPnpmWorkspace(location, pdbFromPackageJSON); pdbFromPackageJSON.setLocation(location); pdbFromPackageJSON.setRelatedRootLocation(relatedRootLocation); @@ -228,7 +232,7 @@ private void setInformationFromFileSystem(FileURI location, ProjectDescriptionBu } /** - * Store some information from {@code tsconfig.json} files iff existent in the project folders root. + * Store some information from {@code tsconfig.json} file iff existent in the project folders root. */ private void setInformationFromTSConfig(FileURI location, ProjectDescriptionBuilder target) { ProjectType type = target.getProjectType(); @@ -248,7 +252,7 @@ private void setInformationFromTSConfig(FileURI location, ProjectDescriptionBuil } } JSONDocument tsconfig = loadJSONAtLocation(path); - JSONValue content = tsconfig.getContent(); + JSONValue content = tsconfig == null ? null : tsconfig.getContent(); if (!(content instanceof JSONObject)) { return; } @@ -273,6 +277,27 @@ private void setInformationFromTSConfig(FileURI location, ProjectDescriptionBuil } } + /** + * Store some information from {@code pnpm-workspaces.yaml} file iff existent in the project folders root. + */ + private void setInformationFromPnpmWorkspace(FileURI location, ProjectDescriptionBuilder target) { + Path path = location.appendSegment(N4JSGlobals.PNPM_WORKSPACE).toFileSystemPath(); + if (!Files.isReadable(path)) { + path = location.appendSegment(N4JSGlobals.PNPM_WORKSPACE + "." + N4JSGlobals.XT_FILE_EXTENSION) + .toFileSystemPath(); + if (!Files.isReadable(path)) { + return; + } + } + + Multimap pnpmWorkspacesYaml = YamlUtil.loadYamlAtLocation(path); + Collection packagesEntries = pnpmWorkspacesYaml.get("packages"); + if (!packagesEntries.isEmpty()) { + target.setPnpmWorkspaceRoot(true); + target.getWorkspaces().addAll(packagesEntries); + } + } + private JSONDocument loadPackageJSONAtLocation(FileURI location) { Path path = location.appendSegment(N4JSGlobals.PACKAGE_JSON).toFileSystemPath(); if (!Files.isReadable(path)) { @@ -299,7 +324,8 @@ private JSONDocument loadJSONAtLocation(Path path) { return packageJSON; } } catch (IOException e) { - throw new RuntimeIOException(e); + LOGGER.error("Could not load " + path.toString(), e); + return null; } } diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/YamlUtil.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/YamlUtil.java new file mode 100644 index 0000000000..64da04b64d --- /dev/null +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/YamlUtil.java @@ -0,0 +1,102 @@ +/** + * Copyright (c) 2024 NumberFour AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * NumberFour AG - Initial API and implementation + */ +package org.eclipse.n4js.utils; + +import static com.google.common.base.Strings.isNullOrEmpty; +import static org.eclipse.n4js.utils.Strings.join; +import static org.eclipse.xtext.xbase.lib.IterableExtensions.filter; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.apache.log4j.Logger; + +import com.google.common.collect.LinkedHashMultimap; +import com.google.common.collect.Multimap; + +/** + * Utility for loading yaml files + */ +public class YamlUtil { + private final static Logger LOGGER = Logger.getLogger(YamlUtil.class); + + /** Loads a yaml file from the give location */ + static public Multimap loadYamlAtLocation(Path path) { + try { + List lines = Files.readAllLines(path, StandardCharsets.UTF_8); + return loadYamlFromLines(lines); + + } catch (IOException e) { + LOGGER.error("Could not load " + path.toString(), e); + } + return LinkedHashMultimap.create(); + } + + /** Loads yaml content from the given string */ + static public Multimap loadYamlFromString(String str) { + return loadYamlFromLines(Arrays.asList(str.split("\n"))); + } + + /** Loads yaml content from the given lines */ + static public Multimap loadYamlFromLines(List lines) { + Multimap result = LinkedHashMultimap.create(); + Map stack = new LinkedHashMap<>(); + for (String line : lines) { + if (line.startsWith("---") || line.startsWith("#")) { + continue; + } + int commentIdx = line.indexOf("#"); + if (commentIdx >= 0) { + line = line.substring(0, commentIdx); + } + int leadingSpaces = line.indexOf(line.trim()); + line = line.trim(); + + if (line.startsWith("-")) { + line = line.substring(1).trim(); + } + int propNameIdx = line.indexOf(":"); + if (propNameIdx >= 0) { + String propName = line.substring(0, propNameIdx).trim(); + + stack.put(leadingSpaces, propName); + stack.keySet().removeIf(k -> k > leadingSpaces); + + String value = line.substring(propNameIdx + 1).trim(); + if (!isNullOrEmpty(value)) { + value = trimQuotes(value); + String qpn = join(":", stack.values()); + result.put(qpn, value); + } + } else { + line = trimQuotes(line); + String qpn = join(":", e -> e.getValue(), filter(stack.entrySet(), e -> e.getKey() <= leadingSpaces)); + result.put(qpn, line); + } + } + return result; + } + + static private String trimQuotes(String str) { + if (str.startsWith("\"") && str.endsWith("\"")) { + return str.substring(1, str.length() - 1); // no trim + } else if (str.startsWith("'") && str.endsWith("'")) { + return str.substring(1, str.length() - 1); // no trim + } + return str; + } +} diff --git a/tests/org.eclipse.n4js.utils.tests/src/org/eclipse/n4js/utils/YamlUtilTest.java b/tests/org.eclipse.n4js.utils.tests/src/org/eclipse/n4js/utils/YamlUtilTest.java new file mode 100644 index 0000000000..74b51464fb --- /dev/null +++ b/tests/org.eclipse.n4js.utils.tests/src/org/eclipse/n4js/utils/YamlUtilTest.java @@ -0,0 +1,166 @@ +/** + * Copyright (c) 2024 NumberFour AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * NumberFour AG - Initial API and implementation + */ +package org.eclipse.n4js.utils; + +import org.junit.Assert; +import org.junit.Test; + +import com.google.common.collect.Multimap; + +/** + * + */ +public class YamlUtilTest { + + @Test + public void testPnpmWorkspaceYaml() { + Multimap map = YamlUtil.loadYamlFromString(""" + # NOTE: Experimental, local packages from the workspace are preferred over packages from the registry + prefer-workspace-packages: true + packages: + - 'packages/*' + """); + + String result = Strings.join("\n", e -> e.getKey() + " => " + e.getValue(), map.entries()); + + Assert.assertEquals(""" + prefer-workspace-packages => true + packages => packages/*""", result); + } + + @Test + public void testYaml1() { + Multimap map = YamlUtil.loadYamlFromString(""" + --- + # A sample yaml file + company: spacelift + domain: + - devops + - devsecops + tutorial: + - yaml: + name: "YAML Ain't Markup Language" + type: awesome + born: 2001 + - json: + name: JavaScript Object Notation + type: great + born: 2001 + - xml: + name: Extensible Markup Language + type: good + born: 1996 + author: omkarbirade + published: true + """); + + String result = Strings.join("\n", e -> e.getKey() + " => " + e.getValue(), map.entries()); + + Assert.assertEquals(""" + company => spacelift + domain => devops + domain => devsecops + tutorial:yaml:name => YAML Ain't Markup Language + tutorial:yaml:type => awesome + tutorial:yaml:born => 2001 + tutorial:json:name => JavaScript Object Notation + tutorial:json:type => great + tutorial:json:born => 2001 + tutorial:xml:name => Extensible Markup Language + tutorial:xml:type => good + tutorial:xml:born => 1996 + author => omkarbirade + published => true""", result); + } + + @Test + public void testYaml1WithComments() { + Multimap map = YamlUtil.loadYamlFromString(""" + --- + # key: value [mapping] + company: spacelift + # key: value is an array [sequence] + domain: + - devops + - devsecops + tutorial: + - yaml: + name: "YAML Ain't Markup Language" #string [literal] + type: awesome #string [literal] + born: 2001 #number [literal] + - json: + name: JavaScript Object Notation #string [literal] + type: great #string [literal] + born: 2001 #number [literal] + - xml: + name: Extensible Markup Language #string [literal] + type: good #string [literal] + born: 1996 #number [literal] + author: omkarbirade + published: true + """); + + String result = Strings.join("\n", e -> e.getKey() + " => " + e.getValue(), map.entries()); + + Assert.assertEquals(""" + company => spacelift + domain => devops + domain => devsecops + tutorial:yaml:name => YAML Ain't Markup Language + tutorial:yaml:type => awesome + tutorial:yaml:born => 2001 + tutorial:json:name => JavaScript Object Notation + tutorial:json:type => great + tutorial:json:born => 2001 + tutorial:xml:name => Extensible Markup Language + tutorial:xml:type => good + tutorial:xml:born => 1996 + author => omkarbirade + published => true""", result); + } + + /** Actually this is not correct since the multi line string should be a single entry */ + @Test + public void testYamlSimpleMultiline() { + Multimap map = YamlUtil.loadYamlFromString(""" + message: this is + a real multiline + message + """); + + String result = Strings.join("\n", e -> e.getKey() + " => " + e.getValue(), map.entries()); + + Assert.assertEquals(""" + message => this is + message => a real multiline + message => message""", result); + } + + @Test + public void testYamlBacktrack() { + Multimap map = YamlUtil.loadYamlFromString(""" + tutorial: + - yaml: + - one: empty + - two: empty + - json: empty + - xml: empty + """); + + String result = Strings.join("\n", e -> e.getKey() + " => " + e.getValue(), map.entries()); + + Assert.assertEquals(""" + tutorial:yaml:one => empty + tutorial:yaml:two => empty + tutorial:json => empty + tutorial:xml => empty""", result); + } +} From d8a723e5d99e9aadcfc6cc7fed18c1635c64cafb Mon Sep 17 00:00:00 2001 From: mmews Date: Thu, 4 Jan 2024 11:26:22 +0100 Subject: [PATCH 06/16] add tests --- .../package.json_workspace_arr.xt | 49 +++++++++++++++++ .../package.json_workspace_obj.xt | 54 +++++++++++++++++++ .../package.json_workspace_prefer_yarn.xt | 50 +++++++++++++++++ ...ackage.json_workspace_prefer_yarn_false.xt | 50 +++++++++++++++++ 4 files changed, 203 insertions(+) create mode 100644 tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_arr.xt create mode 100644 tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_obj.xt create mode 100644 tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_prefer_yarn.xt create mode 100644 tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_prefer_yarn_false.xt diff --git a/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_arr.xt b/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_arr.xt new file mode 100644 index 0000000000..1d6da243d8 --- /dev/null +++ b/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_arr.xt @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2022 NumberFour AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * NumberFour AG - Initial API and implementation + */ + +/* + XPECT_SETUP org.eclipse.n4js.xpect.tests.N4jsXtTest + + + Workspace { + ThisFile "package.json" {} + File "pnpm-workspace.yaml" { from="pnpm-workspace.yaml" } + } + + + File "pnpm-workspace.yaml" { +packages: + - 'packages/*' + } + + END_SETUP + */ + + +{ + "author": "Enfore AG", + "license": "UNLICENSED", + "private": true, + "type": "module", + "engines": { + "node": ">=20.2", + "pnpm": ">=8" + }, + "pnpm": { + "patchedDependencies": { + "pdf-parse@1.1.1": "patches/pdf-parse@1.1.1.patch" + } + }, + // XPECT warnings --> "This property is overridden by property 'packages' in file pnpm-workspaces.yaml." at "\"workspaces\"" + "workspaces": [ + "packages/*" + ] +} diff --git a/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_obj.xt b/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_obj.xt new file mode 100644 index 0000000000..05fecebfd2 --- /dev/null +++ b/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_obj.xt @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2022 NumberFour AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * NumberFour AG - Initial API and implementation + */ + +/* + XPECT_SETUP org.eclipse.n4js.xpect.tests.N4jsXtTest + + + Workspace { + ThisFile "package.json" {} + File "pnpm-workspace.yaml" { from="pnpm-workspace.yaml" } + } + + + File "pnpm-workspace.yaml" { +packages: + - 'packages/*' + } + + END_SETUP + */ + + +{ + "author": "Enfore AG", + "license": "UNLICENSED", + "private": true, + "type": "module", + "engines": { + "node": ">=20.2", + "pnpm": ">=8" + }, + "pnpm": { + "patchedDependencies": { + "pdf-parse@1.1.1": "patches/pdf-parse@1.1.1.patch" + } + }, + // XPECT warnings --> "This property is overridden by property 'packages' in file pnpm-workspaces.yaml." at "\"workspaces\"" + "workspaces": { + "packages": [ + "packages/*" + ], + "nohoist": [ + "**/source-map" + ] + } +} diff --git a/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_prefer_yarn.xt b/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_prefer_yarn.xt new file mode 100644 index 0000000000..75dbd26b9d --- /dev/null +++ b/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_prefer_yarn.xt @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2022 NumberFour AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * NumberFour AG - Initial API and implementation + */ + +/* + XPECT_SETUP org.eclipse.n4js.xpect.tests.N4jsXtTest + + + Workspace { + ThisFile "package.json" {} + File "pnpm-workspace.yaml" { from="pnpm-workspace.yaml" } + } + + + File "pnpm-workspace.yaml" { +useYarnConfig: true +packages: + - 'packages/*' + } + + END_SETUP + */ + + +{ + "author": "Enfore AG", + "license": "UNLICENSED", + "private": true, + "type": "module", + "engines": { + "node": ">=20.2", + "pnpm": ">=8" + }, + "pnpm": { + "patchedDependencies": { + "pdf-parse@1.1.1": "patches/pdf-parse@1.1.1.patch" + } + }, + // XPECT nowarnings --> "This property is overridden by property 'packages' in file pnpm-workspaces.yaml." at "\"workspaces\"" + "workspaces": [ + "packages/*" + ] +} diff --git a/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_prefer_yarn_false.xt b/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_prefer_yarn_false.xt new file mode 100644 index 0000000000..f1695c4c38 --- /dev/null +++ b/tests/org.eclipse.n4js.xpect.tests/xt-tests/packagejson_pnpm/package.json_workspace_prefer_yarn_false.xt @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2022 NumberFour AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * NumberFour AG - Initial API and implementation + */ + +/* + XPECT_SETUP org.eclipse.n4js.xpect.tests.N4jsXtTest + + + Workspace { + ThisFile "package.json" {} + File "pnpm-workspace.yaml" { from="pnpm-workspace.yaml" } + } + + + File "pnpm-workspace.yaml" { +useYarnConfig: false +packages: + - 'packages/*' + } + + END_SETUP + */ + + +{ + "author": "Enfore AG", + "license": "UNLICENSED", + "private": true, + "type": "module", + "engines": { + "node": ">=20.2", + "pnpm": ">=8" + }, + "pnpm": { + "patchedDependencies": { + "pdf-parse@1.1.1": "patches/pdf-parse@1.1.1.patch" + } + }, + // XPECT warnings --> "This property is overridden by property 'packages' in file pnpm-workspaces.yaml." at "\"workspaces\"" + "workspaces": [ + "packages/*" + ] +} From e0a458de71434b577e2478714d4d53fb95868c79 Mon Sep 17 00:00:00 2001 From: mmews Date: Thu, 4 Jan 2024 11:26:35 +0100 Subject: [PATCH 07/16] add warning --- .../src/org/eclipse/n4js/validation/IssueCodes.java | 4 ++++ .../N4JSProjectSetupJsonValidatorExtension.xtend | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/IssueCodes.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/IssueCodes.java index ea670ca3f8..ee1c86abf1 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/IssueCodes.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/IssueCodes.java @@ -2060,6 +2060,10 @@ public enum IssueCodes { PKGJ_REWRITE_MODULE_SPECIFIERS__INVALID_VALUE(ERROR, "String expected (i.e. the module specifier to use in the output code)."), + /** no parameters */ + PKGJ_PNPM_WORKSPACES_OVERRIDE(WARNING, + "This property is overridden by property 'packages' in file pnpm-workspaces.yaml."), + /** 0: dependency cycle */ LTD_ILLEGAL_LOADTIME_REFERENCE(ERROR, "Load-time references to the same or other modules are not allowed within a runtime dependency cycle (except in extends/implements clauses).{0}"), diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/validators/packagejson/N4JSProjectSetupJsonValidatorExtension.xtend b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/validators/packagejson/N4JSProjectSetupJsonValidatorExtension.xtend index 2bc35b0df2..93516c03eb 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/validators/packagejson/N4JSProjectSetupJsonValidatorExtension.xtend +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/validators/packagejson/N4JSProjectSetupJsonValidatorExtension.xtend @@ -762,6 +762,17 @@ public class N4JSProjectSetupJsonValidatorExtension extends AbstractPackageJSONV holdsValidModuleSpecifiers(filterSpecifierTraceables, project); } + /** + * Checks if there is a pnpm-worspaces.yaml file that overrides the workspaces property. + */ + @CheckProperty(property = WORKSPACES_ARRAY) // also works for WORKSPACES_OBJECT + def checkWorspaceDefinitionArray(JSONValue workspacesValue) { + val description = getProjectDescription(); + if (description.isPnpmWorkspaceRoot) { + addIssue(workspacesValue.eContainer, JSONPackage.Literals.NAME_VALUE_PAIR__NAME, PKGJ_PNPM_WORKSPACES_OVERRIDE.toIssueItem()); + } + } + private def holdsValidModuleSpecifiers(Iterable> moduleFilterSpecifiers, N4JSProjectConfigSnapshot project) { val validFilterSpecifier = new ArrayList>(); From 61288c2ed203fb2a032698cea2e7c72cecdbded7 Mon Sep 17 00:00:00 2001 From: mmews Date: Thu, 4 Jan 2024 11:27:07 +0100 Subject: [PATCH 08/16] improve xt test setup parser --- .../n4js/ide/tests/helper/server/xt/XtSetupParser.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/testhelpers/org.eclipse.n4js.ide.tests.helper/src/org/eclipse/n4js/ide/tests/helper/server/xt/XtSetupParser.java b/testhelpers/org.eclipse.n4js.ide.tests.helper/src/org/eclipse/n4js/ide/tests/helper/server/xt/XtSetupParser.java index 63b1cc9406..4ab18e65aa 100644 --- a/testhelpers/org.eclipse.n4js.ide.tests.helper/src/org/eclipse/n4js/ide/tests/helper/server/xt/XtSetupParser.java +++ b/testhelpers/org.eclipse.n4js.ide.tests.helper/src/org/eclipse/n4js/ide/tests/helper/server/xt/XtSetupParser.java @@ -268,6 +268,16 @@ private static XtWorkspace parseWorkspace(TokenStream tokens, File xtFile, Strin LOOP: while (tokens.hasNext()) { switch (tokens.next()) { + case "File": { // could be the package.json file of the workspace + FolderBuilder folderBuilder = yarnProjectBuilder.getOrAddFolder("."); + parseFile(tokens, xtFile, xtFileContent, false, folderBuilder); + break; + } + case "ThisFile": { // could be the package.json file of the workspace + FolderBuilder folderBuilder = yarnProjectBuilder.getOrAddFolder("."); + parseFile(tokens, xtFile, xtFileContent, true, folderBuilder); + break; + } case "Project": case "JavaProject": parseYarnProject(tokens, xtFile, xtFileContent, yarnProjectBuilder, false); From 9b81c116fc3c67ab882da98c572e7e10a1ce33c0 Mon Sep 17 00:00:00 2001 From: mmews Date: Thu, 4 Jan 2024 11:27:31 +0100 Subject: [PATCH 09/16] respect pnpm-workspaces.yaml --- .../eclipse/n4js/utils/ProjectDescriptionLoader.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionLoader.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionLoader.java index 0e1ed3f551..ca9ddd160d 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionLoader.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionLoader.java @@ -293,8 +293,15 @@ private void setInformationFromPnpmWorkspace(FileURI location, ProjectDescriptio Multimap pnpmWorkspacesYaml = YamlUtil.loadYamlAtLocation(path); Collection packagesEntries = pnpmWorkspacesYaml.get("packages"); if (!packagesEntries.isEmpty()) { - target.setPnpmWorkspaceRoot(true); - target.getWorkspaces().addAll(packagesEntries); + // check for property discussed here: https://github.com/pnpm/pnpm/issues/2255#issuecomment-576866891 + Collection useYarnConfigEntries = pnpmWorkspacesYaml.get("useYarnConfig"); + if (useYarnConfigEntries.isEmpty() + || !"true".equals(useYarnConfigEntries.iterator().next().toString().toLowerCase())) { + + target.setPnpmWorkspaceRoot(true); + target.getWorkspaces().clear(); + target.getWorkspaces().addAll(packagesEntries); + } } } From 14274afa5bc9c4773c51b6457161d922152da09f Mon Sep 17 00:00:00 2001 From: mmews Date: Thu, 4 Jan 2024 11:52:06 +0100 Subject: [PATCH 10/16] fix unrelated NPE --- .../n4js/ide/server/N4JSStatefulIncrementalBuilder.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.n4js.ide/src/org/eclipse/n4js/ide/server/N4JSStatefulIncrementalBuilder.java b/plugins/org.eclipse.n4js.ide/src/org/eclipse/n4js/ide/server/N4JSStatefulIncrementalBuilder.java index 9512f4c653..73028a0cff 100644 --- a/plugins/org.eclipse.n4js.ide/src/org/eclipse/n4js/ide/server/N4JSStatefulIncrementalBuilder.java +++ b/plugins/org.eclipse.n4js.ide/src/org/eclipse/n4js/ide/server/N4JSStatefulIncrementalBuilder.java @@ -43,6 +43,7 @@ import org.eclipse.xtext.util.IFileSystemScanner; import org.eclipse.xtext.validation.Issue; +import com.google.common.base.Strings; import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; @@ -296,7 +297,7 @@ private String getAdjustedModuleSpecifierOrNull(String moduleSpecifier, N4JSProj Multimap moduleName2Uri) { ProjectDescription pd = projectConfig.getProjectDescription(); - String prjName = projectConfig.getPackageName(); + String prjName = Strings.nullToEmpty(projectConfig.getPackageName()); if (moduleName2Uri.containsKey(moduleSpecifier)) { return moduleSpecifier; } else if (moduleSpecifier.startsWith("./")) { From 097255a28b069729bceed793a5161719ec0b8644 Mon Sep 17 00:00:00 2001 From: mmews Date: Thu, 4 Jan 2024 11:52:46 +0100 Subject: [PATCH 11/16] treat pnpm and yarn workspace equally --- .../org/eclipse/n4js/packagejson/PackageJsonHelper.java | 4 ++-- .../projectDescription/ProjectDescription.java | 8 ++++++++ .../projectDescription/ProjectDescriptionBuilder.java | 4 ++++ .../eclipse/n4js/utils/NodeModulesDiscoveryHelper.java | 2 +- .../src/org/eclipse/n4js/workspace/N4JSProjectConfig.java | 2 +- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/PackageJsonHelper.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/PackageJsonHelper.java index c90bdf0e86..0d77fe4ec5 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/PackageJsonHelper.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/PackageJsonHelper.java @@ -583,9 +583,9 @@ private void applyN4JSDefaults(ProjectDescriptionBuilder target, String defaultP private void setSourceContainer(ProjectDescriptionBuilder target, String path, boolean replace) { // if no source containers are defined (no matter what type), // then add a default source container of type "source" with path "." - // EXCEPT target represents a yarn workspace root + // EXCEPT target represents a workspace root - if (!target.isYarnWorkspaceRoot()) { + if (!target.isWorkspaceRoot()) { List sourceContainers = target.getSourceContainers(); SourceContainerDescription sourceContainerOfTypeSource = null; for (SourceContainerDescription sourceContainer : sourceContainers) { diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescription.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescription.java index 51f985fac1..cc9b986e7c 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescription.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescription.java @@ -382,6 +382,13 @@ public boolean hasN4JSNature() { return n4jsNature; } + /** + * True iff the project represented by this project description is the root of either a yarn or pnpm workspace. + */ + public boolean isWorkspaceRoot() { + return isYarnWorkspaceRoot() || isPnpmWorkspaceRoot(); + } + /** * Tells whether the project represented by this project description is the root of a yarn workspace. This flag will * be {@code true} iff the package.json contains yarn's top-level property "workspaces", no matter the value (i.e. @@ -485,6 +492,7 @@ protected int computeHashCode() { esm, moduleProperty, n4jsNature, + pnpmWorkspaceRoot, yarnWorkspaceRoot, isGeneratorEnabledSourceMaps, isGeneratorEnabledDts, diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescriptionBuilder.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescriptionBuilder.java index 876188db42..bfaec8c668 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescriptionBuilder.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/projectDescription/ProjectDescriptionBuilder.java @@ -379,6 +379,10 @@ public ProjectDescriptionBuilder setN4JSNature(boolean n4jsNature) { return this; } + public boolean isWorkspaceRoot() { + return isYarnWorkspaceRoot() || isPnpmWorkspaceRoot(); + } + public boolean isPnpmWorkspaceRoot() { return pnpmWorkspaceRoot; } diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/NodeModulesDiscoveryHelper.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/NodeModulesDiscoveryHelper.java index 86f9e40c8c..932e7d535a 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/NodeModulesDiscoveryHelper.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/NodeModulesDiscoveryHelper.java @@ -276,7 +276,7 @@ private List getWorkspacesOfYarnWorkspaceProject(File yarnProjectFolder, .loadProjectDescriptionAtLocation(location, null); return pd; }); - final List workspaces = (prjDescr != null && prjDescr.isYarnWorkspaceRoot()) + final List workspaces = (prjDescr != null && prjDescr.isWorkspaceRoot()) ? prjDescr.getWorkspaces() : null; diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSProjectConfig.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSProjectConfig.java index 634b6de895..ef392268dc 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSProjectConfig.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSProjectConfig.java @@ -187,7 +187,7 @@ public N4JSPackageName getN4JSPackageName() { /** Tells whether this project is a yarn workspace project. */ public boolean isWorkspaceProject() { - return projectDescription.isYarnWorkspaceRoot() + return projectDescription.isWorkspaceRoot() && projectDescription.getWorkspaces() != null && !projectDescription.getWorkspaces().isEmpty(); } From 2d831e4b6420b09dd3b0d85b65b893924cadcb9c Mon Sep 17 00:00:00 2001 From: mmews Date: Fri, 5 Jan 2024 14:02:55 +0100 Subject: [PATCH 12/16] check for symlinks --- .../eclipse/n4js/workspace/utils/SemanticDependencySupplier.java | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/SemanticDependencySupplier.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/SemanticDependencySupplier.java index d5ce2368ba..28534bde28 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/SemanticDependencySupplier.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/SemanticDependencySupplier.java @@ -180,6 +180,7 @@ private Path getPathToDependency(Path relatedRootLocation, Path projectLocation, // Second check if it is a dependency in the node_modules folder for (File nodeModulesDir : nodeModulesFolder.getNodeModulesFoldersInOrderOfPriority()) { Path absDepPath = nodeModulesDir.toPath().resolve(depName); + absDepPath = resolveSymbolicLinkOrDefault(absDepPath); if (candidatePaths.contains(absDepPath)) { // dependency in a node_modules folder return absDepPath; From 0a6c5200d9ac3e15b083a24a2d156169b349230f Mon Sep 17 00:00:00 2001 From: mmews Date: Fri, 5 Jan 2024 14:05:21 +0100 Subject: [PATCH 13/16] move XtextResourceLocator --- .../n4js/xtext/resourceset/StandardResourceLocator.java | 2 +- .../org/eclipse/n4js/generator/AbstractSubGenerator.xtend | 2 +- .../org/eclipse/n4js/packagejson/PackageJsonHelper.java | 3 +-- .../org/eclipse/n4js/resource}/XtextResourceLocator.java | 7 ++++++- .../scoping/builtin/ConfiguredResourceSetProvider.java | 2 +- .../builtin/ResourceSetWithBuiltInSchemeProvider.java | 2 +- 6 files changed, 11 insertions(+), 7 deletions(-) rename plugins/{org.eclipse.n4js.utils/src/org/eclipse/n4js/xtext/resourceset => org.eclipse.n4js/src/org/eclipse/n4js/resource}/XtextResourceLocator.java (92%) diff --git a/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/xtext/resourceset/StandardResourceLocator.java b/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/xtext/resourceset/StandardResourceLocator.java index ae72140192..916c6a3b4e 100644 --- a/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/xtext/resourceset/StandardResourceLocator.java +++ b/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/xtext/resourceset/StandardResourceLocator.java @@ -14,7 +14,7 @@ * * This is used to avoid the mutation of the locator field in {@link #basicGetResource(URI, boolean)} */ -class StandardResourceLocator extends ResourceLocator { +public class StandardResourceLocator extends ResourceLocator { public StandardResourceLocator(ResourceSetImpl resourceSet) { super(resourceSet); diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/generator/AbstractSubGenerator.xtend b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/generator/AbstractSubGenerator.xtend index 7f6844ca05..56c17a092f 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/generator/AbstractSubGenerator.xtend +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/generator/AbstractSubGenerator.xtend @@ -160,7 +160,7 @@ abstract class AbstractSubGenerator implements ISubGenerator, IGenerator2 { val ws = workspaceAccess.getWorkspaceConfig(input); val autobuildEnabled = isActive(input) - val isXPECTMode = N4JSGlobals.XT_FILE_EXTENSION == URIUtils.fileExtension(input.URI).toLowerCase + val isXPECTMode = N4JSGlobals.XT_FILE_EXTENSION.equals(URIUtils.fileExtension(input.URI).toLowerCase); val inputUri = input.URI val boolean result = (autobuildEnabled diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/PackageJsonHelper.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/PackageJsonHelper.java index 0d77fe4ec5..8102b2b7a6 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/PackageJsonHelper.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/packagejson/PackageJsonHelper.java @@ -397,8 +397,7 @@ private void convertDependencies(ProjectDescriptionBuilder target, List Date: Fri, 5 Jan 2024 14:12:27 +0100 Subject: [PATCH 14/16] file scanner ignores nested projects --- .../build/N4JSConfigSnapshotFactory.java | 6 +- .../workspace/FileSystemScannerAceptor.java | 83 +++++++++++++++++++ .../n4js/workspace/N4JSSourceFolder.java | 33 ++++++-- .../workspace/N4JSSourceFolderSnapshot.java | 29 ++++++- ...4JSSourceFolderSnapshotForPackageJson.java | 2 +- .../n4js/workspace/N4JSWorkspaceConfig.java | 5 +- .../workspace/utils/FileSystemScanner.java | 36 +++++++- .../workspace/utils/FileVisitingAcceptor.java | 64 -------------- .../helper/mock/MockWorkspaceSupplier.java | 2 +- .../tests/xtext/workspace/ProjectSetTest.java | 2 +- 10 files changed, 180 insertions(+), 82 deletions(-) create mode 100644 plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/FileSystemScannerAceptor.java delete mode 100644 plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/FileVisitingAcceptor.java diff --git a/plugins/org.eclipse.n4js.ide/src/org/eclipse/n4js/ide/server/build/N4JSConfigSnapshotFactory.java b/plugins/org.eclipse.n4js.ide/src/org/eclipse/n4js/ide/server/build/N4JSConfigSnapshotFactory.java index f1beb00328..64122009e6 100644 --- a/plugins/org.eclipse.n4js.ide/src/org/eclipse/n4js/ide/server/build/N4JSConfigSnapshotFactory.java +++ b/plugins/org.eclipse.n4js.ide/src/org/eclipse/n4js/ide/server/build/N4JSConfigSnapshotFactory.java @@ -14,9 +14,9 @@ import org.eclipse.emf.common.util.URI; import org.eclipse.n4js.packagejson.projectDescription.ProjectDependency; -import org.eclipse.n4js.workspace.IN4JSSourceFolder; import org.eclipse.n4js.workspace.N4JSProjectConfig; import org.eclipse.n4js.workspace.N4JSProjectConfigSnapshot; +import org.eclipse.n4js.workspace.N4JSSourceFolder; import org.eclipse.n4js.workspace.N4JSSourceFolderForPackageJson; import org.eclipse.n4js.workspace.N4JSSourceFolderSnapshot; import org.eclipse.n4js.workspace.N4JSSourceFolderSnapshotForPackageJson; @@ -65,8 +65,8 @@ public N4JSSourceFolderSnapshot createSourceFolderSnapshot(ISourceFolder sourceF if (sourceFolder instanceof N4JSSourceFolderForPackageJson) { return new N4JSSourceFolderSnapshotForPackageJson((N4JSSourceFolderForPackageJson) sourceFolder); } - IN4JSSourceFolder sourceFolderCasted = (IN4JSSourceFolder) sourceFolder; + N4JSSourceFolder sourceFolderCasted = (N4JSSourceFolder) sourceFolder; return new N4JSSourceFolderSnapshot(sourceFolder.getName(), sourceFolder.getPath(), - sourceFolderCasted.getType(), sourceFolderCasted.getRelativePath()); + sourceFolderCasted.getType(), sourceFolderCasted.getRelativePath(), sourceFolderCasted.getWorkspaces()); } } diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/FileSystemScannerAceptor.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/FileSystemScannerAceptor.java new file mode 100644 index 0000000000..f6b48b2832 --- /dev/null +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/FileSystemScannerAceptor.java @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2024 NumberFour AG. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * NumberFour AG - Initial API and implementation + */ +package org.eclipse.n4js.workspace; + +import java.nio.file.FileSystems; +import java.nio.file.FileVisitResult; +import java.nio.file.Path; +import java.nio.file.PathMatcher; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.n4js.N4JSGlobals; +import org.eclipse.n4js.utils.URIUtils; +import org.eclipse.n4js.workspace.utils.FileSystemScanner.IFileSystemScannerAcceptor; + +/** + * File acceptor that skips nested workspace projects. + */ +public class FileSystemScannerAceptor implements IFileSystemScannerAcceptor { + private final List pathMatchers; + private List sources = new ArrayList<>(); + + /** + * Constructor + */ + @SuppressWarnings("resource") + public FileSystemScannerAceptor(URI uri, List workspaces) { + super(); + this.pathMatchers = new ArrayList<>(); + Path root = Path.of(uri.toFileString()); + if (workspaces != null) { + for (String glob : workspaces) { + pathMatchers.add(FileSystems.getDefault().getPathMatcher("glob:" + root.resolve(glob))); + } + } + } + + @Override + public void accept(URI uri) { + if (sources != null && N4JSGlobals.ALL_N4_FILE_EXTENSIONS.contains(URIUtils.fileExtension(uri))) { + sources.add(uri); + } + } + + @Override + public FileVisitResult acceptFile(URI uri) { + accept(uri); + return FileVisitResult.CONTINUE; + } + + @Override + public FileVisitResult acceptDirectory(URI uri) { + for (PathMatcher pathMatcher : pathMatchers) { + if (pathMatcher.matches(Path.of(uri.toFileString()))) { + return FileVisitResult.SKIP_SUBTREE; + } + } + return FileVisitResult.CONTINUE; + } + + /** Returns the sources and resets the internal sources list. */ + public List getSources() { + try { + return sources; + } finally { + this.sources = new ArrayList<>(); + } + } + + /** */ + public List getPathMatchers() { + return pathMatchers; + } +} diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolder.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolder.java index 38500582f6..81c7cf2d2b 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolder.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolder.java @@ -10,7 +10,8 @@ */ package org.eclipse.n4js.workspace; -import java.util.ArrayList; +import java.nio.file.Path; +import java.nio.file.PathMatcher; import java.util.List; import java.util.Objects; @@ -24,11 +25,12 @@ * Wrapper around {@link SourceContainerDescription}. */ public class N4JSSourceFolder implements IN4JSSourceFolder { - private final N4JSProjectConfig project; private final SourceContainerType type; private final String relativePath; private final FileURI absolutePath; + private final List workspaces; + private final FileSystemScannerAceptor fssAcceptor; /** * Constructor @@ -38,6 +40,8 @@ public N4JSSourceFolder(N4JSProjectConfig project, SourceContainerType type, Str this.type = Objects.requireNonNull(type); this.relativePath = Objects.requireNonNull(relativePath); this.absolutePath = project.getAbsolutePath(relativePath); + this.workspaces = project.getProjectDescription().getWorkspaces(); + this.fssAcceptor = new FileSystemScannerAceptor(getPath(), workspaces); } @Override @@ -70,11 +74,30 @@ public FileURI getPathAsFileURI() { return absolutePath; } + /** */ + public List getWorkspaces() { + return workspaces; + } + @Override public List getAllResources(IFileSystemScanner scanner) { - List sources = new ArrayList<>(); - scanner.scan(getPath(), sources::add); - return sources; + scanner.scan(getPath(), fssAcceptor); // assumes a FileSystemScanner + return fssAcceptor.getSources(); + } + + @SuppressWarnings("restriction") + @Override + public boolean contains(URI uri) { + if (!IN4JSSourceFolder.super.contains(uri)) { + return false; + } + for (PathMatcher pathMatcher : fssAcceptor.getPathMatchers()) { + if (pathMatcher.matches(Path.of(uri.toFileString()))) { + return false; + } + } + + return true; } } diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolderSnapshot.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolderSnapshot.java index 47e7d6d54e..a12d8283c0 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolderSnapshot.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolderSnapshot.java @@ -10,12 +10,16 @@ */ package org.eclipse.n4js.workspace; +import java.nio.file.Path; +import java.nio.file.PathMatcher; +import java.util.List; import java.util.Objects; import org.eclipse.emf.common.util.URI; import org.eclipse.n4js.packagejson.projectDescription.SourceContainerType; import org.eclipse.n4js.workspace.locations.FileURI; import org.eclipse.n4js.xtext.workspace.SourceFolderSnapshot; +import org.eclipse.xtext.util.IFileSystemScanner; import org.eclipse.xtext.util.UriExtensions; /** @@ -25,12 +29,16 @@ public class N4JSSourceFolderSnapshot extends SourceFolderSnapshot { private final SourceContainerType type; private final String relativeLocation; + private final FileSystemScannerAceptor fssAcceptor; /** Creates a new {@link N4JSSourceFolderSnapshot}. */ - public N4JSSourceFolderSnapshot(String name, URI path, SourceContainerType type, String relativeLocation) { + public N4JSSourceFolderSnapshot(String name, URI path, SourceContainerType type, String relativeLocation, + List workspaces) { + super(name, path); this.type = type; this.relativeLocation = relativeLocation; + this.fssAcceptor = new FileSystemScannerAceptor(path, workspaces); } /** The {@link SourceContainerType type}. */ @@ -67,6 +75,25 @@ public String toString() { + ", path: " + getPath() + " }"; } + @Override + public List getAllResources(IFileSystemScanner scanner) { + scanner.scan(getPath(), fssAcceptor); + return fssAcceptor.getSources(); + } + + @Override + public boolean contains(URI uri) { + if (!super.contains(uri)) { + return false; + } + for (PathMatcher pathMatcher : fssAcceptor.getPathMatchers()) { + if (pathMatcher.matches(Path.of(uri.toFileString()))) { + return false; + } + } + + return true; + } // ============================================================================================================== // Convenience and utility methods (do not introduce additional data) diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolderSnapshotForPackageJson.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolderSnapshotForPackageJson.java index 0e56a5e103..601ce14d16 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolderSnapshotForPackageJson.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSSourceFolderSnapshotForPackageJson.java @@ -26,7 +26,7 @@ public class N4JSSourceFolderSnapshotForPackageJson extends N4JSSourceFolderSnap /** Creates a new {@link N4JSSourceFolderSnapshotForPackageJson}. */ public N4JSSourceFolderSnapshotForPackageJson(N4JSSourceFolderForPackageJson sourceFolder) { super(sourceFolder.getName(), sourceFolder.getPath(), sourceFolder.getType(), - sourceFolder.getRelativePath()); + sourceFolder.getRelativePath(), null); this.packageJsonURI = sourceFolder.getPackageJsonURI(); } diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSWorkspaceConfig.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSWorkspaceConfig.java index 4f6b8b94cb..3680b562b0 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSWorkspaceConfig.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/N4JSWorkspaceConfig.java @@ -42,9 +42,9 @@ import org.eclipse.xtext.xbase.lib.IterableExtensions; import com.google.common.collect.FluentIterable; -import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; +import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Sets; /** @@ -70,7 +70,8 @@ public class N4JSWorkspaceConfig implements XIWorkspaceConfig { /** All projects registered in this workspace by their id. */ protected final Map projectID2ProjectConfig = new LinkedHashMap<>(); /** All projects by their package name. */ - protected final HashMultimap packageName2ProjectConfigs = HashMultimap.create(); + protected final LinkedHashMultimap packageName2ProjectConfigs = LinkedHashMultimap + .create(); /** Map between definition projects and their defined projects. */ protected final DefinitionProjectMap definitionProjects = new DefinitionProjectMap(); /** Set of all runtime-library project ids in the workspace. */ diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/FileSystemScanner.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/FileSystemScanner.java index f0d84ed619..4a5c1f5bd4 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/FileSystemScanner.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/FileSystemScanner.java @@ -32,7 +32,7 @@ import com.google.inject.Singleton; /** - * A file system scanner that is aware of {@link FileVisitingAcceptor} to cut the traversal short. + * A file system scanner that is aware of {@link IFileSystemScannerAcceptor} to cut the traversal short. * * Compared to the default, it relies internally on {@link Files#walkFileTree(Path, java.nio.file.FileVisitor)} rather * than manual traversal based on the {@link File file API}. @@ -40,6 +40,21 @@ @Singleton public class FileSystemScanner implements IFileSystemScanner { + /** An {@link IAcceptor} that supports skipping subtrees when walking the file tree. */ + public interface IFileSystemScannerAcceptor extends IAcceptor { + /** Callback on every visited directory */ + default FileVisitResult acceptDirectory(T t) { + accept(t); + return FileVisitResult.CONTINUE; + } + + /** Callback on every visited file */ + default FileVisitResult acceptFile(T t) { + accept(t); + return FileVisitResult.CONTINUE; + } + } + @Override public void scan(URI root, IAcceptor acceptor) { File rootFile = URIUtils.toFile(root); @@ -56,10 +71,14 @@ public void scan(URI root, IAcceptor acceptor) { } static class N4JSFileVisitor implements FileVisitor { + final IFileSystemScannerAcceptor fssAcceptor; final IAcceptor acceptor; N4JSFileVisitor(IAcceptor acceptor) { this.acceptor = acceptor; + this.fssAcceptor = (acceptor instanceof IFileSystemScannerAcceptor) + ? (IFileSystemScannerAcceptor) acceptor + : null; } @Override @@ -67,13 +86,21 @@ public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) th if (dir.endsWith(N4JSGlobals.NODE_MODULES)) { return FileVisitResult.SKIP_SUBTREE; } + if (fssAcceptor != null) { + return fssAcceptor.acceptDirectory(new FileURI(dir.toFile()).toURI()); + } return FileVisitResult.CONTINUE; } @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { - acceptor.accept(new FileURI(file.toFile()).toURI()); - return FileVisitResult.CONTINUE; + URI uri = new FileURI(file.toFile()).toURI(); + if (fssAcceptor != null) { + return fssAcceptor.acceptFile(uri); + } else { + acceptor.accept(uri); + return FileVisitResult.CONTINUE; + } } @Override @@ -83,8 +110,9 @@ public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOExce @Override public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException { - if (exc != null) + if (exc != null) { throw exc; + } return FileVisitResult.CONTINUE; } } diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/FileVisitingAcceptor.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/FileVisitingAcceptor.java deleted file mode 100644 index 932c913f99..0000000000 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/utils/FileVisitingAcceptor.java +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Copyright (c) 2019 NumberFour AG. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * NumberFour AG - Initial API and implementation - */ -package org.eclipse.n4js.workspace.utils; - -import java.io.IOException; -import java.nio.file.FileVisitResult; -import java.nio.file.FileVisitor; -import java.nio.file.Path; -import java.nio.file.attribute.BasicFileAttributes; - -import org.eclipse.emf.common.util.URI; -import org.eclipse.n4js.N4JSGlobals; -import org.eclipse.n4js.workspace.locations.FileURI; -import org.eclipse.xtext.util.IAcceptor; - -/** - * A specialized acceptor that can be passed into the {@link FileSystemScanner} to get control over the scanned contents - * of the file tree. - * - * It allows skipping parts of the project, e.g. skipping traversal of node modules. - */ -public interface FileVisitingAcceptor extends FileVisitor, IAcceptor { - - @Override - void accept(URI uri); - - @Override - public default FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) - throws IOException { - if (dir.endsWith(N4JSGlobals.NODE_MODULES)) { - return FileVisitResult.SKIP_SUBTREE; - } - return FileVisitResult.CONTINUE; - } - - @Override - public default FileVisitResult visitFile(Path file, BasicFileAttributes attrs) - throws IOException { - accept(new FileURI(file.toFile()).toURI()); - return FileVisitResult.CONTINUE; - } - - @Override - public default FileVisitResult visitFileFailed(Path file, IOException exc) - throws IOException { - throw exc; - } - - @Override - public default FileVisitResult postVisitDirectory(Path dir, IOException exc) - throws IOException { - if (exc != null) - throw exc; - return FileVisitResult.CONTINUE; - } -} \ No newline at end of file diff --git a/testhelpers/org.eclipse.n4js.tests.helper/src/org/eclipse/n4js/tests/helper/mock/MockWorkspaceSupplier.java b/testhelpers/org.eclipse.n4js.tests.helper/src/org/eclipse/n4js/tests/helper/mock/MockWorkspaceSupplier.java index d8a2c572c8..4dfbf9e827 100644 --- a/testhelpers/org.eclipse.n4js.tests.helper/src/org/eclipse/n4js/tests/helper/mock/MockWorkspaceSupplier.java +++ b/testhelpers/org.eclipse.n4js.tests.helper/src/org/eclipse/n4js/tests/helper/mock/MockWorkspaceSupplier.java @@ -146,7 +146,7 @@ protected List createSourceFolders(FileURI projectPath for (String path : sc.getPaths()) { sourceFolders.add(new N4JSSourceFolderSnapshot(path, projectPath.appendPath(path).withTrailingPathDelimiter().toURI(), sc.getType(), - path)); + path, null)); } } return sourceFolders; diff --git a/tests/org.eclipse.n4js.lang.tests/src/org/eclipse/n4js/tests/xtext/workspace/ProjectSetTest.java b/tests/org.eclipse.n4js.lang.tests/src/org/eclipse/n4js/tests/xtext/workspace/ProjectSetTest.java index caa70a2748..04524a0505 100644 --- a/tests/org.eclipse.n4js.lang.tests/src/org/eclipse/n4js/tests/xtext/workspace/ProjectSetTest.java +++ b/tests/org.eclipse.n4js.lang.tests/src/org/eclipse/n4js/tests/xtext/workspace/ProjectSetTest.java @@ -61,7 +61,7 @@ private N4JSProjectConfigSnapshot createProjectConfig(URI path) { .setVersion(SemverUtils.createVersionNumber(0, 0, 1)) .build(); N4JSSourceFolderSnapshot srcFolder = new N4JSSourceFolderSnapshot("src", path.appendSegment("src"), - SourceContainerType.SOURCE, "src"); + SourceContainerType.SOURCE, "src", null); return new N4JSProjectConfigSnapshot(pd, path, false, true, Collections.emptyList(), Collections.singleton(srcFolder), Map.of()); } From 20fd02917153675e53b0ddf1cfbb9e49a8b09872 Mon Sep 17 00:00:00 2001 From: mmews Date: Fri, 5 Jan 2024 14:12:59 +0100 Subject: [PATCH 15/16] deal with failures during resource loading --- .../src/org/eclipse/n4js/resource/N4JSResource.java | 5 +++++ .../src/org/eclipse/n4js/resource/XtextResourceLocator.java | 3 +++ 2 files changed, 8 insertions(+) diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/N4JSResource.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/N4JSResource.java index 33cca2ff63..a5de481604 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/N4JSResource.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/N4JSResource.java @@ -407,6 +407,11 @@ public boolean isReconciled() { return module != null && module.isReconciled(); } + /** Returns true iff an error occurred while this resource was loaded. */ + public boolean isLoadedWithFailure() { + return this.isLoadedWithFailure; + } + @Override public synchronized EList getContents() { if (!removingAdapters) { diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/XtextResourceLocator.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/XtextResourceLocator.java index 3d9bfd3b6b..76e9e71ffe 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/XtextResourceLocator.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/XtextResourceLocator.java @@ -77,6 +77,9 @@ public Resource getResource(URI uri, boolean loadOnDemand) { demandLoadHelper(resource); if (resource instanceof N4JSResource && ((N4JSResource) resource).isLoadedWithFailure()) { + if (resource.getResourceSet() != null) { + resource.getResourceSet().getResources().remove(resource); + } return null; } From 5f0365e5802db4e08c72cfa7fd714300b291ecd4 Mon Sep 17 00:00:00 2001 From: mmews Date: Fri, 5 Jan 2024 16:13:57 +0100 Subject: [PATCH 16/16] fix tests due to resolving symlinks --- .../src/org/eclipse/n4js/utils/UtilN4.java | 2 ++ .../src/org/eclipse/n4js/N4JSGlobals.java | 2 ++ .../workspace/FileSystemScannerAceptor.java | 11 ++++++- .../PDTs/yarnSymLinksInNodeModulesFolder1.pdt | 2 +- .../PDTs/yarnSymLinksInNodeModulesFolder2.pdt | 2 +- .../PDTs/yarnSymLinksInNodeModulesFolder3.pdt | 2 +- .../builder/BuilderYarnWorkspaceTest.java | 7 +++-- .../builder/SymbolicLinkInWorkspaceTest.java | 30 +++++++++---------- .../tests/buildorder/BuildOrderToDtsTest.java | 2 +- 9 files changed, 37 insertions(+), 23 deletions(-) diff --git a/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/utils/UtilN4.java b/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/utils/UtilN4.java index 5416a1e9e2..e9713974c6 100644 --- a/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/utils/UtilN4.java +++ b/plugins/org.eclipse.n4js.utils/src/org/eclipse/n4js/utils/UtilN4.java @@ -43,6 +43,8 @@ */ public class UtilN4 { + /** Files extension of JSON files (not including the separator dot). */ + public static final String JSON_FILE_EXTENSION = "json"; /** Files extension of JS source files (not including the separator dot). */ public static final String JS_FILE_EXTENSION = "js"; /** File extension of JS source files that contain ES6 modules (not including the separator dot). */ diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/N4JSGlobals.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/N4JSGlobals.java index e91e35cc33..2a370a9241 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/N4JSGlobals.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/N4JSGlobals.java @@ -67,6 +67,8 @@ public final class N4JSGlobals { */ public static final String HASHBANG_PREFIX = "#!"; + /** Files extension of JSON files (not including the separator dot). */ + public static final String JSON_FILE_EXTENSION = UtilN4.JSON_FILE_EXTENSION; /** Files extension of JS source files (not including the separator dot). */ public static final String JS_FILE_EXTENSION = UtilN4.JS_FILE_EXTENSION; /** File extension of JS source files that contain ES6 modules (not including the separator dot). */ diff --git a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/FileSystemScannerAceptor.java b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/FileSystemScannerAceptor.java index f6b48b2832..ed3a05c10d 100644 --- a/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/FileSystemScannerAceptor.java +++ b/plugins/org.eclipse.n4js/src/org/eclipse/n4js/workspace/FileSystemScannerAceptor.java @@ -15,7 +15,9 @@ import java.nio.file.Path; import java.nio.file.PathMatcher; import java.util.ArrayList; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; import org.eclipse.emf.common.util.URI; import org.eclipse.n4js.N4JSGlobals; @@ -26,6 +28,13 @@ * File acceptor that skips nested workspace projects. */ public class FileSystemScannerAceptor implements IFileSystemScannerAcceptor { + static final Set ACCEPTED_EXTENSIONS = new LinkedHashSet<>() { + { + this.addAll(N4JSGlobals.ALL_N4_FILE_EXTENSIONS); + this.add(N4JSGlobals.JSON_FILE_EXTENSION); + } + }; + private final List pathMatchers; private List sources = new ArrayList<>(); @@ -46,7 +55,7 @@ public FileSystemScannerAceptor(URI uri, List workspaces) { @Override public void accept(URI uri) { - if (sources != null && N4JSGlobals.ALL_N4_FILE_EXTENSIONS.contains(URIUtils.fileExtension(uri))) { + if (sources != null && ACCEPTED_EXTENSIONS.contains(URIUtils.fileExtension(uri))) { sources.add(uri); } } diff --git a/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder1.pdt b/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder1.pdt index 8e7e3cfa57..bf22368e25 100644 --- a/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder1.pdt +++ b/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder1.pdt @@ -17,5 +17,5 @@ FOLDERS EXPECT - mainLocation/P1 - mainLocation/P1/node_modules/P2 -- mainLocation/P1/node_modules/PX - mainLocation/P1/packages/P3 +- otherLocation/PX diff --git a/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder2.pdt b/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder2.pdt index 2fb98ff37d..08347ffd3b 100644 --- a/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder2.pdt +++ b/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder2.pdt @@ -20,5 +20,5 @@ FOLDERS EXPECT - mainLocation/P1 - mainLocation/P1/node_modules/P2 -- mainLocation/P1/node_modules/@someScope/PX - mainLocation/P1/packages/P3 +- otherLocation/@someScope/PX diff --git a/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder3.pdt b/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder3.pdt index 20dcf68fc9..8cb96d8d58 100644 --- a/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder3.pdt +++ b/tests/org.eclipse.n4js.ide.tests/PDTs/yarnSymLinksInNodeModulesFolder3.pdt @@ -19,5 +19,5 @@ FOLDERS EXPECT - mainLocation/P1 - mainLocation/P1/node_modules/P2 -- mainLocation/P1/node_modules/@someScope/PX - mainLocation/P1/packages/P3 +- otherLocation/@someScope/PX diff --git a/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/builder/BuilderYarnWorkspaceTest.java b/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/builder/BuilderYarnWorkspaceTest.java index e98f571bba..601cc8da6e 100644 --- a/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/builder/BuilderYarnWorkspaceTest.java +++ b/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/builder/BuilderYarnWorkspaceTest.java @@ -73,11 +73,12 @@ public m() {} }, "n4js": { "projectType": "library", - "mainModule": "src/folder/Other", + "mainModule": "folder/Other", "vendorId": "org.eclipse.n4js", + "output": "src-gen", "sources": { "source": [ - "." + "src" ] } } @@ -85,7 +86,7 @@ public m() {} """.formatted(otherProjectName)), "MainProject", Map.of( "Main1", """ - import {Other} from "src/folder/Other"; + import {Other} from "folder/Other"; new Other().m(); """, "Main2", """ diff --git a/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/builder/SymbolicLinkInWorkspaceTest.java b/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/builder/SymbolicLinkInWorkspaceTest.java index a4cfddd2af..c41427ffe8 100644 --- a/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/builder/SymbolicLinkInWorkspaceTest.java +++ b/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/builder/SymbolicLinkInWorkspaceTest.java @@ -18,7 +18,6 @@ import org.eclipse.n4js.ide.tests.helper.server.AbstractIdeTest; import org.eclipse.n4js.utils.io.FileCopier; import org.eclipse.n4js.utils.io.FileDeleter; -import org.eclipse.n4js.utils.io.FileUtils; import org.junit.Test; /** @@ -33,7 +32,7 @@ public class SymbolicLinkInWorkspaceTest extends AbstractIdeTest { @Test public void testSymLinkInNodeModulesFolder() throws Exception { createYarnWorkspaceWithProjectMainWithDependencyTo("ProjectOther"); - Path other = createProjectOutsideWorkspace("ProjectOther", "Other"); + Path other = createProjectInPnpmFolder("ProjectOther", "Other"); Path nodeModulesFolder = getNodeModulesFolder().toPath(); Files.createSymbolicLink(nodeModulesFolder.resolve("ProjectOther"), other); startAndWaitForLspServer(); @@ -41,7 +40,7 @@ public void testSymLinkInNodeModulesFolder() throws Exception { assertProjectsInWorkspace( "yarn-test-project", "yarn-test-project/node_modules/n4js-runtime", - "yarn-test-project/node_modules/ProjectOther", + "yarn-test-project/node_modules/.pnpm/ProjectOther", "yarn-test-project/packages/ProjectMain"); assertNoIssues(); } @@ -49,7 +48,7 @@ public void testSymLinkInNodeModulesFolder() throws Exception { @Test public void testSymLinkInNodeModulesFolder_withScope01() throws Exception { createYarnWorkspaceWithProjectMainWithDependencyTo("@someScope/ProjectOther"); - Path other = createProjectOutsideWorkspace("@someScope/ProjectOther", "Other"); + Path other = createProjectInPnpmFolder("@someScope/ProjectOther", "Other"); Path nodeModulesFolder = getNodeModulesFolder().toPath(); Files.createSymbolicLink(nodeModulesFolder.resolve("@someScope"), other.getParent()); startAndWaitForLspServer(); @@ -57,7 +56,7 @@ public void testSymLinkInNodeModulesFolder_withScope01() throws Exception { assertProjectsInWorkspace( "yarn-test-project", "yarn-test-project/node_modules/n4js-runtime", - "yarn-test-project/node_modules/@someScope/ProjectOther", + "yarn-test-project/node_modules/.pnpm/@someScope/ProjectOther", "yarn-test-project/packages/ProjectMain"); assertNoIssues(); } @@ -65,7 +64,7 @@ public void testSymLinkInNodeModulesFolder_withScope01() throws Exception { @Test public void testSymLinkInNodeModulesFolder_withScope02() throws Exception { createYarnWorkspaceWithProjectMainWithDependencyTo("@someScope/ProjectOther"); - Path other = createProjectOutsideWorkspace("@someScope/ProjectOther", "Other"); + Path other = createProjectInPnpmFolder("@someScope/ProjectOther", "Other"); Path nodeModulesFolder = getNodeModulesFolder().toPath(); Files.createDirectory(nodeModulesFolder.resolve("@someScope")); Files.createSymbolicLink(nodeModulesFolder.resolve("@someScope").resolve("ProjectOther"), other); @@ -74,7 +73,7 @@ public void testSymLinkInNodeModulesFolder_withScope02() throws Exception { assertProjectsInWorkspace( "yarn-test-project", "yarn-test-project/node_modules/n4js-runtime", - "yarn-test-project/node_modules/@someScope/ProjectOther", + "yarn-test-project/node_modules/.pnpm/@someScope/ProjectOther", "yarn-test-project/packages/ProjectMain"); assertNoIssues(); } @@ -82,7 +81,7 @@ public void testSymLinkInNodeModulesFolder_withScope02() throws Exception { @Test public void testSymLinkInPackagesFolder() throws Exception { createYarnWorkspaceWithProjectMainWithDependencyTo("ProjectOther"); - Path other = createProjectOutsideWorkspace("ProjectOther", "Other"); + Path other = createProjectInPnpmFolder("ProjectOther", "Other"); Path packagesFolder = getProjectLocation().toPath(); Files.createSymbolicLink(packagesFolder.resolve("ProjectOther"), other); startAndWaitForLspServer(); @@ -98,7 +97,7 @@ public void testSymLinkInPackagesFolder() throws Exception { @Test public void testSymLinkInPackagesFolder_withScope01() throws Exception { createYarnWorkspaceWithProjectMainWithDependencyTo("@someScope/ProjectOther"); - Path other = createProjectOutsideWorkspace("@someScope/ProjectOther", "Other"); + Path other = createProjectInPnpmFolder("@someScope/ProjectOther", "Other"); Path packagesFolder = getProjectLocation().toPath(); Files.createSymbolicLink(packagesFolder.resolve("@someScope"), other.getParent()); startAndWaitForLspServer(); @@ -114,7 +113,7 @@ public void testSymLinkInPackagesFolder_withScope01() throws Exception { @Test public void testSymLinkInPackagesFolder_withScope02() throws Exception { createYarnWorkspaceWithProjectMainWithDependencyTo("@someScope/ProjectOther"); - Path other = createProjectOutsideWorkspace("@someScope/ProjectOther", "Other"); + Path other = createProjectInPnpmFolder("@someScope/ProjectOther", "Other"); Path packagesFolder = getProjectLocation().toPath(); Files.createDirectory(packagesFolder.resolve("@someScope")); Files.createSymbolicLink(packagesFolder.resolve("@someScope").resolve("ProjectOther"), other); @@ -131,7 +130,7 @@ public void testSymLinkInPackagesFolder_withScope02() throws Exception { @Test public void testSymLinkInProject_sourceFolderIsSymLink() throws Exception { createYarnWorkspaceWithProjectMainWithDependencyTo("ProjectOther"); - Path other = createProjectOutsideWorkspace("ProjectOther", "Other"); + Path other = createProjectInPnpmFolder("ProjectOther", "Other"); Path packagesFolder = getProjectLocation().toPath(); Path otherInWorkspace = packagesFolder.resolve("ProjectOther"); FileCopier.copy(other, otherInWorkspace); @@ -144,7 +143,7 @@ public void testSymLinkInProject_sourceFolderIsSymLink() throws Exception { @Test public void testSymLinkInProject_subFolderOfSourceFolderIsSymLink() throws Exception { createYarnWorkspaceWithProjectMainWithDependencyTo("ProjectOther"); - Path other = createProjectOutsideWorkspace("ProjectOther", "Other"); + Path other = createProjectInPnpmFolder("ProjectOther", "Other"); Path packagesFolder = getProjectLocation().toPath(); Path otherInWorkspace = packagesFolder.resolve("ProjectOther"); FileCopier.copy(other, otherInWorkspace); @@ -166,9 +165,10 @@ private void createYarnWorkspaceWithProjectMainWithDependencyTo(CharSequence dep CFG_DEPENDENCIES, dependenciesOfProjectMain))); } - private Path createProjectOutsideWorkspace(String projectName, String nameSuffix) throws IOException { - Path tempFolder = FileUtils.createTempDirectory(this.getClass().getSimpleName() + "_"); - Path projectFolder = tempFolder.resolve(projectName); // note: supports npm scopes! + private Path createProjectInPnpmFolder(String projectName, String nameSuffix) throws IOException { + // Path tempFolder = FileUtils.createTempDirectory(this.getClass().getSimpleName() + "_"); + Path pnpmFolder = getProjectLocation().getParentFile().toPath().resolve("node_modules/.pnpm"); + Path projectFolder = pnpmFolder.resolve(projectName); // note: supports npm scopes! Path srcFolder = projectFolder.resolve("src"); Path srcFolderABC = srcFolder.resolve("a").resolve("b").resolve("c"); Files.createDirectories(projectFolder); diff --git a/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/buildorder/BuildOrderToDtsTest.java b/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/buildorder/BuildOrderToDtsTest.java index 1e9f65a527..258a4757d5 100644 --- a/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/buildorder/BuildOrderToDtsTest.java +++ b/tests/org.eclipse.n4js.ide.tests/src/org/eclipse/n4js/ide/tests/buildorder/BuildOrderToDtsTest.java @@ -113,7 +113,7 @@ public void testNmfDepsToPlainJS_Def() { public void testPackagesDepsToPlainJS_A() { test("yarn-test-project, " + "yarn-test-project/node_modules/n4js-runtime, " + - "yarn-test-project/node_modules/PlainJS2, " + // PlainJS2 not ignored + "yarn-test-project/packages/PlainJS2, " + // PlainJS2 not ignored "yarn-test-project/packages/PlainJS1, " + "yarn-test-project/packages/MyProject",