diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000..a8744c0 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,31 @@ +# This workflow will build a Java project with Maven +# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven + +name: Java CI with Maven + +on: + push: + branches: [ master ] + paths-ignore: + - 'README.md' + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Build with Maven + run: mvn -B package --file pom.xml + - name: upload JAR file + uses: actions/upload-artifact@v1 + with: + name: sonar-delphi-plugin.jar + path: target/sonar-delphi-plugin-1.0.7.jar diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3a3568b..0000000 --- a/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: java -jdk: - - openjdk8 -before_install: echo "MAVEN_OPTS='-Xmx2048m -XX:MaxPermSize=256m'" > ~/.mavenrc diff --git a/README.md b/README.md index 11f4f94..b660b32 100644 --- a/README.md +++ b/README.md @@ -1,54 +1,35 @@ -[![Build Status](https://travis-ci.org/ekot1/SonarDelphi.svg?branch=master)](https://travis-ci.org/ekot1/SonarDelphi) +![Java CI with Maven](https://github.com/JAM-Software/SonarDelphi/workflows/Java%20CI%20with%20Maven/badge.svg) + +# SonarQube Delphi -SonarQube Delphi -================ Is a SonarQube (http://www.sonarqube.org/) plugin and provides * 49 Rules for Delphi - * TestCoverage using AQtime (license needed) + * TestCoverage using [DelphiCodeCoverage](https://github.com/DelphiCodeCoverage/DelphiCodeCoverage) or AQtime (license needed) * Optional .html output for TestCoverage + * Unittests results using DUnitX -This is Plugin-Version 3.4 SonarQube 5.6.1(LTS) is needed. -It is is mainly an updated version of https://github.com/fabriciocolombo/sonar-delphi all credit goes to them. -I have hosted it here since the orignal developer isn't active anymore. +This is Plugin-Version 1.0 SonarQube 7.9(LTS) or higher is needed (tested with SonarQube 7.9.3 and 8.2.0) +It is is mainly an updated version of https://github.com/fabriciocolombo/sonar-delphi, all credit goes to them. This plugin was originally a [Sabre Airline Solutions](http://www.sabreairlinesolutions.com/home/) donation. -License ---------------------------------------------------------------------------------------- -The entire PLugin follows the GPL: https://github.com/SandroLuck/SonarDelphi/blob/master/src/LUCK_LICENSE.txt - -Steps to Analyze a Delphi Project ------------------------------------------------- - -1. Install SonarQube Server (see [Setup and Upgrade](http://docs.sonarqube.org/display/SONAR/Setup+and+Upgrade) for more details). Check supported versions of the [latest release](https://github.com/fabriciocolombo/sonar-delphi/releases/latest) of the plugin. -2. Install one of the supported [Runners](#supported-runners) (see below) and be sure you can call it from the directory where you have your source code -3. Install [Delphi Plugin](https://github.com/SandroLuck/SonarDelphi/releases) (see [Installing a Plugin](http://docs.sonarqube.org/display/SONAR/Installing+a+Plugin) for more details). - NOTE: This only applies to SonarQube 5.6.1(LTS) and heigher. For older versions see [Delphi Plugin](https://github.com/fabriciocolombo/sonar-delphi/releases) -4. Check the sample project corresponding to your Runner to know which config file you need to create. You can find the samples in [sonar-delphi/samples](https://github.com/fabriciocolombo/sonar-delphi/tree/master/samples). -5. Run your Analyzer command from the project root dir -6. Follow the link provided at the end of the analysis to browse your project's quality in SonarQube UI (see: [Browsing SonarQube](http://docs.sonarqube.org/display/SONAR/Browsing+SonarQube)) +## License -Supported Runners ----------------------------- - To run an analysis of your Java project, you can use the following Runners: +The entire PLugin follows the GPL: https://github.com/mendrix/SonarDelphi/blob/master/src/LUCK_LICENSE.txt -* [SonarQube Scanner](http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner): recommended for all projects -* See https://github.com/fabriciocolombo/sonar-delphi for diffrent approacheds which have not been tested yet with 0.3.4 +## Reporting Issues -Reporting Issues ----------------------------- SonarQube Delphi Plugin uses GitHub's integrated issue tracking system to record bugs and feature requests. If you want to raise an issue, please follow the recommendations below: -* Before you log a bug, please [search the issue tracker](https://github.com/SandroLuck/SonarDelphi/issues) +* Before you log a bug, please [search the issue tracker](https://github.com/mendrix/SonarDelphi/issues) to see if someone has already reported the problem. -* If the issue doesn't already exist, [create a new issue](https://github.com/SandroLuck/SonarDelphi/issues/new) +* If the issue doesn't already exist, [create a new issue](https://github.com/mendrix/SonarDelphi/issues) * Please provide as much information as possible with the issue report, we like to know the version of SonarQube Delphi Plugin that you are using, as well as the SonarQube version. * If possible try to create a test-case or project that replicates the issue. -Implemented Features ------------------------------------------- +## Implemented Features * Counting lines of code, statements, number of files * Counting number of classes, number of packages, methods, accessors @@ -67,12 +48,28 @@ Implemented Features * Unused files recognition * Unused functions * Unused procedures -(Optional with AQtime) - * Coverage using AQtime +(Optional with AQtime and DelphiCodeCoverage) + * Coverage using AQtime or DelphiCodeCoverage * Sufficient Coverage on new Code +(Optional with DUnit) + * Test results -Code Assumptions ----------------------------------- +# Steps to Analyze a Delphi Project + +1. Install SonarQube Server (see [Setup and Upgrade](http://docs.sonarqube.org/display/SONAR/Setup+and+Upgrade) for more details). Check supported versions of the [latest release](https://github.com/mendrix/SonarDelphi/releases) of the plugin. +2. Install one of the supported [Runners](#supported-runners) (see below) and be sure you can call it from the directory where you have your source code +3. Install [Delphi Plugin](https://github.com/mendrix/SonarDelphi/releases) (see [Installing a Plugin](http://docs.sonarqube.org/display/SONAR/Installing+a+Plugin) for more details). +4. Check the sample project corresponding to your Runner to know which config file you need to create. You can find the samples in [sonar-delphi/samples](https://github.com/mendrix/SonarDelphi/tree/master/samples). +5. Run your Analyzer command from the project root dir +6. Follow the link provided at the end of the analysis to browse your project's quality in SonarQube UI (see: [Browsing SonarQube](http://docs.sonarqube.org/display/SONAR/Browsing+SonarQube)) + +## Supported Runners + + To run an analysis of your Java project, you can use the following Runners: + +* [SonarQube Scanner](http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner): recommended for all projects + +## Code Assumptions * Grammar is NOT case insensitive, but Delphi code is. Plugin deals with it by DelphiSourceSanitizer class, which feeds ANTLR parser lowercase characters (the "LA" method) * Number of classes includes: classes, records @@ -80,18 +77,103 @@ Code Assumptions * Preprocessor definitions between {$if xxx} and {$ifend} are removed (DefineResolver class). * Sources imported to SonarQube are parsed through IncludeResolver class. It means, that the source will be lowercased and unknown preprocessor definitions will be cut out. -CodeCoverage -------------------------------- -I am very sorry but I can't release the CodeCoverage solution I used so if you want CodeCoverage please refer to [latest release](https://github.com/fabriciocolombo/sonar-delphi/releases/latest) +## CodeCoverage and unit testing + +CodeCoverage can be done through the [DelphiCodeCoverage tool](https://github.com/DelphiCodeCoverage/DelphiCodeCoverage). Use + + CodeCoverage.exe -xml -xmllines + +to create a XML output that can be importeded through this plugin. Therefore you have to edit your sonar project properties: + + sonar.delphi.codecoverage.tool=dcc + sonar.delphi.codecoverage.report=Test/CoverageResults/CodeCoverage_Summary.xml + +### Unittests with DUnit + +To import the testresults from DUnit, you have to use the [DUnit extension] (https://github.com/mendrix/dunit-extension) and use the supplied runner (it is not necessary to change your test classes to TTestCaseExtension). + + ExitCode := TTestRunnerUtils.RunRegisteredTests; + +This will run your tests with GUI if no parameters are given. With the parameter `-xml` the tool will create a XML output that is compatible with JUnit for SonarQube. With `-output` your can specify the output directory + + MyTester.exe -xml -output + +To import these test results, add the following line to your sonar project properties: + + sonar.junit.reportsPath=TestResults + +You also have to specify where the plugin can find your testfiles. It is important that the sourcefiles from your tests are EXCLUDED in your sources directory. + + sonar.exclusions=MyTestFiles/* + sonar.tests=MyTestFiles + +### Unittests with DUnitX + +It is also possible to import results from [DUnitX](http://docwiki.embarcadero.com/RADStudio/Rio/en/DUnitX_Overview). Therefore you have to add the file + + DUnitX.Loggers.XML.SonarQube.pas + +to your DUnitX project. Then change the .dpr of your application and add functionality for a sources directory (this is used to find the correct .pas file corresponding to the Delphi unit of the unittest): + + TOptionsRegistry.RegisterOption('sources', 's', 'Specify a file with on each line a directory where the PAS-files of the unittests can be found.', procedure (AString: String) begin + LSourcesDir := AString; + end); + sqLogger := TDUnitXXMLSonarQubeFileLogger.Create(LSourcesDir, TDUnitX.Options.XMLOutputFile); + runner.AddLogger(sqLogger); + +To import the resulting XML file, add the following line to your sonar project properties: + + sonar.testExecutionReportPaths=Test/TEST-dunitx-sqresults.xml + +### Unittests with code coverage example + +To have both codecoverage and unittests results for SonarQube, you have to combine above options. For example: + + CodeCoverage.exe -e MyTester.exe -m MyTester.map -a ^^-xml^^ ^^-output TestResults^^ -ife -spf sourcedirs.txt -uf unitstotest.txt -od CoverageResults\ -html -xml -xmllines + +# How to build the plugin + +## Prerequisites + +To build a plugin, you need Java 8 and Maven 3.1 (or greater). +- [JDK](https://jdk.java.net/) +- [Maven](https://maven.apache.org/) + +## Compile and test + + mvn compile + mvn test + +### Package as plugin + + mvn package + +Now you can copy the plugin from the ```/target/``` directory to the SonarQube plugin directory. + +### Importing into Eclipse -Importing into Eclipse -------------------------------- First run the eclipse maven goal: mvn eclipse:eclipse The project can then be imported into Eclipse using File -> Import and then selecting General -> Existing Projects into Workspace. -Importing into Intellij -------------------------------- +### Importing into Intellij + Simply open the pom.xml in Intellij should solve most dependecies by itself. + +# How to develop and debug the plugin + +SonarQube has great documentation about [developing a plugin](https://docs.sonarqube.org/latest/extend/developing-plugin/). To debug this plugin with the SonarQube scanner you to just set the following environment variable (on Windows): + + SET SONAR_SCANNER_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000" + +Now you attach your Eclipse (or other) debugger to port 8000 to start debugging. + +## Changing the grammar with ANLTRWorks + +The plugin uses an ANTLR3 grammar to parse the Delphi language. The grammar definition can be found in **/src/main/antlr3/org/sonar/plugins/delphi/antlr/delphi.g**. An easy way to check and modify this grammar is using [ANTLRWorks](https://www.antlr3.org/works/). Here you can test your grammar on new files and implement new language definitions. + +After successfully changing and testing the Delphi.g grammar you have to generate the new parser code (menu Generate, option Generate Code). Now copy the files **DelphiLexer.java** and **DelphiParser.java** from **/src/main/antlr3/org/sonar/plugins/delphi/antlr/output/** to **/src/main/java/org/sonar/plugins/delphi/antlr/** and (re)build the plugin. + +Note: it is important to make sure your new grammar changes are also tested. If you only have to make sure that they can be parsed without errors, you can add your new language features to one of the existing grammar files in **/src/main/java/org/sonar/plugins/delphi/antlr** (the newest is **GrammarTest2020.pas**). diff --git a/pom.xml b/pom.xml index 3cc32f0..07896eb 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ sonar-delphi-plugin - 0.3.4 + 1.0.7 org.delphi.plugin Sonar Delphi Plugin Enables analysis of Delphi projects. @@ -30,6 +30,14 @@ developer + + mendrix + L.vanRun@mendrix.nl + Laurens van Run + + developer + + pk przemyslaw.kociolek@sabre.com @@ -61,17 +69,17 @@ GitHub - https://github.com/fabriciocolombo/sonar-delphi/issues + https://github.com/JAM-Software/sonar-delphi/issues - Travis - https://travis-ci.org/fabriciocolombo/sonar-delphi + GitHub + https://github.com/JAM-Software/SonarDelphi/actions - 6.7 - 6.7 + 7.9 + 7.9 1.4 3.4 1.7.5 @@ -165,7 +173,6 @@ - ch.qos.logback logback-classic @@ -188,6 +195,11 @@ 24.0-jre test + + com.google.collections + google-collections + 1.0 + @@ -248,4 +260,4 @@ - \ No newline at end of file + diff --git a/sonar-delphi-plugin.iml b/sonar-delphi-plugin.iml index 292a6a5..2cdf679 100644 --- a/sonar-delphi-plugin.iml +++ b/sonar-delphi-plugin.iml @@ -12,7 +12,7 @@ - + diff --git a/src/DUnitX/DUnitX.Loggers.XML.SonarQube.pas b/src/DUnitX/DUnitX.Loggers.XML.SonarQube.pas new file mode 100644 index 0000000..94263ff --- /dev/null +++ b/src/DUnitX/DUnitX.Loggers.XML.SonarQube.pas @@ -0,0 +1,399 @@ +unit DUnitX.Loggers.XML.SonarQube; + +interface + +{$I DUnitX.inc} + +uses + System.Classes, + System.SysUtils, + System.Generics.Collections, + DUnitX.TestFramework, + DUnitX.Loggers.Null; + +type + TDUnitXXMLSonarQubeLogger = class(TDUnitXNullLogger) + private + FOutputStream : TStream; + FOwnsStream : boolean; + FIndent : integer; + FFormatSettings : TFormatSettings; + + FSourceDirsFilename: String; + FFileNames: TDictionary; + protected + procedure Indent; + procedure Outdent; + procedure WriteXMLLine(const value : string); + + procedure OnTestingStarts(const threadId: TThreadID; testCount, testActiveCount: Cardinal); override; + procedure OnTestingEnds(const RunResults: IRunResults); override; + + function FilenameByUnitName(const AUnitName: String): String; + + procedure CollectFilenamesForUnitnames; + procedure FindDelphiUnits(const ASearchPath: String; ARecursive: Boolean = True); + + procedure WriteFixtureResult(const fixtureResult : IFixtureResult); + procedure WriteTestResult(const testResult : ITestResult); + + function Format(const Format: string; const Args: array of const): String; + public + constructor Create(const ASourceDirsFilename: String; const AOutputStream : TStream; const AOwnsStream : boolean = false); + destructor Destroy;override; + end; + + TDUnitXXMLSonarQubeFileLogger = class(TDUnitXXMLSonarQubeLogger) + public + constructor Create(const ASourceDirsFilename: String; const AFilename: string = ''); + + class function GetSourcesDirFromCommandLine: String; + end; + +implementation + +uses + JclDebug, System.IOUtils, DUnitX.CommandLine.Options; + +function IsValidXMLChar(wc: WideChar): Boolean; +begin + case Word(wc) of + $0009, $000A, $000C, $000D, + $0020..$D7FF, + $E000..$FFFD, // Standard Unicode chars below $FFFF + $D800..$DBFF, // High surrogate of Unicode character = $10000 - $10FFFF + $DC00..$DFFF: // Low surrogate of Unicode character = $10000 - $10FFFF + result := True; + else + result := False; + end; +end; + +function StripInvalidXML(const s: string): string; +var + i, count: Integer; +begin + {$IFNDEF NEXTGEN} + count := Length(s); + setLength(result, count); + for i := 1 to Count do // Iterate + begin + if IsValidXMLChar(WideChar(s[i])) then + result[i] := s[i] + else + result[i] := ' '; + end; // for} + {$ELSE} + count := s.Length; + SetLength(result, count); + for i := 0 to count - 1 do // Iterate + begin + if IsValidXMLChar(s.Chars[i]) then + begin + result := result.Remove(i, 1); + result := result.Insert(i, s.Chars[i]); + end + else + begin + result := result.Remove(i, 1); + result := result.Insert(i, s.Chars[i]); + end; + end; // for} + {$ENDIF} +end; +function EscapeForXML(const value: string; const isAttribute: boolean = True; const isCDATASection : Boolean = False): string; +begin + result := StripInvalidXML(value); + {$IFNDEF NEXTGEN} + if isCDATASection then + begin + Result := StringReplace(Result, ']]>', ']>',[rfReplaceAll]); + exit; + end; + + //note we are avoiding replacing & with &amp; !! + Result := StringReplace(result, '&', '[[-xy-amp--]]',[rfReplaceAll]); + Result := StringReplace(result, '&', '&',[rfReplaceAll]); + Result := StringReplace(result, '[[-xy-amp--]]', '&amp;',[rfReplaceAll]); + Result := StringReplace(result, '<', '<',[rfReplaceAll]); + Result := StringReplace(result, '>', '>',[rfReplaceAll]); + + if isAttribute then + begin + Result := StringReplace(result, '''', ''',[rfReplaceAll]); + Result := StringReplace(result, '"', '"',[rfReplaceAll]); + end; + {$ELSE} + if isCDATASection then + begin + Result := Result.Replace(']]>', ']>', [rfReplaceAll]); + exit; + end; + + //note we are avoiding replacing & with &amp; !! + Result := Result.Replace('&', '[[-xy-amp--]]',[rfReplaceAll]); + Result := Result.Replace('&', '&',[rfReplaceAll]); + Result := Result.Replace('[[-xy-amp--]]', '&amp;',[rfReplaceAll]); + Result := Result.Replace('<', '<',[rfReplaceAll]); + Result := Result.Replace('>', '>',[rfReplaceAll]); + + if isAttribute then + begin + Result := Result.Replace('''', ''',[rfReplaceAll]); + Result := Result.Replace('"', '"',[rfReplaceAll]); + end; + {$ENDIF} +end; + +{ TDUnitXXMLSonarQubeFileLogger } + +constructor TDUnitXXMLSonarQubeFileLogger.Create(const ASourceDirsFilename: String; + const AFilename: string); +var + sXmlFilename : string; + fileStream : TFileStream; + lXmlDirectory: string; +const + DEFAULT_SQUNIT_FILE_NAME = 'TEST-dunitx-sqresults.xml'; +begin + sXmlFilename := AFilename; + + if sXmlFilename = '' then + sXmlFilename := ExtractFilePath(ParamStr(0)) + DEFAULT_SQUNIT_FILE_NAME; + + lXmlDirectory := ExtractFilePath(sXmlFilename); + ForceDirectories(lXmlDirectory); + + fileStream := TFileStream.Create(sXmlFilename, fmCreate); + + //base class will destroy the stream; + inherited Create(ASourceDirsFilename, fileStream,true); +end; + +class function TDUnitXXMLSonarQubeFileLogger.GetSourcesDirFromCommandLine: String; +const + SOURCES_PARAM = '-sources:'; +var + i: Integer; + LParam: String; +begin + Result := ''; + + if ParamCount > 0 then + begin + for i := 1 to ParamCount do begin + LParam := ParamStr(i); + if LParam.StartsWith(SOURCES_PARAM) then + Result := LParam.Substring(Length(SOURCES_PARAM)); + end; + end; + +end; + +{ TDUnitXXMLSonarQubeLogger } + +procedure TDUnitXXMLSonarQubeLogger.CollectFilenamesForUnitnames; +var + LSourcesList: TStringList; + LSourceDir: String; +begin + //Search all source directories and create a list of unitname > full filename + FFileNames.Clear; + + LSourcesList := TStringList.Create; + try + try + LSourcesList.LoadFromFile(FSourceDirsFilename); + except + on E: Exception do + System.WriteLn('Error loading sources file, results cannot be imported in SonarQube. (' + E.Message + ')'); + end; + + for LSourceDir in LSourcesList do begin + FindDelphiUnits(LSourceDir, False); + end; + finally + FreeAndNil(LSourcesList); + end; +end; + +constructor TDUnitXXMLSonarQubeLogger.Create(const ASourceDirsFilename: String; + const AOutputStream: TStream; const AOwnsStream: boolean); +var + preamble: TBytes; + {$IFNDEF DELPHI_XE_UP} + oldThousandSeparator: Char; + oldDecimalSeparator: Char; + {$ENDIF} +begin + inherited Create; + {$IFDEF DELPHI_XE_UP } + FFormatSettings := TFormatSettings.Create; + FFormatSettings.ThousandSeparator := ','; + FFormatSettings.DecimalSeparator := '.'; + {$ELSE} + oldThousandSeparator := {$IFDEF USE_NS}System.{$ENDIF}SysUtils.ThousandSeparator; + oldDecimalSeparator := {$IFDEF USE_NS}System.{$ENDIF}DecimalSeparator; + try + SysUtils.ThousandSeparator := ','; + SysUtils.DecimalSeparator := '.'; + {$ENDIF} + FOutputStream := AOutputStream; + FOwnsStream := AOwnsStream; + + Preamble := TEncoding.UTF8.GetPreamble; + FOutputStream.WriteBuffer(preamble[0], Length(preamble)); + {$IFNDEF DELPHI_XE_UP} + finally + {$IFDEF USE_NS}System.{$ENDIF}SysUtils.ThousandSeparator := oldThousandSeparator; + {$IFDEF USE_NS}System.{$ENDIF}SysUtils.DecimalSeparator := oldDecimalSeparator; + end; + {$ENDIF} + FSourceDirsFilename := ASourceDirsFilename; + FFileNames := TDictionary.Create; +end; + +destructor TDUnitXXMLSonarQubeLogger.Destroy; +begin + if FOwnsStream then + FOutputStream.Free; + if Assigned(FFileNames) then + FFileNames.Free; + inherited; +end; + +function TDUnitXXMLSonarQubeLogger.FilenameByUnitName( + const AUnitName: String): String; +begin + if not FFileNames.ContainsKey(AUnitName) then + Result := 'FILE NOT FOUND' + else + Result := FFileNames.Items[AUnitName]; +end; + +procedure TDUnitXXMLSonarQubeLogger.FindDelphiUnits(const ASearchPath: String; + ARecursive: Boolean = True); +var + searchResult: TSearchRec; +begin + if FindFirst(ASearchPath+'\*', faAnyFile, searchResult)=0 then begin + try + repeat + if (searchResult.Attr and faDirectory)=0 then begin + if TPath.GetExtension(searchResult.Name) = '.pas' then + FFileNames.Add(TPath.GetFileNameWithoutExtension(searchResult.Name), IncludeTrailingBackSlash(ASearchPath)+searchResult.Name); + end else if (searchResult.Name<>'.') and (searchResult.Name<>'..') then begin + if ARecursive then + FindDelphiUnits(IncludeTrailingBackSlash(ASearchPath)+searchResult.Name); + end; + until FindNext(searchResult)<>0 + finally + FindClose(searchResult); + end; + end; +end; + +function TDUnitXXMLSonarQubeLogger.Format(const Format: string; + const Args: array of const): String; +begin + Result := {$IFDEF USE_NS}System.{$ENDIF}SysUtils.Format(Format, Args, FFormatSettings); +end; + +procedure TDUnitXXMLSonarQubeLogger.Indent; +begin + Inc(FIndent,2); +end; + +procedure TDUnitXXMLSonarQubeLogger.OnTestingEnds( + const RunResults: IRunResults); +var + fixtureRes : IFixtureResult; +begin + inherited; + +{ first things first, rollup the namespaces. + So, where parent fixtures have no tests, or only one child fixture, combine into a single fixture. + } + for fixtureRes in RunResults.FixtureResults do + fixtureRes.Reduce; + + WriteXMLLine(''); + Indent; + + for fixtureRes in RunResults.FixtureResults do + WriteFixtureResult(fixtureRes); + + Outdent; + WriteXMLLine(''); +end; + +procedure TDUnitXXMLSonarQubeLogger.OnTestingStarts(const threadId: TThreadID; + testCount, testActiveCount: Cardinal); +begin + inherited; + + CollectFilenamesForUnitnames; +end; + +procedure TDUnitXXMLSonarQubeLogger.Outdent; +begin + Dec(FIndent,2); +end; + +procedure TDUnitXXMLSonarQubeLogger.WriteFixtureResult( + const fixtureResult: IFixtureResult); +var + testResult : ITestResult; + child: IFixtureResult; + LPath: String; +begin + if (not fixtureResult.Fixture.TestClass.ClassNameIs('TObject')) then + begin + if fixtureResult.TestResults.Count = 0 then + Exit; + + LPath := FilenameByUnitName(fixtureResult.Fixture.UnitName); + WriteXMLLine(''); + Indent; + + for testResult in fixtureResult.TestResults do + WriteTestResult(testResult); + + Outdent; + WriteXMLLine(''); + end; + + for child in fixtureResult.Children do + WriteFixtureResult(child); +end; + +procedure TDUnitXXMLSonarQubeLogger.WriteTestResult( + const testResult: ITestResult); +begin + WriteXMLLine(''); + + Indent; + case testResult.ResultType of + TTestResultType.MemoryLeak, + TTestResultType.Error: + WriteXMLLine('' + EscapeForXML(testResult.StackTrace, False) + ''); + TTestResultType.Failure: + WriteXMLLine('' + EscapeForXML(testResult.StackTrace, False) + ''); + TTestResultType.Ignored: + WriteXMLLine(''); + end; + Outdent; + WriteXMLLine(''); +end; + +procedure TDUnitXXMLSonarQubeLogger.WriteXMLLine(const value: string); +var + bytes : TBytes; + s : string; +begin + s := StringOfChar(' ',FIndent) + value + #13#10; + bytes := TEncoding.UTF8.GetBytes(s); + FOutputStream.Write(bytes[0],Length(bytes)); +end; + +end. diff --git a/src/main/antlr3/org/sonar/plugins/delphi/antlr/Delphi.g b/src/main/antlr3/org/sonar/plugins/delphi/antlr/Delphi.g index 2e3ca7c..73a8f23 100644 --- a/src/main/antlr3/org/sonar/plugins/delphi/antlr/Delphi.g +++ b/src/main/antlr3/org/sonar/plugins/delphi/antlr/Delphi.g @@ -1,966 +1,1003 @@ -grammar Delphi; - -options { - backtrack=true; - memoize=true; - output=AST; -} - -@header -{ -/* - * Sonar Delphi Plugin - * Copyright (C) 2010 SonarSource - * dev@sonar.codehaus.org - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ - -package org.sonar.plugins.delphi.antlr; - -/** -* Delphi Parser class generated by Antlr. Provides tokens and tree parsing methods. -**/ -} - -@lexer::header -{ -/* - * Sonar Delphi Plugin - * Copyright (C) 2010 SonarSource - * dev@sonar.codehaus.org - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ - -package org.sonar.plugins.delphi.antlr; - -/** -* Delphi Lexer class generated by Antlr. Provides tokens. -**/ -} - -//**************************** -//section start -//**************************** -file : program | library | unit | packageE - ; -//**************************** -//section fileDefinition -//**************************** - -program : (programHead)? (usesFileClause)? block '.' - ; -programHead : 'program' namespaceName (programParmSeq)? ';' - ; -programParmSeq : '(' (ident (',' ident)* )? ')' - ; -library : libraryHead (usesFileClause)? block '.' - ; -libraryHead : 'library' namespaceName (hintingDirective)* ';' -> ^('library' namespaceName) - ; -packageE : packageHead requiresClause (containsClause)? 'end' '.' - ; -packageHead : 'package' namespaceName ';' - ; -unit : unitHead unitInterface unitImplementation unitBlock '.' - ; -unitHead : 'unit' namespaceName (hintingDirective)* ';' -> ^('unit' namespaceName (hintingDirective)*) - ; -unitInterface : 'interface' (usesClause)? (interfaceDecl)* -> ^('interface' (usesClause)? (interfaceDecl)*) - ; -unitImplementation : 'implementation' (usesClause)? (declSection)* -> ^('implementation' (usesClause)? (declSection)*) - ; -unitBlock : unitInitialization 'end' - | compoundStatement - | 'end' - ; -unitInitialization : 'initialization' statementList (unitFinalization)? - ; -unitFinalization : 'finalization' statementList - ; -//**************************** -//section fileUsage -//**************************** -containsClause : 'contains' namespaceFileNameList - ; -requiresClause : 'requires' namespaceNameList - ; -usesClause : 'uses' namespaceNameList -> ^('uses' namespaceNameList) - ; -usesFileClause : 'uses' namespaceFileNameList -> ^('uses' namespaceFileNameList) - ; -namespaceFileNameList : namespaceFileName (',' namespaceFileName)* ';' -> namespaceFileName (namespaceFileName)* - ; -namespaceFileName : namespaceName ('in' QuotedString)? -> ^(namespaceName (QuotedString)?) - ; -namespaceNameList : namespaceName (',' namespaceName)* ';' -> namespaceName (namespaceName)* - ; -//**************************** -//section declaration -//**************************** -block : (declSection)* (blockBody)? - ; -blockBody : compoundStatement - | assemblerStatement - ; -declSection : labelDeclSection - | constSection - | typeSection - | varSection - | exportedProcHeading - | methodDecl - | procDecl - | exportsSection - ; -interfaceDecl : constSection - | typeSection - | varSection - | exportedProcHeading - | exportsSection - | procDecl - | methodDecl - ; -labelDeclSection : 'label' label (',' label)* ';' - ; -constSection : constKey (constDeclaration)* -> ^(constKey (constDeclaration)*) //CHANGED, erased one constDeclaration, for: "const {$include versioninfo.inc }" - ; -constKey : 'const' - | 'resourcestring' - ; -constDeclaration : (customAttribute)? ident (':' typeDecl)? '=' constExpression (hintingDirective)* ';' -> ident (typeDecl)? '=' constExpression - ; -typeSection : 'type' typeDeclaration (typeDeclaration)* -> ^('type' typeDeclaration (typeDeclaration)*) - ; -typeDeclaration : (customAttribute)? genericTypeIdent '=' typeDecl (hintingDirective)* ';' -> ^(TkNewType (customAttribute)? ^(genericTypeIdent typeDecl (hintingDirective)*)) - ; -varSection : varKey varDeclaration (varDeclaration)* -> ^(varKey varDeclaration (varDeclaration)*) - ; -varKey : 'var' - | 'threadvar' - ; -// threadvar geen initializations alleen globaal -varDeclaration : (customAttribute)? identListFlat ':' typeDecl (varValueSpec)? (hintingDirective)* ';' -> (customAttribute)? ^(TkVariableIdents identListFlat) ^(TkVariableType typeDecl) - ; -varValueSpec : 'absolute' ident - | 'absolute' constExpression - | '=' constExpression - ; -exportsSection : 'exports' ident exportItem (',' ident exportItem)* ';' - ; -exportItem : ('(' (formalParameterList)? ')')? (INDEX expression)? (NAME expression)? ('resident')? - ; -//**************************** -//section type -//**************************** -typeDecl : strucType - | pointerType - | stringType - | procedureType - | variantType - | ('type')? typeId (genericPostfix)? - | simpleType - ; -strucType : ('packed')? strucTypePart -> strucTypePart - ; -strucTypePart : arrayType - | setType - | fileType - | classDecl - ; - -arrayType : 'array' ('[' (arrayIndex)? (',' (arrayIndex)?)* ']')? 'of' arraySubType - -> ^(arraySubType 'array' ('[' (arrayIndex)? (',' (arrayIndex)?)* ']')? ) //CHANGED we only need type info - ; - -arrayIndex : typeId - | expression '..' expression - ; - -arraySubType : 'const' - | typeDecl - ; -setType : 'set' 'of' typeDecl -> 'set' typeDecl //CHANGED we only need type info - ; -// set type alleen ordinal of subrange type -fileType : 'file' ('of' typeDecl)? - ; -pointerType : '^' typeDecl - | 'pointer' - ; -stringType : 'string' ('[' expression ']')? -> 'string' - | ('type')? ANSISTRING (codePageNumber)? - ; -codePageNumber : '(' intNum ')' - ; -procedureType : methodType - | simpleProcedureType - | procedureReference - ; -methodType : procedureTypeHeading 'of' 'object' - ; -simpleProcedureType : procedureTypeHeading ( (';')? callConventionNoSemi)? - ; -procedureReference : 'reference' 'to' procedureTypeHeading - ; -procedureTypeHeading : 'function' (formalParameterSection)? ':' (customAttribute)? typeDecl -> 'function' (formalParameterSection)? ^(TkFunctionReturn typeDecl) - | 'procedure' (formalParameterSection)? - ; -variantType : 'variant' // SzJ TODO TEMP - ; -simpleType : ident - | subRangeType - | enumType - ; -subRangeType : constExpression ('..' constExpression)? - ; -enumType : '(' ident ('=' expression)? (',' ident ('=' expression)? )* ')' - ; -typeId : namespacedQualifiedIdent - ; -//**************************** -//section generics -//**************************** -genericTypeIdent : qualifiedIdent (genericDefinition)? -> qualifiedIdent //CHANGED we don't need data, it produced empty nodes - ; -genericDefinition : simpleGenericDefinition - | complexGenericDefinition - | constrainedGenericDefinition - ; -simpleGenericDefinition : '<' ident (',' ident)* '>' - ; -complexGenericDefinition : '<' qualifiedIdent (simpleGenericDefinition)? (',' qualifiedIdent (simpleGenericDefinition)?)* '>' - ; -constrainedGenericDefinition : '<' constrainedGeneric (';' constrainedGeneric)* '>' - ; -constrainedGeneric : ident (':' genericConstraint (',' genericConstraint)*)? - ; -genericConstraint : ident - | 'record' - | 'class' - | 'constructor' - ; -genericPostfix : '<' typeDecl (',' typeDecl)* '>' - ; -//**************************** -//section class -//**************************** -classDecl : classTypeTypeDecl - | classTypeDecl -> ^(TkClass classTypeDecl) - | classHelperDecl -> ^(TkClass classHelperDecl) - | interfaceTypeDecl -> ^(TkInterface interfaceTypeDecl) - | objectDecl -> ^(TkObject objectDecl) - | recordDecl -> ^(TkRecord recordDecl) - | recordHelperDecl -> ^(TkRecordHelper recordHelperDecl) - ; -classTypeTypeDecl : 'class' 'of' typeId -> ^(TkClassOfType typeId) - ; -classTypeDecl : 'class' (classState)? (classParent)? (classItem)* 'end' -> 'class' ^(TkClassParents (classParent)?) (classItem)* - | 'class' (classParent)? -> 'class' ^(TkClassParents (classParent)?) - ; -classState : 'sealed' - | 'abstract' - ; -classParent : '(' genericTypeIdent (',' genericTypeIdent)* ')' -> genericTypeIdent (genericTypeIdent)* //CHANGEd from typeId to classParentId - ; -classItem : visibility - | classMethod - | classField - | classProperty - | constSection - | typeSection - | ('class')? varSection - ; -classHelperDecl : 'class' 'helper' (classParent)? 'for' typeId (classHelperItem)* 'end' -> ^('class' typeId ) (classHelperItem)* //CHANGED, we only need "for" class name - ; -classHelperItem : visibility - | classMethod - | classProperty - | ('class')? varSection - ; -interfaceTypeDecl : interfaceKey (classParent)? (interfaceGuid)? (interfaceItem)* 'end' - -> interfaceKey ^(TkClassParents (classParent)? ) ^(TkGuid (interfaceGuid)?) (interfaceItem)* - | interfaceKey (classParent)? - -> interfaceKey ^(TkClassParents (classParent)?) - ; -interfaceKey : 'interface' - | 'dispinterface' - ; -interfaceGuid : '[' QuotedString ']' -> QuotedString - ; -interfaceItem : classMethod - | ('class')? classProperty - ; -objectDecl : 'object' (classParent)? (objectItem)* 'end' -> 'object' (classParent)? (objectItem)* - ; -objectItem : visibility - | classMethod - | classField - ; -recordDecl : simpleRecord - | variantRecord - ; -simpleRecord : 'record' (recordField)* (recordItem)* 'end' -> 'record' (recordField)* (recordItem)* - ; -variantRecord : 'record' (recordField)* recordVariantSection 'end' -> 'record' (recordField)* recordVariantSection - ; -recordItem : visibility //ADDED - | classMethod - | classProperty - | constSection - | typeSection - | recordField - | ('class')? varSection - ; -recordField : identList ':' typeDecl (hintingDirective)* (';')? //CHANGED not needed ; at the end - -> identList ^(TkVariableType typeDecl) - ; -recordVariantField : identList ':' typeDecl (hintingDirective)* (';') ? - -> identList ^(TkVariableType typeDecl) - ; -recordVariantSection : 'case' (ident ':')? typeDecl 'of' (recordVariant | ';') (recordVariant | ';')* - ; -recordVariant : constExpression (',' constExpression)* ':' '(' (recordVariantField)* ')' //CHANGED to recordVariantField from recordField - ; -recordHelperDecl : 'record' 'helper' 'for' typeId (recordHelperItem)* 'end' - ; -recordHelperItem : visibility - | classMethod - | classProperty - ; -classMethod : (customAttribute)? ('class')? methodKey ident (genericDefinition)? (formalParameterSection)? ';' (methodDirective)* - -> (customAttribute)? ('class')? ^(methodKey ^(TkFunctionName ident) (genericDefinition)? ^(TkFunctionArgs (formalParameterSection)?) (methodDirective)*) - | (customAttribute)? ('class')? 'function' ident (genericDefinition)? (formalParameterSection)? ':' (customAttribute)? typeDecl ';' (methodDirective)* - -> (customAttribute)? ('class')? ^('function' ^(TkFunctionName ident) (genericDefinition)? ^(TkFunctionArgs (formalParameterSection)?) (customAttribute)? ^(TkFunctionReturn typeDecl) (methodDirective)*) - | (customAttribute)? ('class')? 'operator' ident (genericDefinition)? (formalParameterSection)? ':' (customAttribute)? typeDecl ';' - -> (customAttribute)? ('class')? ^('operator' ^(TkFunctionName ident) (genericDefinition)? ^(TkFunctionArgs (formalParameterSection)?) (customAttribute)? typeDecl ) - ; -classField : (customAttribute)? identList ':' typeDecl ';' (hintingDirective)* - -> (customAttribute)? ^(TkClassField ^(TkVariableIdents identList) ^(TkVariableType typeDecl)) - ; -classProperty : (customAttribute)? ('class')? 'property' ident (classPropertyArray)? (':' genericTypeIdent)? (classPropertyIndex)? (classPropertySpecifier)* ';' (classPropertyEndSpecifier)* - -> ^('property' ^(TkVariableIdents ident) ^(TkVariableType genericTypeIdent?) (classPropertySpecifier)* ) - // CHANGED added (classPropertySpecifier)* at end for "default;" - // CHANGEDD to genericTypeIdent for "property QueryBuilder : IQueryBuilder" - ; -classPropertyArray : '[' formalParameterList ']' - ; -classPropertyIndex : 'index' expression (';')? //CHANGED to (';')? - ; -classPropertySpecifier : classPropertyReadWrite //CHANGED removed ';' - | classPropertyDispInterface - | STORED expression - | 'default' expression - | 'default' // for array properties only (1 per class) - | 'nodefault' - | IMPLEMENTS typeId - ; -classPropertyEndSpecifier : STORED expression ';' //ADDED used in classProperty at end - | 'default' expression ';' - | 'default' ';' - | 'nodefault' ';' - ; - -classPropertyReadWrite : 'read' qualifiedIdent ('[' expression ']')? // Waarom qualified ident??? //ADDED [] - -> ^('read' qualifiedIdent) - | 'write' qualifiedIdent ('[' expression ']')? //ADDED [] - -> ^('write' qualifiedIdent) - ; -classPropertyDispInterface : 'readonly' ';' - | 'writeonly' ';' - | dispIDDirective - ; -visibility : (STRICT)? 'protected' - | (STRICT)? 'private' - | 'public' - | 'published' - | 'automated' // win32 deprecated - ; -//**************************** -//section procedure -//**************************** -exportedProcHeading : 'procedure' ident (formalParameterSection)? ':' (customAttribute)? typeDecl ';' (functionDirective)* - | 'function' ident (formalParameterSection)? ';' (functionDirective)* - ; -methodDecl : methodDeclHeading ';' (methodDirective)* (methodBody)? -> methodDeclHeading (methodBody)? - ; -methodDeclHeading : (customAttribute)? ('class')? methodKey methodName (formalParameterSection)? - -> (customAttribute)? ('class')? ^(methodKey ^(TkFunctionName methodName) ^(TkFunctionArgs (formalParameterSection)?) ) - | (customAttribute)? ('class')? 'function' methodName (formalParameterSection)? (':' (customAttribute)? typeDecl)? - -> (customAttribute)? ('class')? ^('function' ^(TkFunctionName methodName) ^(TkFunctionArgs (formalParameterSection)?) ^(TkFunctionReturn (customAttribute)? typeDecl?) ) - | (customAttribute)? 'class' 'operator' methodName (formalParameterSection)? (':' (customAttribute)? typeDecl)? - -> (customAttribute)? 'class' ^('operator' ^(TkFunctionName methodName) ^(TkFunctionArgs (formalParameterSection)?) ^(TkFunctionReturn (customAttribute)? typeDecl?) ) - ; -methodKey : 'procedure' - | 'constructor' - | 'destructor' - ; -methodName : ident (genericDefinition)? ('.' ident (genericDefinition)?)? '.' ident (genericDefinition)? - ; -procDecl : procDeclHeading ';' (functionDirective)* (procBody)? -> procDeclHeading (procBody)? //CHANGED - ; -procDeclHeading : (customAttribute)? 'procedure' ident (formalParameterSection)? //CHANGED - -> ^('procedure' ^(TkFunctionName ident) ^(TkFunctionArgs (formalParameterSection)?) ) - | (customAttribute)? 'function' ident (formalParameterSection)? ':' typeDecl - -> ^('function' ^(TkFunctionName ident) ^(TkFunctionArgs (formalParameterSection)?) ^(TkFunctionReturn typeDecl) ) - ; -formalParameterSection : '(' (formalParameterList)? ')' -> (formalParameterList)? - ; -formalParameterList : formalParameter (';' formalParameter)* -> formalParameter (formalParameter)* - ; -formalParameter : (customAttribute)? (parmType)? identListFlat (':' typeDecl)? ('=' expression)? -> (customAttribute)? ^(TkVariableIdents identListFlat) ^(TkVariableType typeDecl?) ^(TkVariableParam parmType)? - //expressions was cut out, beacause we dont have to know default variable values; they were causing troubles with DelphiCodeAnalyser - ; -parmType : 'const' - | 'var' - | 'out' - ; -methodBody : block ';' -> block - ; -procBody : 'forward' ';' (functionDirective)* // CHECKEN ; en directive plaats! - | 'external' ('name' expression | 'index' expression)* (functionDirective)* // CHECKEN directive plaats - | block ';' - ; -//**************************** -//section customAttributes -//**************************** -customAttribute : customAttributeList - ; -customAttributeList : (customAttributeDecl)* - ; -customAttributeDecl : '[' namespacedQualifiedIdent ('(' (expressionList)? ')')? ']' -> ^(TkCustomAttribute '[' namespacedQualifiedIdent ('(' (expressionList)? ')')? ']') - ; - -//**************************** -//section expression -//**************************** -expression : anonymousExpression -> ^(TkAnonymousExpression anonymousExpression) - | simpleExpression (relOp simpleExpression)? ('=' expression)? //CHANGED, added expression for: "if( functionCall(x, 7+66) = true ) then" syntax - ; -anonymousExpression : 'procedure' (formalParameterSection)? block - | 'function' (formalParameterSection)? ':' typeDecl block - ; -simpleExpression : factor (operator factor)* - ; -factor : '@' factor - | '@@' factor // used to get address of proc var - | 'not' factor - | '+' factor - | '-' factor - | '^' ident // geeft volgnummer van letter - | intNum - | realNum - | TkAsmHexNum // Alleen in asm statement - | 'true' - | 'false' - | 'nil' - | '(' expression ')' ('^')? ('.' expression)? //CHANGED, added ('^')? ('.' qualifiedIdent)? - | stringFactor - | setSection - | designator - | typeId '(' expression ')' - ; -stringFactor : ControlString (QuotedString ControlString)* (QuotedString)? - | QuotedString (ControlString QuotedString)* (ControlString)? - ; -setSection : '[' (expression ((',' | '..') expression)*)? ']' - ; - -designator : ('inherited')? ( (namespacedQualifiedIdent | typeId) )? (designatorItem)* - ; -designatorItem : '^' - | ('.' | '@') ident //CHANGED added '@' - | ('<' genericTypeIdent (',' genericTypeIdent)* '>') //ADDED for proc.foo; - | '[' expressionList ']' - | '(' (expression (colonConstruct)? (',' expression (colonConstruct)?)*)? ')' -> '(' (expression (colonConstruct)? (expression (colonConstruct)?)*)? ')' - ; -expressionList : expression (',' expression)* - ; -colonConstruct : ':' expression (':' expression)? - ; -// Alleen voor Write/WriteLn. -operator : '+' - | '-' - | 'or' - | 'xor' - | '*' - | '/' - | 'div' - | 'mod' - | 'and' - | 'shl' - | 'shr' - | 'as' - ; -relOp : '<' - | '>' - | '<=' - | '>=' - | '<>' - | '=' - | 'in' - | 'is' - ; -//**************************** -//section statement -//**************************** - -statement : ifStatement - | caseStatement - | repeatStatement - | whileStatement - | forStatement - | withStatement - | tryStatement - | raiseStatement - | assemblerStatement - | compoundStatement - | label ':' statement - | simpleStatement - ; -ifStatement : 'if' expression 'then' statement ('else' statement)? - ; -caseStatement : 'case' expression 'of' (caseItem)* ('else' statementList (';')?)? 'end' - ; -caseItem : caseLabel (',' caseLabel)* ':' statement (';')? // checken of ; sep of scheider is - ; -caseLabel : expression ('..' expression)? - ; -repeatStatement : 'repeat' (statementList)? 'until' expression - ; -whileStatement : 'while' expression 'do' statement - ; -forStatement : 'for' designator ':=' expression 'to' expression 'do' statement - | 'for' designator ':=' expression 'downto' expression 'do' statement - | 'for' designator 'in' expression 'do' statement - ; -withStatement : 'with' withItem 'do' statement - ; -withItem : designator 'as' designator //ADDED - | designator (',' designator)* - ; -compoundStatement : 'begin' (statementList)? 'end' -> ^('begin' (statementList)? 'end') - ; -statementList : (statement)? (';' (statement)?)* - ; -simpleStatement : designator ':=' expression - | designator // call - | gotoStatement - ; -gotoStatement : 'goto' label - | 'exit' ('(' expression ')')? - | 'break' - | 'continue' - ; -//**************************** -//section constExpression -//**************************** -constExpression : '(' recordConstExpression (';' recordConstExpression)* ')' //CHANGED reversed order - | '(' constExpression (',' constExpression)* ')' - | expression - ; -recordConstExpression : ident ':' constExpression - ; -//**************************** -//section exceptionStatement -//**************************** -tryStatement : 'try' (statementList)? 'except' handlerList 'end' - | 'try' (statementList)? 'finally' (statementList)? 'end' - ; -handlerList : (handler)* ('else' statementList)? - | statementList - ; -handler : 'on' (handlerIdent)? typeId 'do' handlerStatement //CHANGED - ; is not required ; handlerIdent not required, example: "on einvalidoperation do;" - ; -handlerIdent : ident ':' - ; -handlerStatement : statement (';')? - | ';' - ; -raiseStatement : 'raise' (designator)? (AT designator)? // CHECKEN! - ; -//**************************** -//section AssemblerStatement -//**************************** -assemblerStatement : 'asm' ~('end')* 'end' //ADDED we don't realy care about assembler statements, since they don't contribute to - ; //any measure, just skip, allow all -//**************************** -//section directive -//**************************** -methodDirective : reintroduceDirective // 1 - | overloadDirective // 2 - | bindingDirective // 3 - | abstractDirective // 3 virtual; - | inlineDirective // 4 niet virtual or dynamic - | callConvention // 4 - | hintingDirective ';' // 4 (niet abstract) - | oldCallConventionDirective // 1 - | dispIDDirective - ; -functionDirective : overloadDirective // 1 - | inlineDirective // 1 - | callConvention // 1 - | oldCallConventionDirective // 1 - | hintingDirective ';' // 1 - | (callConventionNoSemi)? externalDirective // 1 - | 'unsafe' ';' // 1 .net? - ; -reintroduceDirective : 'reintroduce' ';' - ; -overloadDirective : 'overload' (';')? //CHANGE ; not needed - ; -bindingDirective : 'message' expression ';' - | 'static' ';' - | 'dynamic' ';' - | 'override' ';' - | 'virtual' ';' - ; -abstractDirective : 'abstract' ';' - | 'final' ';' - ; -inlineDirective : 'inline' ';' - | 'assembler' ';' // deprecated - ; -callConvention : 'cdecl' ';' // - | 'pascal' ';' // - | 'register' ';' // - | 'safecall' ';' // - | 'stdcall' ';' // - | 'export' ';' // deprecated - ; -callConventionNoSemi : 'cdecl' // //ADDED for procedureType error fixing, without ';' at the end - | 'pascal' // - | 'register' // - | 'safecall' // - | 'stdcall' // - | 'export' // deprecated - ; -oldCallConventionDirective : 'far' ';' // deprecated - | 'local' ';' // niet in windows maakt functie niet exporteerbaar - | 'near' ';' // deprecated - ; -hintingDirective : 'deprecated' (stringFactor)? - | 'experimental' // added 2006 - | 'platform' - | 'library' - ; -externalDirective : 'varargs' ';' // alleen bij external cdecl - | 'external' ';' - | 'external' constExpression (externalSpecifier)* ';' // expression : dll name - ; -externalSpecifier : 'name' constExpression - | 'index' constExpression // specific to a platform - ; -dispIDDirective : 'dispid' expression ';' - ; -//**************************** -////section general -//**************************** -ident : TkIdentifier - | '&' TkIdentifier - | usedKeywordsAsNames - ; -usedKeywordsAsNames : (NAME | READONLY | ADD | AT | MESSAGE | POINTER | INDEX | DEFAULT | STRING | CONTINUE) - | (READ | WRITE | REGISTER | VARIANT | OPERATOR | REMOVE | LOCAL | REFERENCE | CONTAINS | FINAL) - | (BREAK | EXIT | STRICT | OUT | OBJECT | EXPORT | ANSISTRING | IMPLEMENTS | STORED) - ; -identList : ident (',' ident)* -> ^(ident (ident)*) - ; -identListFlat : ident (',' ident)* -> ident (ident)* //ADDED used in formalParemeter - ; -label : TkIdentifier - | TkIntNum - | TkHexNum - | usedKeywordsAsNames - ; -intNum : TkIntNum - | TkHexNum - ; -realNum : TkRealNum - ; -namespacedQualifiedIdent : (namespaceName '.')? qualifiedIdent - ; -namespaceName : ident ('.' ident)* - ; -qualifiedIdent : (ident '.')* ident //must stay the way it is, with '.' for proper class method identyfication - ; - -// KEYWORDS -ABSOLUTE : 'absolute' ; -ABSTRACT : 'abstract' ; -ADD : 'add' ; -AND : 'and' ; -ANSISTRING : 'ansistring' ; -ARRAY : 'array' ; -AS : 'as' ; -ASM : 'asm' ; -ASSEMBLER : 'assembler' ; -ASSEMBLY : 'assembly' ; -AT : 'at' ; -AUTOMATED : 'automated' ; -BEGIN : 'begin' ; -BREAK : 'break' ; -CASE : 'case' ; -CDECL : 'cdecl' ; -CLASS : 'class' ; -CONST : 'const' ; -CONSTRUCTOR : 'constructor' ; -CONTAINS : 'contains' ; -CONTINUE : 'continue' ; -DEFAULT : 'default' ; -DEPRECATED : 'deprecated' ; -DESTRUCTOR : 'destructor' ; -DISPID : 'dispid' ; -DISPINTERFACE : 'dispinterface' ; -DIV : 'div' ; -DO : 'do' ; -DOWNTO : 'downto' ; -DQ : 'dq' ; -DW : 'dw' ; -DYNAMIC : 'dynamic' ; -ELSE : 'else' ; -END : 'end' ; -EXCEPT : 'except' ; -EXIT : 'exit' ; -EXPERIMENTAL : 'experimental' ; -EXPORT : 'export' ; -EXPORTS : 'exports' ; -EXTERNAL : 'external' ; -FAR : 'far' ; -FILE : 'file' ; -FINAL : 'final' ; -FINALIZATION : 'finalization' ; -FINALLY : 'finally' ; -FOR : 'for' ; -FORWARD : 'forward' ; -FUNCTION : 'function' ; -GOTO : 'goto' ; -HELPER : 'helper' ; -IF : 'if' ; -IMPLEMENTATION : 'implementation' ; -IMPLEMENTS : 'implements' ; -IN : 'in' ; -INDEX : 'index' ; -INHERITED : 'inherited' ; -INITIALIZATION : 'initialization' ; -INLINE : 'inline' ; -INTERFACE : 'interface' ; -IS : 'is' ; -LABEL : 'label' ; -LIBRARY : 'library' ; -LOCAL : 'local' ; -MESSAGE : 'message' ; -MOD : 'mod' ; -NAME : 'name' ; -NEAR : 'near' ; -NIL : 'nil' ; -NODEFAULT : 'nodefault' ; -NOT : 'not' ; -OBJECT : 'object' ; -OF : 'of' ; -ON : 'on' ; -OPERATOR : 'operator' ; -OR : 'or' ; -OUT : 'out' ; -OVERLOAD : 'overload' ; -OVERRIDE : 'override' ; -PACKAGE : 'package' ; -PACKED : 'packed' ; -PASCAL : 'pascal' ; -PLATFORM : 'platform' ; -POINTER : 'pointer' ; -PRIVATE : 'private' ; -PROCEDURE : 'procedure' ; -PROGRAM : 'program' ; -PROPERTY : 'property' ; -PROTECTED : 'protected' ; -PUBLIC : 'public' ; -PUBLISHED : 'published' ; -RAISE : 'raise' ; -READ : 'read' ; -READONLY : 'readonly' ; -RECORD : 'record' ; -REFERENCE : 'reference' ; -REGISTER : 'register' ; -REINTRODUCE : 'reintroduce' ; -REMOVE : 'remove' ; -REPEAT : 'repeat' ; -REQUIRES : 'requires' ; -RESIDENT : 'resident' ; -RESOURCESTRING : 'resourcestring' ; -SAFECALL : 'safecall' ; -SEALED : 'sealed' ; -SET : 'set' ; -SHL : 'shl' ; -SHR : 'shr' ; -STATIC : 'static' ; -STDCALL : 'stdcall' ; -STORED : 'stored' ; -STRICT : 'strict' ; -STRING : 'string' ; -THEN : 'then' ; -THREADVAR : 'threadvar' ; -TO : 'to' ; -TRY : 'try' ; -TYPE : 'type' ; -UNIT : 'unit' ; -UNSAFE : 'unsafe' ; -UNTIL : 'until' ; -USES : 'uses' ; -VAR : 'var' ; -VARARGS : 'varargs' ; -VARIANT : 'variant' ; -VIRTUAL : 'virtual' ; -WHILE : 'while' ; -WITH : 'with' ; -WRITE : 'write' ; -WRITEONLY : 'writeonly' ; -XOR : 'xor' ; -FALSE : 'false' ; -TRUE : 'true' ; - -//---------------------------------------------------------------------------- -// OPERATORS -//---------------------------------------------------------------------------- -PLUS : '+' ; -MINUS : '-' ; -STAR : '*' ; -SLASH : '/' ; -ASSIGN : ':=' ; -COMMA : ',' ; -SEMI : ';' ; -COLON : ':' ; -EQUAL : '=' ; -NOT_EQUAL : '<>' ; -LT : '<' ; -LE : '<=' ; -GE : '>=' ; -GT : '>' ; -LPAREN : '(' ; -RPAREN : ')' ; -LBRACK : '[' ; // line_tab[line] -LBRACK2 : '(.' ; // line_tab(.line.) -RBRACK : ']' ; -RBRACK2 : '.)' ; -POINTER2 : '^' ; -AT2 : '@' ; -DOT : '.' ;// ('.' {$setType(DOTDOT);})? ; -DOTDOT : '..' ; -LCURLY : '{' ; -RCURLY : '}' ; - -//**************************** -//section token -//**************************** -TkGlobalFunction : 'FUNCTION_GLOBAL' - ; -TkFunctionName : 'FUNCTION_NAME' - ; -TkFunctionArgs : 'FUNCTION_ARGS' - ; -TkFunctionBody : 'FUNCTION_BODY' - ; -TkFunctionReturn : 'FUNCTION_RETURN' - ; -TkCustomAttribute : 'CUSTOM_ATTRIBUTE' - ; -TkCustomAttributeArgs : 'CUSTOM_ATTRIBUTE_ARGS' - ; -TkNewType : 'NEW_TYPE' - ; -TkClass : 'CLASS' - ; -TkRecord : 'RECORD_TYPE' - ; -TkRecordHelper : 'RECORD_HELPER' - ; -TkInterface : 'INTERFACE_TYPE' - ; -TkObject : 'OBJECT_TYPE' - ; -TkClassOfType : 'CLASS_OF_TYPE' - ; -TkVariableType : 'VARIABLE_TYPE' - ; -TkVariableIdents : 'VARIABLE_IDENTS' - ; -TkVariableParam : 'VARIABLE_PARAM' - ; -TkGuid : 'INTERFACE_GUID' - ; -TkClassParents : 'CLASS_PARENTS' - ; -TkClassField : 'CLASS_FIELD' - ; -TkAnonymousExpression : 'ANONYMOUS_EXPRESSION' - ; -TkIdentifier : (Alpha | '_') (Alpha | Digit | '_')* - ; -TkIntNum : Digitseq - ; -TkRealNum : Digitseq ('.' Digitseq)? (('e'|'E') ('+'|'-')? Digitseq)? //CHANGED - ; -TkHexNum : '$' Hexdigitseq - ; -TkAsmHexNum : Hexdigitseq ('h'|'H') - ; -TkAsmHexLabel : Hexdigitseq ':' - ; -QuotedString : '\'' ('\'\'' | ~('\''))* '\'' //taken from PASCAL grammar - ; -ControlString : Controlchar (Controlchar)* - ; - -fragment -Controlchar : '#' Digitseq - | '#' '$' Hexdigitseq - ; -fragment -Alpha : 'a'..'z' - | 'A'..'Z' - | '\u0080'..'\uFFFE' ~('\uFEFF') //ADDED unicode support - ; -fragment -Digit : '0'..'9' - ; -fragment -Digitseq : Digit (Digit)* - ; -fragment -Hexdigit : Digit | 'a'..'f' | 'A'..'F' - ; -Hexdigitseq : Hexdigit (Hexdigit)* - ; -COMMENT : '//' ~('\n'|'\r')* '\r'? '\n' {$channel=HIDDEN;} - | '(*' ( options {greedy=false;} : . )* '*)' {$channel=HIDDEN;} - | '{' ( options {greedy=false;} : . )* '}' {$channel=HIDDEN;} - ; -WS : (' '|'\t'|'\r'|'\n'|'\f')+ {$channel=HIDDEN;} - ; -UnicodeBOM : '\uFEFF' {$channel=HIDDEN;} - ; - +grammar Delphi; + +options { + backtrack=true; + memoize=true; + output=AST; +} + +@header +{ +/* + * Sonar Delphi Plugin + * Copyright (C) 2010 SonarSource + * dev@sonar.codehaus.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ + +package org.sonar.plugins.delphi.antlr; + +/** +* Delphi Parser class generated by Antlr. Provides tokens and tree parsing methods. +**/ +} + +@lexer::header +{ +/* + * Sonar Delphi Plugin + * Copyright (C) 2010 SonarSource + * dev@sonar.codehaus.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ + +package org.sonar.plugins.delphi.antlr; + +/** +* Delphi Lexer class generated by Antlr. Provides tokens. +**/ +} + +@lexer::members { + private boolean isControlchar() { + // TODO + // - check if there are actually 2 chars ahead and not an EOF + // - perhaps something else than a regex match here + return ((char)input.LA(1) + "" + (char)input.LA(2)).matches("\\w\\W"); + } +} + +//**************************** +//section start +//**************************** +file : program | library | unit | packageE + ; +//**************************** +//section fileDefinition +//**************************** + +program : (programHead)? (usesFileClause)? block '.' + ; +programHead : 'program' namespaceName (programParmSeq)? ';' + ; +programParmSeq : '(' (ident (',' ident)* )? ')' + ; +library : libraryHead (usesFileClause)? block '.' + ; +libraryHead : 'library' namespaceName (hintingDirective)* ';' -> ^('library' namespaceName) + ; +packageE : packageHead requiresClause (containsClause)? 'end' '.' + ; +packageHead : 'package' namespaceName ';' + ; +unit : unitHead unitInterface unitImplementation unitBlock '.' + ; +unitHead : 'unit' namespaceName (hintingDirective)* ';' -> ^('unit' namespaceName (hintingDirective)*) + ; +unitInterface : 'interface' (usesClause)? (interfaceDecl)* -> ^('interface' (usesClause)? (interfaceDecl)*) + ; +unitImplementation : 'implementation' (usesClause)? (declSection)* -> ^('implementation' (usesClause)? (declSection)*) + ; +unitBlock : unitInitialization 'end' + | compoundStatement + | 'end' + ; +unitInitialization : 'initialization' statementList (unitFinalization)? + ; +unitFinalization : 'finalization' statementList + ; +//**************************** +//section fileUsage +//**************************** +containsClause : 'contains' namespaceFileNameList + ; +requiresClause : 'requires' namespaceNameList + ; +usesClause : 'uses' namespaceNameList -> ^('uses' namespaceNameList) + ; +usesFileClause : 'uses' namespaceFileNameList -> ^('uses' namespaceFileNameList) + ; +namespaceFileNameList : namespaceFileName (',' namespaceFileName)* ';' -> namespaceFileName (namespaceFileName)* + ; +namespaceFileName : namespaceName ('in' QuotedString)? -> ^(namespaceName (QuotedString)?) + ; +namespaceNameList : namespaceName (',' namespaceName)* ';' -> namespaceName (namespaceName)* + ; +//**************************** +//section declaration +//**************************** +block : (declSection)* (blockBody)? + ; +blockBody : compoundStatement + | assemblerStatement + ; +declSection : labelDeclSection + | constSection + | typeSection + | varSection + | methodDecl + | procDecl + | exportsSection + ; +interfaceDecl : constSection + | typeSection + | varSection + | exportedProcHeading + | exportsSection + | procDecl + | methodDecl + ; +labelDeclSection : 'label' label (',' label)* ';' + ; +constSection : constKey (constDeclaration)* -> ^(constKey (constDeclaration)*) //CHANGED, erased one constDeclaration, for: "const {$include versioninfo.inc }" + ; +constKey : 'const' + | 'resourcestring' + ; +constDeclaration : (customAttribute)? ident (':' typeDecl)? '=' constExpression (hintingDirective)* ';' -> ident (typeDecl)? '=' constExpression + ; +typeSection : 'type' typeDeclaration (typeDeclaration)* -> ^('type' typeDeclaration (typeDeclaration)*) + ; +typeDeclaration : (customAttribute)? genericTypeIdent '=' typeDecl (hintingDirective)* ';' -> ^(TkNewType (customAttribute)? ^(genericTypeIdent typeDecl (hintingDirective)*)) + ; +varSection : varKey varDeclaration (varDeclaration)* -> ^(varKey varDeclaration (varDeclaration)*) + ; +varKey : 'var' + | 'threadvar' + ; +// threadvar geen initializations alleen globaal +varDeclaration : (customAttribute)? identListFlat ':' typeDecl (varValueSpec)? (hintingDirective)* ';' -> (customAttribute)? ^(TkVariableIdents identListFlat) ^(TkVariableType typeDecl) + ; +inlineVarDeclaration : 'var' ident (':' typeDecl)? ':=' expression + | 'var' ident ':' typeDecl + ; +varValueSpec : 'absolute' qualifiedIdent + | 'absolute' constExpression + | '=' constExpression + ; +exportsSection : 'exports' ident exportItem (',' ident exportItem)* ';' + ; +exportItem : ('(' (formalParameterList)? ')')? (INDEX expression)? (NAME expression)? ('resident')? + ; +//**************************** +//section type +//**************************** +typeDecl : strucType + | pointerType + | stringType + | procedureType + | variantType + | ('type')? typeId (genericPostfix)? ('.' typeDecl)* (paranthesePostfix)? + | simpleType + ; +strucType : ('packed')? strucTypePart -> strucTypePart + ; +strucTypePart : arrayType + | setType + | fileType + | classDecl + ; + +arrayType : 'array' ('[' (arrayIndex)? (',' (arrayIndex)?)* ']')? 'of' arraySubType + -> ^(arraySubType 'array' ('[' (arrayIndex)? (',' (arrayIndex)?)* ']')? ) //CHANGED we only need type info + ; + +arrayIndex : typeId + | expression '..' expression + ; + +arraySubType : 'const' + | typeDecl + ; +setType : 'set' 'of' typeDecl -> 'set' typeDecl //CHANGED we only need type info + ; +// set type alleen ordinal of subrange type +fileType : 'file' ('of' typeDecl)? + ; +pointerType : '^' typeDecl + | 'pointer' + ; +stringType : 'string' ('[' expression ']')? -> 'string' + | ('type')? ANSISTRING (codePageNumber)? + ; +codePageNumber : '(' intNum ')' + ; +procedureType : methodType + | simpleProcedureType + | procedureReference + ; +methodType : procedureTypeHeading 'of' 'object' + ; +simpleProcedureType : procedureTypeHeading ( (';')? callConventionNoSemi)? + ; +procedureReference : 'reference' 'to' procedureTypeHeading + ; +procedureTypeHeading : 'function' (formalParameterSection)? ':' (customAttribute)? typeDecl -> 'function' (formalParameterSection)? ^(TkFunctionReturn typeDecl) + | 'procedure' (formalParameterSection)? + ; +variantType : 'variant' // SzJ TODO TEMP + ; +simpleType : ident + | subRangeType + | enumType + ; +subRangeType : constExpression ('..' constExpression)? + ; +enumType : '(' ident ('=' expression)? (',' ident ('=' expression)? )* ')' + ; +typeId : qualifiedIdent + ; +//**************************** +//section generics +//**************************** +genericTypeIdent : qualifiedIdent (genericDefinition)? -> qualifiedIdent //CHANGED we don't need data, it produced empty nodes + ; +genericDefinition : '<' innerGeneric (';' innerGeneric)* '>' + ; +innerGeneric : genericTypeIdent (',' genericTypeIdent)* (':' genericConstraint (',' genericConstraint)*)? + ; +genericConstraint : genericTypeIdent + | 'record' + | 'class' + | 'constructor' + ; +genericPostfix : '<' typeDecl (',' typeDecl)* '>' + ; +paranthesePostfix : '(' intRealNum ')' //Only used for "type AnsiString(1252)" + ; +//**************************** +//section class +//**************************** +classDecl : classTypeTypeDecl + | classHelperDecl -> ^(TkClass classHelperDecl) + | classTypeDecl -> ^(TkClass classTypeDecl) + | interfaceTypeDecl -> ^(TkInterface interfaceTypeDecl) + | objectDecl -> ^(TkObject objectDecl) + | recordDecl -> ^(TkRecord recordDecl) + | recordHelperDecl -> ^(TkRecordHelper recordHelperDecl) + ; +classTypeTypeDecl : 'class' 'of' typeId -> ^(TkClassOfType typeId) + ; +classTypeDecl : 'class' (classState)? (classParent)? (classItem)* 'end' -> 'class' ^(TkClassParents (classParent)?) (classItem)* + | 'class' (classState)? (classParent)? -> 'class' ^(TkClassParents (classParent)?) //added optional class state + ; +classState : 'sealed' + | 'abstract' + ; +classParent : '(' genericTypeIdent (',' genericTypeIdent)* ')' -> genericTypeIdent (genericTypeIdent)* //CHANGEd from typeId to classParentId + ; +classItem : visibility + | classMethod + | classField + | classProperty + | constSection + | typeSection + | ('class')? varSection + ; +classHelperDecl : 'class' 'helper' (classParent)? 'for' typeId (classHelperItem)* 'end' -> ^('class' typeId ) (classHelperItem)* //CHANGED, we only need "for" class name + ; +classHelperItem : visibility + | classMethod + | classProperty + | constSection + | typeSection + | ('class')? varSection + ; +interfaceTypeDecl : interfaceKey (classParent)? (interfaceGuid)? (interfaceItem)* 'end' + -> interfaceKey ^(TkClassParents (classParent)? ) ^(TkGuid (interfaceGuid)?) (interfaceItem)* + | interfaceKey (classParent)? + -> interfaceKey ^(TkClassParents (classParent)?) + ; +interfaceKey : 'interface' + | 'dispinterface' + ; +interfaceGuid : '[' QuotedString ']' -> QuotedString + ; +interfaceItem : classMethod + | ('class')? classProperty + ; +objectDecl : 'object' (classParent)? (objectItem)* 'end' -> 'object' (classParent)? (objectItem)* + ; +objectItem : visibility + | classMethod + | classField + ; +recordDecl : simpleRecord + | variantRecord + ; +simpleRecord : 'record' (recordField)* (recordItem)* 'end' -> 'record' (recordField)* (recordItem)* + ; +variantRecord : 'record' (recordField)* (recordItem)* recordVariantSection 'end' -> 'record' (recordField)* (recordItem)* recordVariantSection + ; +recordItem : visibility //ADDED + | classMethod + | classProperty + | constSection + | typeSection + | recordField + | ('class')? varSection + ; +recordField : identList ':' typeDecl (hintingDirective)* (';')? //CHANGED not needed ; at the end + -> identList ^(TkVariableType typeDecl) + ; +recordVariantField : identList ':' typeDecl (hintingDirective)* (';') ? + -> identList ^(TkVariableType typeDecl) + ; +recordVariantSection : 'case' (ident ':')? typeDecl 'of' (recordVariant | ';') (recordVariant | ';')* + ; +recordVariant : constExpression (',' constExpression)* ':' '(' (recordVariantField)* ')' //CHANGED to recordVariantField from recordField + ; +recordHelperDecl : 'record' 'helper' 'for' typeId (recordHelperItem)* 'end' + ; +recordHelperItem : visibility + | constSection + | classMethod + | classProperty + ; +classMethod : (customAttribute)? ('class')? methodKey ident (genericDefinition)? (formalParameterSection)? ';' (methodDirective)* + -> (customAttribute)? ('class')? ^(methodKey ^(TkFunctionName ident) (genericDefinition)? ^(TkFunctionArgs (formalParameterSection)?) (methodDirective)*) + | (customAttribute)? ('class')? 'function' ident (genericDefinition)? (formalParameterSection)? ':' (customAttribute)? typeDecl ';' (methodDirective)* + -> (customAttribute)? ('class')? ^('function' ^(TkFunctionName ident) (genericDefinition)? ^(TkFunctionArgs (formalParameterSection)?) (customAttribute)? ^(TkFunctionReturn typeDecl) (methodDirective)*) + | (customAttribute)? ('class')? 'operator' ident (genericDefinition)? (formalParameterSection)? ':' (customAttribute)? typeDecl ';' (methodDirective)* + -> (customAttribute)? ('class')? ^('operator' ^(TkFunctionName ident) (genericDefinition)? ^(TkFunctionArgs (formalParameterSection)?) (customAttribute)? typeDecl (methodDirective)*) + | (customAttribute)? ('class')? 'function' ident (genericDefinition)? '.' ident '=' ident ';' + | (customAttribute)? ('class')? 'procedure' ident (genericDefinition)? '.' ident '=' ident ';' + ; +classField : (customAttribute)? identList ':' typeDecl ';' (hintingDirective)* + -> (customAttribute)? ^(TkClassField ^(TkVariableIdents identList) ^(TkVariableType typeDecl)) + ; +classProperty : (customAttribute)? ('class')? 'property' ident (classPropertyArray)? (':' genericTypeIdent)? (classPropertyIndex)? (classPropertySpecifier)* ';' (classPropertyEndSpecifier)* + -> ^('property' ^(TkVariableIdents ident) ^(TkVariableType genericTypeIdent?) (classPropertySpecifier)* ) + // CHANGED added (classPropertySpecifier)* at end for "default;" + // CHANGEDD to genericTypeIdent for "property QueryBuilder : IQueryBuilder" + ; +classPropertyArray : '[' formalParameterList ']' + ; +classPropertyIndex : 'index' expression (';')? //CHANGED to (';')? + ; +classPropertySpecifier : classPropertyReadWrite //CHANGED removed ';' + | classPropertyDispInterface + | STORED expression + | 'default' expression + | 'default' // for array properties only (1 per class) + | 'nodefault' + | IMPLEMENTS genericTypeIdent + ; +classPropertyEndSpecifier : STORED expression ';' //ADDED used in classProperty at end + | 'default' expression ';' + | 'default' ';' + | 'nodefault' ';' + ; + +classPropertyReadWrite : 'read' qualifiedIdent ('[' expression ']')? // Waarom qualified ident??? //ADDED [] + -> ^('read' qualifiedIdent) + | 'write' qualifiedIdent ('[' expression ']')? //ADDED [] + -> ^('write' qualifiedIdent) + ; +classPropertyDispInterface : 'readonly' ';' + | 'writeonly' ';' + | dispIDDirective + ; +visibility : (STRICT)? 'protected' + | (STRICT)? 'private' + | 'public' + | 'published' + | 'automated' // win32 deprecated + ; +//**************************** +//section procedure +//**************************** +exportedProcHeading : 'procedure' ident (formalParameterSection)? ':' (customAttribute)? typeDecl ';' (functionDirective)* + | 'function' ident (formalParameterSection)? ';' (functionDirective)* + ; +methodDecl : methodDeclHeading ';' (methodDirective)* (methodBody)? -> methodDeclHeading (methodBody)? + ; +methodDeclHeading : (customAttribute)? ('class')? methodKey methodName (formalParameterSection)? + -> (customAttribute)? ('class')? ^(methodKey ^(TkFunctionName methodName) ^(TkFunctionArgs (formalParameterSection)?) ) + | (customAttribute)? ('class')? 'function' methodName (formalParameterSection)? (':' (customAttribute)? typeDecl)? + -> (customAttribute)? ('class')? ^('function' ^(TkFunctionName methodName) ^(TkFunctionArgs (formalParameterSection)?) ^(TkFunctionReturn (customAttribute)? typeDecl?) ) + | (customAttribute)? 'class' 'operator' methodName (formalParameterSection)? (':' (customAttribute)? typeDecl)? + -> (customAttribute)? 'class' ^('operator' ^(TkFunctionName methodName) ^(TkFunctionArgs (formalParameterSection)?) ^(TkFunctionReturn (customAttribute)? typeDecl?) ) + ; +methodKey : 'procedure' + | 'constructor' + | 'destructor' + ; +methodName : ident (genericDefinition)? ('.' ident (genericDefinition)?)* + ; +procDecl : procDeclHeading ';' (functionDirective)* (procBody)? -> procDeclHeading (procBody)? //CHANGED + ; +procDeclHeading : (customAttribute)? 'procedure' ident (formalParameterSection)? //CHANGED + -> ^('procedure' ^(TkFunctionName ident) ^(TkFunctionArgs (formalParameterSection)?) ) + | (customAttribute)? 'function' ident (formalParameterSection)? ':' typeDecl + -> ^('function' ^(TkFunctionName ident) ^(TkFunctionArgs (formalParameterSection)?) ^(TkFunctionReturn typeDecl) ) + ; +formalParameterSection : '(' (formalParameterList)? ')' -> (formalParameterList)? + ; +formalParameterList : formalParameter (';' formalParameter)* -> formalParameter (formalParameter)* + ; +formalParameter : (customAttribute)? (parmType)? identListFlat (':' typeDecl)? ('=' expression)? -> (customAttribute)? ^(TkVariableIdents identListFlat) ^(TkVariableType typeDecl?) ^(TkVariableParam parmType)? + //expressions was cut out, beacause we dont have to know default variable values; they were causing troubles with DelphiCodeAnalyser + ; +parmType : 'const' + | 'var' + | 'out' + ; +methodBody : block ';' -> block + ; +procBody : 'forward' ';' (functionDirective)* // CHECKEN ; en directive plaats! + | 'external' ('name' expression | 'index' expression)* (functionDirective)* // CHECKEN directive plaats + | block ';' + ; +//**************************** +//section customAttributes +//**************************** +customAttribute : customAttributeList + ; +customAttributeList : (customAttributeDecl)* + ; +customAttributeDecl : '[' customAttributeIdent ('(' (expressionList)? ')')? ']' -> ^(TkCustomAttribute '[' customAttributeIdent ('(' (expressionList)? ')')? ']') + ; +customAttributeIdent : qualifiedIdent (':' qualifiedIdent)? + ; +//**************************** +//section expression +//**************************** +expression : anonymousExpression -> ^(TkAnonymousExpression anonymousExpression) + | simpleExpression (relOp simpleExpression)? ('=' expression)? //CHANGED, added expression for: "if( functionCall(x, 7+66) = true ) then" syntax + ; +anonymousExpression : 'procedure' (formalParameterSection)? block + | 'function' (formalParameterSection)? ':' typeDecl block + ; +simpleExpression : factor (operator factor)* + ; +factor : '@' factor + | '@@' factor // used to get address of proc var + | 'not' factor + | '+' factor + | '-' factor + | '^' ident // geeft volgnummer van letter + | intRealNum + | 'true' + | 'false' + | 'nil' + | 'nil^' // Used to pass nil as var paramter value + | '(' expression ')' designator + | '(' expression ')' ('^')? ('.' expression)? //CHANGED, added ('^')? ('.' qualifiedIdent)? + | stringFactor ('.' simpleExpression)? + | setSection + | designator + | typeId '(' expression ')' + ; +stringFactor : (controlString) (QuotedString (controlString))* (QuotedString)? + | QuotedString ((controlString) QuotedString)* (controlString)? + ; +controlString : ControlChar (ControlChar)* + ; +setSection : '[' (expression ((',' | '..') expression)*)? ']' + ; + +designator : ('Inherited')? ('inherited')? ( (qualifiedIdent | typeId) )? (designatorItem)* + ; +designatorItem : '^' + | '^^' + | ('.' | '@') ident //CHANGED added '@' + | ('<' genericTypeIdent (',' genericTypeIdent)* '>') //ADDED for proc.foo; + | '[' expressionList ']' + | '(' (expression (colonConstruct)? (',' expression (colonConstruct)?)*)? ')' -> '(' (expression (colonConstruct)? (expression (colonConstruct)?)*)? ')' + ; +expressionList : expression (',' expression)* + ; +colonConstruct : ':' expression (':' expression)? + ; +// Alleen voor Write/WriteLn. +operator : '+' + | '-' + | 'or' + | 'OR' + | 'xor' + | 'XOR' + | '*' + | '/' + | 'div' + | 'DIV' + | 'mod' + | 'MOD' + | 'and' + | 'AND' + | 'shl' + | 'SHL' + | 'shr' + | 'SHR' + | 'as' + | 'AS' + ; +relOp : '<' + | '>' + | '<=' + | '>=' + | '<>' + | '=' + | 'in' + | 'is' + ; +//**************************** +//section statement +//**************************** + +statement : ifStatement + | caseStatement + | repeatStatement + | whileStatement + | forStatement + | withStatement + | tryStatement + | raiseStatement + | assemblerStatement + | compoundStatement + | label ':' statement + | simpleStatement + ; +ifStatement : 'if' expression 'then' statement ('else' statement)? + ; +caseStatement : 'case' expression 'of' (caseItem)* ('else' statementList (';')?)? 'end' + ; +caseItem : caseLabel (',' caseLabel)* ':' statement (';')? // checken of ; sep of scheider is + ; +caseLabel : expression ('..' expression)? + ; +repeatStatement : 'repeat' (statementList)? 'until' expression + ; +whileStatement : 'while' expression 'do' statement + ; +forStatement : 'for' ('var')? designator ':=' expression 'to' expression 'do' statement + | 'for' ('var')? designator ':=' expression 'downto' expression 'do' statement + | 'for' ('var')? designator 'in' expression 'do' statement + ; +withStatement : 'with' withItemList 'do' statement + ; +withItemList : withItem (',' withItem)* + ; +withItem : designator ('as' designator)? + ; +compoundStatement : 'begin' (statementList)? 'end' -> ^('begin' (statementList)? 'end') + ; +statementList : (statement)? (';' (statement)?)* + ; +simpleStatement : designator ':=' expression + | designator // call + | gotoStatement + | inlineVarDeclaration + ; +gotoStatement : 'goto' label + | 'exit' ('(' expression ')')? + | 'break' + | 'continue' + ; +//**************************** +//section constExpression +//**************************** +constExpression : '(' recordConstExpression (';' recordConstExpression)* ')' //CHANGED reversed order + | '(' constExpression (',' constExpression)* ')' (constExpression)? //matches array inititialization and expressions such as (1 + 2); last constExpression matches (1 * 2) + 3 + | expression + ; +recordConstExpression : ident ':' constExpression (';')? + ; +//**************************** +//section exceptionStatement +//**************************** +tryStatement : 'try' (statementList)? 'except' handlerList 'end' + | 'try' (statementList)? 'finally' (statementList)? 'end' + ; +handlerList : (handler)* ('else' statementList)? + | statementList + ; +handler : 'on' (handlerIdent)? typeId 'do' handlerStatement //CHANGED - ; is not required ; handlerIdent not required, example: "on einvalidoperation do;" + ; +handlerIdent : ident ':' + ; +handlerStatement : statement (';')? + | ';' + ; +raiseStatement : 'raise' (designator)? (AT designator)? // CHECKEN! + ; +//**************************** +//section AssemblerStatement +//**************************** +assemblerStatement : 'asm' ~('end')* 'end' //ADDED we don't realy care about assembler statements, since they don't contribute to + ; //any measure, just skip, allow all +//**************************** +//section directive +//**************************** +methodDirective : reintroduceDirective // 1 + | overloadDirective // 2 + | bindingDirective // 3 + | abstractDirective // 3 virtual; + | inlineDirective // 4 niet virtual or dynamic + | callConvention // 4 + | hintingDirective ';' // 4 (niet abstract) + | oldCallConventionDirective // 1 + | dispIDDirective + | externalDirective + ; +functionDirective : overloadDirective // 1 + | inlineDirective // 1 + | callConvention // 1 + | oldCallConventionDirective // 1 + | hintingDirective ';' // 1 + | (callConventionNoSemi)? externalDirective // 1 + | externalDirective + | 'unsafe' ';' // 1 .net? + ; +reintroduceDirective : 'reintroduce' (';')? + ; +overloadDirective : 'overload' (';')? //CHANGE ; not needed + ; +bindingDirective : 'message' expression ';' + | 'static' ';' + | 'dynamic' ';' + | 'override' ';' + | 'virtual' ';' + ; +abstractDirective : 'abstract' ';' + | 'final' ';' + ; +inlineDirective : 'inline' ';' + | 'assembler' ';' // deprecated + ; +callConvention : 'cdecl' ';' // + | 'pascal' ';' // + | 'register' ';' // + | 'safecall' ';' // + | 'stdcall' ';' // + | 'export' ';' // deprecated + ; +callConventionNoSemi : 'cdecl' // //ADDED for procedureType error fixing, without ';' at the end + | 'pascal' // + | 'register' // + | 'safecall' // + | 'stdcall' // + | 'export' // deprecated + ; +oldCallConventionDirective : 'far' ';' // deprecated + | 'local' ';' // niet in windows maakt functie niet exporteerbaar + | 'near' ';' // deprecated + ; +hintingDirective : 'deprecated' (stringFactor)? + | 'experimental' // added 2006 + | 'platform' + | 'library' + ; +externalDirective : 'varargs' ';' // alleen bij external cdecl + | 'external' ';' + | 'external' constExpression (externalSpecifier)* ('delayed')? ';' // expression : dll name + ; +externalSpecifier : 'name' constExpression + | 'index' constExpression // specific to a platform + ; +dispIDDirective : 'dispid' expression ';' + ; +//**************************** +////section general +//**************************** +ident : TkIdentifier + | '&' TkIdentifier -> TkIdentifier + | '&' keywordsAsIdentifier -> keywordsAsIdentifier + | usedKeywordsAsNames + ; +usedKeywordsAsNames : (NAME | READONLY | ADD | DISPID | AT | IN | MESSAGE | POINTER | INDEX | DEFAULT | STRING | CONTINUE) + | (READ | WRITE | REGISTER | VARIANT | OPERATOR | REMOVE | LOCAL | REFERENCE | CONTAINS | FINAL) + | (BREAK | EXIT | STRICT | OUT | OBJECT | EXPORT | ANSISTRING | IMPLEMENTS | STORED | HELPER ) + | (UNSAFE | STATIC | DQ | DW | VARARGS | VARIANT | VIRTUAL | WRITE | WRITEONLY | FALSE | TRUE) + ; +keywordsAsIdentifier : (ABSOLUTE | ABSTRACT | ADD | AND | ANSISTRING | ARRAY | AS | ASM | ASSEMBLER | ASSEMBLY) + | (AT | AUTOMATED | BEGIN | BREAK | CASE | CDECL | CLASS | CONST | CONSTRUCTOR | CONTAINS) + | (CONTINUE | DEFAULT | DEPRECATED | DESTRUCTOR | DISPID | DISPINTERFACE | DIV | DO | DOWNTO) + | (DQ | DW | DYNAMIC | ELSE | END | EXCEPT | EXIT | EXPERIMENTAL | EXPORT | EXPORTS | EXTERNAL) + | (FAR | FILE | FINAL | FINALIZATION | FINALLY | FOR | FORWARD | FUNCTION | GOTO | HELPER | IF) + | (IMPLEMENTATION | IMPLEMENTS | IN | INDEX | INHERITED | INITIALIZATION | INLINE | INTERFACE) + | (IS | LABEL | LIBRARY | LOCAL | MESSAGE | MOD | NAME | NEAR | NIL | NODEFAULT | NOT | OBJECT) + | (OF | ON | OPERATOR | OR | OUT | OVERLOAD | OVERRIDE | PACKAGE | PACKED | PASCAL | PLATFORM) + | (POINTER | PRIVATE | PROCEDURE | PROGRAM | PROPERTY | PROTECTED | PUBLIC | PUBLISHED | RAISE) + | (READ | READONLY | RECORD | REFERENCE | REGISTER | REINTRODUCE | REMOVE | REPEAT | REQUIRES) + | (RESIDENT | RESOURCESTRING | SAFECALL | SEALED | SET | SHL | SHR | STATIC | STDCALL | STORED) + | (STRICT | STRING | THEN | THREADVAR | TO | TRY | TYPE | UNIT | UNSAFE | UNTIL | USES | VAR) + | (VARARGS | VARIANT | VIRTUAL | WHILE | WITH | WRITE | WRITEONLY | XOR | FALSE | TRUE) + ; +identList : ident (',' ident)* -> ^(ident (ident)*) + ; +identListFlat : ident (',' ident)* -> ident (ident)* //ADDED used in formalParemeter + ; +label : TkIdentifier + | TkIntNum + | TkHexNum + | usedKeywordsAsNames + ; +intRealNum : TkRealNum + | intNum + ; +intNum : TkIntNum + | TkHexNum + ; +namespaceName : ident ('.' ident)* + ; +qualifiedIdent : (ident '.')* ident //must stay the way it is, with '.' for proper class method identyfication + ; + +// KEYWORDS +ABSOLUTE : 'absolute' ; +ABSTRACT : 'abstract' ; +ADD : 'add' ; +AND : 'and' ; +ANSISTRING : 'ansistring' ; +ARRAY : 'array' ; +AS : 'as' ; +ASM : 'asm' ; +ASSEMBLER : 'assembler' ; +ASSEMBLY : 'assembly' ; +AT : 'at' ; +AUTOMATED : 'automated' ; +BEGIN : 'begin' ; +BREAK : 'break' ; +CASE : 'case' ; +CDECL : 'cdecl' ; +CLASS : 'class' ; +CONST : 'const' ; +CONSTRUCTOR : 'constructor' ; +CONTAINS : 'contains' ; +CONTINUE : 'continue' ; +DEFAULT : 'default' ; +DELAYED : 'delayed' ; +DEPRECATED : 'deprecated' ; +DESTRUCTOR : 'destructor' ; +DISPID : 'dispid' ; +DISPINTERFACE : 'dispinterface' ; +DIV : 'div' ; +DO : 'do' ; +DOWNTO : 'downto' ; +DQ : 'dq' ; +DW : 'dw' ; +DYNAMIC : 'dynamic' ; +ELSE : 'else' ; +END : 'end' ; +EXCEPT : 'except' ; +EXIT : 'exit' ; +EXPERIMENTAL : 'experimental' ; +EXPORT : 'export' ; +EXPORTS : 'exports' ; +EXTERNAL : 'external' ; +FAR : 'far' ; +FILE : 'file' ; +FINAL : 'final' ; +FINALIZATION : 'finalization' ; +FINALLY : 'finally' ; +FOR : 'for' ; +FORWARD : 'forward' ; +FUNCTION : 'function' ; +GOTO : 'goto' ; +HELPER : 'helper' ; +IF : 'if' ; +IMPLEMENTATION : 'implementation' ; +IMPLEMENTS : 'implements' ; +IN : 'in' ; +INDEX : 'index' ; +INHERITED : 'inherited' ; +INITIALIZATION : 'initialization' ; +INLINE : 'inline' ; +INTERFACE : 'interface' ; +IS : 'is' ; +LABEL : 'label' ; +LIBRARY : 'library' ; +LOCAL : 'local' ; +MESSAGE : 'message' ; +MOD : 'mod' ; +NAME : 'name' ; +NEAR : 'near' ; +NIL : 'nil' ; +NODEFAULT : 'nodefault' ; +NOT : 'not' ; +OBJECT : 'object' ; +OF : 'of' ; +ON : 'on' ; +OPERATOR : 'operator' ; +OR : 'or' ; +OUT : 'out' ; +OVERLOAD : 'overload' ; +OVERRIDE : 'override' ; +PACKAGE : 'package' ; +PACKED : 'packed' ; +PASCAL : 'pascal' ; +PLATFORM : 'platform' ; +POINTER : 'pointer' ; +PRIVATE : 'private' ; +PROCEDURE : 'procedure' ; +PROGRAM : 'program' ; +PROPERTY : 'property' ; +PROTECTED : 'protected' ; +PUBLIC : 'public' ; +PUBLISHED : 'published' ; +RAISE : 'raise' ; +READ : 'read' ; +READONLY : 'readonly' ; +RECORD : 'record' ; +REFERENCE : 'reference' ; +REGISTER : 'register' ; +REINTRODUCE : 'reintroduce' ; +REMOVE : 'remove' ; +REPEAT : 'repeat' ; +REQUIRES : 'requires' ; +RESIDENT : 'resident' ; +RESOURCESTRING : 'resourcestring' ; +SAFECALL : 'safecall' ; +SEALED : 'sealed' ; +SET : 'set' ; +SHL : 'shl' ; +SHR : 'shr' ; +STATIC : 'static' ; +STDCALL : 'stdcall' ; +STORED : 'stored' ; +STRICT : 'strict' ; +STRING : 'string' ; +THEN : 'then' ; +THREADVAR : 'threadvar' ; +TO : 'to' ; +TRY : 'try' ; +TYPE : 'type' ; +UNIT : 'unit' ; +UNSAFE : 'unsafe' ; +UNTIL : 'until' ; +USES : 'uses' ; +VAR : 'var' ; +VARARGS : 'varargs' ; +VARIANT : 'variant' ; +VIRTUAL : 'virtual' ; +WHILE : 'while' ; +WITH : 'with' ; +WRITE : 'write' ; +WRITEONLY : 'writeonly' ; +XOR : 'xor' ; +FALSE : 'false' ; +TRUE : 'true' ; + +//---------------------------------------------------------------------------- +// OPERATORS +//---------------------------------------------------------------------------- +PLUS : '+' ; +MINUS : '-' ; +STAR : '*' ; +SLASH : '/' ; +ASSIGN : ':=' ; +COMMA : ',' ; +SEMI : ';' ; +COLON : ':' ; +EQUAL : '=' ; +NOT_EQUAL : '<>' ; +LT : '<' ; +LE : '<=' ; +GE : '>=' ; +GT : '>' ; +LPAREN : '(' ; +RPAREN : ')' ; +LBRACK : '[' ; // line_tab[line] +LBRACK2 : '(.' ; // line_tab(.line.) +RBRACK : ']' ; +RBRACK2 : '.)' ; +POINTER2 : '^' ; +AT2 : '@' ; +DOT : '.' ;// ('.' {$setType(DOTDOT);})? ; +DOTDOT : '..' ; +LCURLY : '{' ; +RCURLY : '}' ; + +//**************************** +//section token +//**************************** +TkGlobalFunction : 'FUNCTION_GLOBAL' + ; +TkFunctionName : 'FUNCTION_NAME' + ; +TkFunctionArgs : 'FUNCTION_ARGS' + ; +TkFunctionBody : 'FUNCTION_BODY' + ; +TkFunctionReturn : 'FUNCTION_RETURN' + ; +TkCustomAttribute : 'CUSTOM_ATTRIBUTE' + ; +TkCustomAttributeArgs : 'CUSTOM_ATTRIBUTE_ARGS' + ; +TkNewType : 'NEW_TYPE' + ; +TkClass : 'CLASS' + ; +TkRecord : 'RECORD_TYPE' + ; +TkRecordHelper : 'RECORD_HELPER' + ; +TkInterface : 'INTERFACE_TYPE' + ; +TkObject : 'OBJECT_TYPE' + ; +TkClassOfType : 'CLASS_OF_TYPE' + ; +TkVariableType : 'VARIABLE_TYPE' + ; +TkVariableIdents : 'VARIABLE_IDENTS' + ; +TkVariableParam : 'VARIABLE_PARAM' + ; +TkGuid : 'INTERFACE_GUID' + ; +TkClassParents : 'CLASS_PARENTS' + ; +TkClassField : 'CLASS_FIELD' + ; +TkAnonymousExpression : 'ANONYMOUS_EXPRESSION' + ; +TkIdentifier : (Alpha | '_') (Alpha | Digit | '_')* + ; +TkIntNum : Digitseq + ; +TkRealNum : Digitseq ( ((DOT Digitseq)? (('e'|'E') ('+'|'-')? Digitseq)?) => (DOT Digitseq)? (('e'|'E') ('+'|'-')? Digitseq)? | () { $type = TkIntNum; } ) + ; +TkHexNum : '$' Hexdigitseq + ; +ControlChar : '^' ( {isControlchar()}?=> Alpha + | {$type=POINTER2;} + ) + | '#' Digitseq + | '#' '$' Hexdigitseq + ; +QuotedString : '\'' ('\'\'' | ~('\''))* '\'' //taken from PASCAL grammar + ; +fragment +Alpha : 'a'..'z' + | 'A'..'Z' + | '\u0080'..'\uFFFE' ~('\uFEFF') //ADDED unicode support + ; +fragment +Digit : '0'..'9' + ; +fragment +Digitseq : Digit (Digit)* + ; +fragment +Hexdigit : Digit | 'a'..'f' | 'A'..'F' + ; +Hexdigitseq : Hexdigit (Hexdigit)* + ; +COMMENT : '//' ~('\n'|'\r')* '\r'? '\n' {$channel=HIDDEN;} + | '(*' ( options {greedy=false;} : . )* '*)' {$channel=HIDDEN;} + | '{' ( options {greedy=false;} : . )* '}' {$channel=HIDDEN;} + ; +WS : (' '|'\t'|'\r'|'\n'|'\f')+ {$channel=HIDDEN;} + ; +UnicodeBOM : '\uFEFF' {$channel=HIDDEN;} + ; + diff --git a/src/main/java/org/sonar/plugins/delphi/antlr/DelphiLexer.java b/src/main/java/org/sonar/plugins/delphi/antlr/DelphiLexer.java index 31c452a..857047e 100644 --- a/src/main/java/org/sonar/plugins/delphi/antlr/DelphiLexer.java +++ b/src/main/java/org/sonar/plugins/delphi/antlr/DelphiLexer.java @@ -1,7587 +1,8065 @@ -// $ANTLR 3.5.2 org\\sonar\\plugins\\delphi\\antlr\\Delphi.g 2017-04-03 17:48:11 - -/* - * Sonar Delphi Plugin - * Copyright (C) 2010 SonarSource - * dev@sonar.codehaus.org - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ - -package org.sonar.plugins.delphi.antlr; - -/** -* Delphi Lexer class generated by Antlr. Provides tokens. -**/ - - -import org.antlr.runtime.*; - -@SuppressWarnings("all") -public class DelphiLexer extends Lexer { - public static final int EOF=-1; - public static final int T__200=200; - public static final int T__201=201; - public static final int ABSOLUTE=4; - public static final int ABSTRACT=5; - public static final int ADD=6; - public static final int AND=7; - public static final int ANSISTRING=8; - public static final int ARRAY=9; - public static final int AS=10; - public static final int ASM=11; - public static final int ASSEMBLER=12; - public static final int ASSEMBLY=13; - public static final int ASSIGN=14; - public static final int AT=15; - public static final int AT2=16; - public static final int AUTOMATED=17; - public static final int Alpha=18; - public static final int BEGIN=19; - public static final int BREAK=20; - public static final int CASE=21; - public static final int CDECL=22; - public static final int CLASS=23; - public static final int COLON=24; - public static final int COMMA=25; - public static final int COMMENT=26; - public static final int CONST=27; - public static final int CONSTRUCTOR=28; - public static final int CONTAINS=29; - public static final int CONTINUE=30; - public static final int ControlString=31; - public static final int Controlchar=32; - public static final int DEFAULT=33; - public static final int DEPRECATED=34; - public static final int DESTRUCTOR=35; - public static final int DISPID=36; - public static final int DISPINTERFACE=37; - public static final int DIV=38; - public static final int DO=39; - public static final int DOT=40; - public static final int DOTDOT=41; - public static final int DOWNTO=42; - public static final int DQ=43; - public static final int DW=44; - public static final int DYNAMIC=45; - public static final int Digit=46; - public static final int Digitseq=47; - public static final int ELSE=48; - public static final int END=49; - public static final int EQUAL=50; - public static final int EXCEPT=51; - public static final int EXIT=52; - public static final int EXPERIMENTAL=53; - public static final int EXPORT=54; - public static final int EXPORTS=55; - public static final int EXTERNAL=56; - public static final int FALSE=57; - public static final int FAR=58; - public static final int FILE=59; - public static final int FINAL=60; - public static final int FINALIZATION=61; - public static final int FINALLY=62; - public static final int FOR=63; - public static final int FORWARD=64; - public static final int FUNCTION=65; - public static final int GE=66; - public static final int GOTO=67; - public static final int GT=68; - public static final int HELPER=69; - public static final int Hexdigit=70; - public static final int Hexdigitseq=71; - public static final int IF=72; - public static final int IMPLEMENTATION=73; - public static final int IMPLEMENTS=74; - public static final int IN=75; - public static final int INDEX=76; - public static final int INHERITED=77; - public static final int INITIALIZATION=78; - public static final int INLINE=79; - public static final int INTERFACE=80; - public static final int IS=81; - public static final int LABEL=82; - public static final int LBRACK=83; - public static final int LBRACK2=84; - public static final int LCURLY=85; - public static final int LE=86; - public static final int LIBRARY=87; - public static final int LOCAL=88; - public static final int LPAREN=89; - public static final int LT=90; - public static final int MESSAGE=91; - public static final int MINUS=92; - public static final int MOD=93; - public static final int NAME=94; - public static final int NEAR=95; - public static final int NIL=96; - public static final int NODEFAULT=97; - public static final int NOT=98; - public static final int NOT_EQUAL=99; - public static final int OBJECT=100; - public static final int OF=101; - public static final int ON=102; - public static final int OPERATOR=103; - public static final int OR=104; - public static final int OUT=105; - public static final int OVERLOAD=106; - public static final int OVERRIDE=107; - public static final int PACKAGE=108; - public static final int PACKED=109; - public static final int PASCAL=110; - public static final int PLATFORM=111; - public static final int PLUS=112; - public static final int POINTER=113; - public static final int POINTER2=114; - public static final int PRIVATE=115; - public static final int PROCEDURE=116; - public static final int PROGRAM=117; - public static final int PROPERTY=118; - public static final int PROTECTED=119; - public static final int PUBLIC=120; - public static final int PUBLISHED=121; - public static final int QuotedString=122; - public static final int RAISE=123; - public static final int RBRACK=124; - public static final int RBRACK2=125; - public static final int RCURLY=126; - public static final int READ=127; - public static final int READONLY=128; - public static final int RECORD=129; - public static final int REFERENCE=130; - public static final int REGISTER=131; - public static final int REINTRODUCE=132; - public static final int REMOVE=133; - public static final int REPEAT=134; - public static final int REQUIRES=135; - public static final int RESIDENT=136; - public static final int RESOURCESTRING=137; - public static final int RPAREN=138; - public static final int SAFECALL=139; - public static final int SEALED=140; - public static final int SEMI=141; - public static final int SET=142; - public static final int SHL=143; - public static final int SHR=144; - public static final int SLASH=145; - public static final int STAR=146; - public static final int STATIC=147; - public static final int STDCALL=148; - public static final int STORED=149; - public static final int STRICT=150; - public static final int STRING=151; - public static final int THEN=152; - public static final int THREADVAR=153; - public static final int TO=154; - public static final int TRUE=155; - public static final int TRY=156; - public static final int TYPE=157; - public static final int TkAnonymousExpression=158; - public static final int TkAsmHexLabel=159; - public static final int TkAsmHexNum=160; - public static final int TkClass=161; - public static final int TkClassField=162; - public static final int TkClassOfType=163; - public static final int TkClassParents=164; - public static final int TkCustomAttribute=165; - public static final int TkCustomAttributeArgs=166; - public static final int TkFunctionArgs=167; - public static final int TkFunctionBody=168; - public static final int TkFunctionName=169; - public static final int TkFunctionReturn=170; - public static final int TkGlobalFunction=171; - public static final int TkGuid=172; - public static final int TkHexNum=173; - public static final int TkIdentifier=174; - public static final int TkIntNum=175; - public static final int TkInterface=176; - public static final int TkNewType=177; - public static final int TkObject=178; - public static final int TkRealNum=179; - public static final int TkRecord=180; - public static final int TkRecordHelper=181; - public static final int TkVariableIdents=182; - public static final int TkVariableParam=183; - public static final int TkVariableType=184; - public static final int UNIT=185; - public static final int UNSAFE=186; - public static final int UNTIL=187; - public static final int USES=188; - public static final int UnicodeBOM=189; - public static final int VAR=190; - public static final int VARARGS=191; - public static final int VARIANT=192; - public static final int VIRTUAL=193; - public static final int WHILE=194; - public static final int WITH=195; - public static final int WRITE=196; - public static final int WRITEONLY=197; - public static final int WS=198; - public static final int XOR=199; - - // delegates - // delegators - public Lexer[] getDelegates() { - return new Lexer[] {}; - } - - public DelphiLexer() {} - public DelphiLexer(CharStream input) { - this(input, new RecognizerSharedState()); - } - public DelphiLexer(CharStream input, RecognizerSharedState state) { - super(input,state); - } - @Override public String getGrammarFileName() { return "org\\sonar\\plugins\\delphi\\antlr\\Delphi.g"; } - - // $ANTLR start "T__200" - public final void mT__200() throws RecognitionException { - try { - int _type = T__200; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:30:8: ( '&' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:30:10: '&' - { - match('&'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "T__200" - - // $ANTLR start "T__201" - public final void mT__201() throws RecognitionException { - try { - int _type = T__201; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:31:8: ( '@@' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:31:10: '@@' - { - match("@@"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "T__201" - - // $ANTLR start "ABSOLUTE" - public final void mABSOLUTE() throws RecognitionException { - try { - int _type = ABSOLUTE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:713:19: ( 'absolute' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:713:21: 'absolute' - { - match("absolute"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ABSOLUTE" - - // $ANTLR start "ABSTRACT" - public final void mABSTRACT() throws RecognitionException { - try { - int _type = ABSTRACT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:714:19: ( 'abstract' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:714:21: 'abstract' - { - match("abstract"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ABSTRACT" - - // $ANTLR start "ADD" - public final void mADD() throws RecognitionException { - try { - int _type = ADD; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:715:19: ( 'add' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:715:21: 'add' - { - match("add"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ADD" - - // $ANTLR start "AND" - public final void mAND() throws RecognitionException { - try { - int _type = AND; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:716:19: ( 'and' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:716:21: 'and' - { - match("and"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "AND" - - // $ANTLR start "ANSISTRING" - public final void mANSISTRING() throws RecognitionException { - try { - int _type = ANSISTRING; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:717:19: ( 'ansistring' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:717:21: 'ansistring' - { - match("ansistring"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ANSISTRING" - - // $ANTLR start "ARRAY" - public final void mARRAY() throws RecognitionException { - try { - int _type = ARRAY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:718:19: ( 'array' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:718:21: 'array' - { - match("array"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ARRAY" - - // $ANTLR start "AS" - public final void mAS() throws RecognitionException { - try { - int _type = AS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:719:19: ( 'as' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:719:21: 'as' - { - match("as"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "AS" - - // $ANTLR start "ASM" - public final void mASM() throws RecognitionException { - try { - int _type = ASM; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:720:19: ( 'asm' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:720:21: 'asm' - { - match("asm"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ASM" - - // $ANTLR start "ASSEMBLER" - public final void mASSEMBLER() throws RecognitionException { - try { - int _type = ASSEMBLER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:721:19: ( 'assembler' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:721:21: 'assembler' - { - match("assembler"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ASSEMBLER" - - // $ANTLR start "ASSEMBLY" - public final void mASSEMBLY() throws RecognitionException { - try { - int _type = ASSEMBLY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:722:19: ( 'assembly' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:722:21: 'assembly' - { - match("assembly"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ASSEMBLY" - - // $ANTLR start "AT" - public final void mAT() throws RecognitionException { - try { - int _type = AT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:723:19: ( 'at' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:723:21: 'at' - { - match("at"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "AT" - - // $ANTLR start "AUTOMATED" - public final void mAUTOMATED() throws RecognitionException { - try { - int _type = AUTOMATED; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:724:19: ( 'automated' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:724:21: 'automated' - { - match("automated"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "AUTOMATED" - - // $ANTLR start "BEGIN" - public final void mBEGIN() throws RecognitionException { - try { - int _type = BEGIN; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:725:19: ( 'begin' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:725:21: 'begin' - { - match("begin"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "BEGIN" - - // $ANTLR start "BREAK" - public final void mBREAK() throws RecognitionException { - try { - int _type = BREAK; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:726:19: ( 'break' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:726:21: 'break' - { - match("break"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "BREAK" - - // $ANTLR start "CASE" - public final void mCASE() throws RecognitionException { - try { - int _type = CASE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:727:19: ( 'case' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:727:21: 'case' - { - match("case"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "CASE" - - // $ANTLR start "CDECL" - public final void mCDECL() throws RecognitionException { - try { - int _type = CDECL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:728:19: ( 'cdecl' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:728:21: 'cdecl' - { - match("cdecl"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "CDECL" - - // $ANTLR start "CLASS" - public final void mCLASS() throws RecognitionException { - try { - int _type = CLASS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:729:19: ( 'class' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:729:21: 'class' - { - match("class"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "CLASS" - - // $ANTLR start "CONST" - public final void mCONST() throws RecognitionException { - try { - int _type = CONST; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:730:19: ( 'const' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:730:21: 'const' - { - match("const"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "CONST" - - // $ANTLR start "CONSTRUCTOR" - public final void mCONSTRUCTOR() throws RecognitionException { - try { - int _type = CONSTRUCTOR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:731:19: ( 'constructor' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:731:21: 'constructor' - { - match("constructor"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "CONSTRUCTOR" - - // $ANTLR start "CONTAINS" - public final void mCONTAINS() throws RecognitionException { - try { - int _type = CONTAINS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:732:19: ( 'contains' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:732:21: 'contains' - { - match("contains"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "CONTAINS" - - // $ANTLR start "CONTINUE" - public final void mCONTINUE() throws RecognitionException { - try { - int _type = CONTINUE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:733:19: ( 'continue' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:733:21: 'continue' - { - match("continue"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "CONTINUE" - - // $ANTLR start "DEFAULT" - public final void mDEFAULT() throws RecognitionException { - try { - int _type = DEFAULT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:734:19: ( 'default' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:734:21: 'default' - { - match("default"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DEFAULT" - - // $ANTLR start "DEPRECATED" - public final void mDEPRECATED() throws RecognitionException { - try { - int _type = DEPRECATED; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:735:19: ( 'deprecated' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:735:21: 'deprecated' - { - match("deprecated"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DEPRECATED" - - // $ANTLR start "DESTRUCTOR" - public final void mDESTRUCTOR() throws RecognitionException { - try { - int _type = DESTRUCTOR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:736:19: ( 'destructor' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:736:21: 'destructor' - { - match("destructor"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DESTRUCTOR" - - // $ANTLR start "DISPID" - public final void mDISPID() throws RecognitionException { - try { - int _type = DISPID; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:737:19: ( 'dispid' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:737:21: 'dispid' - { - match("dispid"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DISPID" - - // $ANTLR start "DISPINTERFACE" - public final void mDISPINTERFACE() throws RecognitionException { - try { - int _type = DISPINTERFACE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:738:19: ( 'dispinterface' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:738:21: 'dispinterface' - { - match("dispinterface"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DISPINTERFACE" - - // $ANTLR start "DIV" - public final void mDIV() throws RecognitionException { - try { - int _type = DIV; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:739:19: ( 'div' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:739:21: 'div' - { - match("div"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DIV" - - // $ANTLR start "DO" - public final void mDO() throws RecognitionException { - try { - int _type = DO; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:740:19: ( 'do' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:740:21: 'do' - { - match("do"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DO" - - // $ANTLR start "DOWNTO" - public final void mDOWNTO() throws RecognitionException { - try { - int _type = DOWNTO; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:741:19: ( 'downto' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:741:21: 'downto' - { - match("downto"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DOWNTO" - - // $ANTLR start "DQ" - public final void mDQ() throws RecognitionException { - try { - int _type = DQ; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:742:19: ( 'dq' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:742:21: 'dq' - { - match("dq"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DQ" - - // $ANTLR start "DW" - public final void mDW() throws RecognitionException { - try { - int _type = DW; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:743:19: ( 'dw' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:743:21: 'dw' - { - match("dw"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DW" - - // $ANTLR start "DYNAMIC" - public final void mDYNAMIC() throws RecognitionException { - try { - int _type = DYNAMIC; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:744:19: ( 'dynamic' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:744:21: 'dynamic' - { - match("dynamic"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DYNAMIC" - - // $ANTLR start "ELSE" - public final void mELSE() throws RecognitionException { - try { - int _type = ELSE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:745:19: ( 'else' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:745:21: 'else' - { - match("else"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ELSE" - - // $ANTLR start "END" - public final void mEND() throws RecognitionException { - try { - int _type = END; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:746:19: ( 'end' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:746:21: 'end' - { - match("end"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "END" - - // $ANTLR start "EXCEPT" - public final void mEXCEPT() throws RecognitionException { - try { - int _type = EXCEPT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:747:19: ( 'except' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:747:21: 'except' - { - match("except"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "EXCEPT" - - // $ANTLR start "EXIT" - public final void mEXIT() throws RecognitionException { - try { - int _type = EXIT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:748:19: ( 'exit' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:748:21: 'exit' - { - match("exit"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "EXIT" - - // $ANTLR start "EXPERIMENTAL" - public final void mEXPERIMENTAL() throws RecognitionException { - try { - int _type = EXPERIMENTAL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:749:19: ( 'experimental' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:749:21: 'experimental' - { - match("experimental"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "EXPERIMENTAL" - - // $ANTLR start "EXPORT" - public final void mEXPORT() throws RecognitionException { - try { - int _type = EXPORT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:750:19: ( 'export' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:750:21: 'export' - { - match("export"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "EXPORT" - - // $ANTLR start "EXPORTS" - public final void mEXPORTS() throws RecognitionException { - try { - int _type = EXPORTS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:751:19: ( 'exports' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:751:21: 'exports' - { - match("exports"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "EXPORTS" - - // $ANTLR start "EXTERNAL" - public final void mEXTERNAL() throws RecognitionException { - try { - int _type = EXTERNAL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:752:19: ( 'external' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:752:21: 'external' - { - match("external"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "EXTERNAL" - - // $ANTLR start "FAR" - public final void mFAR() throws RecognitionException { - try { - int _type = FAR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:753:19: ( 'far' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:753:21: 'far' - { - match("far"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "FAR" - - // $ANTLR start "FILE" - public final void mFILE() throws RecognitionException { - try { - int _type = FILE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:754:19: ( 'file' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:754:21: 'file' - { - match("file"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "FILE" - - // $ANTLR start "FINAL" - public final void mFINAL() throws RecognitionException { - try { - int _type = FINAL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:755:19: ( 'final' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:755:21: 'final' - { - match("final"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "FINAL" - - // $ANTLR start "FINALIZATION" - public final void mFINALIZATION() throws RecognitionException { - try { - int _type = FINALIZATION; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:756:19: ( 'finalization' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:756:21: 'finalization' - { - match("finalization"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "FINALIZATION" - - // $ANTLR start "FINALLY" - public final void mFINALLY() throws RecognitionException { - try { - int _type = FINALLY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:757:19: ( 'finally' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:757:21: 'finally' - { - match("finally"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "FINALLY" - - // $ANTLR start "FOR" - public final void mFOR() throws RecognitionException { - try { - int _type = FOR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:758:19: ( 'for' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:758:21: 'for' - { - match("for"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "FOR" - - // $ANTLR start "FORWARD" - public final void mFORWARD() throws RecognitionException { - try { - int _type = FORWARD; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:759:19: ( 'forward' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:759:21: 'forward' - { - match("forward"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "FORWARD" - - // $ANTLR start "FUNCTION" - public final void mFUNCTION() throws RecognitionException { - try { - int _type = FUNCTION; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:760:19: ( 'function' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:760:21: 'function' - { - match("function"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "FUNCTION" - - // $ANTLR start "GOTO" - public final void mGOTO() throws RecognitionException { - try { - int _type = GOTO; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:761:19: ( 'goto' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:761:21: 'goto' - { - match("goto"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "GOTO" - - // $ANTLR start "HELPER" - public final void mHELPER() throws RecognitionException { - try { - int _type = HELPER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:762:19: ( 'helper' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:762:21: 'helper' - { - match("helper"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "HELPER" - - // $ANTLR start "IF" - public final void mIF() throws RecognitionException { - try { - int _type = IF; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:763:19: ( 'if' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:763:21: 'if' - { - match("if"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "IF" - - // $ANTLR start "IMPLEMENTATION" - public final void mIMPLEMENTATION() throws RecognitionException { - try { - int _type = IMPLEMENTATION; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:764:19: ( 'implementation' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:764:21: 'implementation' - { - match("implementation"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "IMPLEMENTATION" - - // $ANTLR start "IMPLEMENTS" - public final void mIMPLEMENTS() throws RecognitionException { - try { - int _type = IMPLEMENTS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:765:19: ( 'implements' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:765:21: 'implements' - { - match("implements"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "IMPLEMENTS" - - // $ANTLR start "IN" - public final void mIN() throws RecognitionException { - try { - int _type = IN; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:766:19: ( 'in' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:766:21: 'in' - { - match("in"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "IN" - - // $ANTLR start "INDEX" - public final void mINDEX() throws RecognitionException { - try { - int _type = INDEX; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:767:19: ( 'index' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:767:21: 'index' - { - match("index"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "INDEX" - - // $ANTLR start "INHERITED" - public final void mINHERITED() throws RecognitionException { - try { - int _type = INHERITED; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:768:19: ( 'inherited' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:768:21: 'inherited' - { - match("inherited"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "INHERITED" - - // $ANTLR start "INITIALIZATION" - public final void mINITIALIZATION() throws RecognitionException { - try { - int _type = INITIALIZATION; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:769:19: ( 'initialization' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:769:21: 'initialization' - { - match("initialization"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "INITIALIZATION" - - // $ANTLR start "INLINE" - public final void mINLINE() throws RecognitionException { - try { - int _type = INLINE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:770:19: ( 'inline' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:770:21: 'inline' - { - match("inline"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "INLINE" - - // $ANTLR start "INTERFACE" - public final void mINTERFACE() throws RecognitionException { - try { - int _type = INTERFACE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:771:19: ( 'interface' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:771:21: 'interface' - { - match("interface"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "INTERFACE" - - // $ANTLR start "IS" - public final void mIS() throws RecognitionException { - try { - int _type = IS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:772:19: ( 'is' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:772:21: 'is' - { - match("is"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "IS" - - // $ANTLR start "LABEL" - public final void mLABEL() throws RecognitionException { - try { - int _type = LABEL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:773:19: ( 'label' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:773:21: 'label' - { - match("label"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "LABEL" - - // $ANTLR start "LIBRARY" - public final void mLIBRARY() throws RecognitionException { - try { - int _type = LIBRARY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:774:19: ( 'library' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:774:21: 'library' - { - match("library"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "LIBRARY" - - // $ANTLR start "LOCAL" - public final void mLOCAL() throws RecognitionException { - try { - int _type = LOCAL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:775:19: ( 'local' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:775:21: 'local' - { - match("local"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "LOCAL" - - // $ANTLR start "MESSAGE" - public final void mMESSAGE() throws RecognitionException { - try { - int _type = MESSAGE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:776:19: ( 'message' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:776:21: 'message' - { - match("message"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "MESSAGE" - - // $ANTLR start "MOD" - public final void mMOD() throws RecognitionException { - try { - int _type = MOD; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:777:19: ( 'mod' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:777:21: 'mod' - { - match("mod"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "MOD" - - // $ANTLR start "NAME" - public final void mNAME() throws RecognitionException { - try { - int _type = NAME; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:778:19: ( 'name' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:778:21: 'name' - { - match("name"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "NAME" - - // $ANTLR start "NEAR" - public final void mNEAR() throws RecognitionException { - try { - int _type = NEAR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:779:19: ( 'near' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:779:21: 'near' - { - match("near"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "NEAR" - - // $ANTLR start "NIL" - public final void mNIL() throws RecognitionException { - try { - int _type = NIL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:780:19: ( 'nil' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:780:21: 'nil' - { - match("nil"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "NIL" - - // $ANTLR start "NODEFAULT" - public final void mNODEFAULT() throws RecognitionException { - try { - int _type = NODEFAULT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:781:19: ( 'nodefault' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:781:21: 'nodefault' - { - match("nodefault"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "NODEFAULT" - - // $ANTLR start "NOT" - public final void mNOT() throws RecognitionException { - try { - int _type = NOT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:782:19: ( 'not' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:782:21: 'not' - { - match("not"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "NOT" - - // $ANTLR start "OBJECT" - public final void mOBJECT() throws RecognitionException { - try { - int _type = OBJECT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:783:19: ( 'object' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:783:21: 'object' - { - match("object"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "OBJECT" - - // $ANTLR start "OF" - public final void mOF() throws RecognitionException { - try { - int _type = OF; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:784:19: ( 'of' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:784:21: 'of' - { - match("of"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "OF" - - // $ANTLR start "ON" - public final void mON() throws RecognitionException { - try { - int _type = ON; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:785:19: ( 'on' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:785:21: 'on' - { - match("on"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ON" - - // $ANTLR start "OPERATOR" - public final void mOPERATOR() throws RecognitionException { - try { - int _type = OPERATOR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:786:19: ( 'operator' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:786:21: 'operator' - { - match("operator"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "OPERATOR" - - // $ANTLR start "OR" - public final void mOR() throws RecognitionException { - try { - int _type = OR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:787:19: ( 'or' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:787:21: 'or' - { - match("or"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "OR" - - // $ANTLR start "OUT" - public final void mOUT() throws RecognitionException { - try { - int _type = OUT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:788:19: ( 'out' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:788:21: 'out' - { - match("out"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "OUT" - - // $ANTLR start "OVERLOAD" - public final void mOVERLOAD() throws RecognitionException { - try { - int _type = OVERLOAD; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:789:19: ( 'overload' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:789:21: 'overload' - { - match("overload"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "OVERLOAD" - - // $ANTLR start "OVERRIDE" - public final void mOVERRIDE() throws RecognitionException { - try { - int _type = OVERRIDE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:790:19: ( 'override' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:790:21: 'override' - { - match("override"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "OVERRIDE" - - // $ANTLR start "PACKAGE" - public final void mPACKAGE() throws RecognitionException { - try { - int _type = PACKAGE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:791:19: ( 'package' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:791:21: 'package' - { - match("package"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PACKAGE" - - // $ANTLR start "PACKED" - public final void mPACKED() throws RecognitionException { - try { - int _type = PACKED; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:792:19: ( 'packed' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:792:21: 'packed' - { - match("packed"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PACKED" - - // $ANTLR start "PASCAL" - public final void mPASCAL() throws RecognitionException { - try { - int _type = PASCAL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:793:19: ( 'pascal' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:793:21: 'pascal' - { - match("pascal"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PASCAL" - - // $ANTLR start "PLATFORM" - public final void mPLATFORM() throws RecognitionException { - try { - int _type = PLATFORM; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:794:19: ( 'platform' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:794:21: 'platform' - { - match("platform"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PLATFORM" - - // $ANTLR start "POINTER" - public final void mPOINTER() throws RecognitionException { - try { - int _type = POINTER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:795:19: ( 'pointer' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:795:21: 'pointer' - { - match("pointer"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "POINTER" - - // $ANTLR start "PRIVATE" - public final void mPRIVATE() throws RecognitionException { - try { - int _type = PRIVATE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:796:19: ( 'private' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:796:21: 'private' - { - match("private"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PRIVATE" - - // $ANTLR start "PROCEDURE" - public final void mPROCEDURE() throws RecognitionException { - try { - int _type = PROCEDURE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:797:19: ( 'procedure' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:797:21: 'procedure' - { - match("procedure"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PROCEDURE" - - // $ANTLR start "PROGRAM" - public final void mPROGRAM() throws RecognitionException { - try { - int _type = PROGRAM; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:798:19: ( 'program' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:798:21: 'program' - { - match("program"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PROGRAM" - - // $ANTLR start "PROPERTY" - public final void mPROPERTY() throws RecognitionException { - try { - int _type = PROPERTY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:799:19: ( 'property' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:799:21: 'property' - { - match("property"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PROPERTY" - - // $ANTLR start "PROTECTED" - public final void mPROTECTED() throws RecognitionException { - try { - int _type = PROTECTED; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:800:19: ( 'protected' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:800:21: 'protected' - { - match("protected"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PROTECTED" - - // $ANTLR start "PUBLIC" - public final void mPUBLIC() throws RecognitionException { - try { - int _type = PUBLIC; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:801:19: ( 'public' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:801:21: 'public' - { - match("public"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PUBLIC" - - // $ANTLR start "PUBLISHED" - public final void mPUBLISHED() throws RecognitionException { - try { - int _type = PUBLISHED; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:802:19: ( 'published' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:802:21: 'published' - { - match("published"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PUBLISHED" - - // $ANTLR start "RAISE" - public final void mRAISE() throws RecognitionException { - try { - int _type = RAISE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:803:19: ( 'raise' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:803:21: 'raise' - { - match("raise"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "RAISE" - - // $ANTLR start "READ" - public final void mREAD() throws RecognitionException { - try { - int _type = READ; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:804:19: ( 'read' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:804:21: 'read' - { - match("read"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "READ" - - // $ANTLR start "READONLY" - public final void mREADONLY() throws RecognitionException { - try { - int _type = READONLY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:805:19: ( 'readonly' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:805:21: 'readonly' - { - match("readonly"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "READONLY" - - // $ANTLR start "RECORD" - public final void mRECORD() throws RecognitionException { - try { - int _type = RECORD; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:806:19: ( 'record' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:806:21: 'record' - { - match("record"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "RECORD" - - // $ANTLR start "REFERENCE" - public final void mREFERENCE() throws RecognitionException { - try { - int _type = REFERENCE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:807:19: ( 'reference' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:807:21: 'reference' - { - match("reference"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "REFERENCE" - - // $ANTLR start "REGISTER" - public final void mREGISTER() throws RecognitionException { - try { - int _type = REGISTER; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:808:19: ( 'register' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:808:21: 'register' - { - match("register"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "REGISTER" - - // $ANTLR start "REINTRODUCE" - public final void mREINTRODUCE() throws RecognitionException { - try { - int _type = REINTRODUCE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:809:19: ( 'reintroduce' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:809:21: 'reintroduce' - { - match("reintroduce"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "REINTRODUCE" - - // $ANTLR start "REMOVE" - public final void mREMOVE() throws RecognitionException { - try { - int _type = REMOVE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:810:19: ( 'remove' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:810:21: 'remove' - { - match("remove"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "REMOVE" - - // $ANTLR start "REPEAT" - public final void mREPEAT() throws RecognitionException { - try { - int _type = REPEAT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:811:19: ( 'repeat' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:811:21: 'repeat' - { - match("repeat"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "REPEAT" - - // $ANTLR start "REQUIRES" - public final void mREQUIRES() throws RecognitionException { - try { - int _type = REQUIRES; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:812:19: ( 'requires' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:812:21: 'requires' - { - match("requires"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "REQUIRES" - - // $ANTLR start "RESIDENT" - public final void mRESIDENT() throws RecognitionException { - try { - int _type = RESIDENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:813:19: ( 'resident' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:813:21: 'resident' - { - match("resident"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "RESIDENT" - - // $ANTLR start "RESOURCESTRING" - public final void mRESOURCESTRING() throws RecognitionException { - try { - int _type = RESOURCESTRING; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:814:19: ( 'resourcestring' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:814:21: 'resourcestring' - { - match("resourcestring"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "RESOURCESTRING" - - // $ANTLR start "SAFECALL" - public final void mSAFECALL() throws RecognitionException { - try { - int _type = SAFECALL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:815:19: ( 'safecall' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:815:21: 'safecall' - { - match("safecall"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "SAFECALL" - - // $ANTLR start "SEALED" - public final void mSEALED() throws RecognitionException { - try { - int _type = SEALED; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:816:19: ( 'sealed' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:816:21: 'sealed' - { - match("sealed"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "SEALED" - - // $ANTLR start "SET" - public final void mSET() throws RecognitionException { - try { - int _type = SET; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:817:19: ( 'set' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:817:21: 'set' - { - match("set"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "SET" - - // $ANTLR start "SHL" - public final void mSHL() throws RecognitionException { - try { - int _type = SHL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:818:19: ( 'shl' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:818:21: 'shl' - { - match("shl"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "SHL" - - // $ANTLR start "SHR" - public final void mSHR() throws RecognitionException { - try { - int _type = SHR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:819:19: ( 'shr' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:819:21: 'shr' - { - match("shr"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "SHR" - - // $ANTLR start "STATIC" - public final void mSTATIC() throws RecognitionException { - try { - int _type = STATIC; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:820:19: ( 'static' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:820:21: 'static' - { - match("static"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "STATIC" - - // $ANTLR start "STDCALL" - public final void mSTDCALL() throws RecognitionException { - try { - int _type = STDCALL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:821:19: ( 'stdcall' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:821:21: 'stdcall' - { - match("stdcall"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "STDCALL" - - // $ANTLR start "STORED" - public final void mSTORED() throws RecognitionException { - try { - int _type = STORED; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:822:19: ( 'stored' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:822:21: 'stored' - { - match("stored"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "STORED" - - // $ANTLR start "STRICT" - public final void mSTRICT() throws RecognitionException { - try { - int _type = STRICT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:823:19: ( 'strict' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:823:21: 'strict' - { - match("strict"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "STRICT" - - // $ANTLR start "STRING" - public final void mSTRING() throws RecognitionException { - try { - int _type = STRING; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:824:19: ( 'string' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:824:21: 'string' - { - match("string"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "STRING" - - // $ANTLR start "THEN" - public final void mTHEN() throws RecognitionException { - try { - int _type = THEN; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:825:19: ( 'then' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:825:21: 'then' - { - match("then"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "THEN" - - // $ANTLR start "THREADVAR" - public final void mTHREADVAR() throws RecognitionException { - try { - int _type = THREADVAR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:826:19: ( 'threadvar' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:826:21: 'threadvar' - { - match("threadvar"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "THREADVAR" - - // $ANTLR start "TO" - public final void mTO() throws RecognitionException { - try { - int _type = TO; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:827:19: ( 'to' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:827:21: 'to' - { - match("to"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TO" - - // $ANTLR start "TRY" - public final void mTRY() throws RecognitionException { - try { - int _type = TRY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:828:19: ( 'try' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:828:21: 'try' - { - match("try"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TRY" - - // $ANTLR start "TYPE" - public final void mTYPE() throws RecognitionException { - try { - int _type = TYPE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:829:19: ( 'type' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:829:21: 'type' - { - match("type"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TYPE" - - // $ANTLR start "UNIT" - public final void mUNIT() throws RecognitionException { - try { - int _type = UNIT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:830:19: ( 'unit' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:830:21: 'unit' - { - match("unit"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "UNIT" - - // $ANTLR start "UNSAFE" - public final void mUNSAFE() throws RecognitionException { - try { - int _type = UNSAFE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:831:19: ( 'unsafe' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:831:21: 'unsafe' - { - match("unsafe"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "UNSAFE" - - // $ANTLR start "UNTIL" - public final void mUNTIL() throws RecognitionException { - try { - int _type = UNTIL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:832:19: ( 'until' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:832:21: 'until' - { - match("until"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "UNTIL" - - // $ANTLR start "USES" - public final void mUSES() throws RecognitionException { - try { - int _type = USES; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:833:19: ( 'uses' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:833:21: 'uses' - { - match("uses"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "USES" - - // $ANTLR start "VAR" - public final void mVAR() throws RecognitionException { - try { - int _type = VAR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:834:19: ( 'var' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:834:21: 'var' - { - match("var"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "VAR" - - // $ANTLR start "VARARGS" - public final void mVARARGS() throws RecognitionException { - try { - int _type = VARARGS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:835:19: ( 'varargs' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:835:21: 'varargs' - { - match("varargs"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "VARARGS" - - // $ANTLR start "VARIANT" - public final void mVARIANT() throws RecognitionException { - try { - int _type = VARIANT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:836:19: ( 'variant' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:836:21: 'variant' - { - match("variant"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "VARIANT" - - // $ANTLR start "VIRTUAL" - public final void mVIRTUAL() throws RecognitionException { - try { - int _type = VIRTUAL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:837:19: ( 'virtual' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:837:21: 'virtual' - { - match("virtual"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "VIRTUAL" - - // $ANTLR start "WHILE" - public final void mWHILE() throws RecognitionException { - try { - int _type = WHILE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:838:19: ( 'while' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:838:21: 'while' - { - match("while"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "WHILE" - - // $ANTLR start "WITH" - public final void mWITH() throws RecognitionException { - try { - int _type = WITH; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:839:19: ( 'with' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:839:21: 'with' - { - match("with"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "WITH" - - // $ANTLR start "WRITE" - public final void mWRITE() throws RecognitionException { - try { - int _type = WRITE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:840:19: ( 'write' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:840:21: 'write' - { - match("write"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "WRITE" - - // $ANTLR start "WRITEONLY" - public final void mWRITEONLY() throws RecognitionException { - try { - int _type = WRITEONLY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:841:19: ( 'writeonly' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:841:21: 'writeonly' - { - match("writeonly"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "WRITEONLY" - - // $ANTLR start "XOR" - public final void mXOR() throws RecognitionException { - try { - int _type = XOR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:842:19: ( 'xor' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:842:21: 'xor' - { - match("xor"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "XOR" - - // $ANTLR start "FALSE" - public final void mFALSE() throws RecognitionException { - try { - int _type = FALSE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:843:19: ( 'false' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:843:21: 'false' - { - match("false"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "FALSE" - - // $ANTLR start "TRUE" - public final void mTRUE() throws RecognitionException { - try { - int _type = TRUE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:844:19: ( 'true' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:844:21: 'true' - { - match("true"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TRUE" - - // $ANTLR start "PLUS" - public final void mPLUS() throws RecognitionException { - try { - int _type = PLUS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:849:19: ( '+' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:849:21: '+' - { - match('+'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "PLUS" - - // $ANTLR start "MINUS" - public final void mMINUS() throws RecognitionException { - try { - int _type = MINUS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:850:19: ( '-' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:850:21: '-' - { - match('-'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "MINUS" - - // $ANTLR start "STAR" - public final void mSTAR() throws RecognitionException { - try { - int _type = STAR; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:851:19: ( '*' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:851:21: '*' - { - match('*'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "STAR" - - // $ANTLR start "SLASH" - public final void mSLASH() throws RecognitionException { - try { - int _type = SLASH; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:852:19: ( '/' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:852:21: '/' - { - match('/'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "SLASH" - - // $ANTLR start "ASSIGN" - public final void mASSIGN() throws RecognitionException { - try { - int _type = ASSIGN; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:853:19: ( ':=' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:853:21: ':=' - { - match(":="); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ASSIGN" - - // $ANTLR start "COMMA" - public final void mCOMMA() throws RecognitionException { - try { - int _type = COMMA; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:854:19: ( ',' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:854:21: ',' - { - match(','); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "COMMA" - - // $ANTLR start "SEMI" - public final void mSEMI() throws RecognitionException { - try { - int _type = SEMI; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:855:19: ( ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:855:21: ';' - { - match(';'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "SEMI" - - // $ANTLR start "COLON" - public final void mCOLON() throws RecognitionException { - try { - int _type = COLON; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:856:19: ( ':' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:856:21: ':' - { - match(':'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "COLON" - - // $ANTLR start "EQUAL" - public final void mEQUAL() throws RecognitionException { - try { - int _type = EQUAL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:857:19: ( '=' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:857:21: '=' - { - match('='); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "EQUAL" - - // $ANTLR start "NOT_EQUAL" - public final void mNOT_EQUAL() throws RecognitionException { - try { - int _type = NOT_EQUAL; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:858:19: ( '<>' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:858:21: '<>' - { - match("<>"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "NOT_EQUAL" - - // $ANTLR start "LT" - public final void mLT() throws RecognitionException { - try { - int _type = LT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:859:19: ( '<' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:859:21: '<' - { - match('<'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "LT" - - // $ANTLR start "LE" - public final void mLE() throws RecognitionException { - try { - int _type = LE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:860:19: ( '<=' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:860:21: '<=' - { - match("<="); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "LE" - - // $ANTLR start "GE" - public final void mGE() throws RecognitionException { - try { - int _type = GE; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:861:19: ( '>=' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:861:21: '>=' - { - match(">="); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "GE" - - // $ANTLR start "GT" - public final void mGT() throws RecognitionException { - try { - int _type = GT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:862:19: ( '>' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:862:21: '>' - { - match('>'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "GT" - - // $ANTLR start "LPAREN" - public final void mLPAREN() throws RecognitionException { - try { - int _type = LPAREN; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:863:19: ( '(' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:863:21: '(' - { - match('('); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "LPAREN" - - // $ANTLR start "RPAREN" - public final void mRPAREN() throws RecognitionException { - try { - int _type = RPAREN; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:864:19: ( ')' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:864:21: ')' - { - match(')'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "RPAREN" - - // $ANTLR start "LBRACK" - public final void mLBRACK() throws RecognitionException { - try { - int _type = LBRACK; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:865:19: ( '[' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:865:21: '[' - { - match('['); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "LBRACK" - - // $ANTLR start "LBRACK2" - public final void mLBRACK2() throws RecognitionException { - try { - int _type = LBRACK2; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:866:19: ( '(.' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:866:21: '(.' - { - match("(."); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "LBRACK2" - - // $ANTLR start "RBRACK" - public final void mRBRACK() throws RecognitionException { - try { - int _type = RBRACK; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:867:19: ( ']' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:867:21: ']' - { - match(']'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "RBRACK" - - // $ANTLR start "RBRACK2" - public final void mRBRACK2() throws RecognitionException { - try { - int _type = RBRACK2; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:868:19: ( '.)' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:868:21: '.)' - { - match(".)"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "RBRACK2" - - // $ANTLR start "POINTER2" - public final void mPOINTER2() throws RecognitionException { - try { - int _type = POINTER2; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:869:19: ( '^' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:869:21: '^' - { - match('^'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "POINTER2" - - // $ANTLR start "AT2" - public final void mAT2() throws RecognitionException { - try { - int _type = AT2; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:870:19: ( '@' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:870:21: '@' - { - match('@'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "AT2" - - // $ANTLR start "DOT" - public final void mDOT() throws RecognitionException { - try { - int _type = DOT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:871:19: ( '.' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:871:21: '.' - { - match('.'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DOT" - - // $ANTLR start "DOTDOT" - public final void mDOTDOT() throws RecognitionException { - try { - int _type = DOTDOT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:872:19: ( '..' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:872:21: '..' - { - match(".."); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "DOTDOT" - - // $ANTLR start "LCURLY" - public final void mLCURLY() throws RecognitionException { - try { - int _type = LCURLY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:873:19: ( '{' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:873:21: '{' - { - match('{'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "LCURLY" - - // $ANTLR start "RCURLY" - public final void mRCURLY() throws RecognitionException { - try { - int _type = RCURLY; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:874:19: ( '}' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:874:21: '}' - { - match('}'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "RCURLY" - - // $ANTLR start "TkGlobalFunction" - public final void mTkGlobalFunction() throws RecognitionException { - try { - int _type = TkGlobalFunction; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:879:25: ( 'FUNCTION_GLOBAL' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:879:27: 'FUNCTION_GLOBAL' - { - match("FUNCTION_GLOBAL"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkGlobalFunction" - - // $ANTLR start "TkFunctionName" - public final void mTkFunctionName() throws RecognitionException { - try { - int _type = TkFunctionName; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:881:25: ( 'FUNCTION_NAME' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:881:27: 'FUNCTION_NAME' - { - match("FUNCTION_NAME"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkFunctionName" - - // $ANTLR start "TkFunctionArgs" - public final void mTkFunctionArgs() throws RecognitionException { - try { - int _type = TkFunctionArgs; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:883:25: ( 'FUNCTION_ARGS' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:883:27: 'FUNCTION_ARGS' - { - match("FUNCTION_ARGS"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkFunctionArgs" - - // $ANTLR start "TkFunctionBody" - public final void mTkFunctionBody() throws RecognitionException { - try { - int _type = TkFunctionBody; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:885:25: ( 'FUNCTION_BODY' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:885:27: 'FUNCTION_BODY' - { - match("FUNCTION_BODY"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkFunctionBody" - - // $ANTLR start "TkFunctionReturn" - public final void mTkFunctionReturn() throws RecognitionException { - try { - int _type = TkFunctionReturn; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:887:25: ( 'FUNCTION_RETURN' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:887:27: 'FUNCTION_RETURN' - { - match("FUNCTION_RETURN"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkFunctionReturn" - - // $ANTLR start "TkCustomAttribute" - public final void mTkCustomAttribute() throws RecognitionException { - try { - int _type = TkCustomAttribute; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:889:25: ( 'CUSTOM_ATTRIBUTE' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:889:27: 'CUSTOM_ATTRIBUTE' - { - match("CUSTOM_ATTRIBUTE"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkCustomAttribute" - - // $ANTLR start "TkCustomAttributeArgs" - public final void mTkCustomAttributeArgs() throws RecognitionException { - try { - int _type = TkCustomAttributeArgs; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:891:25: ( 'CUSTOM_ATTRIBUTE_ARGS' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:891:27: 'CUSTOM_ATTRIBUTE_ARGS' - { - match("CUSTOM_ATTRIBUTE_ARGS"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkCustomAttributeArgs" - - // $ANTLR start "TkNewType" - public final void mTkNewType() throws RecognitionException { - try { - int _type = TkNewType; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:893:25: ( 'NEW_TYPE' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:893:27: 'NEW_TYPE' - { - match("NEW_TYPE"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkNewType" - - // $ANTLR start "TkClass" - public final void mTkClass() throws RecognitionException { - try { - int _type = TkClass; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:895:25: ( 'CLASS' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:895:27: 'CLASS' - { - match("CLASS"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkClass" - - // $ANTLR start "TkRecord" - public final void mTkRecord() throws RecognitionException { - try { - int _type = TkRecord; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:897:25: ( 'RECORD_TYPE' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:897:27: 'RECORD_TYPE' - { - match("RECORD_TYPE"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkRecord" - - // $ANTLR start "TkRecordHelper" - public final void mTkRecordHelper() throws RecognitionException { - try { - int _type = TkRecordHelper; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:899:25: ( 'RECORD_HELPER' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:899:27: 'RECORD_HELPER' - { - match("RECORD_HELPER"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkRecordHelper" - - // $ANTLR start "TkInterface" - public final void mTkInterface() throws RecognitionException { - try { - int _type = TkInterface; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:901:25: ( 'INTERFACE_TYPE' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:901:27: 'INTERFACE_TYPE' - { - match("INTERFACE_TYPE"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkInterface" - - // $ANTLR start "TkObject" - public final void mTkObject() throws RecognitionException { - try { - int _type = TkObject; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:903:25: ( 'OBJECT_TYPE' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:903:27: 'OBJECT_TYPE' - { - match("OBJECT_TYPE"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkObject" - - // $ANTLR start "TkClassOfType" - public final void mTkClassOfType() throws RecognitionException { - try { - int _type = TkClassOfType; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:905:25: ( 'CLASS_OF_TYPE' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:905:27: 'CLASS_OF_TYPE' - { - match("CLASS_OF_TYPE"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkClassOfType" - - // $ANTLR start "TkVariableType" - public final void mTkVariableType() throws RecognitionException { - try { - int _type = TkVariableType; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:907:25: ( 'VARIABLE_TYPE' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:907:27: 'VARIABLE_TYPE' - { - match("VARIABLE_TYPE"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkVariableType" - - // $ANTLR start "TkVariableIdents" - public final void mTkVariableIdents() throws RecognitionException { - try { - int _type = TkVariableIdents; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:909:25: ( 'VARIABLE_IDENTS' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:909:27: 'VARIABLE_IDENTS' - { - match("VARIABLE_IDENTS"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkVariableIdents" - - // $ANTLR start "TkVariableParam" - public final void mTkVariableParam() throws RecognitionException { - try { - int _type = TkVariableParam; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:911:25: ( 'VARIABLE_PARAM' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:911:27: 'VARIABLE_PARAM' - { - match("VARIABLE_PARAM"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkVariableParam" - - // $ANTLR start "TkGuid" - public final void mTkGuid() throws RecognitionException { - try { - int _type = TkGuid; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:913:25: ( 'INTERFACE_GUID' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:913:27: 'INTERFACE_GUID' - { - match("INTERFACE_GUID"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkGuid" - - // $ANTLR start "TkClassParents" - public final void mTkClassParents() throws RecognitionException { - try { - int _type = TkClassParents; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:915:25: ( 'CLASS_PARENTS' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:915:27: 'CLASS_PARENTS' - { - match("CLASS_PARENTS"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkClassParents" - - // $ANTLR start "TkClassField" - public final void mTkClassField() throws RecognitionException { - try { - int _type = TkClassField; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:917:25: ( 'CLASS_FIELD' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:917:27: 'CLASS_FIELD' - { - match("CLASS_FIELD"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkClassField" - - // $ANTLR start "TkAnonymousExpression" - public final void mTkAnonymousExpression() throws RecognitionException { - try { - int _type = TkAnonymousExpression; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:919:25: ( 'ANONYMOUS_EXPRESSION' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:919:27: 'ANONYMOUS_EXPRESSION' - { - match("ANONYMOUS_EXPRESSION"); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkAnonymousExpression" - - // $ANTLR start "TkIdentifier" - public final void mTkIdentifier() throws RecognitionException { - try { - int _type = TkIdentifier; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:25: ( ( Alpha | '_' ) ( Alpha | Digit | '_' )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:27: ( Alpha | '_' ) ( Alpha | Digit | '_' )* - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:27: ( Alpha | '_' ) - int alt1=2; - int LA1_0 = input.LA(1); - if ( ((LA1_0 >= 'A' && LA1_0 <= 'Z')||(LA1_0 >= 'a' && LA1_0 <= 'z')||(LA1_0 >= '\u0080' && LA1_0 <= '\uFFFE')) ) { - alt1=1; - } - else if ( (LA1_0=='_') ) { - alt1=2; - } - - else { - NoViableAltException nvae = - new NoViableAltException("", 1, 0, input); - throw nvae; - } - - switch (alt1) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:28: Alpha - { - mAlpha(); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:36: '_' - { - match('_'); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:41: ( Alpha | Digit | '_' )* - loop2: - while (true) { - int alt2=4; - int LA2_0 = input.LA(1); - if ( ((LA2_0 >= 'A' && LA2_0 <= 'Z')||(LA2_0 >= 'a' && LA2_0 <= 'z')||(LA2_0 >= '\u0080' && LA2_0 <= '\uFFFE')) ) { - alt2=1; - } - else if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) { - alt2=2; - } - else if ( (LA2_0=='_') ) { - alt2=3; - } - - switch (alt2) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:42: Alpha - { - mAlpha(); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:50: Digit - { - mDigit(); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:58: '_' - { - match('_'); - } - break; - - default : - break loop2; - } - } - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkIdentifier" - - // $ANTLR start "TkIntNum" - public final void mTkIntNum() throws RecognitionException { - try { - int _type = TkIntNum; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:923:25: ( Digitseq ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:923:27: Digitseq - { - mDigitseq(); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkIntNum" - - // $ANTLR start "TkRealNum" - public final void mTkRealNum() throws RecognitionException { - try { - int _type = TkRealNum; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:925:25: ( Digitseq ( '.' Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:925:27: Digitseq ( '.' Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? - { - mDigitseq(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:925:36: ( '.' Digitseq )? - int alt3=2; - int LA3_0 = input.LA(1); - if ( (LA3_0=='.') ) { - alt3=1; - } - switch (alt3) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:925:37: '.' Digitseq - { - match('.'); - mDigitseq(); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:925:52: ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? - int alt5=2; - int LA5_0 = input.LA(1); - if ( (LA5_0=='E'||LA5_0=='e') ) { - alt5=1; - } - switch (alt5) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:925:53: ( 'e' | 'E' ) ( '+' | '-' )? Digitseq - { - if ( input.LA(1)=='E'||input.LA(1)=='e' ) { - input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:925:63: ( '+' | '-' )? - int alt4=2; - int LA4_0 = input.LA(1); - if ( (LA4_0=='+'||LA4_0=='-') ) { - alt4=1; - } - switch (alt4) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - if ( input.LA(1)=='+'||input.LA(1)=='-' ) { - input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - break; - - } - - mDigitseq(); - - } - break; - - } - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkRealNum" - - // $ANTLR start "TkHexNum" - public final void mTkHexNum() throws RecognitionException { - try { - int _type = TkHexNum; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:927:25: ( '$' Hexdigitseq ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:927:27: '$' Hexdigitseq - { - match('$'); - mHexdigitseq(); - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkHexNum" - - // $ANTLR start "TkAsmHexNum" - public final void mTkAsmHexNum() throws RecognitionException { - try { - int _type = TkAsmHexNum; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:929:25: ( Hexdigitseq ( 'h' | 'H' ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:929:27: Hexdigitseq ( 'h' | 'H' ) - { - mHexdigitseq(); - - if ( input.LA(1)=='H'||input.LA(1)=='h' ) { - input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkAsmHexNum" - - // $ANTLR start "TkAsmHexLabel" - public final void mTkAsmHexLabel() throws RecognitionException { - try { - int _type = TkAsmHexLabel; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:931:25: ( Hexdigitseq ':' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:931:27: Hexdigitseq ':' - { - mHexdigitseq(); - - match(':'); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "TkAsmHexLabel" - - // $ANTLR start "QuotedString" - public final void mQuotedString() throws RecognitionException { - try { - int _type = QuotedString; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:933:25: ( '\\'' ( '\\'\\'' |~ ( '\\'' ) )* '\\'' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:933:27: '\\'' ( '\\'\\'' |~ ( '\\'' ) )* '\\'' - { - match('\''); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:933:32: ( '\\'\\'' |~ ( '\\'' ) )* - loop6: - while (true) { - int alt6=3; - int LA6_0 = input.LA(1); - if ( (LA6_0=='\'') ) { - int LA6_1 = input.LA(2); - if ( (LA6_1=='\'') ) { - alt6=1; - } - - } - else if ( ((LA6_0 >= '\u0000' && LA6_0 <= '&')||(LA6_0 >= '(' && LA6_0 <= '\uFFFF')) ) { - alt6=2; - } - - switch (alt6) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:933:33: '\\'\\'' - { - match("''"); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:933:42: ~ ( '\\'' ) - { - if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '\uFFFF') ) { - input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - break; - - default : - break loop6; - } - } - - match('\''); - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "QuotedString" - - // $ANTLR start "ControlString" - public final void mControlString() throws RecognitionException { - try { - int _type = ControlString; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:935:25: ( Controlchar ( Controlchar )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:935:27: Controlchar ( Controlchar )* - { - mControlchar(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:935:39: ( Controlchar )* - loop7: - while (true) { - int alt7=2; - int LA7_0 = input.LA(1); - if ( (LA7_0=='#') ) { - alt7=1; - } - - switch (alt7) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:935:40: Controlchar - { - mControlchar(); - - } - break; - - default : - break loop7; - } - } - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "ControlString" - - // $ANTLR start "Controlchar" - public final void mControlchar() throws RecognitionException { - try { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:940:25: ( '#' Digitseq | '#' '$' Hexdigitseq ) - int alt8=2; - int LA8_0 = input.LA(1); - if ( (LA8_0=='#') ) { - int LA8_1 = input.LA(2); - if ( (LA8_1=='$') ) { - alt8=2; - } - else if ( ((LA8_1 >= '0' && LA8_1 <= '9')) ) { - alt8=1; - } - - else { - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 8, 1, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - - else { - NoViableAltException nvae = - new NoViableAltException("", 8, 0, input); - throw nvae; - } - - switch (alt8) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:940:27: '#' Digitseq - { - match('#'); - mDigitseq(); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:941:27: '#' '$' Hexdigitseq - { - match('#'); - match('$'); - mHexdigitseq(); - - } - break; - - } - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "Controlchar" - - // $ANTLR start "Alpha" - public final void mAlpha() throws RecognitionException { - try { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:944:25: ( 'a' .. 'z' | 'A' .. 'Z' | '\\u0080' .. '\\uFFFE' ~ ( '\\uFEFF' ) ) - int alt9=3; - int LA9_0 = input.LA(1); - if ( ((LA9_0 >= 'a' && LA9_0 <= 'z')) ) { - alt9=1; - } - else if ( ((LA9_0 >= 'A' && LA9_0 <= 'Z')) ) { - alt9=2; - } - else if ( ((LA9_0 >= '\u0080' && LA9_0 <= '\uFFFE')) ) { - alt9=3; - } - - else { - NoViableAltException nvae = - new NoViableAltException("", 9, 0, input); - throw nvae; - } - - switch (alt9) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:944:27: 'a' .. 'z' - { - matchRange('a','z'); - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:945:27: 'A' .. 'Z' - { - matchRange('A','Z'); - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:946:27: '\\u0080' .. '\\uFFFE' ~ ( '\\uFEFF' ) - { - matchRange('\u0080','\uFFFE'); - if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\uFEFE')||(input.LA(1) >= '\uFF00' && input.LA(1) <= '\uFFFF') ) { - input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - break; - - } - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "Alpha" - - // $ANTLR start "Digit" - public final void mDigit() throws RecognitionException { - try { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:949:25: ( '0' .. '9' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) { - input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "Digit" - - // $ANTLR start "Digitseq" - public final void mDigitseq() throws RecognitionException { - try { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:952:25: ( Digit ( Digit )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:952:27: Digit ( Digit )* - { - mDigit(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:952:33: ( Digit )* - loop10: - while (true) { - int alt10=2; - int LA10_0 = input.LA(1); - if ( ((LA10_0 >= '0' && LA10_0 <= '9')) ) { - alt10=1; - } - - switch (alt10) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) { - input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - break; - - default : - break loop10; - } - } - - } - - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "Digitseq" - - // $ANTLR start "Hexdigit" - public final void mHexdigit() throws RecognitionException { - try { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:955:25: ( Digit | 'a' .. 'f' | 'A' .. 'F' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - 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(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "Hexdigit" - - // $ANTLR start "Hexdigitseq" - public final void mHexdigitseq() throws RecognitionException { - try { - int _type = Hexdigitseq; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:956:25: ( Hexdigit ( Hexdigit )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:956:27: Hexdigit ( Hexdigit )* - { - mHexdigit(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:956:36: ( Hexdigit )* - loop11: - while (true) { - int alt11=2; - int LA11_0 = input.LA(1); - if ( ((LA11_0 >= '0' && LA11_0 <= '9')||(LA11_0 >= 'A' && LA11_0 <= 'F')||(LA11_0 >= 'a' && LA11_0 <= 'f')) ) { - alt11=1; - } - - switch (alt11) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - 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(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - break; - - default : - break loop11; - } - } - - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "Hexdigitseq" - - // $ANTLR start "COMMENT" - public final void mCOMMENT() throws RecognitionException { - try { - int _type = COMMENT; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:958:25: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' | '(*' ( options {greedy=false; } : . )* '*)' | '{' ( options {greedy=false; } : . )* '}' ) - int alt16=3; - switch ( input.LA(1) ) { - case '/': - { - alt16=1; - } - break; - case '(': - { - alt16=2; - } - break; - case '{': - { - alt16=3; - } - break; - default: - NoViableAltException nvae = - new NoViableAltException("", 16, 0, input); - throw nvae; - } - switch (alt16) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:958:28: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' - { - match("//"); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:958:33: (~ ( '\\n' | '\\r' ) )* - loop12: - while (true) { - int alt12=2; - int LA12_0 = input.LA(1); - if ( ((LA12_0 >= '\u0000' && LA12_0 <= '\t')||(LA12_0 >= '\u000B' && LA12_0 <= '\f')||(LA12_0 >= '\u000E' && LA12_0 <= '\uFFFF')) ) { - alt12=1; - } - - switch (alt12) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\uFFFF') ) { - input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - break; - - default : - break loop12; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:958:47: ( '\\r' )? - int alt13=2; - int LA13_0 = input.LA(1); - if ( (LA13_0=='\r') ) { - alt13=1; - } - switch (alt13) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:958:47: '\\r' - { - match('\r'); - } - break; - - } - - match('\n'); - _channel=HIDDEN; - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:959:28: '(*' ( options {greedy=false; } : . )* '*)' - { - match("(*"); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:959:33: ( options {greedy=false; } : . )* - loop14: - while (true) { - int alt14=2; - int LA14_0 = input.LA(1); - if ( (LA14_0=='*') ) { - int LA14_1 = input.LA(2); - if ( (LA14_1==')') ) { - alt14=2; - } - else if ( ((LA14_1 >= '\u0000' && LA14_1 <= '(')||(LA14_1 >= '*' && LA14_1 <= '\uFFFF')) ) { - alt14=1; - } - - } - else if ( ((LA14_0 >= '\u0000' && LA14_0 <= ')')||(LA14_0 >= '+' && LA14_0 <= '\uFFFF')) ) { - alt14=1; - } - - switch (alt14) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:959:61: . - { - matchAny(); - } - break; - - default : - break loop14; - } - } - - match("*)"); - - _channel=HIDDEN; - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:960:28: '{' ( options {greedy=false; } : . )* '}' - { - match('{'); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:960:32: ( options {greedy=false; } : . )* - loop15: - while (true) { - int alt15=2; - int LA15_0 = input.LA(1); - if ( (LA15_0=='}') ) { - alt15=2; - } - else if ( ((LA15_0 >= '\u0000' && LA15_0 <= '|')||(LA15_0 >= '~' && LA15_0 <= '\uFFFF')) ) { - alt15=1; - } - - switch (alt15) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:960:60: . - { - matchAny(); - } - break; - - default : - break loop15; - } - } - - match('}'); - _channel=HIDDEN; - } - break; - - } - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "COMMENT" - - // $ANTLR start "WS" - public final void mWS() throws RecognitionException { - try { - int _type = WS; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:962:25: ( ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )+ ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:962:27: ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )+ - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:962:27: ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )+ - int cnt17=0; - loop17: - while (true) { - int alt17=2; - int LA17_0 = input.LA(1); - if ( ((LA17_0 >= '\t' && LA17_0 <= '\n')||(LA17_0 >= '\f' && LA17_0 <= '\r')||LA17_0==' ') ) { - alt17=1; - } - - switch (alt17) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||(input.LA(1) >= '\f' && input.LA(1) <= '\r')||input.LA(1)==' ' ) { - input.consume(); - } - else { - MismatchedSetException mse = new MismatchedSetException(null,input); - recover(mse); - throw mse; - } - } - break; - - default : - if ( cnt17 >= 1 ) break loop17; - EarlyExitException eee = new EarlyExitException(17, input); - throw eee; - } - cnt17++; - } - - _channel=HIDDEN; - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "WS" - - // $ANTLR start "UnicodeBOM" - public final void mUnicodeBOM() throws RecognitionException { - try { - int _type = UnicodeBOM; - int _channel = DEFAULT_TOKEN_CHANNEL; - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:964:25: ( '\\uFEFF' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:964:27: '\\uFEFF' - { - match('\uFEFF'); - _channel=HIDDEN; - } - - state.type = _type; - state.channel = _channel; - } - finally { - // do for sure before leaving - } - } - // $ANTLR end "UnicodeBOM" - - @Override - public void mTokens() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:8: ( T__200 | T__201 | ABSOLUTE | ABSTRACT | ADD | AND | ANSISTRING | ARRAY | AS | ASM | ASSEMBLER | ASSEMBLY | AT | AUTOMATED | BEGIN | BREAK | CASE | CDECL | CLASS | CONST | CONSTRUCTOR | CONTAINS | CONTINUE | DEFAULT | DEPRECATED | DESTRUCTOR | DISPID | DISPINTERFACE | DIV | DO | DOWNTO | DQ | DW | DYNAMIC | ELSE | END | EXCEPT | EXIT | EXPERIMENTAL | EXPORT | EXPORTS | EXTERNAL | FAR | FILE | FINAL | FINALIZATION | FINALLY | FOR | FORWARD | FUNCTION | GOTO | HELPER | IF | IMPLEMENTATION | IMPLEMENTS | IN | INDEX | INHERITED | INITIALIZATION | INLINE | INTERFACE | IS | LABEL | LIBRARY | LOCAL | MESSAGE | MOD | NAME | NEAR | NIL | NODEFAULT | NOT | OBJECT | OF | ON | OPERATOR | OR | OUT | OVERLOAD | OVERRIDE | PACKAGE | PACKED | PASCAL | PLATFORM | POINTER | PRIVATE | PROCEDURE | PROGRAM | PROPERTY | PROTECTED | PUBLIC | PUBLISHED | RAISE | READ | READONLY | RECORD | REFERENCE | REGISTER | REINTRODUCE | REMOVE | REPEAT | REQUIRES | RESIDENT | RESOURCESTRING | SAFECALL | SEALED | SET | SHL | SHR | STATIC | STDCALL | STORED | STRICT | STRING | THEN | THREADVAR | TO | TRY | TYPE | UNIT | UNSAFE | UNTIL | USES | VAR | VARARGS | VARIANT | VIRTUAL | WHILE | WITH | WRITE | WRITEONLY | XOR | FALSE | TRUE | PLUS | MINUS | STAR | SLASH | ASSIGN | COMMA | SEMI | COLON | EQUAL | NOT_EQUAL | LT | LE | GE | GT | LPAREN | RPAREN | LBRACK | LBRACK2 | RBRACK | RBRACK2 | POINTER2 | AT2 | DOT | DOTDOT | LCURLY | RCURLY | TkGlobalFunction | TkFunctionName | TkFunctionArgs | TkFunctionBody | TkFunctionReturn | TkCustomAttribute | TkCustomAttributeArgs | TkNewType | TkClass | TkRecord | TkRecordHelper | TkInterface | TkObject | TkClassOfType | TkVariableType | TkVariableIdents | TkVariableParam | TkGuid | TkClassParents | TkClassField | TkAnonymousExpression | TkIdentifier | TkIntNum | TkRealNum | TkHexNum | TkAsmHexNum | TkAsmHexLabel | QuotedString | ControlString | Hexdigitseq | COMMENT | WS | UnicodeBOM ) - int alt18=193; - alt18 = dfa18.predict(input); - switch (alt18) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:10: T__200 - { - mT__200(); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:17: T__201 - { - mT__201(); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:24: ABSOLUTE - { - mABSOLUTE(); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:33: ABSTRACT - { - mABSTRACT(); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:42: ADD - { - mADD(); - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:46: AND - { - mAND(); - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:50: ANSISTRING - { - mANSISTRING(); - - } - break; - case 8 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:61: ARRAY - { - mARRAY(); - - } - break; - case 9 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:67: AS - { - mAS(); - - } - break; - case 10 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:70: ASM - { - mASM(); - - } - break; - case 11 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:74: ASSEMBLER - { - mASSEMBLER(); - - } - break; - case 12 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:84: ASSEMBLY - { - mASSEMBLY(); - - } - break; - case 13 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:93: AT - { - mAT(); - - } - break; - case 14 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:96: AUTOMATED - { - mAUTOMATED(); - - } - break; - case 15 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:106: BEGIN - { - mBEGIN(); - - } - break; - case 16 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:112: BREAK - { - mBREAK(); - - } - break; - case 17 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:118: CASE - { - mCASE(); - - } - break; - case 18 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:123: CDECL - { - mCDECL(); - - } - break; - case 19 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:129: CLASS - { - mCLASS(); - - } - break; - case 20 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:135: CONST - { - mCONST(); - - } - break; - case 21 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:141: CONSTRUCTOR - { - mCONSTRUCTOR(); - - } - break; - case 22 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:153: CONTAINS - { - mCONTAINS(); - - } - break; - case 23 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:162: CONTINUE - { - mCONTINUE(); - - } - break; - case 24 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:171: DEFAULT - { - mDEFAULT(); - - } - break; - case 25 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:179: DEPRECATED - { - mDEPRECATED(); - - } - break; - case 26 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:190: DESTRUCTOR - { - mDESTRUCTOR(); - - } - break; - case 27 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:201: DISPID - { - mDISPID(); - - } - break; - case 28 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:208: DISPINTERFACE - { - mDISPINTERFACE(); - - } - break; - case 29 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:222: DIV - { - mDIV(); - - } - break; - case 30 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:226: DO - { - mDO(); - - } - break; - case 31 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:229: DOWNTO - { - mDOWNTO(); - - } - break; - case 32 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:236: DQ - { - mDQ(); - - } - break; - case 33 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:239: DW - { - mDW(); - - } - break; - case 34 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:242: DYNAMIC - { - mDYNAMIC(); - - } - break; - case 35 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:250: ELSE - { - mELSE(); - - } - break; - case 36 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:255: END - { - mEND(); - - } - break; - case 37 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:259: EXCEPT - { - mEXCEPT(); - - } - break; - case 38 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:266: EXIT - { - mEXIT(); - - } - break; - case 39 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:271: EXPERIMENTAL - { - mEXPERIMENTAL(); - - } - break; - case 40 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:284: EXPORT - { - mEXPORT(); - - } - break; - case 41 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:291: EXPORTS - { - mEXPORTS(); - - } - break; - case 42 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:299: EXTERNAL - { - mEXTERNAL(); - - } - break; - case 43 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:308: FAR - { - mFAR(); - - } - break; - case 44 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:312: FILE - { - mFILE(); - - } - break; - case 45 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:317: FINAL - { - mFINAL(); - - } - break; - case 46 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:323: FINALIZATION - { - mFINALIZATION(); - - } - break; - case 47 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:336: FINALLY - { - mFINALLY(); - - } - break; - case 48 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:344: FOR - { - mFOR(); - - } - break; - case 49 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:348: FORWARD - { - mFORWARD(); - - } - break; - case 50 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:356: FUNCTION - { - mFUNCTION(); - - } - break; - case 51 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:365: GOTO - { - mGOTO(); - - } - break; - case 52 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:370: HELPER - { - mHELPER(); - - } - break; - case 53 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:377: IF - { - mIF(); - - } - break; - case 54 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:380: IMPLEMENTATION - { - mIMPLEMENTATION(); - - } - break; - case 55 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:395: IMPLEMENTS - { - mIMPLEMENTS(); - - } - break; - case 56 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:406: IN - { - mIN(); - - } - break; - case 57 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:409: INDEX - { - mINDEX(); - - } - break; - case 58 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:415: INHERITED - { - mINHERITED(); - - } - break; - case 59 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:425: INITIALIZATION - { - mINITIALIZATION(); - - } - break; - case 60 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:440: INLINE - { - mINLINE(); - - } - break; - case 61 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:447: INTERFACE - { - mINTERFACE(); - - } - break; - case 62 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:457: IS - { - mIS(); - - } - break; - case 63 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:460: LABEL - { - mLABEL(); - - } - break; - case 64 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:466: LIBRARY - { - mLIBRARY(); - - } - break; - case 65 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:474: LOCAL - { - mLOCAL(); - - } - break; - case 66 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:480: MESSAGE - { - mMESSAGE(); - - } - break; - case 67 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:488: MOD - { - mMOD(); - - } - break; - case 68 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:492: NAME - { - mNAME(); - - } - break; - case 69 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:497: NEAR - { - mNEAR(); - - } - break; - case 70 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:502: NIL - { - mNIL(); - - } - break; - case 71 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:506: NODEFAULT - { - mNODEFAULT(); - - } - break; - case 72 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:516: NOT - { - mNOT(); - - } - break; - case 73 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:520: OBJECT - { - mOBJECT(); - - } - break; - case 74 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:527: OF - { - mOF(); - - } - break; - case 75 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:530: ON - { - mON(); - - } - break; - case 76 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:533: OPERATOR - { - mOPERATOR(); - - } - break; - case 77 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:542: OR - { - mOR(); - - } - break; - case 78 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:545: OUT - { - mOUT(); - - } - break; - case 79 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:549: OVERLOAD - { - mOVERLOAD(); - - } - break; - case 80 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:558: OVERRIDE - { - mOVERRIDE(); - - } - break; - case 81 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:567: PACKAGE - { - mPACKAGE(); - - } - break; - case 82 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:575: PACKED - { - mPACKED(); - - } - break; - case 83 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:582: PASCAL - { - mPASCAL(); - - } - break; - case 84 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:589: PLATFORM - { - mPLATFORM(); - - } - break; - case 85 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:598: POINTER - { - mPOINTER(); - - } - break; - case 86 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:606: PRIVATE - { - mPRIVATE(); - - } - break; - case 87 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:614: PROCEDURE - { - mPROCEDURE(); - - } - break; - case 88 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:624: PROGRAM - { - mPROGRAM(); - - } - break; - case 89 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:632: PROPERTY - { - mPROPERTY(); - - } - break; - case 90 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:641: PROTECTED - { - mPROTECTED(); - - } - break; - case 91 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:651: PUBLIC - { - mPUBLIC(); - - } - break; - case 92 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:658: PUBLISHED - { - mPUBLISHED(); - - } - break; - case 93 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:668: RAISE - { - mRAISE(); - - } - break; - case 94 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:674: READ - { - mREAD(); - - } - break; - case 95 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:679: READONLY - { - mREADONLY(); - - } - break; - case 96 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:688: RECORD - { - mRECORD(); - - } - break; - case 97 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:695: REFERENCE - { - mREFERENCE(); - - } - break; - case 98 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:705: REGISTER - { - mREGISTER(); - - } - break; - case 99 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:714: REINTRODUCE - { - mREINTRODUCE(); - - } - break; - case 100 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:726: REMOVE - { - mREMOVE(); - - } - break; - case 101 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:733: REPEAT - { - mREPEAT(); - - } - break; - case 102 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:740: REQUIRES - { - mREQUIRES(); - - } - break; - case 103 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:749: RESIDENT - { - mRESIDENT(); - - } - break; - case 104 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:758: RESOURCESTRING - { - mRESOURCESTRING(); - - } - break; - case 105 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:773: SAFECALL - { - mSAFECALL(); - - } - break; - case 106 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:782: SEALED - { - mSEALED(); - - } - break; - case 107 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:789: SET - { - mSET(); - - } - break; - case 108 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:793: SHL - { - mSHL(); - - } - break; - case 109 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:797: SHR - { - mSHR(); - - } - break; - case 110 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:801: STATIC - { - mSTATIC(); - - } - break; - case 111 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:808: STDCALL - { - mSTDCALL(); - - } - break; - case 112 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:816: STORED - { - mSTORED(); - - } - break; - case 113 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:823: STRICT - { - mSTRICT(); - - } - break; - case 114 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:830: STRING - { - mSTRING(); - - } - break; - case 115 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:837: THEN - { - mTHEN(); - - } - break; - case 116 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:842: THREADVAR - { - mTHREADVAR(); - - } - break; - case 117 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:852: TO - { - mTO(); - - } - break; - case 118 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:855: TRY - { - mTRY(); - - } - break; - case 119 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:859: TYPE - { - mTYPE(); - - } - break; - case 120 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:864: UNIT - { - mUNIT(); - - } - break; - case 121 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:869: UNSAFE - { - mUNSAFE(); - - } - break; - case 122 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:876: UNTIL - { - mUNTIL(); - - } - break; - case 123 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:882: USES - { - mUSES(); - - } - break; - case 124 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:887: VAR - { - mVAR(); - - } - break; - case 125 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:891: VARARGS - { - mVARARGS(); - - } - break; - case 126 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:899: VARIANT - { - mVARIANT(); - - } - break; - case 127 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:907: VIRTUAL - { - mVIRTUAL(); - - } - break; - case 128 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:915: WHILE - { - mWHILE(); - - } - break; - case 129 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:921: WITH - { - mWITH(); - - } - break; - case 130 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:926: WRITE - { - mWRITE(); - - } - break; - case 131 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:932: WRITEONLY - { - mWRITEONLY(); - - } - break; - case 132 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:942: XOR - { - mXOR(); - - } - break; - case 133 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:946: FALSE - { - mFALSE(); - - } - break; - case 134 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:952: TRUE - { - mTRUE(); - - } - break; - case 135 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:957: PLUS - { - mPLUS(); - - } - break; - case 136 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:962: MINUS - { - mMINUS(); - - } - break; - case 137 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:968: STAR - { - mSTAR(); - - } - break; - case 138 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:973: SLASH - { - mSLASH(); - - } - break; - case 139 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:979: ASSIGN - { - mASSIGN(); - - } - break; - case 140 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:986: COMMA - { - mCOMMA(); - - } - break; - case 141 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:992: SEMI - { - mSEMI(); - - } - break; - case 142 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:997: COLON - { - mCOLON(); - - } - break; - case 143 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1003: EQUAL - { - mEQUAL(); - - } - break; - case 144 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1009: NOT_EQUAL - { - mNOT_EQUAL(); - - } - break; - case 145 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1019: LT - { - mLT(); - - } - break; - case 146 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1022: LE - { - mLE(); - - } - break; - case 147 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1025: GE - { - mGE(); - - } - break; - case 148 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1028: GT - { - mGT(); - - } - break; - case 149 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1031: LPAREN - { - mLPAREN(); - - } - break; - case 150 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1038: RPAREN - { - mRPAREN(); - - } - break; - case 151 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1045: LBRACK - { - mLBRACK(); - - } - break; - case 152 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1052: LBRACK2 - { - mLBRACK2(); - - } - break; - case 153 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1060: RBRACK - { - mRBRACK(); - - } - break; - case 154 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1067: RBRACK2 - { - mRBRACK2(); - - } - break; - case 155 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1075: POINTER2 - { - mPOINTER2(); - - } - break; - case 156 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1084: AT2 - { - mAT2(); - - } - break; - case 157 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1088: DOT - { - mDOT(); - - } - break; - case 158 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1092: DOTDOT - { - mDOTDOT(); - - } - break; - case 159 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1099: LCURLY - { - mLCURLY(); - - } - break; - case 160 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1106: RCURLY - { - mRCURLY(); - - } - break; - case 161 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1113: TkGlobalFunction - { - mTkGlobalFunction(); - - } - break; - case 162 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1130: TkFunctionName - { - mTkFunctionName(); - - } - break; - case 163 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1145: TkFunctionArgs - { - mTkFunctionArgs(); - - } - break; - case 164 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1160: TkFunctionBody - { - mTkFunctionBody(); - - } - break; - case 165 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1175: TkFunctionReturn - { - mTkFunctionReturn(); - - } - break; - case 166 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1192: TkCustomAttribute - { - mTkCustomAttribute(); - - } - break; - case 167 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1210: TkCustomAttributeArgs - { - mTkCustomAttributeArgs(); - - } - break; - case 168 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1232: TkNewType - { - mTkNewType(); - - } - break; - case 169 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1242: TkClass - { - mTkClass(); - - } - break; - case 170 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1250: TkRecord - { - mTkRecord(); - - } - break; - case 171 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1259: TkRecordHelper - { - mTkRecordHelper(); - - } - break; - case 172 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1274: TkInterface - { - mTkInterface(); - - } - break; - case 173 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1286: TkObject - { - mTkObject(); - - } - break; - case 174 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1295: TkClassOfType - { - mTkClassOfType(); - - } - break; - case 175 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1309: TkVariableType - { - mTkVariableType(); - - } - break; - case 176 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1324: TkVariableIdents - { - mTkVariableIdents(); - - } - break; - case 177 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1341: TkVariableParam - { - mTkVariableParam(); - - } - break; - case 178 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1357: TkGuid - { - mTkGuid(); - - } - break; - case 179 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1364: TkClassParents - { - mTkClassParents(); - - } - break; - case 180 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1379: TkClassField - { - mTkClassField(); - - } - break; - case 181 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1392: TkAnonymousExpression - { - mTkAnonymousExpression(); - - } - break; - case 182 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1414: TkIdentifier - { - mTkIdentifier(); - - } - break; - case 183 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1427: TkIntNum - { - mTkIntNum(); - - } - break; - case 184 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1436: TkRealNum - { - mTkRealNum(); - - } - break; - case 185 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1446: TkHexNum - { - mTkHexNum(); - - } - break; - case 186 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1455: TkAsmHexNum - { - mTkAsmHexNum(); - - } - break; - case 187 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1467: TkAsmHexLabel - { - mTkAsmHexLabel(); - - } - break; - case 188 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1481: QuotedString - { - mQuotedString(); - - } - break; - case 189 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1494: ControlString - { - mControlString(); - - } - break; - case 190 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1508: Hexdigitseq - { - mHexdigitseq(); - - } - break; - case 191 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1520: COMMENT - { - mCOMMENT(); - - } - break; - case 192 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1528: WS - { - mWS(); - - } - break; - case 193 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1531: UnicodeBOM - { - mUnicodeBOM(); - - } - break; - - } - } - - - protected DFA18 dfa18 = new DFA18(this); - static final String DFA18_eotS = - "\2\uffff\1\73\25\62\3\uffff\1\u008a\1\u008c\3\uffff\1\u008f\1\u0091\1"+ - "\u0093\3\uffff\1\u0096\1\uffff\1\u0097\1\uffff\10\62\1\uffff\1\62\1\u00a1"+ - "\1\u00a2\6\uffff\4\62\1\u00af\1\u00b0\4\62\3\uffff\10\62\1\u00be\1\u00bf"+ - "\1\u00c0\12\62\1\u00d0\1\62\1\u00d7\1\u00d8\12\62\1\u00e4\1\u00e5\1\62"+ - "\1\u00e7\16\62\1\u0106\12\62\17\uffff\11\62\2\uffff\1\u00a2\1\uffff\2"+ - "\u011e\1\uffff\1\62\1\u0121\1\u0122\2\62\1\u0125\1\62\2\uffff\13\62\1"+ - "\u0133\1\62\3\uffff\2\62\1\u0137\4\62\1\u013d\3\62\1\u0142\3\62\1\uffff"+ - "\6\62\2\uffff\4\62\1\u0150\2\62\1\u0153\1\62\1\u0155\1\62\2\uffff\1\62"+ - "\1\uffff\1\u0158\24\62\1\u0171\1\u0172\1\u0173\6\62\1\uffff\1\u017a\6"+ - "\62\1\u0183\4\62\1\u0188\11\62\1\u00a4\1\uffff\2\62\2\uffff\2\62\1\uffff"+ - "\4\62\1\u019b\10\62\1\uffff\2\62\1\u01a7\1\uffff\1\62\1\u01a9\3\62\1\uffff"+ - "\1\62\1\u01ae\2\62\1\uffff\1\62\1\u01b2\13\62\1\uffff\1\u01be\1\u01bf"+ - "\1\uffff\1\62\1\uffff\2\62\1\uffff\14\62\1\u01d2\13\62\3\uffff\4\62\1"+ - "\u01e3\1\62\1\uffff\1\u01e5\1\u01e6\1\u01e7\2\62\1\u01ea\2\62\1\uffff"+ - "\2\62\1\u01ef\1\62\1\uffff\11\62\1\u00a4\3\62\1\u01fd\2\62\1\u0200\1\u0201"+ - "\1\uffff\1\u0202\1\u0203\1\u0205\10\62\1\uffff\1\62\1\uffff\3\62\1\u0213"+ - "\1\uffff\1\u0216\2\62\1\uffff\2\62\1\u021b\4\62\1\u0220\1\62\1\u0222\1"+ - "\62\2\uffff\20\62\1\u0235\1\62\1\uffff\20\62\1\uffff\1\62\3\uffff\1\62"+ - "\1\u0249\1\uffff\3\62\1\u024d\1\uffff\1\u024f\2\62\1\u0253\11\62\1\uffff"+ - "\2\62\4\uffff\1\62\1\uffff\5\62\1\u0265\1\62\1\u0267\1\62\1\u0269\1\62"+ - "\1\u026c\1\62\1\uffff\2\62\1\uffff\2\62\1\u0272\1\62\1\uffff\2\62\1\u0276"+ - "\1\62\1\uffff\1\62\1\uffff\2\62\1\u027b\4\62\1\u0280\1\u0281\7\62\1\u0289"+ - "\1\62\1\uffff\1\62\1\u028c\3\62\1\u0290\1\u0291\4\62\1\u0296\1\u0297\1"+ - "\62\1\u0299\1\u029a\1\u029b\1\62\1\u029d\1\uffff\3\62\1\uffff\1\62\1\uffff"+ - "\3\62\1\uffff\16\62\1\u02b6\2\62\1\uffff\1\62\1\uffff\1\u02ba\1\uffff"+ - "\1\62\1\u02bc\1\uffff\2\62\1\u02bf\1\u02c0\1\62\1\uffff\3\62\1\uffff\1"+ - "\62\1\u02c6\1\u02c7\1\62\1\uffff\3\62\1\u02cc\2\uffff\1\62\1\u02ce\1\u02cf"+ - "\1\62\1\u02d1\2\62\1\uffff\2\62\1\uffff\3\62\2\uffff\4\62\2\uffff\1\u02dd"+ - "\3\uffff\1\62\1\uffff\1\u02df\1\u02e0\1\u02e1\14\62\1\u02ef\1\u02f0\2"+ - "\62\1\u02f3\2\62\1\u02f6\1\u02f7\1\uffff\3\62\1\uffff\1\62\1\uffff\1\u02fc"+ - "\1\62\2\uffff\1\u02fe\4\62\2\uffff\1\62\1\u0304\1\u0305\1\u0306\1\uffff"+ - "\1\u0307\2\uffff\1\62\1\uffff\1\u0309\2\62\1\u030c\1\62\1\u030e\1\62\1"+ - "\u0310\1\u0311\1\62\1\u0313\1\uffff\1\62\3\uffff\6\62\1\u031b\6\62\2\uffff"+ - "\1\62\1\u0323\1\uffff\1\u0324\1\62\2\uffff\4\62\1\uffff\1\62\1\uffff\1"+ - "\62\1\u032d\1\62\1\u032f\1\u0330\4\uffff\1\u0331\1\uffff\1\u0332\1\u0333"+ - "\1\uffff\1\u0334\1\uffff\1\62\2\uffff\1\62\1\uffff\1\u0337\1\u0338\5\62"+ - "\1\uffff\6\62\1\u034a\2\uffff\1\62\1\u034c\1\u034d\4\62\1\u0352\1\uffff"+ - "\1\62\6\uffff\2\62\2\uffff\21\62\1\uffff\1\u0368\2\uffff\4\62\1\uffff"+ - "\1\62\1\u036e\11\62\1\u0378\1\u0379\3\62\1\u037d\4\62\1\uffff\1\62\1\u0383"+ - "\1\u0384\2\62\1\uffff\11\62\2\uffff\3\62\1\uffff\4\62\1\u0397\2\uffff"+ - "\4\62\1\u039c\1\u039d\1\u039e\2\62\1\u03a1\1\u03a2\1\u03a3\2\62\1\u03a6"+ - "\3\62\1\uffff\1\u03aa\1\u03ab\1\u03ac\1\62\3\uffff\2\62\3\uffff\1\u03b0"+ - "\1\u03b1\1\uffff\1\62\1\u03b3\1\62\3\uffff\1\u03b5\1\u03b6\1\62\2\uffff"+ - "\1\u03b8\1\uffff\1\62\2\uffff\1\u03bb\1\uffff\2\62\1\uffff\6\62\1\u03c4"+ - "\1\u03c5\2\uffff"; - static final String DFA18_eofS = - "\u03c6\uffff"; - static final String DFA18_minS = - "\1\11\1\uffff\1\100\6\60\1\157\1\145\1\146\1\141\1\145\1\141\1\142\3\141"+ - "\1\150\1\156\1\141\1\150\1\157\3\uffff\1\57\1\75\3\uffff\2\75\1\52\3\uffff"+ - "\1\51\1\uffff\1\0\1\uffff\2\60\2\105\1\116\1\102\1\101\1\60\1\uffff\1"+ - "\60\1\0\1\56\6\uffff\2\60\1\144\1\162\2\60\1\164\3\60\3\uffff\1\60\1\145"+ - "\2\60\1\141\1\156\1\60\1\163\3\60\1\156\1\163\1\144\1\143\1\60\1\154\1"+ - "\162\1\156\1\164\1\154\1\60\1\160\2\60\2\142\1\143\1\163\1\144\1\155\1"+ - "\141\1\154\1\144\1\152\2\60\1\145\1\60\1\164\1\145\1\143\1\141\2\151\1"+ - "\142\1\151\1\141\1\146\1\141\1\154\1\141\1\145\1\60\1\165\1\160\1\151"+ - "\1\145\2\162\1\151\1\164\1\151\1\162\17\uffff\1\116\1\123\1\101\1\127"+ - "\1\103\1\124\1\112\1\122\1\117\2\uffff\1\56\1\uffff\1\53\1\60\1\uffff"+ - "\1\157\2\60\1\151\1\141\1\60\1\145\2\uffff\1\157\1\151\1\141\1\145\1\60"+ - "\2\163\1\60\1\162\1\164\1\160\1\60\1\156\3\uffff\1\141\1\145\1\60\1\145"+ - "\1\164\2\145\1\60\1\163\1\145\1\141\1\60\1\143\1\157\1\160\1\uffff\1\154"+ - "\2\145\1\164\1\151\1\145\2\uffff\1\145\1\162\1\141\1\163\1\60\1\145\1"+ - "\162\1\60\1\145\1\60\1\145\2\uffff\1\162\1\uffff\1\60\1\162\1\153\1\143"+ - "\1\164\1\156\1\166\1\143\1\154\1\163\1\144\1\157\1\145\1\151\1\156\1\157"+ - "\1\145\1\165\1\151\1\145\1\154\3\60\1\164\1\143\1\162\1\151\1\156\1\145"+ - "\1\uffff\1\60\2\145\1\164\1\141\1\151\1\163\1\60\1\164\1\154\1\150\1\164"+ - "\1\60\1\103\1\124\1\123\1\137\1\117\2\105\1\111\1\116\1\60\1\uffff\1\154"+ - "\1\162\2\uffff\1\163\1\171\1\uffff\2\155\1\156\1\153\2\60\1\163\1\164"+ - "\1\141\1\60\1\145\1\162\1\151\1\uffff\1\164\1\155\1\60\1\uffff\1\160\1"+ - "\60\3\162\1\uffff\1\145\1\60\1\154\1\141\1\uffff\1\164\1\60\2\145\1\170"+ - "\1\162\1\151\1\156\1\162\1\154\1\141\1\154\1\141\1\uffff\2\60\1\uffff"+ - "\1\146\1\uffff\1\143\1\141\1\uffff\1\154\2\141\1\146\1\164\1\141\1\145"+ - "\1\162\2\145\1\151\1\145\1\60\2\162\1\163\1\164\1\166\1\141\1\151\1\144"+ - "\1\165\1\143\1\145\3\uffff\1\151\1\141\1\145\1\143\1\60\1\141\1\uffff"+ - "\3\60\1\146\1\154\1\60\1\162\1\141\1\uffff\1\165\1\145\1\60\1\145\1\uffff"+ - "\1\124\1\117\1\123\1\124\2\122\1\103\1\101\1\131\1\60\1\165\1\141\1\164"+ - "\1\60\1\142\1\141\2\60\1\uffff\3\60\1\151\1\156\1\154\1\143\1\165\1\144"+ - "\1\157\1\151\1\uffff\1\164\1\uffff\1\151\1\164\1\156\1\60\1\uffff\1\60"+ - "\1\162\1\151\1\uffff\1\162\1\155\1\60\1\151\1\141\1\145\1\146\1\60\1\162"+ - "\1\60\1\147\2\uffff\1\141\2\164\1\157\1\151\1\147\1\144\1\154\1\157\1"+ - "\145\1\164\1\144\1\141\1\162\2\143\1\60\1\156\1\uffff\1\144\1\145\1\164"+ - "\1\162\1\145\1\164\1\162\1\145\1\162\1\141\1\144\1\143\1\154\1\144\1\164"+ - "\1\147\1\uffff\1\144\3\uffff\1\145\1\60\1\uffff\1\147\1\156\1\141\1\60"+ - "\1\uffff\1\60\1\111\1\115\1\60\1\131\1\104\1\106\1\124\1\102\1\115\1\164"+ - "\1\143\1\162\1\uffff\1\154\1\164\4\uffff\1\165\1\uffff\1\156\1\165\1\164"+ - "\1\141\1\143\1\60\1\164\1\60\1\143\1\60\1\155\1\60\1\141\1\uffff\1\172"+ - "\1\171\1\uffff\1\144\1\157\1\60\1\145\1\uffff\1\164\1\154\1\60\1\141\1"+ - "\uffff\1\171\1\uffff\1\145\1\165\1\60\1\157\1\141\1\144\1\145\2\60\2\162"+ - "\1\145\1\165\1\155\2\164\1\60\1\150\1\uffff\1\154\1\60\1\156\1\145\1\157"+ - "\2\60\1\145\1\156\1\143\1\154\2\60\1\154\3\60\1\166\1\60\1\uffff\1\163"+ - "\1\164\1\154\1\uffff\1\156\1\uffff\1\117\1\137\1\106\1\uffff\1\120\1\137"+ - "\1\101\1\137\1\114\1\117\1\145\1\164\1\151\2\145\1\143\1\163\1\145\1\60"+ - "\2\164\1\uffff\1\145\1\uffff\1\60\1\uffff\1\145\1\60\1\uffff\1\154\1\141"+ - "\2\60\1\156\1\uffff\1\156\1\145\1\151\1\uffff\1\143\2\60\1\154\1\uffff"+ - "\1\162\1\144\1\145\1\60\2\uffff\1\155\2\60\1\162\1\60\1\171\1\145\1\uffff"+ - "\1\145\1\171\1\uffff\1\143\1\162\1\144\2\uffff\1\163\1\164\1\145\1\154"+ - "\2\uffff\1\60\3\uffff\1\141\1\uffff\3\60\1\154\1\116\1\101\1\106\1\101"+ - "\1\111\1\105\1\110\1\103\1\124\1\105\1\125\2\60\1\156\1\162\1\60\1\144"+ - "\1\164\2\60\1\uffff\1\145\1\157\1\162\1\uffff\1\156\1\uffff\1\60\1\164"+ - "\2\uffff\1\60\1\164\1\144\1\172\1\145\2\uffff\1\164\3\60\1\uffff\1\60"+ - "\2\uffff\1\145\1\uffff\1\60\2\144\1\60\1\145\1\60\1\165\2\60\1\163\1\60"+ - "\1\uffff\1\162\3\uffff\1\171\1\137\1\124\1\137\1\122\1\105\1\60\1\131"+ - "\2\105\1\131\1\137\1\123\2\uffff\1\147\1\60\1\uffff\1\60\1\157\2\uffff"+ - "\1\144\1\162\1\146\1\164\1\uffff\1\151\1\uffff\1\141\1\60\1\141\2\60\4"+ - "\uffff\1\60\1\uffff\2\60\1\uffff\1\60\1\uffff\1\143\2\uffff\1\164\1\uffff"+ - "\2\60\1\101\2\124\1\105\1\114\1\uffff\1\120\1\114\1\137\1\120\1\111\1"+ - "\137\1\60\2\uffff\1\162\2\60\2\141\1\157\1\164\1\60\1\uffff\1\164\6\uffff"+ - "\1\145\1\162\2\uffff\1\114\1\101\1\122\1\117\1\105\1\122\1\131\1\116\1"+ - "\104\1\105\1\120\1\107\1\105\1\131\1\104\1\101\1\105\1\uffff\1\60\2\uffff"+ - "\1\143\1\154\1\156\1\151\1\uffff\1\151\1\60\1\151\1\117\1\115\1\107\1"+ - "\104\1\124\1\111\1\120\1\124\2\60\1\105\1\131\1\125\1\60\1\120\1\105\1"+ - "\122\1\130\1\uffff\1\145\2\60\2\157\1\uffff\1\156\1\102\1\105\1\123\1"+ - "\131\1\125\1\102\1\105\1\123\2\uffff\1\122\1\120\1\111\1\uffff\1\105\1"+ - "\116\1\101\1\120\1\60\2\uffff\2\156\1\147\1\101\3\60\1\122\1\125\3\60"+ - "\1\105\1\104\1\60\1\124\1\115\1\122\1\uffff\3\60\1\114\3\uffff\1\116\1"+ - "\124\3\uffff\2\60\1\uffff\1\123\1\60\1\105\3\uffff\2\60\1\105\2\uffff"+ - "\1\60\1\uffff\1\123\2\uffff\1\60\1\uffff\1\123\1\101\1\uffff\1\111\1\122"+ - "\1\117\1\107\1\116\1\123\2\60\2\uffff"; - static final String DFA18_maxS = - "\1\ufffe\1\uffff\1\100\1\165\1\162\1\157\1\171\1\170\1\165\1\157\1\145"+ - "\1\163\3\157\1\166\1\165\1\145\1\164\1\171\1\163\1\151\1\162\1\157\3\uffff"+ - "\1\57\1\75\3\uffff\1\76\1\75\1\56\3\uffff\1\56\1\uffff\1\uffff\1\uffff"+ - "\2\150\2\105\1\116\1\102\1\101\1\150\1\uffff\1\150\1\uffff\1\150\6\uffff"+ - "\1\163\1\150\1\163\1\162\2\ufffe\1\164\3\150\3\uffff\1\150\1\145\1\163"+ - "\1\150\1\141\1\156\1\163\1\166\3\ufffe\1\156\1\163\1\144\1\164\1\162\1"+ - "\156\1\162\1\156\1\164\1\154\1\ufffe\1\160\2\ufffe\2\142\1\143\1\163\1"+ - "\144\1\155\1\141\1\154\1\164\1\152\2\ufffe\1\145\1\ufffe\1\164\1\145\1"+ - "\163\1\141\1\151\1\157\1\142\1\151\1\163\1\146\1\164\3\162\1\ufffe\1\171"+ - "\1\160\1\164\1\145\2\162\1\151\1\164\1\151\1\162\17\uffff\1\116\1\123"+ - "\1\101\1\127\1\103\1\124\1\112\1\122\1\117\2\uffff\1\150\1\uffff\2\150"+ - "\1\uffff\1\164\2\ufffe\1\151\1\141\1\ufffe\1\145\2\uffff\1\157\1\151\1"+ - "\141\1\145\1\150\1\163\1\164\1\150\1\162\1\164\1\160\1\ufffe\1\156\3\uffff"+ - "\1\141\1\145\1\ufffe\1\145\1\164\1\157\1\145\1\ufffe\1\163\1\145\1\141"+ - "\1\ufffe\1\143\1\157\1\160\1\uffff\1\154\2\145\1\164\1\151\1\145\2\uffff"+ - "\1\145\1\162\1\141\1\163\1\ufffe\1\145\1\162\1\ufffe\1\145\1\ufffe\1\145"+ - "\2\uffff\1\162\1\uffff\1\ufffe\1\162\1\153\1\143\1\164\1\156\1\166\1\164"+ - "\1\154\1\163\1\144\1\157\1\145\1\151\1\156\1\157\1\145\1\165\1\157\1\145"+ - "\1\154\3\ufffe\1\164\1\143\1\162\1\151\1\156\1\145\1\uffff\1\ufffe\2\145"+ - "\1\164\1\141\1\151\1\163\1\ufffe\1\164\1\154\1\150\1\164\1\ufffe\1\103"+ - "\1\124\1\123\1\137\1\117\2\105\1\111\1\116\1\150\1\uffff\1\154\1\162\2"+ - "\uffff\1\163\1\171\1\uffff\2\155\1\156\1\153\1\ufffe\1\154\1\163\1\164"+ - "\1\151\1\165\1\145\1\162\1\151\1\uffff\1\164\1\155\1\ufffe\1\uffff\1\160"+ - "\1\ufffe\3\162\1\uffff\1\145\1\ufffe\1\154\1\141\1\uffff\1\164\1\ufffe"+ - "\2\145\1\170\1\162\1\151\1\156\1\162\1\154\1\141\1\154\1\141\1\uffff\2"+ - "\ufffe\1\uffff\1\146\1\uffff\1\143\1\141\1\uffff\1\162\1\145\1\141\1\146"+ - "\1\164\1\141\1\145\1\162\2\145\1\151\1\145\1\ufffe\2\162\1\163\1\164\1"+ - "\166\1\141\1\151\1\144\1\165\1\143\1\145\3\uffff\1\151\1\141\1\145\1\156"+ - "\1\ufffe\1\141\1\uffff\3\ufffe\1\146\1\154\1\ufffe\1\162\1\141\1\uffff"+ - "\1\165\1\145\1\ufffe\1\145\1\uffff\1\124\1\117\1\123\1\124\2\122\1\103"+ - "\1\101\1\131\1\150\1\165\1\141\1\164\1\ufffe\1\142\1\141\2\ufffe\1\uffff"+ - "\3\ufffe\1\151\1\156\1\154\1\143\1\165\1\156\1\157\1\151\1\uffff\1\164"+ - "\1\uffff\1\151\1\164\1\156\1\ufffe\1\uffff\1\ufffe\1\162\1\151\1\uffff"+ - "\1\162\1\155\1\ufffe\1\151\1\141\1\145\1\146\1\ufffe\1\162\1\ufffe\1\147"+ - "\2\uffff\1\141\2\164\1\157\1\151\1\147\1\144\1\154\1\157\1\145\1\164\1"+ - "\144\1\141\1\162\1\143\1\163\1\ufffe\1\156\1\uffff\1\144\1\145\1\164\1"+ - "\162\1\145\1\164\1\162\1\145\1\162\1\141\1\144\1\143\1\154\1\144\1\164"+ - "\1\147\1\uffff\1\144\3\uffff\1\145\1\ufffe\1\uffff\1\147\1\156\1\141\1"+ - "\ufffe\1\uffff\1\ufffe\1\111\1\115\1\ufffe\1\131\1\104\1\106\1\124\1\102"+ - "\1\115\1\164\1\143\1\162\1\uffff\1\154\1\164\4\uffff\1\165\1\uffff\1\156"+ - "\1\165\1\164\1\141\1\143\1\ufffe\1\164\1\ufffe\1\143\1\ufffe\1\155\1\ufffe"+ - "\1\141\1\uffff\1\172\1\171\1\uffff\1\144\1\157\1\ufffe\1\145\1\uffff\1"+ - "\164\1\154\1\ufffe\1\141\1\uffff\1\171\1\uffff\1\145\1\165\1\ufffe\1\157"+ - "\1\141\1\144\1\145\2\ufffe\2\162\1\145\1\165\1\155\2\164\1\ufffe\1\150"+ - "\1\uffff\1\154\1\ufffe\1\156\1\145\1\157\2\ufffe\1\145\1\156\1\143\1\154"+ - "\2\ufffe\1\154\3\ufffe\1\166\1\ufffe\1\uffff\1\163\1\164\1\154\1\uffff"+ - "\1\156\1\uffff\1\117\1\137\1\120\1\uffff\1\120\1\137\1\101\1\137\1\114"+ - "\1\117\1\145\1\164\1\151\1\171\1\145\1\143\1\163\1\145\1\ufffe\2\164\1"+ - "\uffff\1\145\1\uffff\1\ufffe\1\uffff\1\145\1\ufffe\1\uffff\1\154\1\141"+ - "\2\ufffe\1\156\1\uffff\1\156\1\145\1\151\1\uffff\1\143\2\ufffe\1\154\1"+ - "\uffff\1\162\1\144\1\145\1\ufffe\2\uffff\1\155\2\ufffe\1\162\1\ufffe\1"+ - "\171\1\145\1\uffff\1\145\1\171\1\uffff\1\143\1\162\1\144\2\uffff\1\163"+ - "\1\164\1\145\1\154\2\uffff\1\ufffe\3\uffff\1\141\1\uffff\3\ufffe\1\154"+ - "\1\116\1\101\1\106\1\101\1\111\1\105\1\124\1\103\1\124\1\105\1\125\2\ufffe"+ - "\1\156\1\162\1\ufffe\1\144\1\164\2\ufffe\1\uffff\1\145\1\157\1\162\1\uffff"+ - "\1\156\1\uffff\1\ufffe\1\164\2\uffff\1\ufffe\1\164\1\144\1\172\1\145\2"+ - "\uffff\1\164\3\ufffe\1\uffff\1\ufffe\2\uffff\1\145\1\uffff\1\ufffe\2\144"+ - "\1\ufffe\1\145\1\ufffe\1\165\2\ufffe\1\163\1\ufffe\1\uffff\1\162\3\uffff"+ - "\1\171\1\137\1\124\1\137\1\122\1\105\1\ufffe\1\131\2\105\1\131\1\137\1"+ - "\123\2\uffff\1\147\1\ufffe\1\uffff\1\ufffe\1\157\2\uffff\1\144\1\162\1"+ - "\146\1\164\1\uffff\1\151\1\uffff\1\163\1\ufffe\1\141\2\ufffe\4\uffff\1"+ - "\ufffe\1\uffff\2\ufffe\1\uffff\1\ufffe\1\uffff\1\143\2\uffff\1\164\1\uffff"+ - "\2\ufffe\1\122\2\124\1\105\1\114\1\uffff\1\120\1\114\1\137\1\120\1\124"+ - "\1\137\1\ufffe\2\uffff\1\162\2\ufffe\2\141\1\157\1\164\1\ufffe\1\uffff"+ - "\1\164\6\uffff\1\145\1\162\2\uffff\1\114\1\101\1\122\1\117\1\105\1\122"+ - "\1\131\1\116\1\104\1\105\1\120\1\124\1\105\1\131\1\104\1\101\1\105\1\uffff"+ - "\1\ufffe\2\uffff\1\143\1\154\1\156\1\151\1\uffff\1\151\1\ufffe\1\151\1"+ - "\117\1\115\1\107\1\104\1\124\1\111\1\120\1\124\2\ufffe\1\105\1\131\1\125"+ - "\1\ufffe\1\120\1\105\1\122\1\130\1\uffff\1\145\2\ufffe\2\157\1\uffff\1"+ - "\156\1\102\1\105\1\123\1\131\1\125\1\102\1\105\1\123\2\uffff\1\122\1\120"+ - "\1\111\1\uffff\1\105\1\116\1\101\1\120\1\ufffe\2\uffff\2\156\1\147\1\101"+ - "\3\ufffe\1\122\1\125\3\ufffe\1\105\1\104\1\ufffe\1\124\1\115\1\122\1\uffff"+ - "\3\ufffe\1\114\3\uffff\1\116\1\124\3\uffff\2\ufffe\1\uffff\1\123\1\ufffe"+ - "\1\105\3\uffff\2\ufffe\1\105\2\uffff\1\ufffe\1\uffff\1\123\2\uffff\1\ufffe"+ - "\1\uffff\1\123\1\101\1\uffff\1\111\1\122\1\117\1\107\1\116\1\123\2\ufffe"+ - "\2\uffff"; - static final String DFA18_acceptS = - "\1\uffff\1\1\26\uffff\1\u0087\1\u0088\1\u0089\2\uffff\1\u008c\1\u008d"+ - "\1\u008f\3\uffff\1\u0096\1\u0097\1\u0099\1\uffff\1\u009b\1\uffff\1\u00a0"+ - "\10\uffff\1\u00b6\3\uffff\1\u00b9\1\u00bc\1\u00bd\1\u00c0\1\2\1\u009c"+ - "\12\uffff\2\u00b6\1\u00bb\100\uffff\1\u00bf\1\u008a\1\u008b\1\u008e\1"+ - "\u0090\1\u0092\1\u0091\1\u0093\1\u0094\1\u0098\1\u0095\1\u009a\1\u009e"+ - "\1\u009d\1\u009f\11\uffff\1\u00c1\1\u00b7\1\uffff\1\u00b8\2\uffff\1\u00ba"+ - "\7\uffff\1\11\1\15\15\uffff\1\36\1\40\1\41\17\uffff\1\65\6\uffff\1\70"+ - "\1\76\13\uffff\1\112\1\113\1\uffff\1\115\36\uffff\1\165\27\uffff\1\u00be"+ - "\2\uffff\1\5\1\6\2\uffff\1\12\15\uffff\1\35\3\uffff\1\44\5\uffff\1\53"+ - "\4\uffff\1\60\15\uffff\1\103\2\uffff\1\106\1\uffff\1\110\2\uffff\1\116"+ - "\30\uffff\1\153\1\154\1\155\6\uffff\1\166\10\uffff\1\174\4\uffff\1\u0084"+ - "\22\uffff\1\21\13\uffff\1\43\1\uffff\1\46\4\uffff\1\54\3\uffff\1\63\13"+ - "\uffff\1\104\1\105\22\uffff\1\136\20\uffff\1\163\1\uffff\1\u0086\1\167"+ - "\1\170\2\uffff\1\173\4\uffff\1\u0081\15\uffff\1\10\2\uffff\1\17\1\20\1"+ - "\22\1\23\1\uffff\1\24\15\uffff\1\u0085\2\uffff\1\55\4\uffff\1\71\4\uffff"+ - "\1\77\1\uffff\1\101\22\uffff\1\135\23\uffff\1\172\3\uffff\1\u0080\1\uffff"+ - "\1\u0082\3\uffff\1\u00a9\21\uffff\1\33\1\uffff\1\37\1\uffff\1\45\2\uffff"+ - "\1\50\5\uffff\1\64\3\uffff\1\74\4\uffff\1\111\4\uffff\1\122\1\123\7\uffff"+ - "\1\133\2\uffff\1\140\3\uffff\1\144\1\145\4\uffff\1\152\1\156\1\uffff\1"+ - "\160\1\161\1\162\1\uffff\1\171\30\uffff\1\30\3\uffff\1\42\1\uffff\1\51"+ - "\2\uffff\1\57\1\61\5\uffff\1\100\1\102\4\uffff\1\121\1\uffff\1\125\1\126"+ - "\1\uffff\1\130\13\uffff\1\157\1\uffff\1\175\1\176\1\177\15\uffff\1\3\1"+ - "\4\2\uffff\1\14\2\uffff\1\26\1\27\4\uffff\1\52\1\uffff\1\62\5\uffff\1"+ - "\114\1\117\1\120\1\124\1\uffff\1\131\2\uffff\1\137\1\uffff\1\142\1\uffff"+ - "\1\146\1\147\1\uffff\1\151\7\uffff\1\u00a8\7\uffff\1\13\1\16\10\uffff"+ - "\1\72\1\uffff\1\75\1\107\1\127\1\132\1\134\1\141\2\uffff\1\164\1\u0083"+ - "\21\uffff\1\7\1\uffff\1\31\1\32\4\uffff\1\67\25\uffff\1\25\5\uffff\1\143"+ - "\11\uffff\1\u00b4\1\u00aa\3\uffff\1\u00ad\5\uffff\1\47\1\56\22\uffff\1"+ - "\34\4\uffff\1\u00a2\1\u00a3\1\u00a4\2\uffff\1\u00ae\1\u00b3\1\u00ab\2"+ - "\uffff\1\u00af\3\uffff\1\66\1\73\1\150\3\uffff\1\u00ac\1\u00b2\1\uffff"+ - "\1\u00b1\1\uffff\1\u00a1\1\u00a5\1\uffff\1\u00b0\2\uffff\1\u00a6\10\uffff"+ - "\1\u00b5\1\u00a7"; - static final String DFA18_specialS = - "\50\uffff\1\1\13\uffff\1\0\u0391\uffff}>"; - static final String[] DFA18_transitionS = { - "\2\71\1\uffff\2\71\22\uffff\1\71\2\uffff\1\70\1\66\1\uffff\1\1\1\67\1"+ - "\42\1\43\1\32\1\30\1\35\1\31\1\46\1\33\12\65\1\34\1\36\1\40\1\37\1\41"+ - "\1\uffff\1\2\1\61\1\63\1\53\2\63\1\52\2\62\1\56\4\62\1\54\1\57\2\62\1"+ - "\55\3\62\1\60\4\62\1\44\1\uffff\1\45\1\47\1\62\1\uffff\1\3\1\4\1\5\1"+ - "\6\1\7\1\10\1\11\1\12\1\13\2\62\1\14\1\15\1\16\1\17\1\20\1\62\1\21\1"+ - "\22\1\23\1\24\1\25\1\26\1\27\2\62\1\50\1\uffff\1\51\2\uffff\ufe7f\62"+ - "\1\64\u00ff\62", - "", - "\1\72", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\1\103\1\74\1\103"+ - "\1\75\2\103\1\uffff\1\106\5\uffff\1\76\3\uffff\1\77\1\100\1\101\1\102", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\4\103\1\111\1\103"+ - "\1\uffff\1\106\11\uffff\1\112", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\1\113\2\103\1\114"+ - "\2\103\1\uffff\1\106\3\uffff\1\115\2\uffff\1\116", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\4\103\1\117\1\103"+ - "\1\uffff\1\106\1\120\5\uffff\1\121\1\uffff\1\122\5\uffff\1\123\1\uffff"+ - "\1\124", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106"+ - "\3\uffff\1\125\1\uffff\1\126\11\uffff\1\127", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\1\130\5\103\1\uffff"+ - "\1\106\1\131\5\uffff\1\132\5\uffff\1\133", - "\1\134", - "\1\135", - "\1\136\6\uffff\1\137\1\140\4\uffff\1\141", - "\1\142\7\uffff\1\143\5\uffff\1\144", - "\1\145\11\uffff\1\146", - "\1\147\3\uffff\1\150\3\uffff\1\151\5\uffff\1\152", - "\1\153\3\uffff\1\154\7\uffff\1\155\1\uffff\1\156\1\uffff\1\157\2\uffff"+ - "\1\160\1\161", - "\1\162\12\uffff\1\163\2\uffff\1\164\2\uffff\1\165\2\uffff\1\166", - "\1\167\3\uffff\1\170", - "\1\171\3\uffff\1\172\2\uffff\1\173\13\uffff\1\174", - "\1\175\6\uffff\1\176\2\uffff\1\177\6\uffff\1\u0080", - "\1\u0081\4\uffff\1\u0082", - "\1\u0083\7\uffff\1\u0084", - "\1\u0085\1\u0086\10\uffff\1\u0087", - "\1\u0088", - "", - "", - "", - "\1\u0089", - "\1\u008b", - "", - "", - "", - "\1\u008e\1\u008d", - "\1\u0090", - "\1\u0089\3\uffff\1\u0092", - "", - "", - "", - "\1\u0094\4\uffff\1\u0095", - "", - "\0\u0089", - "", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\14\uffff\1\u0098\13\uffff"+ - "\6\103\1\uffff\1\106", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\3\uffff\1\u009a\10\uffff\1"+ - "\u0099\13\uffff\6\103\1\uffff\1\106", - "\1\u009b", - "\1\u009c", - "\1\u009d", - "\1\u009e", - "\1\u009f", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\5\uffff\1\u00a0\22\uffff\6"+ - "\103\1\uffff\1\106", - "", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106", - "\ufeff\62\1\uffff\u0100\62", - "\1\u00a4\1\uffff\12\u00a3\1\110\6\uffff\4\u00a6\1\u00a5\1\u00a6\1\uffff"+ - "\1\u00a7\30\uffff\4\u00a6\1\u00a5\1\u00a6\1\uffff\1\u00a7", - "", - "", - "", - "", - "", - "", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106"+ - "\12\uffff\1\u00a8", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\3\103\1\u00a9\2\103"+ - "\1\uffff\1\106", - "\1\u00aa\16\uffff\1\u00ab", - "\1\u00ac", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\14\62\1\u00ad\5\62\1\u00ae"+ - "\7\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u00b1", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106", - "", - "", - "", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\u00b2\1\106", - "\1\u00b3", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106"+ - "\12\uffff\1\u00b4", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\4\103\1\u00b5\1\103"+ - "\1\uffff\1\106", - "\1\u00b6", - "\1\u00b7", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\5\103\1\u00b8\1\uffff"+ - "\1\106\7\uffff\1\u00b9\2\uffff\1\u00ba", - "\1\u00bb\2\uffff\1\u00bc", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\26\62\1\u00bd\3\62\5\uffff"+ - "\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u00c1", - "\1\u00c2", - "\1\u00c3", - "\1\u00c4\5\uffff\1\u00c5\6\uffff\1\u00c6\3\uffff\1\u00c7", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106"+ - "\3\uffff\1\u00c9\5\uffff\1\u00c8", - "\1\u00ca\1\uffff\1\u00cb", - "\1\u00cc", - "\1\u00cd", - "\1\u00ce", - "\1\u00cf", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u00d1", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\3\62\1\u00d2\3\62\1\u00d3"+ - "\1\u00d4\2\62\1\u00d5\7\62\1\u00d6\6\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u00d9", - "\1\u00da", - "\1\u00db", - "\1\u00dc", - "\1\u00dd", - "\1\u00de", - "\1\u00df", - "\1\u00e0", - "\1\u00e1\17\uffff\1\u00e2", - "\1\u00e3", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u00e6", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u00e8", - "\1\u00e9", - "\1\u00ea\17\uffff\1\u00eb", - "\1\u00ec", - "\1\u00ed", - "\1\u00ee\5\uffff\1\u00ef", - "\1\u00f0", - "\1\u00f1", - "\1\u00f2\1\uffff\1\u00f3\2\uffff\1\u00f4\1\u00f5\1\uffff\1\u00f6\3\uffff"+ - "\1\u00f7\2\uffff\1\u00f8\1\u00f9\1\uffff\1\u00fa", - "\1\u00fb", - "\1\u00fc\22\uffff\1\u00fd", - "\1\u00fe\5\uffff\1\u00ff", - "\1\u0100\2\uffff\1\u0101\12\uffff\1\u0102\2\uffff\1\u0103", - "\1\u0104\14\uffff\1\u0105", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0108\3\uffff\1\u0107", - "\1\u0109", - "\1\u010a\11\uffff\1\u010b\1\u010c", - "\1\u010d", - "\1\u010e", - "\1\u010f", - "\1\u0110", - "\1\u0111", - "\1\u0112", - "\1\u0113", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\u0114", - "\1\u0115", - "\1\u0116", - "\1\u0117", - "\1\u0118", - "\1\u0119", - "\1\u011a", - "\1\u011b", - "\1\u011c", - "", - "", - "\1\u00a4\1\uffff\12\u00a3\1\110\6\uffff\4\u00a6\1\u00a5\1\u00a6\1\uffff"+ - "\1\u00a7\30\uffff\4\u00a6\1\u00a5\1\u00a6\1\uffff\1\u00a7", - "", - "\1\u00a4\1\uffff\1\u00a4\2\uffff\12\u011d\1\110\6\uffff\6\u00a6\1\uffff"+ - "\1\u00a7\30\uffff\6\u00a6\1\uffff\1\u00a7", - "\12\u00a6\1\110\6\uffff\6\u00a6\1\uffff\1\u00a7\30\uffff\6\u00a6\1\uffff"+ - "\1\u00a7", - "", - "\1\u011f\4\uffff\1\u0120", - "\12\105\1\110\6\uffff\6\104\1\62\1\107\22\62\4\uffff\1\62\1\uffff\6"+ - "\103\1\62\1\106\22\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0123", - "\1\u0124", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0126", - "", - "", - "\1\u0127", - "\1\u0128", - "\1\u0129", - "\1\u012a", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\2\103\1\u012b\3\103"+ - "\1\uffff\1\106", - "\1\u012c", - "\1\u012d\1\u012e", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\1\u012f\5\103\1\uffff"+ - "\1\106", - "\1\u0130", - "\1\u0131", - "\1\u0132", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0134", - "", - "", - "", - "\1\u0135", - "\1\u0136", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0138", - "\1\u0139", - "\1\u013a\11\uffff\1\u013b", - "\1\u013c", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u013e", - "\1\u013f", - "\1\u0140", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\26\62\1\u0141\3\62\5\uffff"+ - "\uff7f\62", - "\1\u0143", - "\1\u0144", - "\1\u0145", - "", - "\1\u0146", - "\1\u0147", - "\1\u0148", - "\1\u0149", - "\1\u014a", - "\1\u014b", - "", - "", - "\1\u014c", - "\1\u014d", - "\1\u014e", - "\1\u014f", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0151", - "\1\u0152", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0154", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0156", - "", - "", - "\1\u0157", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0159", - "\1\u015a", - "\1\u015b", - "\1\u015c", - "\1\u015d", - "\1\u015e", - "\1\u015f\3\uffff\1\u0160\10\uffff\1\u0161\3\uffff\1\u0162", - "\1\u0163", - "\1\u0164", - "\1\u0165", - "\1\u0166", - "\1\u0167", - "\1\u0168", - "\1\u0169", - "\1\u016a", - "\1\u016b", - "\1\u016c", - "\1\u016d\5\uffff\1\u016e", - "\1\u016f", - "\1\u0170", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0174", - "\1\u0175", - "\1\u0176", - "\1\u0177", - "\1\u0178", - "\1\u0179", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u017b", - "\1\u017c", - "\1\u017d", - "\1\u017e", - "\1\u017f", - "\1\u0180", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\1\u0181\7\62\1\u0182\21\62"+ - "\5\uffff\uff7f\62", - "\1\u0184", - "\1\u0185", - "\1\u0186", - "\1\u0187", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0189", - "\1\u018a", - "\1\u018b", - "\1\u018c", - "\1\u018d", - "\1\u018e", - "\1\u018f", - "\1\u0190", - "\1\u0191", - "\12\u0192\1\110\6\uffff\6\u00a6\1\uffff\1\u00a7\30\uffff\6\u00a6\1\uffff"+ - "\1\u00a7", - "", - "\1\u0193", - "\1\u0194", - "", - "", - "\1\u0195", - "\1\u0196", - "", - "\1\u0197", - "\1\u0198", - "\1\u0199", - "\1\u019a", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106"+ - "\3\uffff\1\u019c", - "\1\u019d", - "\1\u019e", - "\1\u019f\7\uffff\1\u01a0", - "\12\105\1\110\6\uffff\6\104\1\uffff\1\107\30\uffff\6\103\1\uffff\1\106"+ - "\14\uffff\1\u01a1", - "\1\u01a2", - "\1\u01a3", - "\1\u01a4", - "", - "\1\u01a5", - "\1\u01a6", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u01a8", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u01aa", - "\1\u01ab", - "\1\u01ac", - "", - "\1\u01ad", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u01af", - "\1\u01b0", - "", - "\1\u01b1", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u01b3", - "\1\u01b4", - "\1\u01b5", - "\1\u01b6", - "\1\u01b7", - "\1\u01b8", - "\1\u01b9", - "\1\u01ba", - "\1\u01bb", - "\1\u01bc", - "\1\u01bd", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u01c0", - "", - "\1\u01c1", - "\1\u01c2", - "", - "\1\u01c3\5\uffff\1\u01c4", - "\1\u01c5\3\uffff\1\u01c6", - "\1\u01c7", - "\1\u01c8", - "\1\u01c9", - "\1\u01ca", - "\1\u01cb", - "\1\u01cc", - "\1\u01cd", - "\1\u01ce", - "\1\u01cf", - "\1\u01d0", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u01d1\13\62\5\uffff"+ - "\uff7f\62", - "\1\u01d3", - "\1\u01d4", - "\1\u01d5", - "\1\u01d6", - "\1\u01d7", - "\1\u01d8", - "\1\u01d9", - "\1\u01da", - "\1\u01db", - "\1\u01dc", - "\1\u01dd", - "", - "", - "", - "\1\u01de", - "\1\u01df", - "\1\u01e0", - "\1\u01e1\12\uffff\1\u01e2", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u01e4", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u01e8", - "\1\u01e9", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u01eb", - "\1\u01ec", - "", - "\1\u01ed", - "\1\u01ee", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u01f0", - "", - "\1\u01f1", - "\1\u01f2", - "\1\u01f3", - "\1\u01f4", - "\1\u01f5", - "\1\u01f6", - "\1\u01f7", - "\1\u01f8", - "\1\u01f9", - "\12\u0192\1\110\6\uffff\6\u00a6\1\uffff\1\u00a7\30\uffff\6\u00a6\1\uffff"+ - "\1\u00a7", - "\1\u01fa", - "\1\u01fb", - "\1\u01fc", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u01fe", - "\1\u01ff", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\21\62\1\u0204\10\62\5\uffff"+ - "\uff7f\62", - "\1\u0206", - "\1\u0207", - "\1\u0208", - "\1\u0209", - "\1\u020a", - "\1\u020b\11\uffff\1\u020c", - "\1\u020d", - "\1\u020e", - "", - "\1\u020f", - "", - "\1\u0210", - "\1\u0211", - "\1\u0212", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\10\62\1\u0214\2\62\1\u0215"+ - "\16\62\5\uffff\uff7f\62", - "\1\u0217", - "\1\u0218", - "", - "\1\u0219", - "\1\u021a", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u021c", - "\1\u021d", - "\1\u021e", - "\1\u021f", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0221", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0223", - "", - "", - "\1\u0224", - "\1\u0225", - "\1\u0226", - "\1\u0227", - "\1\u0228", - "\1\u0229", - "\1\u022a", - "\1\u022b", - "\1\u022c", - "\1\u022d", - "\1\u022e", - "\1\u022f", - "\1\u0230", - "\1\u0231", - "\1\u0232", - "\1\u0233\17\uffff\1\u0234", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0236", - "", - "\1\u0237", - "\1\u0238", - "\1\u0239", - "\1\u023a", - "\1\u023b", - "\1\u023c", - "\1\u023d", - "\1\u023e", - "\1\u023f", - "\1\u0240", - "\1\u0241", - "\1\u0242", - "\1\u0243", - "\1\u0244", - "\1\u0245", - "\1\u0246", - "", - "\1\u0247", - "", - "", - "", - "\1\u0248", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u024a", - "\1\u024b", - "\1\u024c", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\16\62\1\u024e\13\62\5\uffff"+ - "\uff7f\62", - "\1\u0250", - "\1\u0251", - "\12\62\7\uffff\32\62\4\uffff\1\u0252\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0254", - "\1\u0255", - "\1\u0256", - "\1\u0257", - "\1\u0258", - "\1\u0259", - "\1\u025a", - "\1\u025b", - "\1\u025c", - "", - "\1\u025d", - "\1\u025e", - "", - "", - "", - "", - "\1\u025f", - "", - "\1\u0260", - "\1\u0261", - "\1\u0262", - "\1\u0263", - "\1\u0264", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0266", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0268", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u026a", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\22\62\1\u026b\7\62\5\uffff"+ - "\uff7f\62", - "\1\u026d", - "", - "\1\u026e", - "\1\u026f", - "", - "\1\u0270", - "\1\u0271", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0273", - "", - "\1\u0274", - "\1\u0275", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0277", - "", - "\1\u0278", - "", - "\1\u0279", - "\1\u027a", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u027c", - "\1\u027d", - "\1\u027e", - "\1\u027f", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0282", - "\1\u0283", - "\1\u0284", - "\1\u0285", - "\1\u0286", - "\1\u0287", - "\1\u0288", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u028a", - "", - "\1\u028b", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u028d", - "\1\u028e", - "\1\u028f", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0292", - "\1\u0293", - "\1\u0294", - "\1\u0295", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0298", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u029c", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u029e", - "\1\u029f", - "\1\u02a0", - "", - "\1\u02a1", - "", - "\1\u02a2", - "\1\u02a3", - "\1\u02a6\10\uffff\1\u02a4\1\u02a5", - "", - "\1\u02a7", - "\1\u02a8", - "\1\u02a9", - "\1\u02aa", - "\1\u02ab", - "\1\u02ac", - "\1\u02ad", - "\1\u02ae", - "\1\u02af", - "\1\u02b0\23\uffff\1\u02b1", - "\1\u02b2", - "\1\u02b3", - "\1\u02b4", - "\1\u02b5", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02b7", - "\1\u02b8", - "", - "\1\u02b9", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u02bb", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u02bd", - "\1\u02be", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02c1", - "", - "\1\u02c2", - "\1\u02c3", - "\1\u02c4", - "", - "\1\u02c5", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02c8", - "", - "\1\u02c9", - "\1\u02ca", - "\1\u02cb", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "", - "\1\u02cd", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02d0", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02d2", - "\1\u02d3", - "", - "\1\u02d4", - "\1\u02d5", - "", - "\1\u02d6", - "\1\u02d7", - "\1\u02d8", - "", - "", - "\1\u02d9", - "\1\u02da", - "\1\u02db", - "\1\u02dc", - "", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "", - "", - "\1\u02de", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02e2", - "\1\u02e3", - "\1\u02e4", - "\1\u02e5", - "\1\u02e6", - "\1\u02e7", - "\1\u02e8", - "\1\u02ea\13\uffff\1\u02e9", - "\1\u02eb", - "\1\u02ec", - "\1\u02ed", - "\1\u02ee", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02f1", - "\1\u02f2", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02f4", - "\1\u02f5", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u02f8", - "\1\u02f9", - "\1\u02fa", - "", - "\1\u02fb", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02fd", - "", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u02ff", - "\1\u0300", - "\1\u0301", - "\1\u0302", - "", - "", - "\1\u0303", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "", - "\1\u0308", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u030a", - "\1\u030b", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u030d", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u030f", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0312", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u0314", - "", - "", - "", - "\1\u0315", - "\1\u0316", - "\1\u0317", - "\1\u0318", - "\1\u0319", - "\1\u031a", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u031c", - "\1\u031d", - "\1\u031e", - "\1\u031f", - "\1\u0320", - "\1\u0321", - "", - "", - "\1\u0322", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0325", - "", - "", - "\1\u0326", - "\1\u0327", - "\1\u0328", - "\1\u0329", - "", - "\1\u032a", - "", - "\1\u032b\21\uffff\1\u032c", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u032e", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "", - "", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u0335", - "", - "", - "\1\u0336", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u033b\1\u033c\4\uffff\1\u0339\6\uffff\1\u033a\3\uffff\1\u033d", - "\1\u033e", - "\1\u033f", - "\1\u0340", - "\1\u0341", - "", - "\1\u0342", - "\1\u0343", - "\1\u0344", - "\1\u0345", - "\1\u0347\6\uffff\1\u0348\3\uffff\1\u0346", - "\1\u0349", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "", - "\1\u034b", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u034e", - "\1\u034f", - "\1\u0350", - "\1\u0351", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u0353", - "", - "", - "", - "", - "", - "", - "\1\u0354", - "\1\u0355", - "", - "", - "\1\u0356", - "\1\u0357", - "\1\u0358", - "\1\u0359", - "\1\u035a", - "\1\u035b", - "\1\u035c", - "\1\u035d", - "\1\u035e", - "\1\u035f", - "\1\u0360", - "\1\u0362\14\uffff\1\u0361", - "\1\u0363", - "\1\u0364", - "\1\u0365", - "\1\u0366", - "\1\u0367", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "", - "\1\u0369", - "\1\u036a", - "\1\u036b", - "\1\u036c", - "", - "\1\u036d", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u036f", - "\1\u0370", - "\1\u0371", - "\1\u0372", - "\1\u0373", - "\1\u0374", - "\1\u0375", - "\1\u0376", - "\1\u0377", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u037a", - "\1\u037b", - "\1\u037c", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u037e", - "\1\u037f", - "\1\u0380", - "\1\u0381", - "", - "\1\u0382", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u0385", - "\1\u0386", - "", - "\1\u0387", - "\1\u0388", - "\1\u0389", - "\1\u038a", - "\1\u038b", - "\1\u038c", - "\1\u038d", - "\1\u038e", - "\1\u038f", - "", - "", - "\1\u0390", - "\1\u0391", - "\1\u0392", - "", - "\1\u0393", - "\1\u0394", - "\1\u0395", - "\1\u0396", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "", - "\1\u0398", - "\1\u0399", - "\1\u039a", - "\1\u039b", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u039f", - "\1\u03a0", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u03a4", - "\1\u03a5", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u03a7", - "\1\u03a8", - "\1\u03a9", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u03ad", - "", - "", - "", - "\1\u03ae", - "\1\u03af", - "", - "", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u03b2", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u03b4", - "", - "", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\1\u03b7", - "", - "", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u03b9", - "", - "", - "\12\62\7\uffff\32\62\4\uffff\1\u03ba\1\uffff\32\62\5\uffff\uff7f\62", - "", - "\1\u03bc", - "\1\u03bd", - "", - "\1\u03be", - "\1\u03bf", - "\1\u03c0", - "\1\u03c1", - "\1\u03c2", - "\1\u03c3", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "\12\62\7\uffff\32\62\4\uffff\1\62\1\uffff\32\62\5\uffff\uff7f\62", - "", - "" - }; - - static final short[] DFA18_eot = DFA.unpackEncodedString(DFA18_eotS); - static final short[] DFA18_eof = DFA.unpackEncodedString(DFA18_eofS); - static final char[] DFA18_min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS); - static final char[] DFA18_max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS); - static final short[] DFA18_accept = DFA.unpackEncodedString(DFA18_acceptS); - static final short[] DFA18_special = DFA.unpackEncodedString(DFA18_specialS); - static final short[][] DFA18_transition; - - static { - int numStates = DFA18_transitionS.length; - DFA18_transition = new short[numStates][]; - for (int i=0; i= '\u0000' && LA18_52 <= '\uFEFE')||(LA18_52 >= '\uFF00' && LA18_52 <= '\uFFFF')) ) {s = 50;} - else s = 161; - if ( s>=0 ) return s; - break; - - case 1 : - int LA18_40 = input.LA(1); - s = -1; - if ( ((LA18_40 >= '\u0000' && LA18_40 <= '\uFFFF')) ) {s = 137;} - else s = 151; - if ( s>=0 ) return s; - break; - } - NoViableAltException nvae = - new NoViableAltException(getDescription(), 18, _s, input); - error(nvae); - throw nvae; - } - } - -} +// $ANTLR 3.5.1 D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g 2021-02-05 15:18:16 + +/* + * Sonar Delphi Plugin + * Copyright (C) 2010 SonarSource + * dev@sonar.codehaus.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ + +package org.sonar.plugins.delphi.antlr; + +/** +* Delphi Lexer class generated by Antlr. Provides tokens. +**/ + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; + +@SuppressWarnings("all") +public class DelphiLexer extends Lexer { + public static final int EOF=-1; + public static final int T__198=198; + public static final int T__199=199; + public static final int T__200=200; + public static final int T__201=201; + public static final int T__202=202; + public static final int T__203=203; + public static final int T__204=204; + public static final int T__205=205; + public static final int T__206=206; + public static final int T__207=207; + public static final int T__208=208; + public static final int T__209=209; + public static final int T__210=210; + public static final int ABSOLUTE=4; + public static final int ABSTRACT=5; + public static final int ADD=6; + public static final int AND=7; + public static final int ANSISTRING=8; + public static final int ARRAY=9; + public static final int AS=10; + public static final int ASM=11; + public static final int ASSEMBLER=12; + public static final int ASSEMBLY=13; + public static final int ASSIGN=14; + public static final int AT=15; + public static final int AT2=16; + public static final int AUTOMATED=17; + public static final int Alpha=18; + public static final int BEGIN=19; + public static final int BREAK=20; + public static final int CASE=21; + public static final int CDECL=22; + public static final int CLASS=23; + public static final int COLON=24; + public static final int COMMA=25; + public static final int COMMENT=26; + public static final int CONST=27; + public static final int CONSTRUCTOR=28; + public static final int CONTAINS=29; + public static final int CONTINUE=30; + public static final int ControlChar=31; + public static final int DEFAULT=32; + public static final int DELAYED=33; + public static final int DEPRECATED=34; + public static final int DESTRUCTOR=35; + public static final int DISPID=36; + public static final int DISPINTERFACE=37; + public static final int DIV=38; + public static final int DO=39; + public static final int DOT=40; + public static final int DOTDOT=41; + public static final int DOWNTO=42; + public static final int DQ=43; + public static final int DW=44; + public static final int DYNAMIC=45; + public static final int Digit=46; + public static final int Digitseq=47; + public static final int ELSE=48; + public static final int END=49; + public static final int EQUAL=50; + public static final int EXCEPT=51; + public static final int EXIT=52; + public static final int EXPERIMENTAL=53; + public static final int EXPORT=54; + public static final int EXPORTS=55; + public static final int EXTERNAL=56; + public static final int FALSE=57; + public static final int FAR=58; + public static final int FILE=59; + public static final int FINAL=60; + public static final int FINALIZATION=61; + public static final int FINALLY=62; + public static final int FOR=63; + public static final int FORWARD=64; + public static final int FUNCTION=65; + public static final int GE=66; + public static final int GOTO=67; + public static final int GT=68; + public static final int HELPER=69; + public static final int Hexdigit=70; + public static final int Hexdigitseq=71; + public static final int IF=72; + public static final int IMPLEMENTATION=73; + public static final int IMPLEMENTS=74; + public static final int IN=75; + public static final int INDEX=76; + public static final int INHERITED=77; + public static final int INITIALIZATION=78; + public static final int INLINE=79; + public static final int INTERFACE=80; + public static final int IS=81; + public static final int LABEL=82; + public static final int LBRACK=83; + public static final int LBRACK2=84; + public static final int LCURLY=85; + public static final int LE=86; + public static final int LIBRARY=87; + public static final int LOCAL=88; + public static final int LPAREN=89; + public static final int LT=90; + public static final int MESSAGE=91; + public static final int MINUS=92; + public static final int MOD=93; + public static final int NAME=94; + public static final int NEAR=95; + public static final int NIL=96; + public static final int NODEFAULT=97; + public static final int NOT=98; + public static final int NOT_EQUAL=99; + public static final int OBJECT=100; + public static final int OF=101; + public static final int ON=102; + public static final int OPERATOR=103; + public static final int OR=104; + public static final int OUT=105; + public static final int OVERLOAD=106; + public static final int OVERRIDE=107; + public static final int PACKAGE=108; + public static final int PACKED=109; + public static final int PASCAL=110; + public static final int PLATFORM=111; + public static final int PLUS=112; + public static final int POINTER=113; + public static final int POINTER2=114; + public static final int PRIVATE=115; + public static final int PROCEDURE=116; + public static final int PROGRAM=117; + public static final int PROPERTY=118; + public static final int PROTECTED=119; + public static final int PUBLIC=120; + public static final int PUBLISHED=121; + public static final int QuotedString=122; + public static final int RAISE=123; + public static final int RBRACK=124; + public static final int RBRACK2=125; + public static final int RCURLY=126; + public static final int READ=127; + public static final int READONLY=128; + public static final int RECORD=129; + public static final int REFERENCE=130; + public static final int REGISTER=131; + public static final int REINTRODUCE=132; + public static final int REMOVE=133; + public static final int REPEAT=134; + public static final int REQUIRES=135; + public static final int RESIDENT=136; + public static final int RESOURCESTRING=137; + public static final int RPAREN=138; + public static final int SAFECALL=139; + public static final int SEALED=140; + public static final int SEMI=141; + public static final int SET=142; + public static final int SHL=143; + public static final int SHR=144; + public static final int SLASH=145; + public static final int STAR=146; + public static final int STATIC=147; + public static final int STDCALL=148; + public static final int STORED=149; + public static final int STRICT=150; + public static final int STRING=151; + public static final int THEN=152; + public static final int THREADVAR=153; + public static final int TO=154; + public static final int TRUE=155; + public static final int TRY=156; + public static final int TYPE=157; + public static final int TkAnonymousExpression=158; + public static final int TkClass=159; + public static final int TkClassField=160; + public static final int TkClassOfType=161; + public static final int TkClassParents=162; + public static final int TkCustomAttribute=163; + public static final int TkCustomAttributeArgs=164; + public static final int TkFunctionArgs=165; + public static final int TkFunctionBody=166; + public static final int TkFunctionName=167; + public static final int TkFunctionReturn=168; + public static final int TkGlobalFunction=169; + public static final int TkGuid=170; + public static final int TkHexNum=171; + public static final int TkIdentifier=172; + public static final int TkIntNum=173; + public static final int TkInterface=174; + public static final int TkNewType=175; + public static final int TkObject=176; + public static final int TkRealNum=177; + public static final int TkRecord=178; + public static final int TkRecordHelper=179; + public static final int TkVariableIdents=180; + public static final int TkVariableParam=181; + public static final int TkVariableType=182; + public static final int UNIT=183; + public static final int UNSAFE=184; + public static final int UNTIL=185; + public static final int USES=186; + public static final int UnicodeBOM=187; + public static final int VAR=188; + public static final int VARARGS=189; + public static final int VARIANT=190; + public static final int VIRTUAL=191; + public static final int WHILE=192; + public static final int WITH=193; + public static final int WRITE=194; + public static final int WRITEONLY=195; + public static final int WS=196; + public static final int XOR=197; + + private boolean isControlchar() { + // TODO + // - check if there are actually 2 chars ahead and not an EOF + // - perhaps something else than a regex match here + return ((char)input.LA(1) + "" + (char)input.LA(2)).matches("\\w\\W"); + } + + + // delegates + // delegators + public Lexer[] getDelegates() { + return new Lexer[] {}; + } + + public DelphiLexer() {} + public DelphiLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public DelphiLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + } + @Override public String getGrammarFileName() { return "D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g"; } + + // $ANTLR start "T__198" + public final void mT__198() throws RecognitionException { + try { + int _type = T__198; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:38:8: ( '&' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:38:10: '&' + { + match('&'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__198" + + // $ANTLR start "T__199" + public final void mT__199() throws RecognitionException { + try { + int _type = T__199; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:39:8: ( '@@' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:39:10: '@@' + { + match("@@"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__199" + + // $ANTLR start "T__200" + public final void mT__200() throws RecognitionException { + try { + int _type = T__200; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:40:8: ( 'AND' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:40:10: 'AND' + { + match("AND"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__200" + + // $ANTLR start "T__201" + public final void mT__201() throws RecognitionException { + try { + int _type = T__201; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:41:8: ( 'AS' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:41:10: 'AS' + { + match("AS"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__201" + + // $ANTLR start "T__202" + public final void mT__202() throws RecognitionException { + try { + int _type = T__202; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:42:8: ( 'DIV' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:42:10: 'DIV' + { + match("DIV"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__202" + + // $ANTLR start "T__203" + public final void mT__203() throws RecognitionException { + try { + int _type = T__203; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:43:8: ( 'Inherited' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:43:10: 'Inherited' + { + match("Inherited"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__203" + + // $ANTLR start "T__204" + public final void mT__204() throws RecognitionException { + try { + int _type = T__204; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:44:8: ( 'MOD' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:44:10: 'MOD' + { + match("MOD"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__204" + + // $ANTLR start "T__205" + public final void mT__205() throws RecognitionException { + try { + int _type = T__205; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:45:8: ( 'OR' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:45:10: 'OR' + { + match("OR"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__205" + + // $ANTLR start "T__206" + public final void mT__206() throws RecognitionException { + try { + int _type = T__206; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:46:8: ( 'SHL' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:46:10: 'SHL' + { + match("SHL"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__206" + + // $ANTLR start "T__207" + public final void mT__207() throws RecognitionException { + try { + int _type = T__207; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:47:8: ( 'SHR' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:47:10: 'SHR' + { + match("SHR"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__207" + + // $ANTLR start "T__208" + public final void mT__208() throws RecognitionException { + try { + int _type = T__208; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:48:8: ( 'XOR' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:48:10: 'XOR' + { + match("XOR"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__208" + + // $ANTLR start "T__209" + public final void mT__209() throws RecognitionException { + try { + int _type = T__209; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:49:8: ( '^^' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:49:10: '^^' + { + match("^^"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__209" + + // $ANTLR start "T__210" + public final void mT__210() throws RecognitionException { + try { + int _type = T__210; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:50:8: ( 'nil^' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:50:10: 'nil^' + { + match("nil^"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "T__210" + + // $ANTLR start "ABSOLUTE" + public final void mABSOLUTE() throws RecognitionException { + try { + int _type = ABSOLUTE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:754:19: ( 'absolute' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:754:21: 'absolute' + { + match("absolute"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ABSOLUTE" + + // $ANTLR start "ABSTRACT" + public final void mABSTRACT() throws RecognitionException { + try { + int _type = ABSTRACT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:755:19: ( 'abstract' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:755:21: 'abstract' + { + match("abstract"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ABSTRACT" + + // $ANTLR start "ADD" + public final void mADD() throws RecognitionException { + try { + int _type = ADD; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:756:19: ( 'add' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:756:21: 'add' + { + match("add"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ADD" + + // $ANTLR start "AND" + public final void mAND() throws RecognitionException { + try { + int _type = AND; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:757:19: ( 'and' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:757:21: 'and' + { + match("and"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "AND" + + // $ANTLR start "ANSISTRING" + public final void mANSISTRING() throws RecognitionException { + try { + int _type = ANSISTRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:758:19: ( 'ansistring' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:758:21: 'ansistring' + { + match("ansistring"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ANSISTRING" + + // $ANTLR start "ARRAY" + public final void mARRAY() throws RecognitionException { + try { + int _type = ARRAY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:759:19: ( 'array' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:759:21: 'array' + { + match("array"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ARRAY" + + // $ANTLR start "AS" + public final void mAS() throws RecognitionException { + try { + int _type = AS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:760:19: ( 'as' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:760:21: 'as' + { + match("as"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "AS" + + // $ANTLR start "ASM" + public final void mASM() throws RecognitionException { + try { + int _type = ASM; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:761:19: ( 'asm' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:761:21: 'asm' + { + match("asm"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ASM" + + // $ANTLR start "ASSEMBLER" + public final void mASSEMBLER() throws RecognitionException { + try { + int _type = ASSEMBLER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:762:19: ( 'assembler' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:762:21: 'assembler' + { + match("assembler"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ASSEMBLER" + + // $ANTLR start "ASSEMBLY" + public final void mASSEMBLY() throws RecognitionException { + try { + int _type = ASSEMBLY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:763:19: ( 'assembly' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:763:21: 'assembly' + { + match("assembly"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ASSEMBLY" + + // $ANTLR start "AT" + public final void mAT() throws RecognitionException { + try { + int _type = AT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:764:19: ( 'at' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:764:21: 'at' + { + match("at"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "AT" + + // $ANTLR start "AUTOMATED" + public final void mAUTOMATED() throws RecognitionException { + try { + int _type = AUTOMATED; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:765:19: ( 'automated' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:765:21: 'automated' + { + match("automated"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "AUTOMATED" + + // $ANTLR start "BEGIN" + public final void mBEGIN() throws RecognitionException { + try { + int _type = BEGIN; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:766:19: ( 'begin' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:766:21: 'begin' + { + match("begin"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "BEGIN" + + // $ANTLR start "BREAK" + public final void mBREAK() throws RecognitionException { + try { + int _type = BREAK; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:767:19: ( 'break' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:767:21: 'break' + { + match("break"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "BREAK" + + // $ANTLR start "CASE" + public final void mCASE() throws RecognitionException { + try { + int _type = CASE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:768:19: ( 'case' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:768:21: 'case' + { + match("case"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "CASE" + + // $ANTLR start "CDECL" + public final void mCDECL() throws RecognitionException { + try { + int _type = CDECL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:769:19: ( 'cdecl' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:769:21: 'cdecl' + { + match("cdecl"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "CDECL" + + // $ANTLR start "CLASS" + public final void mCLASS() throws RecognitionException { + try { + int _type = CLASS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:770:19: ( 'class' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:770:21: 'class' + { + match("class"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "CLASS" + + // $ANTLR start "CONST" + public final void mCONST() throws RecognitionException { + try { + int _type = CONST; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:771:19: ( 'const' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:771:21: 'const' + { + match("const"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "CONST" + + // $ANTLR start "CONSTRUCTOR" + public final void mCONSTRUCTOR() throws RecognitionException { + try { + int _type = CONSTRUCTOR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:772:19: ( 'constructor' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:772:21: 'constructor' + { + match("constructor"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "CONSTRUCTOR" + + // $ANTLR start "CONTAINS" + public final void mCONTAINS() throws RecognitionException { + try { + int _type = CONTAINS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:773:19: ( 'contains' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:773:21: 'contains' + { + match("contains"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "CONTAINS" + + // $ANTLR start "CONTINUE" + public final void mCONTINUE() throws RecognitionException { + try { + int _type = CONTINUE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:774:19: ( 'continue' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:774:21: 'continue' + { + match("continue"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "CONTINUE" + + // $ANTLR start "DEFAULT" + public final void mDEFAULT() throws RecognitionException { + try { + int _type = DEFAULT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:775:19: ( 'default' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:775:21: 'default' + { + match("default"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DEFAULT" + + // $ANTLR start "DELAYED" + public final void mDELAYED() throws RecognitionException { + try { + int _type = DELAYED; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:776:19: ( 'delayed' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:776:21: 'delayed' + { + match("delayed"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DELAYED" + + // $ANTLR start "DEPRECATED" + public final void mDEPRECATED() throws RecognitionException { + try { + int _type = DEPRECATED; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:777:19: ( 'deprecated' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:777:21: 'deprecated' + { + match("deprecated"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DEPRECATED" + + // $ANTLR start "DESTRUCTOR" + public final void mDESTRUCTOR() throws RecognitionException { + try { + int _type = DESTRUCTOR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:778:19: ( 'destructor' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:778:21: 'destructor' + { + match("destructor"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DESTRUCTOR" + + // $ANTLR start "DISPID" + public final void mDISPID() throws RecognitionException { + try { + int _type = DISPID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:779:19: ( 'dispid' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:779:21: 'dispid' + { + match("dispid"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DISPID" + + // $ANTLR start "DISPINTERFACE" + public final void mDISPINTERFACE() throws RecognitionException { + try { + int _type = DISPINTERFACE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:780:19: ( 'dispinterface' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:780:21: 'dispinterface' + { + match("dispinterface"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DISPINTERFACE" + + // $ANTLR start "DIV" + public final void mDIV() throws RecognitionException { + try { + int _type = DIV; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:781:19: ( 'div' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:781:21: 'div' + { + match("div"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DIV" + + // $ANTLR start "DO" + public final void mDO() throws RecognitionException { + try { + int _type = DO; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:782:19: ( 'do' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:782:21: 'do' + { + match("do"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DO" + + // $ANTLR start "DOWNTO" + public final void mDOWNTO() throws RecognitionException { + try { + int _type = DOWNTO; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:783:19: ( 'downto' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:783:21: 'downto' + { + match("downto"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DOWNTO" + + // $ANTLR start "DQ" + public final void mDQ() throws RecognitionException { + try { + int _type = DQ; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:784:19: ( 'dq' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:784:21: 'dq' + { + match("dq"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DQ" + + // $ANTLR start "DW" + public final void mDW() throws RecognitionException { + try { + int _type = DW; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:785:19: ( 'dw' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:785:21: 'dw' + { + match("dw"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DW" + + // $ANTLR start "DYNAMIC" + public final void mDYNAMIC() throws RecognitionException { + try { + int _type = DYNAMIC; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:786:19: ( 'dynamic' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:786:21: 'dynamic' + { + match("dynamic"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DYNAMIC" + + // $ANTLR start "ELSE" + public final void mELSE() throws RecognitionException { + try { + int _type = ELSE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:787:19: ( 'else' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:787:21: 'else' + { + match("else"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ELSE" + + // $ANTLR start "END" + public final void mEND() throws RecognitionException { + try { + int _type = END; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:788:19: ( 'end' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:788:21: 'end' + { + match("end"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "END" + + // $ANTLR start "EXCEPT" + public final void mEXCEPT() throws RecognitionException { + try { + int _type = EXCEPT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:789:19: ( 'except' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:789:21: 'except' + { + match("except"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "EXCEPT" + + // $ANTLR start "EXIT" + public final void mEXIT() throws RecognitionException { + try { + int _type = EXIT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:790:19: ( 'exit' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:790:21: 'exit' + { + match("exit"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "EXIT" + + // $ANTLR start "EXPERIMENTAL" + public final void mEXPERIMENTAL() throws RecognitionException { + try { + int _type = EXPERIMENTAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:791:19: ( 'experimental' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:791:21: 'experimental' + { + match("experimental"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "EXPERIMENTAL" + + // $ANTLR start "EXPORT" + public final void mEXPORT() throws RecognitionException { + try { + int _type = EXPORT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:792:19: ( 'export' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:792:21: 'export' + { + match("export"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "EXPORT" + + // $ANTLR start "EXPORTS" + public final void mEXPORTS() throws RecognitionException { + try { + int _type = EXPORTS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:793:19: ( 'exports' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:793:21: 'exports' + { + match("exports"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "EXPORTS" + + // $ANTLR start "EXTERNAL" + public final void mEXTERNAL() throws RecognitionException { + try { + int _type = EXTERNAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:794:19: ( 'external' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:794:21: 'external' + { + match("external"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "EXTERNAL" + + // $ANTLR start "FAR" + public final void mFAR() throws RecognitionException { + try { + int _type = FAR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:795:19: ( 'far' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:795:21: 'far' + { + match("far"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "FAR" + + // $ANTLR start "FILE" + public final void mFILE() throws RecognitionException { + try { + int _type = FILE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:796:19: ( 'file' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:796:21: 'file' + { + match("file"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "FILE" + + // $ANTLR start "FINAL" + public final void mFINAL() throws RecognitionException { + try { + int _type = FINAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:797:19: ( 'final' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:797:21: 'final' + { + match("final"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "FINAL" + + // $ANTLR start "FINALIZATION" + public final void mFINALIZATION() throws RecognitionException { + try { + int _type = FINALIZATION; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:798:19: ( 'finalization' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:798:21: 'finalization' + { + match("finalization"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "FINALIZATION" + + // $ANTLR start "FINALLY" + public final void mFINALLY() throws RecognitionException { + try { + int _type = FINALLY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:799:19: ( 'finally' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:799:21: 'finally' + { + match("finally"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "FINALLY" + + // $ANTLR start "FOR" + public final void mFOR() throws RecognitionException { + try { + int _type = FOR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:800:19: ( 'for' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:800:21: 'for' + { + match("for"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "FOR" + + // $ANTLR start "FORWARD" + public final void mFORWARD() throws RecognitionException { + try { + int _type = FORWARD; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:801:19: ( 'forward' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:801:21: 'forward' + { + match("forward"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "FORWARD" + + // $ANTLR start "FUNCTION" + public final void mFUNCTION() throws RecognitionException { + try { + int _type = FUNCTION; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:802:19: ( 'function' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:802:21: 'function' + { + match("function"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "FUNCTION" + + // $ANTLR start "GOTO" + public final void mGOTO() throws RecognitionException { + try { + int _type = GOTO; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:803:19: ( 'goto' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:803:21: 'goto' + { + match("goto"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "GOTO" + + // $ANTLR start "HELPER" + public final void mHELPER() throws RecognitionException { + try { + int _type = HELPER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:804:19: ( 'helper' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:804:21: 'helper' + { + match("helper"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "HELPER" + + // $ANTLR start "IF" + public final void mIF() throws RecognitionException { + try { + int _type = IF; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:805:19: ( 'if' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:805:21: 'if' + { + match("if"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "IF" + + // $ANTLR start "IMPLEMENTATION" + public final void mIMPLEMENTATION() throws RecognitionException { + try { + int _type = IMPLEMENTATION; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:806:19: ( 'implementation' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:806:21: 'implementation' + { + match("implementation"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "IMPLEMENTATION" + + // $ANTLR start "IMPLEMENTS" + public final void mIMPLEMENTS() throws RecognitionException { + try { + int _type = IMPLEMENTS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:807:19: ( 'implements' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:807:21: 'implements' + { + match("implements"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "IMPLEMENTS" + + // $ANTLR start "IN" + public final void mIN() throws RecognitionException { + try { + int _type = IN; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:808:19: ( 'in' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:808:21: 'in' + { + match("in"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "IN" + + // $ANTLR start "INDEX" + public final void mINDEX() throws RecognitionException { + try { + int _type = INDEX; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:809:19: ( 'index' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:809:21: 'index' + { + match("index"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "INDEX" + + // $ANTLR start "INHERITED" + public final void mINHERITED() throws RecognitionException { + try { + int _type = INHERITED; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:810:19: ( 'inherited' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:810:21: 'inherited' + { + match("inherited"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "INHERITED" + + // $ANTLR start "INITIALIZATION" + public final void mINITIALIZATION() throws RecognitionException { + try { + int _type = INITIALIZATION; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:811:19: ( 'initialization' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:811:21: 'initialization' + { + match("initialization"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "INITIALIZATION" + + // $ANTLR start "INLINE" + public final void mINLINE() throws RecognitionException { + try { + int _type = INLINE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:812:19: ( 'inline' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:812:21: 'inline' + { + match("inline"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "INLINE" + + // $ANTLR start "INTERFACE" + public final void mINTERFACE() throws RecognitionException { + try { + int _type = INTERFACE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:813:19: ( 'interface' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:813:21: 'interface' + { + match("interface"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "INTERFACE" + + // $ANTLR start "IS" + public final void mIS() throws RecognitionException { + try { + int _type = IS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:814:19: ( 'is' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:814:21: 'is' + { + match("is"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "IS" + + // $ANTLR start "LABEL" + public final void mLABEL() throws RecognitionException { + try { + int _type = LABEL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:815:19: ( 'label' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:815:21: 'label' + { + match("label"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "LABEL" + + // $ANTLR start "LIBRARY" + public final void mLIBRARY() throws RecognitionException { + try { + int _type = LIBRARY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:816:19: ( 'library' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:816:21: 'library' + { + match("library"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "LIBRARY" + + // $ANTLR start "LOCAL" + public final void mLOCAL() throws RecognitionException { + try { + int _type = LOCAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:817:19: ( 'local' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:817:21: 'local' + { + match("local"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "LOCAL" + + // $ANTLR start "MESSAGE" + public final void mMESSAGE() throws RecognitionException { + try { + int _type = MESSAGE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:818:19: ( 'message' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:818:21: 'message' + { + match("message"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "MESSAGE" + + // $ANTLR start "MOD" + public final void mMOD() throws RecognitionException { + try { + int _type = MOD; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:819:19: ( 'mod' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:819:21: 'mod' + { + match("mod"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "MOD" + + // $ANTLR start "NAME" + public final void mNAME() throws RecognitionException { + try { + int _type = NAME; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:820:19: ( 'name' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:820:21: 'name' + { + match("name"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "NAME" + + // $ANTLR start "NEAR" + public final void mNEAR() throws RecognitionException { + try { + int _type = NEAR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:821:19: ( 'near' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:821:21: 'near' + { + match("near"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "NEAR" + + // $ANTLR start "NIL" + public final void mNIL() throws RecognitionException { + try { + int _type = NIL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:822:19: ( 'nil' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:822:21: 'nil' + { + match("nil"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "NIL" + + // $ANTLR start "NODEFAULT" + public final void mNODEFAULT() throws RecognitionException { + try { + int _type = NODEFAULT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:823:19: ( 'nodefault' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:823:21: 'nodefault' + { + match("nodefault"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "NODEFAULT" + + // $ANTLR start "NOT" + public final void mNOT() throws RecognitionException { + try { + int _type = NOT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:824:19: ( 'not' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:824:21: 'not' + { + match("not"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "NOT" + + // $ANTLR start "OBJECT" + public final void mOBJECT() throws RecognitionException { + try { + int _type = OBJECT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:825:19: ( 'object' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:825:21: 'object' + { + match("object"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "OBJECT" + + // $ANTLR start "OF" + public final void mOF() throws RecognitionException { + try { + int _type = OF; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:826:19: ( 'of' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:826:21: 'of' + { + match("of"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "OF" + + // $ANTLR start "ON" + public final void mON() throws RecognitionException { + try { + int _type = ON; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:827:19: ( 'on' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:827:21: 'on' + { + match("on"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ON" + + // $ANTLR start "OPERATOR" + public final void mOPERATOR() throws RecognitionException { + try { + int _type = OPERATOR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:828:19: ( 'operator' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:828:21: 'operator' + { + match("operator"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "OPERATOR" + + // $ANTLR start "OR" + public final void mOR() throws RecognitionException { + try { + int _type = OR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:829:19: ( 'or' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:829:21: 'or' + { + match("or"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "OR" + + // $ANTLR start "OUT" + public final void mOUT() throws RecognitionException { + try { + int _type = OUT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:830:19: ( 'out' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:830:21: 'out' + { + match("out"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "OUT" + + // $ANTLR start "OVERLOAD" + public final void mOVERLOAD() throws RecognitionException { + try { + int _type = OVERLOAD; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:831:19: ( 'overload' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:831:21: 'overload' + { + match("overload"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "OVERLOAD" + + // $ANTLR start "OVERRIDE" + public final void mOVERRIDE() throws RecognitionException { + try { + int _type = OVERRIDE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:832:19: ( 'override' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:832:21: 'override' + { + match("override"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "OVERRIDE" + + // $ANTLR start "PACKAGE" + public final void mPACKAGE() throws RecognitionException { + try { + int _type = PACKAGE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:833:19: ( 'package' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:833:21: 'package' + { + match("package"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PACKAGE" + + // $ANTLR start "PACKED" + public final void mPACKED() throws RecognitionException { + try { + int _type = PACKED; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:834:19: ( 'packed' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:834:21: 'packed' + { + match("packed"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PACKED" + + // $ANTLR start "PASCAL" + public final void mPASCAL() throws RecognitionException { + try { + int _type = PASCAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:835:19: ( 'pascal' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:835:21: 'pascal' + { + match("pascal"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PASCAL" + + // $ANTLR start "PLATFORM" + public final void mPLATFORM() throws RecognitionException { + try { + int _type = PLATFORM; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:836:19: ( 'platform' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:836:21: 'platform' + { + match("platform"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PLATFORM" + + // $ANTLR start "POINTER" + public final void mPOINTER() throws RecognitionException { + try { + int _type = POINTER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:837:19: ( 'pointer' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:837:21: 'pointer' + { + match("pointer"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "POINTER" + + // $ANTLR start "PRIVATE" + public final void mPRIVATE() throws RecognitionException { + try { + int _type = PRIVATE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:838:19: ( 'private' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:838:21: 'private' + { + match("private"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PRIVATE" + + // $ANTLR start "PROCEDURE" + public final void mPROCEDURE() throws RecognitionException { + try { + int _type = PROCEDURE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:839:19: ( 'procedure' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:839:21: 'procedure' + { + match("procedure"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PROCEDURE" + + // $ANTLR start "PROGRAM" + public final void mPROGRAM() throws RecognitionException { + try { + int _type = PROGRAM; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:840:19: ( 'program' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:840:21: 'program' + { + match("program"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PROGRAM" + + // $ANTLR start "PROPERTY" + public final void mPROPERTY() throws RecognitionException { + try { + int _type = PROPERTY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:841:19: ( 'property' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:841:21: 'property' + { + match("property"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PROPERTY" + + // $ANTLR start "PROTECTED" + public final void mPROTECTED() throws RecognitionException { + try { + int _type = PROTECTED; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:842:19: ( 'protected' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:842:21: 'protected' + { + match("protected"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PROTECTED" + + // $ANTLR start "PUBLIC" + public final void mPUBLIC() throws RecognitionException { + try { + int _type = PUBLIC; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:843:19: ( 'public' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:843:21: 'public' + { + match("public"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PUBLIC" + + // $ANTLR start "PUBLISHED" + public final void mPUBLISHED() throws RecognitionException { + try { + int _type = PUBLISHED; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:844:19: ( 'published' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:844:21: 'published' + { + match("published"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PUBLISHED" + + // $ANTLR start "RAISE" + public final void mRAISE() throws RecognitionException { + try { + int _type = RAISE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:845:19: ( 'raise' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:845:21: 'raise' + { + match("raise"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "RAISE" + + // $ANTLR start "READ" + public final void mREAD() throws RecognitionException { + try { + int _type = READ; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:846:19: ( 'read' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:846:21: 'read' + { + match("read"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "READ" + + // $ANTLR start "READONLY" + public final void mREADONLY() throws RecognitionException { + try { + int _type = READONLY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:847:19: ( 'readonly' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:847:21: 'readonly' + { + match("readonly"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "READONLY" + + // $ANTLR start "RECORD" + public final void mRECORD() throws RecognitionException { + try { + int _type = RECORD; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:848:19: ( 'record' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:848:21: 'record' + { + match("record"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "RECORD" + + // $ANTLR start "REFERENCE" + public final void mREFERENCE() throws RecognitionException { + try { + int _type = REFERENCE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:849:19: ( 'reference' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:849:21: 'reference' + { + match("reference"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "REFERENCE" + + // $ANTLR start "REGISTER" + public final void mREGISTER() throws RecognitionException { + try { + int _type = REGISTER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:850:19: ( 'register' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:850:21: 'register' + { + match("register"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "REGISTER" + + // $ANTLR start "REINTRODUCE" + public final void mREINTRODUCE() throws RecognitionException { + try { + int _type = REINTRODUCE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:851:19: ( 'reintroduce' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:851:21: 'reintroduce' + { + match("reintroduce"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "REINTRODUCE" + + // $ANTLR start "REMOVE" + public final void mREMOVE() throws RecognitionException { + try { + int _type = REMOVE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:852:19: ( 'remove' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:852:21: 'remove' + { + match("remove"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "REMOVE" + + // $ANTLR start "REPEAT" + public final void mREPEAT() throws RecognitionException { + try { + int _type = REPEAT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:853:19: ( 'repeat' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:853:21: 'repeat' + { + match("repeat"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "REPEAT" + + // $ANTLR start "REQUIRES" + public final void mREQUIRES() throws RecognitionException { + try { + int _type = REQUIRES; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:854:19: ( 'requires' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:854:21: 'requires' + { + match("requires"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "REQUIRES" + + // $ANTLR start "RESIDENT" + public final void mRESIDENT() throws RecognitionException { + try { + int _type = RESIDENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:855:19: ( 'resident' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:855:21: 'resident' + { + match("resident"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "RESIDENT" + + // $ANTLR start "RESOURCESTRING" + public final void mRESOURCESTRING() throws RecognitionException { + try { + int _type = RESOURCESTRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:856:19: ( 'resourcestring' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:856:21: 'resourcestring' + { + match("resourcestring"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "RESOURCESTRING" + + // $ANTLR start "SAFECALL" + public final void mSAFECALL() throws RecognitionException { + try { + int _type = SAFECALL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:857:19: ( 'safecall' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:857:21: 'safecall' + { + match("safecall"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "SAFECALL" + + // $ANTLR start "SEALED" + public final void mSEALED() throws RecognitionException { + try { + int _type = SEALED; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:858:19: ( 'sealed' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:858:21: 'sealed' + { + match("sealed"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "SEALED" + + // $ANTLR start "SET" + public final void mSET() throws RecognitionException { + try { + int _type = SET; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:859:19: ( 'set' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:859:21: 'set' + { + match("set"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "SET" + + // $ANTLR start "SHL" + public final void mSHL() throws RecognitionException { + try { + int _type = SHL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:860:19: ( 'shl' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:860:21: 'shl' + { + match("shl"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "SHL" + + // $ANTLR start "SHR" + public final void mSHR() throws RecognitionException { + try { + int _type = SHR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:861:19: ( 'shr' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:861:21: 'shr' + { + match("shr"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "SHR" + + // $ANTLR start "STATIC" + public final void mSTATIC() throws RecognitionException { + try { + int _type = STATIC; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:862:19: ( 'static' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:862:21: 'static' + { + match("static"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "STATIC" + + // $ANTLR start "STDCALL" + public final void mSTDCALL() throws RecognitionException { + try { + int _type = STDCALL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:863:19: ( 'stdcall' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:863:21: 'stdcall' + { + match("stdcall"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "STDCALL" + + // $ANTLR start "STORED" + public final void mSTORED() throws RecognitionException { + try { + int _type = STORED; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:864:19: ( 'stored' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:864:21: 'stored' + { + match("stored"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "STORED" + + // $ANTLR start "STRICT" + public final void mSTRICT() throws RecognitionException { + try { + int _type = STRICT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:865:19: ( 'strict' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:865:21: 'strict' + { + match("strict"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "STRICT" + + // $ANTLR start "STRING" + public final void mSTRING() throws RecognitionException { + try { + int _type = STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:866:19: ( 'string' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:866:21: 'string' + { + match("string"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "STRING" + + // $ANTLR start "THEN" + public final void mTHEN() throws RecognitionException { + try { + int _type = THEN; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:867:19: ( 'then' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:867:21: 'then' + { + match("then"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "THEN" + + // $ANTLR start "THREADVAR" + public final void mTHREADVAR() throws RecognitionException { + try { + int _type = THREADVAR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:868:19: ( 'threadvar' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:868:21: 'threadvar' + { + match("threadvar"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "THREADVAR" + + // $ANTLR start "TO" + public final void mTO() throws RecognitionException { + try { + int _type = TO; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:869:19: ( 'to' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:869:21: 'to' + { + match("to"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TO" + + // $ANTLR start "TRY" + public final void mTRY() throws RecognitionException { + try { + int _type = TRY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:870:19: ( 'try' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:870:21: 'try' + { + match("try"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TRY" + + // $ANTLR start "TYPE" + public final void mTYPE() throws RecognitionException { + try { + int _type = TYPE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:871:19: ( 'type' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:871:21: 'type' + { + match("type"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TYPE" + + // $ANTLR start "UNIT" + public final void mUNIT() throws RecognitionException { + try { + int _type = UNIT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:872:19: ( 'unit' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:872:21: 'unit' + { + match("unit"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "UNIT" + + // $ANTLR start "UNSAFE" + public final void mUNSAFE() throws RecognitionException { + try { + int _type = UNSAFE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:873:19: ( 'unsafe' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:873:21: 'unsafe' + { + match("unsafe"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "UNSAFE" + + // $ANTLR start "UNTIL" + public final void mUNTIL() throws RecognitionException { + try { + int _type = UNTIL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:874:19: ( 'until' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:874:21: 'until' + { + match("until"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "UNTIL" + + // $ANTLR start "USES" + public final void mUSES() throws RecognitionException { + try { + int _type = USES; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:875:19: ( 'uses' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:875:21: 'uses' + { + match("uses"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "USES" + + // $ANTLR start "VAR" + public final void mVAR() throws RecognitionException { + try { + int _type = VAR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:876:19: ( 'var' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:876:21: 'var' + { + match("var"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "VAR" + + // $ANTLR start "VARARGS" + public final void mVARARGS() throws RecognitionException { + try { + int _type = VARARGS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:877:19: ( 'varargs' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:877:21: 'varargs' + { + match("varargs"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "VARARGS" + + // $ANTLR start "VARIANT" + public final void mVARIANT() throws RecognitionException { + try { + int _type = VARIANT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:878:19: ( 'variant' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:878:21: 'variant' + { + match("variant"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "VARIANT" + + // $ANTLR start "VIRTUAL" + public final void mVIRTUAL() throws RecognitionException { + try { + int _type = VIRTUAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:879:19: ( 'virtual' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:879:21: 'virtual' + { + match("virtual"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "VIRTUAL" + + // $ANTLR start "WHILE" + public final void mWHILE() throws RecognitionException { + try { + int _type = WHILE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:880:19: ( 'while' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:880:21: 'while' + { + match("while"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "WHILE" + + // $ANTLR start "WITH" + public final void mWITH() throws RecognitionException { + try { + int _type = WITH; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:881:19: ( 'with' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:881:21: 'with' + { + match("with"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "WITH" + + // $ANTLR start "WRITE" + public final void mWRITE() throws RecognitionException { + try { + int _type = WRITE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:882:19: ( 'write' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:882:21: 'write' + { + match("write"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "WRITE" + + // $ANTLR start "WRITEONLY" + public final void mWRITEONLY() throws RecognitionException { + try { + int _type = WRITEONLY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:883:19: ( 'writeonly' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:883:21: 'writeonly' + { + match("writeonly"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "WRITEONLY" + + // $ANTLR start "XOR" + public final void mXOR() throws RecognitionException { + try { + int _type = XOR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:884:19: ( 'xor' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:884:21: 'xor' + { + match("xor"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "XOR" + + // $ANTLR start "FALSE" + public final void mFALSE() throws RecognitionException { + try { + int _type = FALSE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:885:19: ( 'false' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:885:21: 'false' + { + match("false"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "FALSE" + + // $ANTLR start "TRUE" + public final void mTRUE() throws RecognitionException { + try { + int _type = TRUE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:886:19: ( 'true' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:886:21: 'true' + { + match("true"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TRUE" + + // $ANTLR start "PLUS" + public final void mPLUS() throws RecognitionException { + try { + int _type = PLUS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:891:19: ( '+' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:891:21: '+' + { + match('+'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "PLUS" + + // $ANTLR start "MINUS" + public final void mMINUS() throws RecognitionException { + try { + int _type = MINUS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:892:19: ( '-' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:892:21: '-' + { + match('-'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "MINUS" + + // $ANTLR start "STAR" + public final void mSTAR() throws RecognitionException { + try { + int _type = STAR; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:893:19: ( '*' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:893:21: '*' + { + match('*'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "STAR" + + // $ANTLR start "SLASH" + public final void mSLASH() throws RecognitionException { + try { + int _type = SLASH; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:894:19: ( '/' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:894:21: '/' + { + match('/'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "SLASH" + + // $ANTLR start "ASSIGN" + public final void mASSIGN() throws RecognitionException { + try { + int _type = ASSIGN; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:895:19: ( ':=' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:895:21: ':=' + { + match(":="); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ASSIGN" + + // $ANTLR start "COMMA" + public final void mCOMMA() throws RecognitionException { + try { + int _type = COMMA; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:896:19: ( ',' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:896:21: ',' + { + match(','); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "COMMA" + + // $ANTLR start "SEMI" + public final void mSEMI() throws RecognitionException { + try { + int _type = SEMI; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:897:19: ( ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:897:21: ';' + { + match(';'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "SEMI" + + // $ANTLR start "COLON" + public final void mCOLON() throws RecognitionException { + try { + int _type = COLON; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:898:19: ( ':' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:898:21: ':' + { + match(':'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "COLON" + + // $ANTLR start "EQUAL" + public final void mEQUAL() throws RecognitionException { + try { + int _type = EQUAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:899:19: ( '=' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:899:21: '=' + { + match('='); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "EQUAL" + + // $ANTLR start "NOT_EQUAL" + public final void mNOT_EQUAL() throws RecognitionException { + try { + int _type = NOT_EQUAL; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:900:19: ( '<>' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:900:21: '<>' + { + match("<>"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "NOT_EQUAL" + + // $ANTLR start "LT" + public final void mLT() throws RecognitionException { + try { + int _type = LT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:901:19: ( '<' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:901:21: '<' + { + match('<'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "LT" + + // $ANTLR start "LE" + public final void mLE() throws RecognitionException { + try { + int _type = LE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:902:19: ( '<=' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:902:21: '<=' + { + match("<="); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "LE" + + // $ANTLR start "GE" + public final void mGE() throws RecognitionException { + try { + int _type = GE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:903:19: ( '>=' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:903:21: '>=' + { + match(">="); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "GE" + + // $ANTLR start "GT" + public final void mGT() throws RecognitionException { + try { + int _type = GT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:904:19: ( '>' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:904:21: '>' + { + match('>'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "GT" + + // $ANTLR start "LPAREN" + public final void mLPAREN() throws RecognitionException { + try { + int _type = LPAREN; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:905:19: ( '(' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:905:21: '(' + { + match('('); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "LPAREN" + + // $ANTLR start "RPAREN" + public final void mRPAREN() throws RecognitionException { + try { + int _type = RPAREN; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:906:19: ( ')' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:906:21: ')' + { + match(')'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "RPAREN" + + // $ANTLR start "LBRACK" + public final void mLBRACK() throws RecognitionException { + try { + int _type = LBRACK; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:907:19: ( '[' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:907:21: '[' + { + match('['); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "LBRACK" + + // $ANTLR start "LBRACK2" + public final void mLBRACK2() throws RecognitionException { + try { + int _type = LBRACK2; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:908:19: ( '(.' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:908:21: '(.' + { + match("(."); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "LBRACK2" + + // $ANTLR start "RBRACK" + public final void mRBRACK() throws RecognitionException { + try { + int _type = RBRACK; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:909:19: ( ']' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:909:21: ']' + { + match(']'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "RBRACK" + + // $ANTLR start "RBRACK2" + public final void mRBRACK2() throws RecognitionException { + try { + int _type = RBRACK2; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:910:19: ( '.)' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:910:21: '.)' + { + match(".)"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "RBRACK2" + + // $ANTLR start "POINTER2" + public final void mPOINTER2() throws RecognitionException { + try { + int _type = POINTER2; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:911:19: ( '^' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:911:21: '^' + { + match('^'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "POINTER2" + + // $ANTLR start "AT2" + public final void mAT2() throws RecognitionException { + try { + int _type = AT2; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:912:19: ( '@' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:912:21: '@' + { + match('@'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "AT2" + + // $ANTLR start "DOT" + public final void mDOT() throws RecognitionException { + try { + int _type = DOT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:913:19: ( '.' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:913:21: '.' + { + match('.'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DOT" + + // $ANTLR start "DOTDOT" + public final void mDOTDOT() throws RecognitionException { + try { + int _type = DOTDOT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:914:19: ( '..' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:914:21: '..' + { + match(".."); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "DOTDOT" + + // $ANTLR start "LCURLY" + public final void mLCURLY() throws RecognitionException { + try { + int _type = LCURLY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:915:19: ( '{' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:915:21: '{' + { + match('{'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "LCURLY" + + // $ANTLR start "RCURLY" + public final void mRCURLY() throws RecognitionException { + try { + int _type = RCURLY; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:916:19: ( '}' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:916:21: '}' + { + match('}'); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "RCURLY" + + // $ANTLR start "TkGlobalFunction" + public final void mTkGlobalFunction() throws RecognitionException { + try { + int _type = TkGlobalFunction; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:25: ( 'FUNCTION_GLOBAL' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:921:27: 'FUNCTION_GLOBAL' + { + match("FUNCTION_GLOBAL"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkGlobalFunction" + + // $ANTLR start "TkFunctionName" + public final void mTkFunctionName() throws RecognitionException { + try { + int _type = TkFunctionName; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:923:25: ( 'FUNCTION_NAME' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:923:27: 'FUNCTION_NAME' + { + match("FUNCTION_NAME"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkFunctionName" + + // $ANTLR start "TkFunctionArgs" + public final void mTkFunctionArgs() throws RecognitionException { + try { + int _type = TkFunctionArgs; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:925:25: ( 'FUNCTION_ARGS' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:925:27: 'FUNCTION_ARGS' + { + match("FUNCTION_ARGS"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkFunctionArgs" + + // $ANTLR start "TkFunctionBody" + public final void mTkFunctionBody() throws RecognitionException { + try { + int _type = TkFunctionBody; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:927:25: ( 'FUNCTION_BODY' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:927:27: 'FUNCTION_BODY' + { + match("FUNCTION_BODY"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkFunctionBody" + + // $ANTLR start "TkFunctionReturn" + public final void mTkFunctionReturn() throws RecognitionException { + try { + int _type = TkFunctionReturn; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:929:25: ( 'FUNCTION_RETURN' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:929:27: 'FUNCTION_RETURN' + { + match("FUNCTION_RETURN"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkFunctionReturn" + + // $ANTLR start "TkCustomAttribute" + public final void mTkCustomAttribute() throws RecognitionException { + try { + int _type = TkCustomAttribute; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:931:25: ( 'CUSTOM_ATTRIBUTE' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:931:27: 'CUSTOM_ATTRIBUTE' + { + match("CUSTOM_ATTRIBUTE"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkCustomAttribute" + + // $ANTLR start "TkCustomAttributeArgs" + public final void mTkCustomAttributeArgs() throws RecognitionException { + try { + int _type = TkCustomAttributeArgs; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:933:25: ( 'CUSTOM_ATTRIBUTE_ARGS' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:933:27: 'CUSTOM_ATTRIBUTE_ARGS' + { + match("CUSTOM_ATTRIBUTE_ARGS"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkCustomAttributeArgs" + + // $ANTLR start "TkNewType" + public final void mTkNewType() throws RecognitionException { + try { + int _type = TkNewType; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:935:25: ( 'NEW_TYPE' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:935:27: 'NEW_TYPE' + { + match("NEW_TYPE"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkNewType" + + // $ANTLR start "TkClass" + public final void mTkClass() throws RecognitionException { + try { + int _type = TkClass; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:937:25: ( 'CLASS' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:937:27: 'CLASS' + { + match("CLASS"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkClass" + + // $ANTLR start "TkRecord" + public final void mTkRecord() throws RecognitionException { + try { + int _type = TkRecord; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:939:25: ( 'RECORD_TYPE' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:939:27: 'RECORD_TYPE' + { + match("RECORD_TYPE"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkRecord" + + // $ANTLR start "TkRecordHelper" + public final void mTkRecordHelper() throws RecognitionException { + try { + int _type = TkRecordHelper; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:941:25: ( 'RECORD_HELPER' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:941:27: 'RECORD_HELPER' + { + match("RECORD_HELPER"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkRecordHelper" + + // $ANTLR start "TkInterface" + public final void mTkInterface() throws RecognitionException { + try { + int _type = TkInterface; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:943:25: ( 'INTERFACE_TYPE' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:943:27: 'INTERFACE_TYPE' + { + match("INTERFACE_TYPE"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkInterface" + + // $ANTLR start "TkObject" + public final void mTkObject() throws RecognitionException { + try { + int _type = TkObject; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:945:25: ( 'OBJECT_TYPE' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:945:27: 'OBJECT_TYPE' + { + match("OBJECT_TYPE"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkObject" + + // $ANTLR start "TkClassOfType" + public final void mTkClassOfType() throws RecognitionException { + try { + int _type = TkClassOfType; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:947:25: ( 'CLASS_OF_TYPE' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:947:27: 'CLASS_OF_TYPE' + { + match("CLASS_OF_TYPE"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkClassOfType" + + // $ANTLR start "TkVariableType" + public final void mTkVariableType() throws RecognitionException { + try { + int _type = TkVariableType; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:949:25: ( 'VARIABLE_TYPE' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:949:27: 'VARIABLE_TYPE' + { + match("VARIABLE_TYPE"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkVariableType" + + // $ANTLR start "TkVariableIdents" + public final void mTkVariableIdents() throws RecognitionException { + try { + int _type = TkVariableIdents; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:951:25: ( 'VARIABLE_IDENTS' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:951:27: 'VARIABLE_IDENTS' + { + match("VARIABLE_IDENTS"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkVariableIdents" + + // $ANTLR start "TkVariableParam" + public final void mTkVariableParam() throws RecognitionException { + try { + int _type = TkVariableParam; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:953:25: ( 'VARIABLE_PARAM' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:953:27: 'VARIABLE_PARAM' + { + match("VARIABLE_PARAM"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkVariableParam" + + // $ANTLR start "TkGuid" + public final void mTkGuid() throws RecognitionException { + try { + int _type = TkGuid; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:955:25: ( 'INTERFACE_GUID' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:955:27: 'INTERFACE_GUID' + { + match("INTERFACE_GUID"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkGuid" + + // $ANTLR start "TkClassParents" + public final void mTkClassParents() throws RecognitionException { + try { + int _type = TkClassParents; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:957:25: ( 'CLASS_PARENTS' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:957:27: 'CLASS_PARENTS' + { + match("CLASS_PARENTS"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkClassParents" + + // $ANTLR start "TkClassField" + public final void mTkClassField() throws RecognitionException { + try { + int _type = TkClassField; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:959:25: ( 'CLASS_FIELD' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:959:27: 'CLASS_FIELD' + { + match("CLASS_FIELD"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkClassField" + + // $ANTLR start "TkAnonymousExpression" + public final void mTkAnonymousExpression() throws RecognitionException { + try { + int _type = TkAnonymousExpression; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:961:25: ( 'ANONYMOUS_EXPRESSION' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:961:27: 'ANONYMOUS_EXPRESSION' + { + match("ANONYMOUS_EXPRESSION"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkAnonymousExpression" + + // $ANTLR start "TkIdentifier" + public final void mTkIdentifier() throws RecognitionException { + try { + int _type = TkIdentifier; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:963:25: ( ( Alpha | '_' ) ( Alpha | Digit | '_' )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:963:27: ( Alpha | '_' ) ( Alpha | Digit | '_' )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:963:27: ( Alpha | '_' ) + int alt1=2; + int LA1_0 = input.LA(1); + if ( ((LA1_0 >= 'A' && LA1_0 <= 'Z')||(LA1_0 >= 'a' && LA1_0 <= 'z')||(LA1_0 >= '\u0080' && LA1_0 <= '\uFFFE')) ) { + alt1=1; + } + else if ( (LA1_0=='_') ) { + alt1=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return;} + NoViableAltException nvae = + new NoViableAltException("", 1, 0, input); + throw nvae; + } + + switch (alt1) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:963:28: Alpha + { + mAlpha(); if (state.failed) return; + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:963:36: '_' + { + match('_'); if (state.failed) return; + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:963:41: ( Alpha | Digit | '_' )* + loop2: + while (true) { + int alt2=4; + int LA2_0 = input.LA(1); + if ( ((LA2_0 >= 'A' && LA2_0 <= 'Z')||(LA2_0 >= 'a' && LA2_0 <= 'z')||(LA2_0 >= '\u0080' && LA2_0 <= '\uFFFE')) ) { + alt2=1; + } + else if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) { + alt2=2; + } + else if ( (LA2_0=='_') ) { + alt2=3; + } + + switch (alt2) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:963:42: Alpha + { + mAlpha(); if (state.failed) return; + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:963:50: Digit + { + mDigit(); if (state.failed) return; + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:963:58: '_' + { + match('_'); if (state.failed) return; + } + break; + + default : + break loop2; + } + } + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkIdentifier" + + // $ANTLR start "TkIntNum" + public final void mTkIntNum() throws RecognitionException { + try { + int _type = TkIntNum; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:965:25: ( Digitseq ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:965:27: Digitseq + { + mDigitseq(); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkIntNum" + + // $ANTLR start "TkRealNum" + public final void mTkRealNum() throws RecognitionException { + try { + int _type = TkRealNum; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:25: ( Digitseq ( ( ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? )=> ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? | () ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:27: Digitseq ( ( ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? )=> ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? | () ) + { + mDigitseq(); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:36: ( ( ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? )=> ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? | () ) + int alt6=2; + int LA6_0 = input.LA(1); + if ( (LA6_0=='.') && (synpred1_Delphi())) { + alt6=1; + } + else if ( (LA6_0=='E'||LA6_0=='e') && (synpred1_Delphi())) { + alt6=1; + } + else if ( (synpred1_Delphi()) ) { + alt6=1; + } + else if ( (true) ) { + alt6=2; + } + + switch (alt6) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:38: ( ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? )=> ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:92: ( DOT Digitseq )? + int alt3=2; + int LA3_0 = input.LA(1); + if ( (LA3_0=='.') ) { + alt3=1; + } + switch (alt3) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:93: DOT Digitseq + { + mDOT(); if (state.failed) return; + + mDigitseq(); if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:108: ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? + int alt5=2; + int LA5_0 = input.LA(1); + if ( (LA5_0=='E'||LA5_0=='e') ) { + alt5=1; + } + switch (alt5) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:109: ( 'e' | 'E' ) ( '+' | '-' )? Digitseq + { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:119: ( '+' | '-' )? + int alt4=2; + int LA4_0 = input.LA(1); + if ( (LA4_0=='+'||LA4_0=='-') ) { + alt4=1; + } + switch (alt4) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + break; + + } + + mDigitseq(); if (state.failed) return; + + } + break; + + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:143: () + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:143: () + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:144: + { + } + + if ( state.backtracking==0 ) { _type = TkIntNum; } + } + break; + + } + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkRealNum" + + // $ANTLR start "TkHexNum" + public final void mTkHexNum() throws RecognitionException { + try { + int _type = TkHexNum; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:969:25: ( '$' Hexdigitseq ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:969:27: '$' Hexdigitseq + { + match('$'); if (state.failed) return; + mHexdigitseq(); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "TkHexNum" + + // $ANTLR start "ControlChar" + public final void mControlChar() throws RecognitionException { + try { + int _type = ControlChar; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:971:25: ( '^' ({...}? => Alpha |) | '#' Digitseq | '#' '$' Hexdigitseq ) + int alt8=3; + int LA8_0 = input.LA(1); + if ( (LA8_0=='^') ) { + alt8=1; + } + else if ( (LA8_0=='#') ) { + int LA8_2 = input.LA(2); + if ( (LA8_2=='$') ) { + alt8=3; + } + else if ( ((LA8_2 >= '0' && LA8_2 <= '9')) ) { + alt8=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 8, 2, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return;} + NoViableAltException nvae = + new NoViableAltException("", 8, 0, input); + throw nvae; + } + + switch (alt8) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:971:27: '^' ({...}? => Alpha |) + { + match('^'); if (state.failed) return; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:971:31: ({...}? => Alpha |) + int alt7=2; + int LA7_0 = input.LA(1); + if ( ((LA7_0 >= 'A' && LA7_0 <= 'Z')||(LA7_0 >= 'a' && LA7_0 <= 'z')||(LA7_0 >= '\u0080' && LA7_0 <= '\uFFFE')) && ((isControlchar()))) { + alt7=1; + } + + switch (alt7) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:971:33: {...}? => Alpha + { + if ( !((isControlchar())) ) { + if (state.backtracking>0) {state.failed=true; return;} + throw new FailedPredicateException(input, "ControlChar", "isControlchar()"); + } + mAlpha(); if (state.failed) return; + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:972:31: + { + if ( state.backtracking==0 ) {_type=POINTER2;} + } + break; + + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:974:27: '#' Digitseq + { + match('#'); if (state.failed) return; + mDigitseq(); if (state.failed) return; + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:975:27: '#' '$' Hexdigitseq + { + match('#'); if (state.failed) return; + match('$'); if (state.failed) return; + mHexdigitseq(); if (state.failed) return; + + } + break; + + } + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "ControlChar" + + // $ANTLR start "QuotedString" + public final void mQuotedString() throws RecognitionException { + try { + int _type = QuotedString; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:977:25: ( '\\'' ( '\\'\\'' |~ ( '\\'' ) )* '\\'' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:977:27: '\\'' ( '\\'\\'' |~ ( '\\'' ) )* '\\'' + { + match('\''); if (state.failed) return; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:977:32: ( '\\'\\'' |~ ( '\\'' ) )* + loop9: + while (true) { + int alt9=3; + int LA9_0 = input.LA(1); + if ( (LA9_0=='\'') ) { + int LA9_1 = input.LA(2); + if ( (LA9_1=='\'') ) { + alt9=1; + } + + } + else if ( ((LA9_0 >= '\u0000' && LA9_0 <= '&')||(LA9_0 >= '(' && LA9_0 <= '\uFFFF')) ) { + alt9=2; + } + + switch (alt9) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:977:33: '\\'\\'' + { + match("''"); if (state.failed) return; + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:977:42: ~ ( '\\'' ) + { + if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '\uFFFF') ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + break; + + default : + break loop9; + } + } + + match('\''); if (state.failed) return; + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "QuotedString" + + // $ANTLR start "Alpha" + public final void mAlpha() throws RecognitionException { + try { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:981:25: ( 'a' .. 'z' | 'A' .. 'Z' | '\\u0080' .. '\\uFFFE' ~ ( '\\uFEFF' ) ) + int alt10=3; + int LA10_0 = input.LA(1); + if ( ((LA10_0 >= 'a' && LA10_0 <= 'z')) ) { + alt10=1; + } + else if ( ((LA10_0 >= 'A' && LA10_0 <= 'Z')) ) { + alt10=2; + } + else if ( ((LA10_0 >= '\u0080' && LA10_0 <= '\uFFFE')) ) { + alt10=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return;} + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); + throw nvae; + } + + switch (alt10) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:981:27: 'a' .. 'z' + { + matchRange('a','z'); if (state.failed) return; + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:982:27: 'A' .. 'Z' + { + matchRange('A','Z'); if (state.failed) return; + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:983:27: '\\u0080' .. '\\uFFFE' ~ ( '\\uFEFF' ) + { + matchRange('\u0080','\uFFFE'); if (state.failed) return; + if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\uFEFE')||(input.LA(1) >= '\uFF00' && input.LA(1) <= '\uFFFF') ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + break; + + } + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "Alpha" + + // $ANTLR start "Digit" + public final void mDigit() throws RecognitionException { + try { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:986:25: ( '0' .. '9' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "Digit" + + // $ANTLR start "Digitseq" + public final void mDigitseq() throws RecognitionException { + try { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:989:25: ( Digit ( Digit )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:989:27: Digit ( Digit )* + { + mDigit(); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:989:33: ( Digit )* + loop11: + while (true) { + int alt11=2; + int LA11_0 = input.LA(1); + if ( ((LA11_0 >= '0' && LA11_0 <= '9')) ) { + alt11=1; + } + + switch (alt11) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + break; + + default : + break loop11; + } + } + + } + + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "Digitseq" + + // $ANTLR start "Hexdigit" + public final void mHexdigit() throws RecognitionException { + try { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:992:25: ( Digit | 'a' .. 'f' | 'A' .. 'F' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + 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(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "Hexdigit" + + // $ANTLR start "Hexdigitseq" + public final void mHexdigitseq() throws RecognitionException { + try { + int _type = Hexdigitseq; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:993:25: ( Hexdigit ( Hexdigit )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:993:27: Hexdigit ( Hexdigit )* + { + mHexdigit(); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:993:36: ( Hexdigit )* + loop12: + while (true) { + int alt12=2; + int LA12_0 = input.LA(1); + if ( ((LA12_0 >= '0' && LA12_0 <= '9')||(LA12_0 >= 'A' && LA12_0 <= 'F')||(LA12_0 >= 'a' && LA12_0 <= 'f')) ) { + alt12=1; + } + + switch (alt12) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + 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(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + break; + + default : + break loop12; + } + } + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "Hexdigitseq" + + // $ANTLR start "COMMENT" + public final void mCOMMENT() throws RecognitionException { + try { + int _type = COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:995:25: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' | '(*' ( options {greedy=false; } : . )* '*)' | '{' ( options {greedy=false; } : . )* '}' ) + int alt17=3; + switch ( input.LA(1) ) { + case '/': + { + alt17=1; + } + break; + case '(': + { + alt17=2; + } + break; + case '{': + { + alt17=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return;} + NoViableAltException nvae = + new NoViableAltException("", 17, 0, input); + throw nvae; + } + switch (alt17) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:995:28: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' + { + match("//"); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:995:33: (~ ( '\\n' | '\\r' ) )* + loop13: + while (true) { + int alt13=2; + int LA13_0 = input.LA(1); + if ( ((LA13_0 >= '\u0000' && LA13_0 <= '\t')||(LA13_0 >= '\u000B' && LA13_0 <= '\f')||(LA13_0 >= '\u000E' && LA13_0 <= '\uFFFF')) ) { + alt13=1; + } + + switch (alt13) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\uFFFF') ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + break; + + default : + break loop13; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:995:47: ( '\\r' )? + int alt14=2; + int LA14_0 = input.LA(1); + if ( (LA14_0=='\r') ) { + alt14=1; + } + switch (alt14) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:995:47: '\\r' + { + match('\r'); if (state.failed) return; + } + break; + + } + + match('\n'); if (state.failed) return; + if ( state.backtracking==0 ) {_channel=HIDDEN;} + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:996:28: '(*' ( options {greedy=false; } : . )* '*)' + { + match("(*"); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:996:33: ( options {greedy=false; } : . )* + loop15: + while (true) { + int alt15=2; + int LA15_0 = input.LA(1); + if ( (LA15_0=='*') ) { + int LA15_1 = input.LA(2); + if ( (LA15_1==')') ) { + alt15=2; + } + else if ( ((LA15_1 >= '\u0000' && LA15_1 <= '(')||(LA15_1 >= '*' && LA15_1 <= '\uFFFF')) ) { + alt15=1; + } + + } + else if ( ((LA15_0 >= '\u0000' && LA15_0 <= ')')||(LA15_0 >= '+' && LA15_0 <= '\uFFFF')) ) { + alt15=1; + } + + switch (alt15) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:996:61: . + { + matchAny(); if (state.failed) return; + } + break; + + default : + break loop15; + } + } + + match("*)"); if (state.failed) return; + + if ( state.backtracking==0 ) {_channel=HIDDEN;} + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:997:28: '{' ( options {greedy=false; } : . )* '}' + { + match('{'); if (state.failed) return; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:997:32: ( options {greedy=false; } : . )* + loop16: + while (true) { + int alt16=2; + int LA16_0 = input.LA(1); + if ( (LA16_0=='}') ) { + alt16=2; + } + else if ( ((LA16_0 >= '\u0000' && LA16_0 <= '|')||(LA16_0 >= '~' && LA16_0 <= '\uFFFF')) ) { + alt16=1; + } + + switch (alt16) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:997:60: . + { + matchAny(); if (state.failed) return; + } + break; + + default : + break loop16; + } + } + + match('}'); if (state.failed) return; + if ( state.backtracking==0 ) {_channel=HIDDEN;} + } + break; + + } + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "COMMENT" + + // $ANTLR start "WS" + public final void mWS() throws RecognitionException { + try { + int _type = WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:999:25: ( ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )+ ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:999:27: ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )+ + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:999:27: ( ' ' | '\\t' | '\\r' | '\\n' | '\\f' )+ + int cnt18=0; + loop18: + while (true) { + int alt18=2; + int LA18_0 = input.LA(1); + if ( ((LA18_0 >= '\t' && LA18_0 <= '\n')||(LA18_0 >= '\f' && LA18_0 <= '\r')||LA18_0==' ') ) { + alt18=1; + } + + switch (alt18) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||(input.LA(1) >= '\f' && input.LA(1) <= '\r')||input.LA(1)==' ' ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + break; + + default : + if ( cnt18 >= 1 ) break loop18; + if (state.backtracking>0) {state.failed=true; return;} + EarlyExitException eee = new EarlyExitException(18, input); + throw eee; + } + cnt18++; + } + + if ( state.backtracking==0 ) {_channel=HIDDEN;} + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "WS" + + // $ANTLR start "UnicodeBOM" + public final void mUnicodeBOM() throws RecognitionException { + try { + int _type = UnicodeBOM; + int _channel = DEFAULT_TOKEN_CHANNEL; + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1001:25: ( '\\uFEFF' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1001:27: '\\uFEFF' + { + match('\uFEFF'); if (state.failed) return; + if ( state.backtracking==0 ) {_channel=HIDDEN;} + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "UnicodeBOM" + + @Override + public void mTokens() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:8: ( T__198 | T__199 | T__200 | T__201 | T__202 | T__203 | T__204 | T__205 | T__206 | T__207 | T__208 | T__209 | T__210 | ABSOLUTE | ABSTRACT | ADD | AND | ANSISTRING | ARRAY | AS | ASM | ASSEMBLER | ASSEMBLY | AT | AUTOMATED | BEGIN | BREAK | CASE | CDECL | CLASS | CONST | CONSTRUCTOR | CONTAINS | CONTINUE | DEFAULT | DELAYED | DEPRECATED | DESTRUCTOR | DISPID | DISPINTERFACE | DIV | DO | DOWNTO | DQ | DW | DYNAMIC | ELSE | END | EXCEPT | EXIT | EXPERIMENTAL | EXPORT | EXPORTS | EXTERNAL | FAR | FILE | FINAL | FINALIZATION | FINALLY | FOR | FORWARD | FUNCTION | GOTO | HELPER | IF | IMPLEMENTATION | IMPLEMENTS | IN | INDEX | INHERITED | INITIALIZATION | INLINE | INTERFACE | IS | LABEL | LIBRARY | LOCAL | MESSAGE | MOD | NAME | NEAR | NIL | NODEFAULT | NOT | OBJECT | OF | ON | OPERATOR | OR | OUT | OVERLOAD | OVERRIDE | PACKAGE | PACKED | PASCAL | PLATFORM | POINTER | PRIVATE | PROCEDURE | PROGRAM | PROPERTY | PROTECTED | PUBLIC | PUBLISHED | RAISE | READ | READONLY | RECORD | REFERENCE | REGISTER | REINTRODUCE | REMOVE | REPEAT | REQUIRES | RESIDENT | RESOURCESTRING | SAFECALL | SEALED | SET | SHL | SHR | STATIC | STDCALL | STORED | STRICT | STRING | THEN | THREADVAR | TO | TRY | TYPE | UNIT | UNSAFE | UNTIL | USES | VAR | VARARGS | VARIANT | VIRTUAL | WHILE | WITH | WRITE | WRITEONLY | XOR | FALSE | TRUE | PLUS | MINUS | STAR | SLASH | ASSIGN | COMMA | SEMI | COLON | EQUAL | NOT_EQUAL | LT | LE | GE | GT | LPAREN | RPAREN | LBRACK | LBRACK2 | RBRACK | RBRACK2 | POINTER2 | AT2 | DOT | DOTDOT | LCURLY | RCURLY | TkGlobalFunction | TkFunctionName | TkFunctionArgs | TkFunctionBody | TkFunctionReturn | TkCustomAttribute | TkCustomAttributeArgs | TkNewType | TkClass | TkRecord | TkRecordHelper | TkInterface | TkObject | TkClassOfType | TkVariableType | TkVariableIdents | TkVariableParam | TkGuid | TkClassParents | TkClassField | TkAnonymousExpression | TkIdentifier | TkIntNum | TkRealNum | TkHexNum | ControlChar | QuotedString | Hexdigitseq | COMMENT | WS | UnicodeBOM ) + int alt19=203; + alt19 = dfa19.predict(input); + switch (alt19) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:10: T__198 + { + mT__198(); if (state.failed) return; + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:17: T__199 + { + mT__199(); if (state.failed) return; + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:24: T__200 + { + mT__200(); if (state.failed) return; + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:31: T__201 + { + mT__201(); if (state.failed) return; + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:38: T__202 + { + mT__202(); if (state.failed) return; + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:45: T__203 + { + mT__203(); if (state.failed) return; + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:52: T__204 + { + mT__204(); if (state.failed) return; + + } + break; + case 8 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:59: T__205 + { + mT__205(); if (state.failed) return; + + } + break; + case 9 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:66: T__206 + { + mT__206(); if (state.failed) return; + + } + break; + case 10 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:73: T__207 + { + mT__207(); if (state.failed) return; + + } + break; + case 11 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:80: T__208 + { + mT__208(); if (state.failed) return; + + } + break; + case 12 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:87: T__209 + { + mT__209(); if (state.failed) return; + + } + break; + case 13 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:94: T__210 + { + mT__210(); if (state.failed) return; + + } + break; + case 14 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:101: ABSOLUTE + { + mABSOLUTE(); if (state.failed) return; + + } + break; + case 15 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:110: ABSTRACT + { + mABSTRACT(); if (state.failed) return; + + } + break; + case 16 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:119: ADD + { + mADD(); if (state.failed) return; + + } + break; + case 17 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:123: AND + { + mAND(); if (state.failed) return; + + } + break; + case 18 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:127: ANSISTRING + { + mANSISTRING(); if (state.failed) return; + + } + break; + case 19 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:138: ARRAY + { + mARRAY(); if (state.failed) return; + + } + break; + case 20 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:144: AS + { + mAS(); if (state.failed) return; + + } + break; + case 21 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:147: ASM + { + mASM(); if (state.failed) return; + + } + break; + case 22 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:151: ASSEMBLER + { + mASSEMBLER(); if (state.failed) return; + + } + break; + case 23 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:161: ASSEMBLY + { + mASSEMBLY(); if (state.failed) return; + + } + break; + case 24 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:170: AT + { + mAT(); if (state.failed) return; + + } + break; + case 25 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:173: AUTOMATED + { + mAUTOMATED(); if (state.failed) return; + + } + break; + case 26 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:183: BEGIN + { + mBEGIN(); if (state.failed) return; + + } + break; + case 27 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:189: BREAK + { + mBREAK(); if (state.failed) return; + + } + break; + case 28 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:195: CASE + { + mCASE(); if (state.failed) return; + + } + break; + case 29 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:200: CDECL + { + mCDECL(); if (state.failed) return; + + } + break; + case 30 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:206: CLASS + { + mCLASS(); if (state.failed) return; + + } + break; + case 31 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:212: CONST + { + mCONST(); if (state.failed) return; + + } + break; + case 32 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:218: CONSTRUCTOR + { + mCONSTRUCTOR(); if (state.failed) return; + + } + break; + case 33 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:230: CONTAINS + { + mCONTAINS(); if (state.failed) return; + + } + break; + case 34 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:239: CONTINUE + { + mCONTINUE(); if (state.failed) return; + + } + break; + case 35 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:248: DEFAULT + { + mDEFAULT(); if (state.failed) return; + + } + break; + case 36 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:256: DELAYED + { + mDELAYED(); if (state.failed) return; + + } + break; + case 37 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:264: DEPRECATED + { + mDEPRECATED(); if (state.failed) return; + + } + break; + case 38 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:275: DESTRUCTOR + { + mDESTRUCTOR(); if (state.failed) return; + + } + break; + case 39 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:286: DISPID + { + mDISPID(); if (state.failed) return; + + } + break; + case 40 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:293: DISPINTERFACE + { + mDISPINTERFACE(); if (state.failed) return; + + } + break; + case 41 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:307: DIV + { + mDIV(); if (state.failed) return; + + } + break; + case 42 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:311: DO + { + mDO(); if (state.failed) return; + + } + break; + case 43 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:314: DOWNTO + { + mDOWNTO(); if (state.failed) return; + + } + break; + case 44 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:321: DQ + { + mDQ(); if (state.failed) return; + + } + break; + case 45 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:324: DW + { + mDW(); if (state.failed) return; + + } + break; + case 46 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:327: DYNAMIC + { + mDYNAMIC(); if (state.failed) return; + + } + break; + case 47 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:335: ELSE + { + mELSE(); if (state.failed) return; + + } + break; + case 48 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:340: END + { + mEND(); if (state.failed) return; + + } + break; + case 49 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:344: EXCEPT + { + mEXCEPT(); if (state.failed) return; + + } + break; + case 50 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:351: EXIT + { + mEXIT(); if (state.failed) return; + + } + break; + case 51 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:356: EXPERIMENTAL + { + mEXPERIMENTAL(); if (state.failed) return; + + } + break; + case 52 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:369: EXPORT + { + mEXPORT(); if (state.failed) return; + + } + break; + case 53 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:376: EXPORTS + { + mEXPORTS(); if (state.failed) return; + + } + break; + case 54 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:384: EXTERNAL + { + mEXTERNAL(); if (state.failed) return; + + } + break; + case 55 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:393: FAR + { + mFAR(); if (state.failed) return; + + } + break; + case 56 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:397: FILE + { + mFILE(); if (state.failed) return; + + } + break; + case 57 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:402: FINAL + { + mFINAL(); if (state.failed) return; + + } + break; + case 58 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:408: FINALIZATION + { + mFINALIZATION(); if (state.failed) return; + + } + break; + case 59 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:421: FINALLY + { + mFINALLY(); if (state.failed) return; + + } + break; + case 60 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:429: FOR + { + mFOR(); if (state.failed) return; + + } + break; + case 61 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:433: FORWARD + { + mFORWARD(); if (state.failed) return; + + } + break; + case 62 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:441: FUNCTION + { + mFUNCTION(); if (state.failed) return; + + } + break; + case 63 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:450: GOTO + { + mGOTO(); if (state.failed) return; + + } + break; + case 64 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:455: HELPER + { + mHELPER(); if (state.failed) return; + + } + break; + case 65 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:462: IF + { + mIF(); if (state.failed) return; + + } + break; + case 66 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:465: IMPLEMENTATION + { + mIMPLEMENTATION(); if (state.failed) return; + + } + break; + case 67 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:480: IMPLEMENTS + { + mIMPLEMENTS(); if (state.failed) return; + + } + break; + case 68 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:491: IN + { + mIN(); if (state.failed) return; + + } + break; + case 69 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:494: INDEX + { + mINDEX(); if (state.failed) return; + + } + break; + case 70 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:500: INHERITED + { + mINHERITED(); if (state.failed) return; + + } + break; + case 71 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:510: INITIALIZATION + { + mINITIALIZATION(); if (state.failed) return; + + } + break; + case 72 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:525: INLINE + { + mINLINE(); if (state.failed) return; + + } + break; + case 73 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:532: INTERFACE + { + mINTERFACE(); if (state.failed) return; + + } + break; + case 74 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:542: IS + { + mIS(); if (state.failed) return; + + } + break; + case 75 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:545: LABEL + { + mLABEL(); if (state.failed) return; + + } + break; + case 76 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:551: LIBRARY + { + mLIBRARY(); if (state.failed) return; + + } + break; + case 77 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:559: LOCAL + { + mLOCAL(); if (state.failed) return; + + } + break; + case 78 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:565: MESSAGE + { + mMESSAGE(); if (state.failed) return; + + } + break; + case 79 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:573: MOD + { + mMOD(); if (state.failed) return; + + } + break; + case 80 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:577: NAME + { + mNAME(); if (state.failed) return; + + } + break; + case 81 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:582: NEAR + { + mNEAR(); if (state.failed) return; + + } + break; + case 82 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:587: NIL + { + mNIL(); if (state.failed) return; + + } + break; + case 83 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:591: NODEFAULT + { + mNODEFAULT(); if (state.failed) return; + + } + break; + case 84 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:601: NOT + { + mNOT(); if (state.failed) return; + + } + break; + case 85 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:605: OBJECT + { + mOBJECT(); if (state.failed) return; + + } + break; + case 86 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:612: OF + { + mOF(); if (state.failed) return; + + } + break; + case 87 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:615: ON + { + mON(); if (state.failed) return; + + } + break; + case 88 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:618: OPERATOR + { + mOPERATOR(); if (state.failed) return; + + } + break; + case 89 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:627: OR + { + mOR(); if (state.failed) return; + + } + break; + case 90 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:630: OUT + { + mOUT(); if (state.failed) return; + + } + break; + case 91 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:634: OVERLOAD + { + mOVERLOAD(); if (state.failed) return; + + } + break; + case 92 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:643: OVERRIDE + { + mOVERRIDE(); if (state.failed) return; + + } + break; + case 93 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:652: PACKAGE + { + mPACKAGE(); if (state.failed) return; + + } + break; + case 94 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:660: PACKED + { + mPACKED(); if (state.failed) return; + + } + break; + case 95 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:667: PASCAL + { + mPASCAL(); if (state.failed) return; + + } + break; + case 96 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:674: PLATFORM + { + mPLATFORM(); if (state.failed) return; + + } + break; + case 97 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:683: POINTER + { + mPOINTER(); if (state.failed) return; + + } + break; + case 98 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:691: PRIVATE + { + mPRIVATE(); if (state.failed) return; + + } + break; + case 99 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:699: PROCEDURE + { + mPROCEDURE(); if (state.failed) return; + + } + break; + case 100 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:709: PROGRAM + { + mPROGRAM(); if (state.failed) return; + + } + break; + case 101 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:717: PROPERTY + { + mPROPERTY(); if (state.failed) return; + + } + break; + case 102 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:726: PROTECTED + { + mPROTECTED(); if (state.failed) return; + + } + break; + case 103 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:736: PUBLIC + { + mPUBLIC(); if (state.failed) return; + + } + break; + case 104 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:743: PUBLISHED + { + mPUBLISHED(); if (state.failed) return; + + } + break; + case 105 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:753: RAISE + { + mRAISE(); if (state.failed) return; + + } + break; + case 106 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:759: READ + { + mREAD(); if (state.failed) return; + + } + break; + case 107 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:764: READONLY + { + mREADONLY(); if (state.failed) return; + + } + break; + case 108 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:773: RECORD + { + mRECORD(); if (state.failed) return; + + } + break; + case 109 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:780: REFERENCE + { + mREFERENCE(); if (state.failed) return; + + } + break; + case 110 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:790: REGISTER + { + mREGISTER(); if (state.failed) return; + + } + break; + case 111 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:799: REINTRODUCE + { + mREINTRODUCE(); if (state.failed) return; + + } + break; + case 112 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:811: REMOVE + { + mREMOVE(); if (state.failed) return; + + } + break; + case 113 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:818: REPEAT + { + mREPEAT(); if (state.failed) return; + + } + break; + case 114 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:825: REQUIRES + { + mREQUIRES(); if (state.failed) return; + + } + break; + case 115 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:834: RESIDENT + { + mRESIDENT(); if (state.failed) return; + + } + break; + case 116 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:843: RESOURCESTRING + { + mRESOURCESTRING(); if (state.failed) return; + + } + break; + case 117 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:858: SAFECALL + { + mSAFECALL(); if (state.failed) return; + + } + break; + case 118 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:867: SEALED + { + mSEALED(); if (state.failed) return; + + } + break; + case 119 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:874: SET + { + mSET(); if (state.failed) return; + + } + break; + case 120 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:878: SHL + { + mSHL(); if (state.failed) return; + + } + break; + case 121 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:882: SHR + { + mSHR(); if (state.failed) return; + + } + break; + case 122 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:886: STATIC + { + mSTATIC(); if (state.failed) return; + + } + break; + case 123 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:893: STDCALL + { + mSTDCALL(); if (state.failed) return; + + } + break; + case 124 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:901: STORED + { + mSTORED(); if (state.failed) return; + + } + break; + case 125 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:908: STRICT + { + mSTRICT(); if (state.failed) return; + + } + break; + case 126 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:915: STRING + { + mSTRING(); if (state.failed) return; + + } + break; + case 127 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:922: THEN + { + mTHEN(); if (state.failed) return; + + } + break; + case 128 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:927: THREADVAR + { + mTHREADVAR(); if (state.failed) return; + + } + break; + case 129 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:937: TO + { + mTO(); if (state.failed) return; + + } + break; + case 130 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:940: TRY + { + mTRY(); if (state.failed) return; + + } + break; + case 131 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:944: TYPE + { + mTYPE(); if (state.failed) return; + + } + break; + case 132 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:949: UNIT + { + mUNIT(); if (state.failed) return; + + } + break; + case 133 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:954: UNSAFE + { + mUNSAFE(); if (state.failed) return; + + } + break; + case 134 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:961: UNTIL + { + mUNTIL(); if (state.failed) return; + + } + break; + case 135 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:967: USES + { + mUSES(); if (state.failed) return; + + } + break; + case 136 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:972: VAR + { + mVAR(); if (state.failed) return; + + } + break; + case 137 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:976: VARARGS + { + mVARARGS(); if (state.failed) return; + + } + break; + case 138 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:984: VARIANT + { + mVARIANT(); if (state.failed) return; + + } + break; + case 139 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:992: VIRTUAL + { + mVIRTUAL(); if (state.failed) return; + + } + break; + case 140 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1000: WHILE + { + mWHILE(); if (state.failed) return; + + } + break; + case 141 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1006: WITH + { + mWITH(); if (state.failed) return; + + } + break; + case 142 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1011: WRITE + { + mWRITE(); if (state.failed) return; + + } + break; + case 143 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1017: WRITEONLY + { + mWRITEONLY(); if (state.failed) return; + + } + break; + case 144 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1027: XOR + { + mXOR(); if (state.failed) return; + + } + break; + case 145 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1031: FALSE + { + mFALSE(); if (state.failed) return; + + } + break; + case 146 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1037: TRUE + { + mTRUE(); if (state.failed) return; + + } + break; + case 147 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1042: PLUS + { + mPLUS(); if (state.failed) return; + + } + break; + case 148 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1047: MINUS + { + mMINUS(); if (state.failed) return; + + } + break; + case 149 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1053: STAR + { + mSTAR(); if (state.failed) return; + + } + break; + case 150 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1058: SLASH + { + mSLASH(); if (state.failed) return; + + } + break; + case 151 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1064: ASSIGN + { + mASSIGN(); if (state.failed) return; + + } + break; + case 152 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1071: COMMA + { + mCOMMA(); if (state.failed) return; + + } + break; + case 153 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1077: SEMI + { + mSEMI(); if (state.failed) return; + + } + break; + case 154 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1082: COLON + { + mCOLON(); if (state.failed) return; + + } + break; + case 155 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1088: EQUAL + { + mEQUAL(); if (state.failed) return; + + } + break; + case 156 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1094: NOT_EQUAL + { + mNOT_EQUAL(); if (state.failed) return; + + } + break; + case 157 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1104: LT + { + mLT(); if (state.failed) return; + + } + break; + case 158 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1107: LE + { + mLE(); if (state.failed) return; + + } + break; + case 159 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1110: GE + { + mGE(); if (state.failed) return; + + } + break; + case 160 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1113: GT + { + mGT(); if (state.failed) return; + + } + break; + case 161 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1116: LPAREN + { + mLPAREN(); if (state.failed) return; + + } + break; + case 162 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1123: RPAREN + { + mRPAREN(); if (state.failed) return; + + } + break; + case 163 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1130: LBRACK + { + mLBRACK(); if (state.failed) return; + + } + break; + case 164 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1137: LBRACK2 + { + mLBRACK2(); if (state.failed) return; + + } + break; + case 165 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1145: RBRACK + { + mRBRACK(); if (state.failed) return; + + } + break; + case 166 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1152: RBRACK2 + { + mRBRACK2(); if (state.failed) return; + + } + break; + case 167 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1160: POINTER2 + { + mPOINTER2(); if (state.failed) return; + + } + break; + case 168 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1169: AT2 + { + mAT2(); if (state.failed) return; + + } + break; + case 169 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1173: DOT + { + mDOT(); if (state.failed) return; + + } + break; + case 170 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1177: DOTDOT + { + mDOTDOT(); if (state.failed) return; + + } + break; + case 171 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1184: LCURLY + { + mLCURLY(); if (state.failed) return; + + } + break; + case 172 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1191: RCURLY + { + mRCURLY(); if (state.failed) return; + + } + break; + case 173 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1198: TkGlobalFunction + { + mTkGlobalFunction(); if (state.failed) return; + + } + break; + case 174 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1215: TkFunctionName + { + mTkFunctionName(); if (state.failed) return; + + } + break; + case 175 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1230: TkFunctionArgs + { + mTkFunctionArgs(); if (state.failed) return; + + } + break; + case 176 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1245: TkFunctionBody + { + mTkFunctionBody(); if (state.failed) return; + + } + break; + case 177 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1260: TkFunctionReturn + { + mTkFunctionReturn(); if (state.failed) return; + + } + break; + case 178 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1277: TkCustomAttribute + { + mTkCustomAttribute(); if (state.failed) return; + + } + break; + case 179 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1295: TkCustomAttributeArgs + { + mTkCustomAttributeArgs(); if (state.failed) return; + + } + break; + case 180 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1317: TkNewType + { + mTkNewType(); if (state.failed) return; + + } + break; + case 181 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1327: TkClass + { + mTkClass(); if (state.failed) return; + + } + break; + case 182 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1335: TkRecord + { + mTkRecord(); if (state.failed) return; + + } + break; + case 183 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1344: TkRecordHelper + { + mTkRecordHelper(); if (state.failed) return; + + } + break; + case 184 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1359: TkInterface + { + mTkInterface(); if (state.failed) return; + + } + break; + case 185 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1371: TkObject + { + mTkObject(); if (state.failed) return; + + } + break; + case 186 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1380: TkClassOfType + { + mTkClassOfType(); if (state.failed) return; + + } + break; + case 187 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1394: TkVariableType + { + mTkVariableType(); if (state.failed) return; + + } + break; + case 188 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1409: TkVariableIdents + { + mTkVariableIdents(); if (state.failed) return; + + } + break; + case 189 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1426: TkVariableParam + { + mTkVariableParam(); if (state.failed) return; + + } + break; + case 190 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1442: TkGuid + { + mTkGuid(); if (state.failed) return; + + } + break; + case 191 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1449: TkClassParents + { + mTkClassParents(); if (state.failed) return; + + } + break; + case 192 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1464: TkClassField + { + mTkClassField(); if (state.failed) return; + + } + break; + case 193 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1477: TkAnonymousExpression + { + mTkAnonymousExpression(); if (state.failed) return; + + } + break; + case 194 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1499: TkIdentifier + { + mTkIdentifier(); if (state.failed) return; + + } + break; + case 195 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1512: TkIntNum + { + mTkIntNum(); if (state.failed) return; + + } + break; + case 196 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1521: TkRealNum + { + mTkRealNum(); if (state.failed) return; + + } + break; + case 197 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1531: TkHexNum + { + mTkHexNum(); if (state.failed) return; + + } + break; + case 198 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1540: ControlChar + { + mControlChar(); if (state.failed) return; + + } + break; + case 199 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1552: QuotedString + { + mQuotedString(); if (state.failed) return; + + } + break; + case 200 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1565: Hexdigitseq + { + mHexdigitseq(); if (state.failed) return; + + } + break; + case 201 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1577: COMMENT + { + mCOMMENT(); if (state.failed) return; + + } + break; + case 202 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1585: WS + { + mWS(); if (state.failed) return; + + } + break; + case 203 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:1:1588: UnicodeBOM + { + mUnicodeBOM(); if (state.failed) return; + + } + break; + + } + } + + // $ANTLR start synpred1_Delphi + public final void synpred1_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:38: ( ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:39: ( DOT Digitseq )? ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:39: ( DOT Digitseq )? + int alt20=2; + int LA20_0 = input.LA(1); + if ( (LA20_0=='.') ) { + alt20=1; + } + switch (alt20) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:40: DOT Digitseq + { + mDOT(); if (state.failed) return; + + mDigitseq(); if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:55: ( ( 'e' | 'E' ) ( '+' | '-' )? Digitseq )? + int alt22=2; + int LA22_0 = input.LA(1); + if ( (LA22_0=='E'||LA22_0=='e') ) { + alt22=1; + } + switch (alt22) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:56: ( 'e' | 'E' ) ( '+' | '-' )? Digitseq + { + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:967:66: ( '+' | '-' )? + int alt21=2; + int LA21_0 = input.LA(1); + if ( (LA21_0=='+'||LA21_0=='-') ) { + alt21=1; + } + switch (alt21) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse; + } + } + break; + + } + + mDigitseq(); if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred1_Delphi + + public final boolean synpred1_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred1_Delphi_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 DFA19 dfa19 = new DFA19(this); + static final String DFA19_eotS = + "\2\uffff\1\77\7\66\1\116\25\66\3\uffff\1\u0097\1\u0099\3\uffff\1\u009c"+ + "\1\u009e\1\u00a0\3\uffff\1\u00a3\1\u00a4\1\uffff\5\66\1\uffff\1\66\1\u00ab"+ + "\1\u00ac\6\uffff\1\66\1\u00b3\7\66\1\u00b8\3\66\2\uffff\10\66\1\u00c9"+ + "\1\u00ca\11\66\1\u00d9\1\u00da\1\u00db\12\66\1\u00eb\1\66\1\u00f2\1\u00f3"+ + "\6\66\1\u00fa\1\u00fb\1\66\1\u00fd\16\66\1\u011c\12\66\17\uffff\6\66\2"+ + "\uffff\1\u00ac\1\uffff\1\u00b0\1\uffff\1\u0131\1\66\1\uffff\1\u0133\2"+ + "\66\1\u0136\1\uffff\1\66\1\u0138\1\u0139\1\u013a\1\u013c\3\66\1\u0140"+ + "\1\66\1\u0143\1\u0144\2\66\1\u0147\1\66\2\uffff\14\66\1\u0156\1\66\3\uffff"+ + "\2\66\1\u015a\4\66\1\u0160\3\66\1\u0165\3\66\1\uffff\6\66\2\uffff\4\66"+ + "\1\u0173\1\66\2\uffff\1\66\1\uffff\1\u0176\24\66\1\u018f\1\u0190\1\u0191"+ + "\6\66\1\uffff\1\u0198\6\66\1\u01a1\4\66\1\u01a6\6\66\1\u00ae\1\uffff\1"+ + "\66\1\uffff\2\66\1\uffff\1\66\5\uffff\1\u01b2\1\u01b3\1\66\1\uffff\2\66"+ + "\2\uffff\2\66\1\uffff\4\66\1\u01bd\11\66\1\uffff\2\66\1\u01ca\1\uffff"+ + "\1\66\1\u01cc\3\66\1\uffff\1\66\1\u01d1\2\66\1\uffff\1\66\1\u01d5\13\66"+ + "\1\uffff\2\66\1\uffff\14\66\1\u01f2\13\66\3\uffff\4\66\1\u0203\1\66\1"+ + "\uffff\1\u0205\1\u0206\1\u0207\2\66\1\u020a\2\66\1\uffff\2\66\1\u020f"+ + "\1\66\1\uffff\6\66\1\u00ae\4\66\2\uffff\4\66\1\u021f\2\66\1\u0222\1\u0223"+ + "\1\uffff\1\u0224\1\u0225\1\u0227\11\66\1\uffff\1\66\1\uffff\3\66\1\u0236"+ + "\1\uffff\1\u0239\2\66\1\uffff\2\66\1\u023e\4\66\1\u0243\1\66\1\u0245\20"+ + "\66\1\u0257\1\66\1\uffff\20\66\1\uffff\1\66\3\uffff\1\66\1\u026b\1\uffff"+ + "\3\66\1\u026f\1\uffff\1\u0271\2\66\1\u0275\13\66\1\uffff\2\66\4\uffff"+ + "\1\66\1\uffff\6\66\1\u028a\1\66\1\u028c\1\66\1\u028e\1\66\1\u0291\1\66"+ + "\1\uffff\2\66\1\uffff\2\66\1\u0297\1\66\1\uffff\2\66\1\u029b\1\66\1\uffff"+ + "\1\66\1\uffff\1\66\1\u029f\4\66\1\u02a4\1\u02a5\7\66\1\u02ad\1\66\1\uffff"+ + "\1\66\1\u02b0\3\66\1\u02b4\1\u02b5\4\66\1\u02ba\1\u02bb\1\66\1\u02bd\1"+ + "\u02be\1\u02bf\1\66\1\u02c1\1\uffff\3\66\1\uffff\1\66\1\uffff\3\66\1\uffff"+ + "\20\66\1\u02dc\1\u02dd\2\66\1\uffff\1\66\1\uffff\1\u02e1\1\uffff\1\66"+ + "\1\u02e3\1\uffff\2\66\1\u02e6\1\u02e7\1\66\1\uffff\3\66\1\uffff\1\66\1"+ + "\u02ed\1\u02ee\1\uffff\3\66\1\u02f2\2\uffff\1\66\1\u02f4\1\u02f5\1\66"+ + "\1\u02f7\2\66\1\uffff\2\66\1\uffff\3\66\2\uffff\4\66\2\uffff\1\u0303\3"+ + "\uffff\1\66\1\uffff\1\u0305\1\u0306\1\u0307\16\66\1\u0317\1\u0318\2\66"+ + "\1\u031b\2\66\1\u031e\1\u031f\2\uffff\3\66\1\uffff\1\66\1\uffff\1\u0324"+ + "\1\66\2\uffff\1\u0326\4\66\2\uffff\1\u032b\1\u032c\1\u032d\1\uffff\1\u032e"+ + "\2\uffff\1\66\1\uffff\1\u0330\2\66\1\u0333\1\66\1\u0335\1\66\1\u0337\1"+ + "\u0338\1\66\1\u033a\1\uffff\1\66\3\uffff\6\66\1\u0342\4\66\1\u0347\2\66"+ + "\1\u034a\2\uffff\1\66\1\u034c\1\uffff\1\u034d\1\66\2\uffff\4\66\1\uffff"+ + "\1\66\1\uffff\1\66\1\u0356\1\66\1\u0358\4\uffff\1\u0359\1\uffff\1\u035a"+ + "\1\u035b\1\uffff\1\u035c\1\uffff\1\66\2\uffff\1\66\1\uffff\1\u035f\1\u0360"+ + "\5\66\1\uffff\4\66\1\uffff\2\66\1\uffff\1\u0373\2\uffff\1\66\1\u0375\1"+ + "\u0376\4\66\1\u037b\1\uffff\1\66\5\uffff\2\66\2\uffff\21\66\1\u0390\1"+ + "\uffff\1\u0391\2\uffff\4\66\1\uffff\1\66\1\u0397\11\66\1\u03a1\1\u03a2"+ + "\7\66\2\uffff\1\66\1\u03ab\1\u03ac\2\66\1\uffff\11\66\2\uffff\7\66\1\u03bf"+ + "\2\uffff\4\66\1\u03c4\1\u03c5\1\u03c6\2\66\1\u03c9\1\u03ca\1\u03cb\1\u03cc"+ + "\3\66\1\u03d0\1\u03d1\1\uffff\1\u03d2\1\u03d3\1\u03d4\1\66\3\uffff\2\66"+ + "\4\uffff\1\66\1\u03d9\1\66\5\uffff\1\u03db\1\u03dc\1\66\1\u03de\1\uffff"+ + "\1\66\2\uffff\1\u03e1\1\uffff\2\66\1\uffff\4\66\1\u03e8\1\66\1\uffff\1"+ + "\u03ea\1\uffff"; + static final String DFA19_eofS = + "\u03eb\uffff"; + static final String DFA19_minS = + "\1\11\1\uffff\1\100\2\60\1\116\1\117\1\102\1\110\1\117\1\101\1\141\6\60"+ + "\1\157\1\145\1\146\1\141\1\145\1\142\3\141\1\150\1\156\1\141\1\150\1\157"+ + "\3\uffff\1\57\1\75\3\uffff\2\75\1\52\3\uffff\1\51\1\0\1\uffff\2\60\2\105"+ + "\1\101\1\uffff\1\60\1\0\1\56\6\uffff\1\104\4\60\1\126\1\150\1\124\1\104"+ + "\1\60\1\112\1\114\1\122\2\uffff\1\154\1\155\1\141\1\144\2\60\1\144\1\162"+ + "\2\60\1\164\1\60\1\145\2\60\1\141\1\156\1\60\1\163\3\60\1\156\1\163\1"+ + "\144\1\143\1\60\1\154\1\162\1\156\1\164\1\154\1\60\1\160\2\60\2\142\1"+ + "\143\1\163\1\144\1\152\2\60\1\145\1\60\1\164\1\145\1\143\1\141\2\151\1"+ + "\142\1\151\1\141\1\146\1\141\1\154\1\141\1\145\1\60\1\165\1\160\1\151"+ + "\1\145\2\162\1\151\1\164\1\151\1\162\17\uffff\1\116\1\123\1\101\1\127"+ + "\1\103\1\122\2\uffff\1\56\1\uffff\1\53\1\uffff\1\60\1\116\1\uffff\1\60"+ + "\1\145\1\105\1\60\1\uffff\1\105\4\60\1\145\1\162\1\145\1\60\1\157\2\60"+ + "\1\151\1\141\1\60\1\145\2\uffff\1\157\1\151\1\141\1\145\1\60\2\163\1\60"+ + "\1\141\1\162\1\164\1\160\1\60\1\156\3\uffff\1\141\1\145\1\60\1\145\1\164"+ + "\2\145\1\60\1\163\1\145\1\141\1\60\1\143\1\157\1\160\1\uffff\1\154\2\145"+ + "\1\164\1\151\1\145\2\uffff\1\145\1\162\1\141\1\163\1\60\1\145\2\uffff"+ + "\1\162\1\uffff\1\60\1\162\1\153\1\143\1\164\1\156\1\166\1\143\1\154\1"+ + "\163\1\144\1\157\1\145\1\151\1\156\1\157\1\145\1\165\1\151\1\145\1\154"+ + "\3\60\1\164\1\143\1\162\1\151\1\156\1\145\1\uffff\1\60\2\145\1\164\1\141"+ + "\1\151\1\163\1\60\1\164\1\154\1\150\1\164\1\60\1\103\1\124\1\123\1\137"+ + "\1\117\1\111\1\60\1\uffff\1\131\1\uffff\1\162\1\122\1\uffff\1\103\5\uffff"+ + "\2\60\1\146\1\uffff\1\154\1\162\2\uffff\1\163\1\171\1\uffff\2\155\1\156"+ + "\1\153\2\60\1\163\1\164\1\141\1\60\1\171\1\145\1\162\1\151\1\uffff\1\164"+ + "\1\155\1\60\1\uffff\1\160\1\60\3\162\1\uffff\1\145\1\60\1\154\1\141\1"+ + "\uffff\1\164\1\60\2\145\1\170\1\162\1\151\1\156\1\162\1\154\1\141\1\154"+ + "\1\141\1\uffff\1\143\1\141\1\uffff\1\154\2\141\1\146\1\164\1\141\1\145"+ + "\1\162\2\145\1\151\1\145\1\60\2\162\1\163\1\164\1\166\1\141\1\151\1\144"+ + "\1\165\1\143\1\145\3\uffff\1\151\1\141\1\145\1\143\1\60\1\141\1\uffff"+ + "\3\60\1\146\1\154\1\60\1\162\1\141\1\uffff\1\165\1\145\1\60\1\145\1\uffff"+ + "\1\124\1\117\1\123\1\124\1\122\1\101\1\60\1\115\1\151\1\106\1\124\2\uffff"+ + "\1\141\1\165\1\141\1\164\1\60\1\142\1\141\2\60\1\uffff\3\60\1\151\1\156"+ + "\1\154\1\145\1\143\1\165\1\144\1\157\1\151\1\uffff\1\164\1\uffff\1\151"+ + "\1\164\1\156\1\60\1\uffff\1\60\1\162\1\151\1\uffff\1\162\1\155\1\60\1"+ + "\151\1\141\1\145\1\146\1\60\1\162\1\60\1\147\2\164\1\157\1\151\1\147\1"+ + "\144\1\154\1\157\1\145\1\164\1\144\1\141\1\162\2\143\1\60\1\156\1\uffff"+ + "\1\144\1\145\1\164\1\162\1\145\1\164\1\162\1\145\1\162\1\141\1\144\1\143"+ + "\1\154\1\144\1\164\1\147\1\uffff\1\144\3\uffff\1\145\1\60\1\uffff\1\147"+ + "\1\156\1\141\1\60\1\uffff\1\60\1\111\1\115\1\60\1\131\1\104\1\102\1\117"+ + "\1\164\1\101\1\137\1\165\1\164\1\143\1\162\1\uffff\1\154\1\164\4\uffff"+ + "\1\165\1\uffff\1\156\1\165\1\164\1\144\1\141\1\143\1\60\1\164\1\60\1\143"+ + "\1\60\1\155\1\60\1\141\1\uffff\1\172\1\171\1\uffff\1\144\1\157\1\60\1"+ + "\145\1\uffff\1\164\1\154\1\60\1\141\1\uffff\1\171\1\uffff\1\145\1\60\1"+ + "\157\1\141\1\144\1\145\2\60\2\162\1\145\1\165\1\155\2\164\1\60\1\150\1"+ + "\uffff\1\154\1\60\1\156\1\145\1\157\2\60\1\145\1\156\1\143\1\154\2\60"+ + "\1\154\3\60\1\166\1\60\1\uffff\1\163\1\164\1\154\1\uffff\1\156\1\uffff"+ + "\1\117\1\137\1\106\1\uffff\1\120\1\137\1\114\1\125\1\145\1\103\1\124\1"+ + "\154\1\145\1\164\1\151\2\145\1\143\1\163\1\145\2\60\2\164\1\uffff\1\145"+ + "\1\uffff\1\60\1\uffff\1\145\1\60\1\uffff\1\154\1\141\2\60\1\156\1\uffff"+ + "\1\156\1\145\1\151\1\uffff\1\143\2\60\1\uffff\1\162\1\144\1\145\1\60\2"+ + "\uffff\1\155\2\60\1\162\1\60\1\171\1\145\1\uffff\1\145\1\171\1\uffff\1"+ + "\143\1\162\1\144\2\uffff\1\163\1\164\1\145\1\154\2\uffff\1\60\3\uffff"+ + "\1\141\1\uffff\3\60\1\154\1\116\1\101\1\106\1\101\1\111\1\105\1\110\1"+ + "\105\1\123\1\144\1\105\1\131\1\164\2\60\1\156\1\162\1\60\1\144\1\164\2"+ + "\60\2\uffff\1\145\1\157\1\162\1\uffff\1\156\1\uffff\1\60\1\164\2\uffff"+ + "\1\60\1\164\1\144\1\172\1\145\2\uffff\3\60\1\uffff\1\60\2\uffff\1\145"+ + "\1\uffff\1\60\2\144\1\60\1\145\1\60\1\165\2\60\1\163\1\60\1\uffff\1\162"+ + "\3\uffff\1\171\1\137\1\124\1\137\1\122\1\105\1\60\1\131\1\105\2\137\1"+ + "\60\1\137\1\120\1\60\2\uffff\1\147\1\60\1\uffff\1\60\1\157\2\uffff\1\144"+ + "\1\162\1\146\1\164\1\uffff\1\151\1\uffff\1\141\1\60\1\141\1\60\4\uffff"+ + "\1\60\1\uffff\2\60\1\uffff\1\60\1\uffff\1\143\2\uffff\1\164\1\uffff\2"+ + "\60\1\101\2\124\1\105\1\114\1\uffff\1\120\1\114\1\111\1\105\1\uffff\1"+ + "\107\1\105\1\uffff\1\60\2\uffff\1\162\2\60\2\141\1\157\1\164\1\60\1\uffff"+ + "\1\164\5\uffff\1\145\1\162\2\uffff\1\114\1\101\1\122\1\117\1\105\1\122"+ + "\1\131\1\116\1\104\1\105\1\120\1\131\1\104\1\101\1\130\1\131\1\125\1\60"+ + "\1\uffff\1\60\2\uffff\1\143\1\154\1\156\1\151\1\uffff\1\151\1\60\1\151"+ + "\1\117\1\115\1\107\1\104\1\124\1\111\1\120\1\124\2\60\1\105\1\120\1\105"+ + "\1\122\2\120\1\111\2\uffff\1\145\2\60\2\157\1\uffff\1\156\1\102\1\105"+ + "\1\123\1\131\1\125\1\102\1\105\1\123\2\uffff\1\122\1\105\1\116\1\101\1"+ + "\122\1\105\1\104\1\60\2\uffff\2\156\1\147\1\101\3\60\1\122\1\125\4\60"+ + "\1\124\1\115\1\105\2\60\1\uffff\3\60\1\114\3\uffff\1\116\1\124\4\uffff"+ + "\1\123\1\60\1\123\5\uffff\2\60\1\105\1\60\1\uffff\1\123\2\uffff\1\60\1"+ + "\uffff\1\111\1\101\1\uffff\1\117\1\122\1\116\1\107\1\60\1\123\1\uffff"+ + "\1\60\1\uffff"; + static final String DFA19_maxS = + "\1\ufffe\1\uffff\1\100\2\146\1\156\1\117\1\122\1\110\1\117\1\ufffe\1\157"+ + "\1\165\1\162\1\157\1\171\1\170\1\165\1\157\1\145\1\163\2\157\1\166\1\165"+ + "\1\145\1\164\1\171\1\163\1\151\1\162\1\157\3\uffff\1\57\1\75\3\uffff\1"+ + "\76\1\75\1\56\3\uffff\1\56\1\uffff\1\uffff\2\146\2\105\1\101\1\uffff\1"+ + "\146\1\uffff\1\146\6\uffff\1\117\1\ufffe\3\146\1\126\1\150\1\124\1\104"+ + "\1\ufffe\1\112\2\122\2\uffff\1\154\1\155\1\141\1\164\1\163\1\146\1\163"+ + "\1\162\2\ufffe\1\164\1\147\1\145\1\163\1\146\1\141\1\156\1\163\1\166\3"+ + "\ufffe\1\156\1\163\1\144\1\164\1\162\1\156\1\162\1\156\1\164\1\154\1\ufffe"+ + "\1\160\2\ufffe\2\142\1\143\1\163\1\144\1\152\2\ufffe\1\145\1\ufffe\1\164"+ + "\1\145\1\163\1\141\1\151\1\157\1\142\1\151\1\163\1\146\1\164\3\162\1\ufffe"+ + "\1\171\1\160\1\164\1\145\2\162\1\151\1\164\1\151\1\162\17\uffff\1\116"+ + "\1\123\1\101\1\127\1\103\1\122\2\uffff\1\146\1\uffff\1\71\1\uffff\1\ufffe"+ + "\1\116\1\uffff\1\ufffe\1\145\1\105\1\ufffe\1\uffff\1\105\4\ufffe\1\145"+ + "\1\162\1\145\1\ufffe\1\164\2\ufffe\1\151\1\141\1\ufffe\1\145\2\uffff\1"+ + "\157\1\151\1\141\1\145\1\146\1\163\1\164\1\146\1\141\1\162\1\164\1\160"+ + "\1\ufffe\1\156\3\uffff\1\141\1\145\1\ufffe\1\145\1\164\1\157\1\145\1\ufffe"+ + "\1\163\1\145\1\141\1\ufffe\1\143\1\157\1\160\1\uffff\1\154\2\145\1\164"+ + "\1\151\1\145\2\uffff\1\145\1\162\1\141\1\163\1\ufffe\1\145\2\uffff\1\162"+ + "\1\uffff\1\ufffe\1\162\1\153\1\143\1\164\1\156\1\166\1\164\1\154\1\163"+ + "\1\144\1\157\1\145\1\151\1\156\1\157\1\145\1\165\1\157\1\145\1\154\3\ufffe"+ + "\1\164\1\143\1\162\1\151\1\156\1\145\1\uffff\1\ufffe\2\145\1\164\1\141"+ + "\1\151\1\163\1\ufffe\1\164\1\154\1\150\1\164\1\ufffe\1\103\1\124\1\123"+ + "\1\137\1\117\1\111\1\146\1\uffff\1\131\1\uffff\1\162\1\122\1\uffff\1\103"+ + "\5\uffff\2\ufffe\1\146\1\uffff\1\154\1\162\2\uffff\1\163\1\171\1\uffff"+ + "\2\155\1\156\1\153\1\ufffe\1\154\1\163\1\164\1\151\1\165\1\171\1\145\1"+ + "\162\1\151\1\uffff\1\164\1\155\1\ufffe\1\uffff\1\160\1\ufffe\3\162\1\uffff"+ + "\1\145\1\ufffe\1\154\1\141\1\uffff\1\164\1\ufffe\2\145\1\170\1\162\1\151"+ + "\1\156\1\162\1\154\1\141\1\154\1\141\1\uffff\1\143\1\141\1\uffff\1\162"+ + "\1\145\1\141\1\146\1\164\1\141\1\145\1\162\2\145\1\151\1\145\1\ufffe\2"+ + "\162\1\163\1\164\1\166\1\141\1\151\1\144\1\165\1\143\1\145\3\uffff\1\151"+ + "\1\141\1\145\1\156\1\ufffe\1\141\1\uffff\3\ufffe\1\146\1\154\1\ufffe\1"+ + "\162\1\141\1\uffff\1\165\1\145\1\ufffe\1\145\1\uffff\1\124\1\117\1\123"+ + "\1\124\1\122\1\101\1\146\1\115\1\151\1\106\1\124\2\uffff\1\141\1\165\1"+ + "\141\1\164\1\ufffe\1\142\1\141\2\ufffe\1\uffff\3\ufffe\1\151\1\156\1\154"+ + "\1\145\1\143\1\165\1\156\1\157\1\151\1\uffff\1\164\1\uffff\1\151\1\164"+ + "\1\156\1\ufffe\1\uffff\1\ufffe\1\162\1\151\1\uffff\1\162\1\155\1\ufffe"+ + "\1\151\1\141\1\145\1\146\1\ufffe\1\162\1\ufffe\1\147\2\164\1\157\1\151"+ + "\1\147\1\144\1\154\1\157\1\145\1\164\1\144\1\141\1\162\1\143\1\163\1\ufffe"+ + "\1\156\1\uffff\1\144\1\145\1\164\1\162\1\145\1\164\1\162\1\145\1\162\1"+ + "\141\1\144\1\143\1\154\1\144\1\164\1\147\1\uffff\1\144\3\uffff\1\145\1"+ + "\ufffe\1\uffff\1\147\1\156\1\141\1\ufffe\1\uffff\1\ufffe\1\111\1\115\1"+ + "\ufffe\1\131\1\104\1\102\1\117\1\164\1\101\1\137\1\165\1\164\1\143\1\162"+ + "\1\uffff\1\154\1\164\4\uffff\1\165\1\uffff\1\156\1\165\1\164\1\144\1\141"+ + "\1\143\1\ufffe\1\164\1\ufffe\1\143\1\ufffe\1\155\1\ufffe\1\141\1\uffff"+ + "\1\172\1\171\1\uffff\1\144\1\157\1\ufffe\1\145\1\uffff\1\164\1\154\1\ufffe"+ + "\1\141\1\uffff\1\171\1\uffff\1\145\1\ufffe\1\157\1\141\1\144\1\145\2\ufffe"+ + "\2\162\1\145\1\165\1\155\2\164\1\ufffe\1\150\1\uffff\1\154\1\ufffe\1\156"+ + "\1\145\1\157\2\ufffe\1\145\1\156\1\143\1\154\2\ufffe\1\154\3\ufffe\1\166"+ + "\1\ufffe\1\uffff\1\163\1\164\1\154\1\uffff\1\156\1\uffff\1\117\1\137\1"+ + "\120\1\uffff\1\120\1\137\1\114\1\125\1\145\1\103\1\124\1\154\1\145\1\164"+ + "\1\151\1\171\1\145\1\143\1\163\1\145\2\ufffe\2\164\1\uffff\1\145\1\uffff"+ + "\1\ufffe\1\uffff\1\145\1\ufffe\1\uffff\1\154\1\141\2\ufffe\1\156\1\uffff"+ + "\1\156\1\145\1\151\1\uffff\1\143\2\ufffe\1\uffff\1\162\1\144\1\145\1\ufffe"+ + "\2\uffff\1\155\2\ufffe\1\162\1\ufffe\1\171\1\145\1\uffff\1\145\1\171\1"+ + "\uffff\1\143\1\162\1\144\2\uffff\1\163\1\164\1\145\1\154\2\uffff\1\ufffe"+ + "\3\uffff\1\141\1\uffff\3\ufffe\1\154\1\116\1\101\1\106\1\101\1\111\1\105"+ + "\1\124\1\105\1\123\1\144\1\105\1\131\1\164\2\ufffe\1\156\1\162\1\ufffe"+ + "\1\144\1\164\2\ufffe\2\uffff\1\145\1\157\1\162\1\uffff\1\156\1\uffff\1"+ + "\ufffe\1\164\2\uffff\1\ufffe\1\164\1\144\1\172\1\145\2\uffff\3\ufffe\1"+ + "\uffff\1\ufffe\2\uffff\1\145\1\uffff\1\ufffe\2\144\1\ufffe\1\145\1\ufffe"+ + "\1\165\2\ufffe\1\163\1\ufffe\1\uffff\1\162\3\uffff\1\171\1\137\1\124\1"+ + "\137\1\122\1\105\1\ufffe\1\131\1\105\2\137\1\ufffe\1\137\1\120\1\ufffe"+ + "\2\uffff\1\147\1\ufffe\1\uffff\1\ufffe\1\157\2\uffff\1\144\1\162\1\146"+ + "\1\164\1\uffff\1\151\1\uffff\1\163\1\ufffe\1\141\1\ufffe\4\uffff\1\ufffe"+ + "\1\uffff\2\ufffe\1\uffff\1\ufffe\1\uffff\1\143\2\uffff\1\164\1\uffff\2"+ + "\ufffe\1\122\2\124\1\105\1\114\1\uffff\1\120\1\114\1\124\1\105\1\uffff"+ + "\1\124\1\105\1\uffff\1\ufffe\2\uffff\1\162\2\ufffe\2\141\1\157\1\164\1"+ + "\ufffe\1\uffff\1\164\5\uffff\1\145\1\162\2\uffff\1\114\1\101\1\122\1\117"+ + "\1\105\1\122\1\131\1\116\1\104\1\105\1\120\1\131\1\104\1\101\1\130\1\131"+ + "\1\125\1\ufffe\1\uffff\1\ufffe\2\uffff\1\143\1\154\1\156\1\151\1\uffff"+ + "\1\151\1\ufffe\1\151\1\117\1\115\1\107\1\104\1\124\1\111\1\120\1\124\2"+ + "\ufffe\1\105\1\120\1\105\1\122\2\120\1\111\2\uffff\1\145\2\ufffe\2\157"+ + "\1\uffff\1\156\1\102\1\105\1\123\1\131\1\125\1\102\1\105\1\123\2\uffff"+ + "\1\122\1\105\1\116\1\101\1\122\1\105\1\104\1\ufffe\2\uffff\2\156\1\147"+ + "\1\101\3\ufffe\1\122\1\125\4\ufffe\1\124\1\115\1\105\2\ufffe\1\uffff\3"+ + "\ufffe\1\114\3\uffff\1\116\1\124\4\uffff\1\123\1\ufffe\1\123\5\uffff\2"+ + "\ufffe\1\105\1\ufffe\1\uffff\1\123\2\uffff\1\ufffe\1\uffff\1\111\1\101"+ + "\1\uffff\1\117\1\122\1\116\1\107\1\ufffe\1\123\1\uffff\1\ufffe\1\uffff"; + static final String DFA19_acceptS = + "\1\uffff\1\1\36\uffff\1\u0093\1\u0094\1\u0095\2\uffff\1\u0098\1\u0099"+ + "\1\u009b\3\uffff\1\u00a2\1\u00a3\1\u00a5\2\uffff\1\u00ac\5\uffff\1\u00c2"+ + "\3\uffff\1\u00c5\1\u00c6\1\u00c7\1\u00ca\1\2\1\u00a8\15\uffff\1\14\1\u00a7"+ + "\107\uffff\1\u00c9\1\u0096\1\u0097\1\u009a\1\u009c\1\u009e\1\u009d\1\u009f"+ + "\1\u00a0\1\u00a4\1\u00a1\1\u00a6\1\u00aa\1\u00a9\1\u00ab\6\uffff\1\u00cb"+ + "\1\u00c3\1\uffff\1\u00c4\1\uffff\1\u00c8\2\uffff\1\4\4\uffff\1\10\20\uffff"+ + "\1\24\1\30\16\uffff\1\52\1\54\1\55\17\uffff\1\101\6\uffff\1\104\1\112"+ + "\6\uffff\1\126\1\127\1\uffff\1\131\36\uffff\1\u0081\24\uffff\1\3\1\uffff"+ + "\1\5\2\uffff\1\7\1\uffff\1\11\1\12\1\13\1\15\1\122\3\uffff\1\124\2\uffff"+ + "\1\20\1\21\2\uffff\1\25\16\uffff\1\51\3\uffff\1\60\5\uffff\1\67\4\uffff"+ + "\1\74\15\uffff\1\117\2\uffff\1\132\30\uffff\1\167\1\170\1\171\6\uffff"+ + "\1\u0082\10\uffff\1\u0088\4\uffff\1\u0090\13\uffff\1\120\1\121\11\uffff"+ + "\1\34\14\uffff\1\57\1\uffff\1\62\4\uffff\1\70\3\uffff\1\77\34\uffff\1"+ + "\152\20\uffff\1\177\1\uffff\1\u0092\1\u0083\1\u0084\2\uffff\1\u0087\4"+ + "\uffff\1\u008d\17\uffff\1\23\2\uffff\1\32\1\33\1\35\1\36\1\uffff\1\37"+ + "\16\uffff\1\u0091\2\uffff\1\71\4\uffff\1\105\4\uffff\1\113\1\uffff\1\115"+ + "\21\uffff\1\151\23\uffff\1\u0086\3\uffff\1\u008c\1\uffff\1\u008e\3\uffff"+ + "\1\u00b5\24\uffff\1\47\1\uffff\1\53\1\uffff\1\61\2\uffff\1\64\5\uffff"+ + "\1\100\3\uffff\1\110\3\uffff\1\125\4\uffff\1\136\1\137\7\uffff\1\147\2"+ + "\uffff\1\154\3\uffff\1\160\1\161\4\uffff\1\166\1\172\1\uffff\1\174\1\175"+ + "\1\176\1\uffff\1\u0085\32\uffff\1\43\1\44\3\uffff\1\56\1\uffff\1\65\2"+ + "\uffff\1\73\1\75\5\uffff\1\114\1\116\3\uffff\1\135\1\uffff\1\141\1\142"+ + "\1\uffff\1\144\13\uffff\1\173\1\uffff\1\u0089\1\u008a\1\u008b\17\uffff"+ + "\1\16\1\17\2\uffff\1\27\2\uffff\1\41\1\42\4\uffff\1\66\1\uffff\1\76\4"+ + "\uffff\1\130\1\133\1\134\1\140\1\uffff\1\145\2\uffff\1\153\1\uffff\1\156"+ + "\1\uffff\1\162\1\163\1\uffff\1\165\7\uffff\1\u00b4\4\uffff\1\6\2\uffff"+ + "\1\123\1\uffff\1\26\1\31\10\uffff\1\106\1\uffff\1\111\1\143\1\146\1\150"+ + "\1\155\2\uffff\1\u0080\1\u008f\22\uffff\1\22\1\uffff\1\45\1\46\4\uffff"+ + "\1\103\24\uffff\1\u00b9\1\40\5\uffff\1\157\11\uffff\1\u00c0\1\u00b6\10"+ + "\uffff\1\63\1\72\22\uffff\1\50\4\uffff\1\u00ae\1\u00af\1\u00b0\2\uffff"+ + "\1\u00ba\1\u00bf\1\u00b7\1\u00bb\3\uffff\1\u00b8\1\u00be\1\102\1\107\1"+ + "\164\4\uffff\1\u00bd\1\uffff\1\u00ad\1\u00b1\1\uffff\1\u00bc\2\uffff\1"+ + "\u00b2\6\uffff\1\u00c1\1\uffff\1\u00b3"; + static final String DFA19_specialS = + "\57\uffff\1\1\10\uffff\1\0\u03b2\uffff}>"; + static final String[] DFA19_transitionS = { + "\2\75\1\uffff\2\75\22\uffff\1\75\2\uffff\1\73\1\72\1\uffff\1\1\1\74\1"+ + "\52\1\53\1\42\1\40\1\45\1\41\1\56\1\43\12\71\1\44\1\46\1\50\1\47\1\51"+ + "\1\uffff\1\2\1\3\1\67\1\62\1\4\1\67\1\61\2\66\1\5\3\66\1\6\1\63\1\7\2"+ + "\66\1\64\1\10\2\66\1\65\1\66\1\11\2\66\1\54\1\uffff\1\55\1\12\1\66\1"+ + "\uffff\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\2\66\1\25\1\26\1"+ + "\13\1\27\1\30\1\66\1\31\1\32\1\33\1\34\1\35\1\36\1\37\2\66\1\57\1\uffff"+ + "\1\60\2\uffff\ufe7f\66\1\70\u00ff\66", + "", + "\1\76", + "\12\104\7\uffff\6\103\7\uffff\1\100\4\uffff\1\101\15\uffff\6\102", + "\12\104\7\uffff\6\103\2\uffff\1\105\27\uffff\6\102", + "\1\107\37\uffff\1\106", + "\1\110", + "\1\112\17\uffff\1\111", + "\1\113", + "\1\114", + "\32\73\3\uffff\1\115\2\uffff\32\73\5\uffff\uff7f\73", + "\1\120\3\uffff\1\121\3\uffff\1\117\5\uffff\1\122", + "\12\104\7\uffff\6\103\32\uffff\1\102\1\123\1\102\1\124\2\102\7\uffff"+ + "\1\125\3\uffff\1\126\1\127\1\130\1\131", + "\12\104\7\uffff\6\103\32\uffff\4\102\1\132\1\102\13\uffff\1\133", + "\12\104\7\uffff\6\103\32\uffff\1\134\2\102\1\135\2\102\5\uffff\1\136"+ + "\2\uffff\1\137", + "\12\104\7\uffff\6\103\32\uffff\4\102\1\140\1\102\2\uffff\1\141\5\uffff"+ + "\1\142\1\uffff\1\143\5\uffff\1\144\1\uffff\1\145", + "\12\104\7\uffff\6\103\32\uffff\6\102\5\uffff\1\146\1\uffff\1\147\11"+ + "\uffff\1\150", + "\12\104\7\uffff\6\103\32\uffff\1\151\5\102\2\uffff\1\152\5\uffff\1\153"+ + "\5\uffff\1\154", + "\1\155", + "\1\156", + "\1\157\6\uffff\1\160\1\161\4\uffff\1\162", + "\1\163\7\uffff\1\164\5\uffff\1\165", + "\1\166\11\uffff\1\167", + "\1\170\3\uffff\1\171\7\uffff\1\172\1\uffff\1\173\1\uffff\1\174\2\uffff"+ + "\1\175\1\176", + "\1\177\12\uffff\1\u0080\2\uffff\1\u0081\2\uffff\1\u0082\2\uffff\1\u0083", + "\1\u0084\3\uffff\1\u0085", + "\1\u0086\3\uffff\1\u0087\2\uffff\1\u0088\13\uffff\1\u0089", + "\1\u008a\6\uffff\1\u008b\2\uffff\1\u008c\6\uffff\1\u008d", + "\1\u008e\4\uffff\1\u008f", + "\1\u0090\7\uffff\1\u0091", + "\1\u0092\1\u0093\10\uffff\1\u0094", + "\1\u0095", + "", + "", + "", + "\1\u0096", + "\1\u0098", + "", + "", + "", + "\1\u009b\1\u009a", + "\1\u009d", + "\1\u0096\3\uffff\1\u009f", + "", + "", + "", + "\1\u00a1\4\uffff\1\u00a2", + "\0\u0096", + "", + "\12\104\7\uffff\6\103\16\uffff\1\u00a5\13\uffff\6\102", + "\12\104\7\uffff\6\103\5\uffff\1\u00a7\10\uffff\1\u00a6\13\uffff\6\102", + "\1\u00a8", + "\1\u00a9", + "\1\u00aa", + "", + "\12\104\7\uffff\6\103\32\uffff\6\102", + "\ufeff\66\1\uffff\u0100\66", + "\1\u00ae\1\uffff\12\u00ad\7\uffff\4\u00b0\1\u00af\1\u00b0\32\uffff\4"+ + "\u00b0\1\u00af\1\u00b0", + "", + "", + "", + "", + "", + "", + "\1\u00b1\12\uffff\1\u00b2", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\104\7\uffff\6\103\32\uffff\6\102", + "\12\104\7\uffff\6\103\32\uffff\6\102", + "\12\104\7\uffff\6\103\32\uffff\6\102", + "\1\u00b4", + "\1\u00b5", + "\1\u00b6", + "\1\u00b7", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u00b9", + "\1\u00ba\5\uffff\1\u00bb", + "\1\u00bc", + "", + "", + "\1\u00bd", + "\1\u00be", + "\1\u00bf", + "\1\u00c0\17\uffff\1\u00c1", + "\12\104\7\uffff\6\103\32\uffff\6\102\14\uffff\1\u00c2", + "\12\104\7\uffff\6\103\32\uffff\3\102\1\u00c3\2\102", + "\1\u00c4\16\uffff\1\u00c5", + "\1\u00c6", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\14\66\1\u00c7\5\66\1\u00c8"+ + "\7\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u00cb", + "\12\104\7\uffff\6\103\32\uffff\6\102\1\u00cc", + "\1\u00cd", + "\12\104\7\uffff\6\103\32\uffff\6\102\14\uffff\1\u00ce", + "\12\104\7\uffff\6\103\32\uffff\4\102\1\u00cf\1\102", + "\1\u00d0", + "\1\u00d1", + "\12\104\7\uffff\6\103\32\uffff\5\102\1\u00d2\5\uffff\1\u00d3\3\uffff"+ + "\1\u00d4\2\uffff\1\u00d5", + "\1\u00d6\2\uffff\1\u00d7", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\26\66\1\u00d8\3\66\5\uffff"+ + "\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u00dc", + "\1\u00dd", + "\1\u00de", + "\1\u00df\5\uffff\1\u00e0\6\uffff\1\u00e1\3\uffff\1\u00e2", + "\12\104\7\uffff\6\103\32\uffff\6\102\5\uffff\1\u00e4\5\uffff\1\u00e3", + "\1\u00e5\1\uffff\1\u00e6", + "\1\u00e7", + "\1\u00e8", + "\1\u00e9", + "\1\u00ea", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u00ec", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\3\66\1\u00ed\3\66\1\u00ee"+ + "\1\u00ef\2\66\1\u00f0\7\66\1\u00f1\6\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u00f4", + "\1\u00f5", + "\1\u00f6", + "\1\u00f7", + "\1\u00f8", + "\1\u00f9", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u00fc", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u00fe", + "\1\u00ff", + "\1\u0100\17\uffff\1\u0101", + "\1\u0102", + "\1\u0103", + "\1\u0104\5\uffff\1\u0105", + "\1\u0106", + "\1\u0107", + "\1\u0108\1\uffff\1\u0109\2\uffff\1\u010a\1\u010b\1\uffff\1\u010c\3\uffff"+ + "\1\u010d\2\uffff\1\u010e\1\u010f\1\uffff\1\u0110", + "\1\u0111", + "\1\u0112\22\uffff\1\u0113", + "\1\u0114\5\uffff\1\u0115", + "\1\u0116\2\uffff\1\u0117\12\uffff\1\u0118\2\uffff\1\u0119", + "\1\u011a\14\uffff\1\u011b", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u011e\3\uffff\1\u011d", + "\1\u011f", + "\1\u0120\11\uffff\1\u0121\1\u0122", + "\1\u0123", + "\1\u0124", + "\1\u0125", + "\1\u0126", + "\1\u0127", + "\1\u0128", + "\1\u0129", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\u012a", + "\1\u012b", + "\1\u012c", + "\1\u012d", + "\1\u012e", + "\1\u012f", + "", + "", + "\1\u00ae\1\uffff\12\u00ad\7\uffff\4\u00b0\1\u00af\1\u00b0\32\uffff\4"+ + "\u00b0\1\u00af\1\u00b0", + "", + "\1\u00ae\1\uffff\1\u00ae\2\uffff\12\u0130", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0132", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0134", + "\1\u0135", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u0137", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\3\uffff\1\u013b\1\66\1\uffff\32\66\5\uffff\uff7f"+ + "\66", + "\1\u013d", + "\1\u013e", + "\1\u013f", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0141\4\uffff\1\u0142", + "\12\104\7\uffff\6\103\24\66\4\uffff\1\66\1\uffff\6\102\24\66\5\uffff"+ + "\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0145", + "\1\u0146", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0148", + "", + "", + "\1\u0149", + "\1\u014a", + "\1\u014b", + "\1\u014c", + "\12\104\7\uffff\6\103\32\uffff\2\102\1\u014d\3\102", + "\1\u014e", + "\1\u014f\1\u0150", + "\12\104\7\uffff\6\103\32\uffff\1\u0151\5\102", + "\1\u0152", + "\1\u0153", + "\1\u0154", + "\1\u0155", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0157", + "", + "", + "", + "\1\u0158", + "\1\u0159", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u015b", + "\1\u015c", + "\1\u015d\11\uffff\1\u015e", + "\1\u015f", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0161", + "\1\u0162", + "\1\u0163", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\26\66\1\u0164\3\66\5\uffff"+ + "\uff7f\66", + "\1\u0166", + "\1\u0167", + "\1\u0168", + "", + "\1\u0169", + "\1\u016a", + "\1\u016b", + "\1\u016c", + "\1\u016d", + "\1\u016e", + "", + "", + "\1\u016f", + "\1\u0170", + "\1\u0171", + "\1\u0172", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0174", + "", + "", + "\1\u0175", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0177", + "\1\u0178", + "\1\u0179", + "\1\u017a", + "\1\u017b", + "\1\u017c", + "\1\u017d\3\uffff\1\u017e\10\uffff\1\u017f\3\uffff\1\u0180", + "\1\u0181", + "\1\u0182", + "\1\u0183", + "\1\u0184", + "\1\u0185", + "\1\u0186", + "\1\u0187", + "\1\u0188", + "\1\u0189", + "\1\u018a", + "\1\u018b\5\uffff\1\u018c", + "\1\u018d", + "\1\u018e", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0192", + "\1\u0193", + "\1\u0194", + "\1\u0195", + "\1\u0196", + "\1\u0197", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0199", + "\1\u019a", + "\1\u019b", + "\1\u019c", + "\1\u019d", + "\1\u019e", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\1\u019f\7\66\1\u01a0\21\66"+ + "\5\uffff\uff7f\66", + "\1\u01a2", + "\1\u01a3", + "\1\u01a4", + "\1\u01a5", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u01a7", + "\1\u01a8", + "\1\u01a9", + "\1\u01aa", + "\1\u01ab", + "\1\u01ac", + "\12\u01ad\7\uffff\6\u00b0\32\uffff\6\u00b0", + "", + "\1\u01ae", + "", + "\1\u01af", + "\1\u01b0", + "", + "\1\u01b1", + "", + "", + "", + "", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u01b4", + "", + "\1\u01b5", + "\1\u01b6", + "", + "", + "\1\u01b7", + "\1\u01b8", + "", + "\1\u01b9", + "\1\u01ba", + "\1\u01bb", + "\1\u01bc", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\104\7\uffff\6\103\32\uffff\6\102\5\uffff\1\u01be", + "\1\u01bf", + "\1\u01c0", + "\1\u01c1\7\uffff\1\u01c2", + "\12\104\7\uffff\6\103\32\uffff\6\102\16\uffff\1\u01c3", + "\1\u01c4", + "\1\u01c5", + "\1\u01c6", + "\1\u01c7", + "", + "\1\u01c8", + "\1\u01c9", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u01cb", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u01cd", + "\1\u01ce", + "\1\u01cf", + "", + "\1\u01d0", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u01d2", + "\1\u01d3", + "", + "\1\u01d4", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u01d6", + "\1\u01d7", + "\1\u01d8", + "\1\u01d9", + "\1\u01da", + "\1\u01db", + "\1\u01dc", + "\1\u01dd", + "\1\u01de", + "\1\u01df", + "\1\u01e0", + "", + "\1\u01e1", + "\1\u01e2", + "", + "\1\u01e3\5\uffff\1\u01e4", + "\1\u01e5\3\uffff\1\u01e6", + "\1\u01e7", + "\1\u01e8", + "\1\u01e9", + "\1\u01ea", + "\1\u01eb", + "\1\u01ec", + "\1\u01ed", + "\1\u01ee", + "\1\u01ef", + "\1\u01f0", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\16\66\1\u01f1\13\66\5\uffff"+ + "\uff7f\66", + "\1\u01f3", + "\1\u01f4", + "\1\u01f5", + "\1\u01f6", + "\1\u01f7", + "\1\u01f8", + "\1\u01f9", + "\1\u01fa", + "\1\u01fb", + "\1\u01fc", + "\1\u01fd", + "", + "", + "", + "\1\u01fe", + "\1\u01ff", + "\1\u0200", + "\1\u0201\12\uffff\1\u0202", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0204", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0208", + "\1\u0209", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u020b", + "\1\u020c", + "", + "\1\u020d", + "\1\u020e", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0210", + "", + "\1\u0211", + "\1\u0212", + "\1\u0213", + "\1\u0214", + "\1\u0215", + "\1\u0216", + "\12\u01ad\7\uffff\6\u00b0\32\uffff\6\u00b0", + "\1\u0217", + "\1\u0218", + "\1\u0219", + "\1\u021a", + "", + "", + "\1\u021b", + "\1\u021c", + "\1\u021d", + "\1\u021e", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0220", + "\1\u0221", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\21\66\1\u0226\10\66\5\uffff"+ + "\uff7f\66", + "\1\u0228", + "\1\u0229", + "\1\u022a", + "\1\u022b", + "\1\u022c", + "\1\u022d", + "\1\u022e\11\uffff\1\u022f", + "\1\u0230", + "\1\u0231", + "", + "\1\u0232", + "", + "\1\u0233", + "\1\u0234", + "\1\u0235", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\10\66\1\u0237\2\66\1\u0238"+ + "\16\66\5\uffff\uff7f\66", + "\1\u023a", + "\1\u023b", + "", + "\1\u023c", + "\1\u023d", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u023f", + "\1\u0240", + "\1\u0241", + "\1\u0242", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0244", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0246", + "\1\u0247", + "\1\u0248", + "\1\u0249", + "\1\u024a", + "\1\u024b", + "\1\u024c", + "\1\u024d", + "\1\u024e", + "\1\u024f", + "\1\u0250", + "\1\u0251", + "\1\u0252", + "\1\u0253", + "\1\u0254", + "\1\u0255\17\uffff\1\u0256", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0258", + "", + "\1\u0259", + "\1\u025a", + "\1\u025b", + "\1\u025c", + "\1\u025d", + "\1\u025e", + "\1\u025f", + "\1\u0260", + "\1\u0261", + "\1\u0262", + "\1\u0263", + "\1\u0264", + "\1\u0265", + "\1\u0266", + "\1\u0267", + "\1\u0268", + "", + "\1\u0269", + "", + "", + "", + "\1\u026a", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u026c", + "\1\u026d", + "\1\u026e", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\16\66\1\u0270\13\66\5\uffff"+ + "\uff7f\66", + "\1\u0272", + "\1\u0273", + "\12\66\7\uffff\32\66\4\uffff\1\u0274\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0276", + "\1\u0277", + "\1\u0278", + "\1\u0279", + "\1\u027a", + "\1\u027b", + "\1\u027c", + "\1\u027d", + "\1\u027e", + "\1\u027f", + "\1\u0280", + "", + "\1\u0281", + "\1\u0282", + "", + "", + "", + "", + "\1\u0283", + "", + "\1\u0284", + "\1\u0285", + "\1\u0286", + "\1\u0287", + "\1\u0288", + "\1\u0289", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u028b", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u028d", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u028f", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\22\66\1\u0290\7\66\5\uffff"+ + "\uff7f\66", + "\1\u0292", + "", + "\1\u0293", + "\1\u0294", + "", + "\1\u0295", + "\1\u0296", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0298", + "", + "\1\u0299", + "\1\u029a", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u029c", + "", + "\1\u029d", + "", + "\1\u029e", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02a0", + "\1\u02a1", + "\1\u02a2", + "\1\u02a3", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02a6", + "\1\u02a7", + "\1\u02a8", + "\1\u02a9", + "\1\u02aa", + "\1\u02ab", + "\1\u02ac", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02ae", + "", + "\1\u02af", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02b1", + "\1\u02b2", + "\1\u02b3", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02b6", + "\1\u02b7", + "\1\u02b8", + "\1\u02b9", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02bc", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02c0", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u02c2", + "\1\u02c3", + "\1\u02c4", + "", + "\1\u02c5", + "", + "\1\u02c6", + "\1\u02c7", + "\1\u02ca\10\uffff\1\u02c8\1\u02c9", + "", + "\1\u02cb", + "\1\u02cc", + "\1\u02cd", + "\1\u02ce", + "\1\u02cf", + "\1\u02d0", + "\1\u02d1", + "\1\u02d2", + "\1\u02d3", + "\1\u02d4", + "\1\u02d5", + "\1\u02d6\23\uffff\1\u02d7", + "\1\u02d8", + "\1\u02d9", + "\1\u02da", + "\1\u02db", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02de", + "\1\u02df", + "", + "\1\u02e0", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u02e2", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u02e4", + "\1\u02e5", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02e8", + "", + "\1\u02e9", + "\1\u02ea", + "\1\u02eb", + "", + "\1\u02ec", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u02ef", + "\1\u02f0", + "\1\u02f1", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "", + "\1\u02f3", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02f6", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u02f8", + "\1\u02f9", + "", + "\1\u02fa", + "\1\u02fb", + "", + "\1\u02fc", + "\1\u02fd", + "\1\u02fe", + "", + "", + "\1\u02ff", + "\1\u0300", + "\1\u0301", + "\1\u0302", + "", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "", + "", + "\1\u0304", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0308", + "\1\u0309", + "\1\u030a", + "\1\u030b", + "\1\u030c", + "\1\u030d", + "\1\u030e", + "\1\u0310\13\uffff\1\u030f", + "\1\u0311", + "\1\u0312", + "\1\u0313", + "\1\u0314", + "\1\u0315", + "\1\u0316", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0319", + "\1\u031a", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u031c", + "\1\u031d", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "", + "\1\u0320", + "\1\u0321", + "\1\u0322", + "", + "\1\u0323", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0325", + "", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0327", + "\1\u0328", + "\1\u0329", + "\1\u032a", + "", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "", + "\1\u032f", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0331", + "\1\u0332", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0334", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0336", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0339", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u033b", + "", + "", + "", + "\1\u033c", + "\1\u033d", + "\1\u033e", + "\1\u033f", + "\1\u0340", + "\1\u0341", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0343", + "\1\u0344", + "\1\u0345", + "\1\u0346", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0348", + "\1\u0349", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "", + "\1\u034b", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u034e", + "", + "", + "\1\u034f", + "\1\u0350", + "\1\u0351", + "\1\u0352", + "", + "\1\u0353", + "", + "\1\u0354\21\uffff\1\u0355", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0357", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "", + "", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u035d", + "", + "", + "\1\u035e", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0363\1\u0364\4\uffff\1\u0361\6\uffff\1\u0362\3\uffff\1\u0365", + "\1\u0366", + "\1\u0367", + "\1\u0368", + "\1\u0369", + "", + "\1\u036a", + "\1\u036b", + "\1\u036d\6\uffff\1\u036e\3\uffff\1\u036c", + "\1\u036f", + "", + "\1\u0371\14\uffff\1\u0370", + "\1\u0372", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "", + "\1\u0374", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0377", + "\1\u0378", + "\1\u0379", + "\1\u037a", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u037c", + "", + "", + "", + "", + "", + "\1\u037d", + "\1\u037e", + "", + "", + "\1\u037f", + "\1\u0380", + "\1\u0381", + "\1\u0382", + "\1\u0383", + "\1\u0384", + "\1\u0385", + "\1\u0386", + "\1\u0387", + "\1\u0388", + "\1\u0389", + "\1\u038a", + "\1\u038b", + "\1\u038c", + "\1\u038d", + "\1\u038e", + "\1\u038f", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "", + "\1\u0392", + "\1\u0393", + "\1\u0394", + "\1\u0395", + "", + "\1\u0396", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u0398", + "\1\u0399", + "\1\u039a", + "\1\u039b", + "\1\u039c", + "\1\u039d", + "\1\u039e", + "\1\u039f", + "\1\u03a0", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u03a3", + "\1\u03a4", + "\1\u03a5", + "\1\u03a6", + "\1\u03a7", + "\1\u03a8", + "\1\u03a9", + "", + "", + "\1\u03aa", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u03ad", + "\1\u03ae", + "", + "\1\u03af", + "\1\u03b0", + "\1\u03b1", + "\1\u03b2", + "\1\u03b3", + "\1\u03b4", + "\1\u03b5", + "\1\u03b6", + "\1\u03b7", + "", + "", + "\1\u03b8", + "\1\u03b9", + "\1\u03ba", + "\1\u03bb", + "\1\u03bc", + "\1\u03bd", + "\1\u03be", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "", + "\1\u03c0", + "\1\u03c1", + "\1\u03c2", + "\1\u03c3", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u03c7", + "\1\u03c8", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u03cd", + "\1\u03ce", + "\1\u03cf", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u03d5", + "", + "", + "", + "\1\u03d6", + "\1\u03d7", + "", + "", + "", + "", + "\1\u03d8", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u03da", + "", + "", + "", + "", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u03dd", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u03df", + "", + "", + "\12\66\7\uffff\32\66\4\uffff\1\u03e0\1\uffff\32\66\5\uffff\uff7f\66", + "", + "\1\u03e2", + "\1\u03e3", + "", + "\1\u03e4", + "\1\u03e5", + "\1\u03e6", + "\1\u03e7", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "\1\u03e9", + "", + "\12\66\7\uffff\32\66\4\uffff\1\66\1\uffff\32\66\5\uffff\uff7f\66", + "" + }; + + static final short[] DFA19_eot = DFA.unpackEncodedString(DFA19_eotS); + static final short[] DFA19_eof = DFA.unpackEncodedString(DFA19_eofS); + static final char[] DFA19_min = DFA.unpackEncodedStringToUnsignedChars(DFA19_minS); + static final char[] DFA19_max = DFA.unpackEncodedStringToUnsignedChars(DFA19_maxS); + static final short[] DFA19_accept = DFA.unpackEncodedString(DFA19_acceptS); + static final short[] DFA19_special = DFA.unpackEncodedString(DFA19_specialS); + static final short[][] DFA19_transition; + + static { + int numStates = DFA19_transitionS.length; + DFA19_transition = new short[numStates][]; + for (int i=0; i= '\u0000' && LA19_56 <= '\uFEFE')||(LA19_56 >= '\uFF00' && LA19_56 <= '\uFFFF')) ) {s = 54;} + else s = 171; + if ( s>=0 ) return s; + break; + + case 1 : + int LA19_47 = input.LA(1); + s = -1; + if ( ((LA19_47 >= '\u0000' && LA19_47 <= '\uFFFF')) ) {s = 150;} + else s = 164; + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 19, _s, input); + error(nvae); + throw nvae; + } + } + +} diff --git a/src/main/java/org/sonar/plugins/delphi/antlr/DelphiParser.java b/src/main/java/org/sonar/plugins/delphi/antlr/DelphiParser.java index 4ed3b15..16143e5 100644 --- a/src/main/java/org/sonar/plugins/delphi/antlr/DelphiParser.java +++ b/src/main/java/org/sonar/plugins/delphi/antlr/DelphiParser.java @@ -1,51943 +1,53064 @@ -// $ANTLR 3.5.2 org\\sonar\\plugins\\delphi\\antlr\\Delphi.g 2017-04-03 17:48:10 - -/* - * Sonar Delphi Plugin - * Copyright (C) 2010 SonarSource - * dev@sonar.codehaus.org - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ - -package org.sonar.plugins.delphi.antlr; - -/** -* Delphi Parser class generated by Antlr. Provides tokens and tree parsing methods. -**/ - - -import org.antlr.runtime.*; -import java.util.HashMap; - -import org.antlr.runtime.tree.*; - - -@SuppressWarnings("all") -public class DelphiParser extends Parser { - public static final String[] tokenNames = new String[] { - "", "", "", "", "ABSOLUTE", "ABSTRACT", "ADD", - "AND", "ANSISTRING", "ARRAY", "AS", "ASM", "ASSEMBLER", "ASSEMBLY", "ASSIGN", - "AT", "AT2", "AUTOMATED", "Alpha", "BEGIN", "BREAK", "CASE", "CDECL", - "CLASS", "COLON", "COMMA", "COMMENT", "CONST", "CONSTRUCTOR", "CONTAINS", - "CONTINUE", "ControlString", "Controlchar", "DEFAULT", "DEPRECATED", "DESTRUCTOR", - "DISPID", "DISPINTERFACE", "DIV", "DO", "DOT", "DOTDOT", "DOWNTO", "DQ", - "DW", "DYNAMIC", "Digit", "Digitseq", "ELSE", "END", "EQUAL", "EXCEPT", - "EXIT", "EXPERIMENTAL", "EXPORT", "EXPORTS", "EXTERNAL", "FALSE", "FAR", - "FILE", "FINAL", "FINALIZATION", "FINALLY", "FOR", "FORWARD", "FUNCTION", - "GE", "GOTO", "GT", "HELPER", "Hexdigit", "Hexdigitseq", "IF", "IMPLEMENTATION", - "IMPLEMENTS", "IN", "INDEX", "INHERITED", "INITIALIZATION", "INLINE", - "INTERFACE", "IS", "LABEL", "LBRACK", "LBRACK2", "LCURLY", "LE", "LIBRARY", - "LOCAL", "LPAREN", "LT", "MESSAGE", "MINUS", "MOD", "NAME", "NEAR", "NIL", - "NODEFAULT", "NOT", "NOT_EQUAL", "OBJECT", "OF", "ON", "OPERATOR", "OR", - "OUT", "OVERLOAD", "OVERRIDE", "PACKAGE", "PACKED", "PASCAL", "PLATFORM", - "PLUS", "POINTER", "POINTER2", "PRIVATE", "PROCEDURE", "PROGRAM", "PROPERTY", - "PROTECTED", "PUBLIC", "PUBLISHED", "QuotedString", "RAISE", "RBRACK", - "RBRACK2", "RCURLY", "READ", "READONLY", "RECORD", "REFERENCE", "REGISTER", - "REINTRODUCE", "REMOVE", "REPEAT", "REQUIRES", "RESIDENT", "RESOURCESTRING", - "RPAREN", "SAFECALL", "SEALED", "SEMI", "SET", "SHL", "SHR", "SLASH", - "STAR", "STATIC", "STDCALL", "STORED", "STRICT", "STRING", "THEN", "THREADVAR", - "TO", "TRUE", "TRY", "TYPE", "TkAnonymousExpression", "TkAsmHexLabel", - "TkAsmHexNum", "TkClass", "TkClassField", "TkClassOfType", "TkClassParents", - "TkCustomAttribute", "TkCustomAttributeArgs", "TkFunctionArgs", "TkFunctionBody", - "TkFunctionName", "TkFunctionReturn", "TkGlobalFunction", "TkGuid", "TkHexNum", - "TkIdentifier", "TkIntNum", "TkInterface", "TkNewType", "TkObject", "TkRealNum", - "TkRecord", "TkRecordHelper", "TkVariableIdents", "TkVariableParam", "TkVariableType", - "UNIT", "UNSAFE", "UNTIL", "USES", "UnicodeBOM", "VAR", "VARARGS", "VARIANT", - "VIRTUAL", "WHILE", "WITH", "WRITE", "WRITEONLY", "WS", "XOR", "'&'", - "'@@'" - }; - public static final int EOF=-1; - public static final int T__200=200; - public static final int T__201=201; - public static final int ABSOLUTE=4; - public static final int ABSTRACT=5; - public static final int ADD=6; - public static final int AND=7; - public static final int ANSISTRING=8; - public static final int ARRAY=9; - public static final int AS=10; - public static final int ASM=11; - public static final int ASSEMBLER=12; - public static final int ASSEMBLY=13; - public static final int ASSIGN=14; - public static final int AT=15; - public static final int AT2=16; - public static final int AUTOMATED=17; - public static final int Alpha=18; - public static final int BEGIN=19; - public static final int BREAK=20; - public static final int CASE=21; - public static final int CDECL=22; - public static final int CLASS=23; - public static final int COLON=24; - public static final int COMMA=25; - public static final int COMMENT=26; - public static final int CONST=27; - public static final int CONSTRUCTOR=28; - public static final int CONTAINS=29; - public static final int CONTINUE=30; - public static final int ControlString=31; - public static final int Controlchar=32; - public static final int DEFAULT=33; - public static final int DEPRECATED=34; - public static final int DESTRUCTOR=35; - public static final int DISPID=36; - public static final int DISPINTERFACE=37; - public static final int DIV=38; - public static final int DO=39; - public static final int DOT=40; - public static final int DOTDOT=41; - public static final int DOWNTO=42; - public static final int DQ=43; - public static final int DW=44; - public static final int DYNAMIC=45; - public static final int Digit=46; - public static final int Digitseq=47; - public static final int ELSE=48; - public static final int END=49; - public static final int EQUAL=50; - public static final int EXCEPT=51; - public static final int EXIT=52; - public static final int EXPERIMENTAL=53; - public static final int EXPORT=54; - public static final int EXPORTS=55; - public static final int EXTERNAL=56; - public static final int FALSE=57; - public static final int FAR=58; - public static final int FILE=59; - public static final int FINAL=60; - public static final int FINALIZATION=61; - public static final int FINALLY=62; - public static final int FOR=63; - public static final int FORWARD=64; - public static final int FUNCTION=65; - public static final int GE=66; - public static final int GOTO=67; - public static final int GT=68; - public static final int HELPER=69; - public static final int Hexdigit=70; - public static final int Hexdigitseq=71; - public static final int IF=72; - public static final int IMPLEMENTATION=73; - public static final int IMPLEMENTS=74; - public static final int IN=75; - public static final int INDEX=76; - public static final int INHERITED=77; - public static final int INITIALIZATION=78; - public static final int INLINE=79; - public static final int INTERFACE=80; - public static final int IS=81; - public static final int LABEL=82; - public static final int LBRACK=83; - public static final int LBRACK2=84; - public static final int LCURLY=85; - public static final int LE=86; - public static final int LIBRARY=87; - public static final int LOCAL=88; - public static final int LPAREN=89; - public static final int LT=90; - public static final int MESSAGE=91; - public static final int MINUS=92; - public static final int MOD=93; - public static final int NAME=94; - public static final int NEAR=95; - public static final int NIL=96; - public static final int NODEFAULT=97; - public static final int NOT=98; - public static final int NOT_EQUAL=99; - public static final int OBJECT=100; - public static final int OF=101; - public static final int ON=102; - public static final int OPERATOR=103; - public static final int OR=104; - public static final int OUT=105; - public static final int OVERLOAD=106; - public static final int OVERRIDE=107; - public static final int PACKAGE=108; - public static final int PACKED=109; - public static final int PASCAL=110; - public static final int PLATFORM=111; - public static final int PLUS=112; - public static final int POINTER=113; - public static final int POINTER2=114; - public static final int PRIVATE=115; - public static final int PROCEDURE=116; - public static final int PROGRAM=117; - public static final int PROPERTY=118; - public static final int PROTECTED=119; - public static final int PUBLIC=120; - public static final int PUBLISHED=121; - public static final int QuotedString=122; - public static final int RAISE=123; - public static final int RBRACK=124; - public static final int RBRACK2=125; - public static final int RCURLY=126; - public static final int READ=127; - public static final int READONLY=128; - public static final int RECORD=129; - public static final int REFERENCE=130; - public static final int REGISTER=131; - public static final int REINTRODUCE=132; - public static final int REMOVE=133; - public static final int REPEAT=134; - public static final int REQUIRES=135; - public static final int RESIDENT=136; - public static final int RESOURCESTRING=137; - public static final int RPAREN=138; - public static final int SAFECALL=139; - public static final int SEALED=140; - public static final int SEMI=141; - public static final int SET=142; - public static final int SHL=143; - public static final int SHR=144; - public static final int SLASH=145; - public static final int STAR=146; - public static final int STATIC=147; - public static final int STDCALL=148; - public static final int STORED=149; - public static final int STRICT=150; - public static final int STRING=151; - public static final int THEN=152; - public static final int THREADVAR=153; - public static final int TO=154; - public static final int TRUE=155; - public static final int TRY=156; - public static final int TYPE=157; - public static final int TkAnonymousExpression=158; - public static final int TkAsmHexLabel=159; - public static final int TkAsmHexNum=160; - public static final int TkClass=161; - public static final int TkClassField=162; - public static final int TkClassOfType=163; - public static final int TkClassParents=164; - public static final int TkCustomAttribute=165; - public static final int TkCustomAttributeArgs=166; - public static final int TkFunctionArgs=167; - public static final int TkFunctionBody=168; - public static final int TkFunctionName=169; - public static final int TkFunctionReturn=170; - public static final int TkGlobalFunction=171; - public static final int TkGuid=172; - public static final int TkHexNum=173; - public static final int TkIdentifier=174; - public static final int TkIntNum=175; - public static final int TkInterface=176; - public static final int TkNewType=177; - public static final int TkObject=178; - public static final int TkRealNum=179; - public static final int TkRecord=180; - public static final int TkRecordHelper=181; - public static final int TkVariableIdents=182; - public static final int TkVariableParam=183; - public static final int TkVariableType=184; - public static final int UNIT=185; - public static final int UNSAFE=186; - public static final int UNTIL=187; - public static final int USES=188; - public static final int UnicodeBOM=189; - public static final int VAR=190; - public static final int VARARGS=191; - public static final int VARIANT=192; - public static final int VIRTUAL=193; - public static final int WHILE=194; - public static final int WITH=195; - public static final int WRITE=196; - public static final int WRITEONLY=197; - public static final int WS=198; - public static final int XOR=199; - - // delegates - public Parser[] getDelegates() { - return new Parser[] {}; - } - - // delegators - - - public DelphiParser(TokenStream input) { - this(input, new RecognizerSharedState()); - } - public DelphiParser(TokenStream input, RecognizerSharedState state) { - super(input, state); - this.state.ruleMemo = new HashMap[649+1]; - - - } - - protected TreeAdaptor adaptor = new CommonTreeAdaptor(); - - public void setTreeAdaptor(TreeAdaptor adaptor) { - this.adaptor = adaptor; - } - public TreeAdaptor getTreeAdaptor() { - return adaptor; - } - @Override public String[] getTokenNames() { return DelphiParser.tokenNames; } - @Override public String getGrammarFileName() { return "org\\sonar\\plugins\\delphi\\antlr\\Delphi.g"; } - - - public static class file_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "file" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:70:1: file : ( program | library | unit | packageE ); - public final DelphiParser.file_return file() throws RecognitionException { - DelphiParser.file_return retval = new DelphiParser.file_return(); - retval.start = input.LT(1); - int file_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope program1 =null; - ParserRuleReturnScope library2 =null; - ParserRuleReturnScope unit3 =null; - ParserRuleReturnScope packageE4 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 1) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:70:30: ( program | library | unit | packageE ) - int alt1=4; - switch ( input.LA(1) ) { - case ASM: - case BEGIN: - case CLASS: - case CONST: - case CONSTRUCTOR: - case DESTRUCTOR: - case DOT: - case EXPORTS: - case FUNCTION: - case LABEL: - case LBRACK: - case PROCEDURE: - case PROGRAM: - case RESOURCESTRING: - case THREADVAR: - case TYPE: - case USES: - case VAR: - { - alt1=1; - } - break; - case LIBRARY: - { - alt1=2; - } - break; - case UNIT: - { - alt1=3; - } - break; - case PACKAGE: - { - alt1=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 1, 0, input); - throw nvae; - } - switch (alt1) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:70:32: program - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_program_in_file84); - program1=program(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, program1.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:70:42: library - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_library_in_file88); - library2=library(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, library2.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:70:52: unit - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_unit_in_file92); - unit3=unit(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, unit3.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:70:59: packageE - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_packageE_in_file96); - packageE4=packageE(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, packageE4.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 1, file_StartIndex); } - - } - return retval; - } - // $ANTLR end "file" - - - public static class program_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "program" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:76:1: program : ( programHead )? ( usesFileClause )? block '.' ; - public final DelphiParser.program_return program() throws RecognitionException { - DelphiParser.program_return retval = new DelphiParser.program_return(); - retval.start = input.LT(1); - int program_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal8=null; - ParserRuleReturnScope programHead5 =null; - ParserRuleReturnScope usesFileClause6 =null; - ParserRuleReturnScope block7 =null; - - Object char_literal8_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 2) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:76:30: ( ( programHead )? ( usesFileClause )? block '.' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:76:32: ( programHead )? ( usesFileClause )? block '.' - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:76:32: ( programHead )? - int alt2=2; - int LA2_0 = input.LA(1); - if ( (LA2_0==PROGRAM) ) { - alt2=1; - } - switch (alt2) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:76:33: programHead - { - pushFollow(FOLLOW_programHead_in_program159); - programHead5=programHead(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, programHead5.getTree()); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:76:47: ( usesFileClause )? - int alt3=2; - int LA3_0 = input.LA(1); - if ( (LA3_0==USES) ) { - alt3=1; - } - switch (alt3) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:76:48: usesFileClause - { - pushFollow(FOLLOW_usesFileClause_in_program164); - usesFileClause6=usesFileClause(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, usesFileClause6.getTree()); - - } - break; - - } - - pushFollow(FOLLOW_block_in_program168); - block7=block(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, block7.getTree()); - - char_literal8=(Token)match(input,DOT,FOLLOW_DOT_in_program170); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal8_tree = (Object)adaptor.create(char_literal8); - adaptor.addChild(root_0, char_literal8_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 2, program_StartIndex); } - - } - return retval; - } - // $ANTLR end "program" - - - public static class programHead_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "programHead" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:78:1: programHead : 'program' namespaceName ( programParmSeq )? ';' ; - public final DelphiParser.programHead_return programHead() throws RecognitionException { - DelphiParser.programHead_return retval = new DelphiParser.programHead_return(); - retval.start = input.LT(1); - int programHead_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal9=null; - Token char_literal12=null; - ParserRuleReturnScope namespaceName10 =null; - ParserRuleReturnScope programParmSeq11 =null; - - Object string_literal9_tree=null; - Object char_literal12_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 3) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:78:30: ( 'program' namespaceName ( programParmSeq )? ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:78:32: 'program' namespaceName ( programParmSeq )? ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal9=(Token)match(input,PROGRAM,FOLLOW_PROGRAM_in_programHead224); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal9_tree = (Object)adaptor.create(string_literal9); - adaptor.addChild(root_0, string_literal9_tree); - } - - pushFollow(FOLLOW_namespaceName_in_programHead226); - namespaceName10=namespaceName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, namespaceName10.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:78:56: ( programParmSeq )? - int alt4=2; - int LA4_0 = input.LA(1); - if ( (LA4_0==LPAREN) ) { - alt4=1; - } - switch (alt4) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:78:57: programParmSeq - { - pushFollow(FOLLOW_programParmSeq_in_programHead229); - programParmSeq11=programParmSeq(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, programParmSeq11.getTree()); - - } - break; - - } - - char_literal12=(Token)match(input,SEMI,FOLLOW_SEMI_in_programHead233); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal12_tree = (Object)adaptor.create(char_literal12); - adaptor.addChild(root_0, char_literal12_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 3, programHead_StartIndex); } - - } - return retval; - } - // $ANTLR end "programHead" - - - public static class programParmSeq_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "programParmSeq" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:80:1: programParmSeq : '(' ( ident ( ',' ident )* )? ')' ; - public final DelphiParser.programParmSeq_return programParmSeq() throws RecognitionException { - DelphiParser.programParmSeq_return retval = new DelphiParser.programParmSeq_return(); - retval.start = input.LT(1); - int programParmSeq_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal13=null; - Token char_literal15=null; - Token char_literal17=null; - ParserRuleReturnScope ident14 =null; - ParserRuleReturnScope ident16 =null; - - Object char_literal13_tree=null; - Object char_literal15_tree=null; - Object char_literal17_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 4) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:80:30: ( '(' ( ident ( ',' ident )* )? ')' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:80:32: '(' ( ident ( ',' ident )* )? ')' - { - root_0 = (Object)adaptor.nil(); - - - char_literal13=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_programParmSeq284); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal13_tree = (Object)adaptor.create(char_literal13); - adaptor.addChild(root_0, char_literal13_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:80:36: ( ident ( ',' ident )* )? - int alt6=2; - int LA6_0 = input.LA(1); - if ( (LA6_0==ADD||LA6_0==ANSISTRING||LA6_0==AT||LA6_0==BREAK||(LA6_0 >= CONTAINS && LA6_0 <= CONTINUE)||LA6_0==DEFAULT||LA6_0==EXIT||LA6_0==EXPORT||LA6_0==FINAL||LA6_0==IMPLEMENTS||LA6_0==INDEX||LA6_0==LOCAL||LA6_0==MESSAGE||LA6_0==NAME||LA6_0==OBJECT||LA6_0==OPERATOR||LA6_0==OUT||LA6_0==POINTER||(LA6_0 >= READ && LA6_0 <= READONLY)||(LA6_0 >= REFERENCE && LA6_0 <= REGISTER)||LA6_0==REMOVE||(LA6_0 >= STORED && LA6_0 <= STRING)||LA6_0==TkIdentifier||LA6_0==VARIANT||LA6_0==WRITE||LA6_0==200) ) { - alt6=1; - } - switch (alt6) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:80:37: ident ( ',' ident )* - { - pushFollow(FOLLOW_ident_in_programParmSeq287); - ident14=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident14.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:80:43: ( ',' ident )* - loop5: - while (true) { - int alt5=2; - int LA5_0 = input.LA(1); - if ( (LA5_0==COMMA) ) { - alt5=1; - } - - switch (alt5) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:80:44: ',' ident - { - char_literal15=(Token)match(input,COMMA,FOLLOW_COMMA_in_programParmSeq290); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal15_tree = (Object)adaptor.create(char_literal15); - adaptor.addChild(root_0, char_literal15_tree); - } - - pushFollow(FOLLOW_ident_in_programParmSeq292); - ident16=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident16.getTree()); - - } - break; - - default : - break loop5; - } - } - - } - break; - - } - - char_literal17=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_programParmSeq299); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal17_tree = (Object)adaptor.create(char_literal17); - adaptor.addChild(root_0, char_literal17_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 4, programParmSeq_StartIndex); } - - } - return retval; - } - // $ANTLR end "programParmSeq" - - - public static class library_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "library" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:82:1: library : libraryHead ( usesFileClause )? block '.' ; - public final DelphiParser.library_return library() throws RecognitionException { - DelphiParser.library_return retval = new DelphiParser.library_return(); - retval.start = input.LT(1); - int library_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal21=null; - ParserRuleReturnScope libraryHead18 =null; - ParserRuleReturnScope usesFileClause19 =null; - ParserRuleReturnScope block20 =null; - - Object char_literal21_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 5) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:82:30: ( libraryHead ( usesFileClause )? block '.' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:82:32: libraryHead ( usesFileClause )? block '.' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_libraryHead_in_library357); - libraryHead18=libraryHead(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, libraryHead18.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:82:44: ( usesFileClause )? - int alt7=2; - int LA7_0 = input.LA(1); - if ( (LA7_0==USES) ) { - alt7=1; - } - switch (alt7) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:82:45: usesFileClause - { - pushFollow(FOLLOW_usesFileClause_in_library360); - usesFileClause19=usesFileClause(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, usesFileClause19.getTree()); - - } - break; - - } - - pushFollow(FOLLOW_block_in_library364); - block20=block(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, block20.getTree()); - - char_literal21=(Token)match(input,DOT,FOLLOW_DOT_in_library366); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal21_tree = (Object)adaptor.create(char_literal21); - adaptor.addChild(root_0, char_literal21_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 5, library_StartIndex); } - - } - return retval; - } - // $ANTLR end "library" - - - public static class libraryHead_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "libraryHead" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:84:1: libraryHead : 'library' namespaceName ( hintingDirective )* ';' -> ^( 'library' namespaceName ) ; - public final DelphiParser.libraryHead_return libraryHead() throws RecognitionException { - DelphiParser.libraryHead_return retval = new DelphiParser.libraryHead_return(); - retval.start = input.LT(1); - int libraryHead_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal22=null; - Token char_literal25=null; - ParserRuleReturnScope namespaceName23 =null; - ParserRuleReturnScope hintingDirective24 =null; - - Object string_literal22_tree=null; - Object char_literal25_tree=null; - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleTokenStream stream_LIBRARY=new RewriteRuleTokenStream(adaptor,"token LIBRARY"); - RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); - RewriteRuleSubtreeStream stream_namespaceName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceName"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 6) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:84:30: ( 'library' namespaceName ( hintingDirective )* ';' -> ^( 'library' namespaceName ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:84:32: 'library' namespaceName ( hintingDirective )* ';' - { - string_literal22=(Token)match(input,LIBRARY,FOLLOW_LIBRARY_in_libraryHead420); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LIBRARY.add(string_literal22); - - pushFollow(FOLLOW_namespaceName_in_libraryHead422); - namespaceName23=namespaceName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName23.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:84:56: ( hintingDirective )* - loop8: - while (true) { - int alt8=2; - int LA8_0 = input.LA(1); - if ( (LA8_0==DEPRECATED||LA8_0==EXPERIMENTAL||LA8_0==LIBRARY||LA8_0==PLATFORM) ) { - alt8=1; - } - - switch (alt8) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:84:57: hintingDirective - { - pushFollow(FOLLOW_hintingDirective_in_libraryHead425); - hintingDirective24=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective24.getTree()); - } - break; - - default : - break loop8; - } - } - - char_literal25=(Token)match(input,SEMI,FOLLOW_SEMI_in_libraryHead429); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal25); - - // AST REWRITE - // elements: LIBRARY, namespaceName - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 84:80: -> ^( 'library' namespaceName ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:84:83: ^( 'library' namespaceName ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_LIBRARY.nextNode(), root_1); - adaptor.addChild(root_1, stream_namespaceName.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 6, libraryHead_StartIndex); } - - } - return retval; - } - // $ANTLR end "libraryHead" - - - public static class packageE_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "packageE" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:86:1: packageE : packageHead requiresClause ( containsClause )? 'end' '.' ; - public final DelphiParser.packageE_return packageE() throws RecognitionException { - DelphiParser.packageE_return retval = new DelphiParser.packageE_return(); - retval.start = input.LT(1); - int packageE_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal29=null; - Token char_literal30=null; - ParserRuleReturnScope packageHead26 =null; - ParserRuleReturnScope requiresClause27 =null; - ParserRuleReturnScope containsClause28 =null; - - Object string_literal29_tree=null; - Object char_literal30_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 7) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:86:30: ( packageHead requiresClause ( containsClause )? 'end' '.' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:86:32: packageHead requiresClause ( containsClause )? 'end' '.' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_packageHead_in_packageE494); - packageHead26=packageHead(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, packageHead26.getTree()); - - pushFollow(FOLLOW_requiresClause_in_packageE496); - requiresClause27=requiresClause(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, requiresClause27.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:86:59: ( containsClause )? - int alt9=2; - int LA9_0 = input.LA(1); - if ( (LA9_0==CONTAINS) ) { - alt9=1; - } - switch (alt9) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:86:60: containsClause - { - pushFollow(FOLLOW_containsClause_in_packageE499); - containsClause28=containsClause(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, containsClause28.getTree()); - - } - break; - - } - - string_literal29=(Token)match(input,END,FOLLOW_END_in_packageE503); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal29_tree = (Object)adaptor.create(string_literal29); - adaptor.addChild(root_0, string_literal29_tree); - } - - char_literal30=(Token)match(input,DOT,FOLLOW_DOT_in_packageE505); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal30_tree = (Object)adaptor.create(char_literal30); - adaptor.addChild(root_0, char_literal30_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 7, packageE_StartIndex); } - - } - return retval; - } - // $ANTLR end "packageE" - - - public static class packageHead_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "packageHead" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:88:1: packageHead : 'package' namespaceName ';' ; - public final DelphiParser.packageHead_return packageHead() throws RecognitionException { - DelphiParser.packageHead_return retval = new DelphiParser.packageHead_return(); - retval.start = input.LT(1); - int packageHead_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal31=null; - Token char_literal33=null; - ParserRuleReturnScope namespaceName32 =null; - - Object string_literal31_tree=null; - Object char_literal33_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 8) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:88:30: ( 'package' namespaceName ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:88:32: 'package' namespaceName ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal31=(Token)match(input,PACKAGE,FOLLOW_PACKAGE_in_packageHead559); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal31_tree = (Object)adaptor.create(string_literal31); - adaptor.addChild(root_0, string_literal31_tree); - } - - pushFollow(FOLLOW_namespaceName_in_packageHead561); - namespaceName32=namespaceName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, namespaceName32.getTree()); - - char_literal33=(Token)match(input,SEMI,FOLLOW_SEMI_in_packageHead563); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal33_tree = (Object)adaptor.create(char_literal33); - adaptor.addChild(root_0, char_literal33_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 8, packageHead_StartIndex); } - - } - return retval; - } - // $ANTLR end "packageHead" - - - public static class unit_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "unit" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:90:1: unit : unitHead unitInterface unitImplementation unitBlock '.' ; - public final DelphiParser.unit_return unit() throws RecognitionException { - DelphiParser.unit_return retval = new DelphiParser.unit_return(); - retval.start = input.LT(1); - int unit_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal38=null; - ParserRuleReturnScope unitHead34 =null; - ParserRuleReturnScope unitInterface35 =null; - ParserRuleReturnScope unitImplementation36 =null; - ParserRuleReturnScope unitBlock37 =null; - - Object char_literal38_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 9) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:90:30: ( unitHead unitInterface unitImplementation unitBlock '.' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:90:32: unitHead unitInterface unitImplementation unitBlock '.' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_unitHead_in_unit624); - unitHead34=unitHead(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, unitHead34.getTree()); - - pushFollow(FOLLOW_unitInterface_in_unit626); - unitInterface35=unitInterface(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, unitInterface35.getTree()); - - pushFollow(FOLLOW_unitImplementation_in_unit628); - unitImplementation36=unitImplementation(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, unitImplementation36.getTree()); - - pushFollow(FOLLOW_unitBlock_in_unit630); - unitBlock37=unitBlock(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, unitBlock37.getTree()); - - char_literal38=(Token)match(input,DOT,FOLLOW_DOT_in_unit632); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal38_tree = (Object)adaptor.create(char_literal38); - adaptor.addChild(root_0, char_literal38_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 9, unit_StartIndex); } - - } - return retval; - } - // $ANTLR end "unit" - - - public static class unitHead_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "unitHead" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:92:1: unitHead : 'unit' namespaceName ( hintingDirective )* ';' -> ^( 'unit' namespaceName ( hintingDirective )* ) ; - public final DelphiParser.unitHead_return unitHead() throws RecognitionException { - DelphiParser.unitHead_return retval = new DelphiParser.unitHead_return(); - retval.start = input.LT(1); - int unitHead_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal39=null; - Token char_literal42=null; - ParserRuleReturnScope namespaceName40 =null; - ParserRuleReturnScope hintingDirective41 =null; - - Object string_literal39_tree=null; - Object char_literal42_tree=null; - RewriteRuleTokenStream stream_UNIT=new RewriteRuleTokenStream(adaptor,"token UNIT"); - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); - RewriteRuleSubtreeStream stream_namespaceName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceName"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 10) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:92:30: ( 'unit' namespaceName ( hintingDirective )* ';' -> ^( 'unit' namespaceName ( hintingDirective )* ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:92:32: 'unit' namespaceName ( hintingDirective )* ';' - { - string_literal39=(Token)match(input,UNIT,FOLLOW_UNIT_in_unitHead689); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_UNIT.add(string_literal39); - - pushFollow(FOLLOW_namespaceName_in_unitHead691); - namespaceName40=namespaceName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName40.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:92:53: ( hintingDirective )* - loop10: - while (true) { - int alt10=2; - int LA10_0 = input.LA(1); - if ( (LA10_0==DEPRECATED||LA10_0==EXPERIMENTAL||LA10_0==LIBRARY||LA10_0==PLATFORM) ) { - alt10=1; - } - - switch (alt10) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:92:54: hintingDirective - { - pushFollow(FOLLOW_hintingDirective_in_unitHead694); - hintingDirective41=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective41.getTree()); - } - break; - - default : - break loop10; - } - } - - char_literal42=(Token)match(input,SEMI,FOLLOW_SEMI_in_unitHead698); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal42); - - // AST REWRITE - // elements: namespaceName, UNIT, hintingDirective - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 92:77: -> ^( 'unit' namespaceName ( hintingDirective )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:92:80: ^( 'unit' namespaceName ( hintingDirective )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_UNIT.nextNode(), root_1); - adaptor.addChild(root_1, stream_namespaceName.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:92:103: ( hintingDirective )* - while ( stream_hintingDirective.hasNext() ) { - adaptor.addChild(root_1, stream_hintingDirective.nextTree()); - } - stream_hintingDirective.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 10, unitHead_StartIndex); } - - } - return retval; - } - // $ANTLR end "unitHead" - - - public static class unitInterface_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "unitInterface" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:1: unitInterface : 'interface' ( usesClause )? ( interfaceDecl )* -> ^( 'interface' ( usesClause )? ( interfaceDecl )* ) ; - public final DelphiParser.unitInterface_return unitInterface() throws RecognitionException { - DelphiParser.unitInterface_return retval = new DelphiParser.unitInterface_return(); - retval.start = input.LT(1); - int unitInterface_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal43=null; - ParserRuleReturnScope usesClause44 =null; - ParserRuleReturnScope interfaceDecl45 =null; - - Object string_literal43_tree=null; - RewriteRuleTokenStream stream_INTERFACE=new RewriteRuleTokenStream(adaptor,"token INTERFACE"); - RewriteRuleSubtreeStream stream_interfaceDecl=new RewriteRuleSubtreeStream(adaptor,"rule interfaceDecl"); - RewriteRuleSubtreeStream stream_usesClause=new RewriteRuleSubtreeStream(adaptor,"rule usesClause"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 11) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:30: ( 'interface' ( usesClause )? ( interfaceDecl )* -> ^( 'interface' ( usesClause )? ( interfaceDecl )* ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:32: 'interface' ( usesClause )? ( interfaceDecl )* - { - string_literal43=(Token)match(input,INTERFACE,FOLLOW_INTERFACE_in_unitInterface763); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_INTERFACE.add(string_literal43); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:44: ( usesClause )? - int alt11=2; - int LA11_0 = input.LA(1); - if ( (LA11_0==USES) ) { - alt11=1; - } - switch (alt11) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:45: usesClause - { - pushFollow(FOLLOW_usesClause_in_unitInterface766); - usesClause44=usesClause(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_usesClause.add(usesClause44.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:58: ( interfaceDecl )* - loop12: - while (true) { - int alt12=2; - int LA12_0 = input.LA(1); - if ( (LA12_0==CLASS||(LA12_0 >= CONST && LA12_0 <= CONSTRUCTOR)||LA12_0==DESTRUCTOR||LA12_0==EXPORTS||LA12_0==FUNCTION||LA12_0==LBRACK||LA12_0==PROCEDURE||LA12_0==RESOURCESTRING||LA12_0==THREADVAR||LA12_0==TYPE||LA12_0==VAR) ) { - alt12=1; - } - - switch (alt12) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:59: interfaceDecl - { - pushFollow(FOLLOW_interfaceDecl_in_unitInterface771); - interfaceDecl45=interfaceDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_interfaceDecl.add(interfaceDecl45.getTree()); - } - break; - - default : - break loop12; - } - } - - // AST REWRITE - // elements: interfaceDecl, usesClause, INTERFACE - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 94:75: -> ^( 'interface' ( usesClause )? ( interfaceDecl )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:78: ^( 'interface' ( usesClause )? ( interfaceDecl )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_INTERFACE.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:92: ( usesClause )? - if ( stream_usesClause.hasNext() ) { - adaptor.addChild(root_1, stream_usesClause.nextTree()); - } - stream_usesClause.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:94:106: ( interfaceDecl )* - while ( stream_interfaceDecl.hasNext() ) { - adaptor.addChild(root_1, stream_interfaceDecl.nextTree()); - } - stream_interfaceDecl.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 11, unitInterface_StartIndex); } - - } - return retval; - } - // $ANTLR end "unitInterface" - - - public static class unitImplementation_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "unitImplementation" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:1: unitImplementation : 'implementation' ( usesClause )? ( declSection )* -> ^( 'implementation' ( usesClause )? ( declSection )* ) ; - public final DelphiParser.unitImplementation_return unitImplementation() throws RecognitionException { - DelphiParser.unitImplementation_return retval = new DelphiParser.unitImplementation_return(); - retval.start = input.LT(1); - int unitImplementation_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal46=null; - ParserRuleReturnScope usesClause47 =null; - ParserRuleReturnScope declSection48 =null; - - Object string_literal46_tree=null; - RewriteRuleTokenStream stream_IMPLEMENTATION=new RewriteRuleTokenStream(adaptor,"token IMPLEMENTATION"); - RewriteRuleSubtreeStream stream_declSection=new RewriteRuleSubtreeStream(adaptor,"rule declSection"); - RewriteRuleSubtreeStream stream_usesClause=new RewriteRuleSubtreeStream(adaptor,"rule usesClause"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 12) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:30: ( 'implementation' ( usesClause )? ( declSection )* -> ^( 'implementation' ( usesClause )? ( declSection )* ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:32: 'implementation' ( usesClause )? ( declSection )* - { - string_literal46=(Token)match(input,IMPLEMENTATION,FOLLOW_IMPLEMENTATION_in_unitImplementation836); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_IMPLEMENTATION.add(string_literal46); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:49: ( usesClause )? - int alt13=2; - int LA13_0 = input.LA(1); - if ( (LA13_0==USES) ) { - alt13=1; - } - switch (alt13) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:50: usesClause - { - pushFollow(FOLLOW_usesClause_in_unitImplementation839); - usesClause47=usesClause(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_usesClause.add(usesClause47.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:63: ( declSection )* - loop14: - while (true) { - int alt14=2; - int LA14_0 = input.LA(1); - if ( (LA14_0==CLASS||(LA14_0 >= CONST && LA14_0 <= CONSTRUCTOR)||LA14_0==DESTRUCTOR||LA14_0==EXPORTS||LA14_0==FUNCTION||(LA14_0 >= LABEL && LA14_0 <= LBRACK)||LA14_0==PROCEDURE||LA14_0==RESOURCESTRING||LA14_0==THREADVAR||LA14_0==TYPE||LA14_0==VAR) ) { - alt14=1; - } - - switch (alt14) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:64: declSection - { - pushFollow(FOLLOW_declSection_in_unitImplementation844); - declSection48=declSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_declSection.add(declSection48.getTree()); - } - break; - - default : - break loop14; - } - } - - // AST REWRITE - // elements: usesClause, declSection, IMPLEMENTATION - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 96:78: -> ^( 'implementation' ( usesClause )? ( declSection )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:81: ^( 'implementation' ( usesClause )? ( declSection )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_IMPLEMENTATION.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:100: ( usesClause )? - if ( stream_usesClause.hasNext() ) { - adaptor.addChild(root_1, stream_usesClause.nextTree()); - } - stream_usesClause.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:96:114: ( declSection )* - while ( stream_declSection.hasNext() ) { - adaptor.addChild(root_1, stream_declSection.nextTree()); - } - stream_declSection.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 12, unitImplementation_StartIndex); } - - } - return retval; - } - // $ANTLR end "unitImplementation" - - - public static class unitBlock_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "unitBlock" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:98:1: unitBlock : ( unitInitialization 'end' | compoundStatement | 'end' ); - public final DelphiParser.unitBlock_return unitBlock() throws RecognitionException { - DelphiParser.unitBlock_return retval = new DelphiParser.unitBlock_return(); - retval.start = input.LT(1); - int unitBlock_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal50=null; - Token string_literal52=null; - ParserRuleReturnScope unitInitialization49 =null; - ParserRuleReturnScope compoundStatement51 =null; - - Object string_literal50_tree=null; - Object string_literal52_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:98:30: ( unitInitialization 'end' | compoundStatement | 'end' ) - int alt15=3; - switch ( input.LA(1) ) { - case INITIALIZATION: - { - alt15=1; - } - break; - case BEGIN: - { - alt15=2; - } - break; - case END: - { - alt15=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 15, 0, input); - throw nvae; - } - switch (alt15) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:98:32: unitInitialization 'end' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_unitInitialization_in_unitBlock918); - unitInitialization49=unitInitialization(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, unitInitialization49.getTree()); - - string_literal50=(Token)match(input,END,FOLLOW_END_in_unitBlock920); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal50_tree = (Object)adaptor.create(string_literal50); - adaptor.addChild(root_0, string_literal50_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:99:32: compoundStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_compoundStatement_in_unitBlock953); - compoundStatement51=compoundStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, compoundStatement51.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:100:32: 'end' - { - root_0 = (Object)adaptor.nil(); - - - string_literal52=(Token)match(input,END,FOLLOW_END_in_unitBlock986); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal52_tree = (Object)adaptor.create(string_literal52); - adaptor.addChild(root_0, string_literal52_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 13, unitBlock_StartIndex); } - - } - return retval; - } - // $ANTLR end "unitBlock" - - - public static class unitInitialization_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "unitInitialization" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:102:1: unitInitialization : 'initialization' statementList ( unitFinalization )? ; - public final DelphiParser.unitInitialization_return unitInitialization() throws RecognitionException { - DelphiParser.unitInitialization_return retval = new DelphiParser.unitInitialization_return(); - retval.start = input.LT(1); - int unitInitialization_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal53=null; - ParserRuleReturnScope statementList54 =null; - ParserRuleReturnScope unitFinalization55 =null; - - Object string_literal53_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:102:30: ( 'initialization' statementList ( unitFinalization )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:102:32: 'initialization' statementList ( unitFinalization )? - { - root_0 = (Object)adaptor.nil(); - - - string_literal53=(Token)match(input,INITIALIZATION,FOLLOW_INITIALIZATION_in_unitInitialization1033); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal53_tree = (Object)adaptor.create(string_literal53); - adaptor.addChild(root_0, string_literal53_tree); - } - - pushFollow(FOLLOW_statementList_in_unitInitialization1035); - statementList54=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList54.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:102:63: ( unitFinalization )? - int alt16=2; - int LA16_0 = input.LA(1); - if ( (LA16_0==FINALIZATION) ) { - alt16=1; - } - switch (alt16) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:102:64: unitFinalization - { - pushFollow(FOLLOW_unitFinalization_in_unitInitialization1038); - unitFinalization55=unitFinalization(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, unitFinalization55.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 14, unitInitialization_StartIndex); } - - } - return retval; - } - // $ANTLR end "unitInitialization" - - - public static class unitFinalization_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "unitFinalization" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:104:1: unitFinalization : 'finalization' statementList ; - public final DelphiParser.unitFinalization_return unitFinalization() throws RecognitionException { - DelphiParser.unitFinalization_return retval = new DelphiParser.unitFinalization_return(); - retval.start = input.LT(1); - int unitFinalization_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal56=null; - ParserRuleReturnScope statementList57 =null; - - Object string_literal56_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:104:30: ( 'finalization' statementList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:104:32: 'finalization' statementList - { - root_0 = (Object)adaptor.nil(); - - - string_literal56=(Token)match(input,FINALIZATION,FOLLOW_FINALIZATION_in_unitFinalization1089); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal56_tree = (Object)adaptor.create(string_literal56); - adaptor.addChild(root_0, string_literal56_tree); - } - - pushFollow(FOLLOW_statementList_in_unitFinalization1091); - statementList57=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList57.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 15, unitFinalization_StartIndex); } - - } - return retval; - } - // $ANTLR end "unitFinalization" - - - public static class containsClause_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "containsClause" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:109:1: containsClause : 'contains' namespaceFileNameList ; - public final DelphiParser.containsClause_return containsClause() throws RecognitionException { - DelphiParser.containsClause_return retval = new DelphiParser.containsClause_return(); - retval.start = input.LT(1); - int containsClause_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal58=null; - ParserRuleReturnScope namespaceFileNameList59 =null; - - Object string_literal58_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:109:30: ( 'contains' namespaceFileNameList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:109:32: 'contains' namespaceFileNameList - { - root_0 = (Object)adaptor.nil(); - - - string_literal58=(Token)match(input,CONTAINS,FOLLOW_CONTAINS_in_containsClause1145); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal58_tree = (Object)adaptor.create(string_literal58); - adaptor.addChild(root_0, string_literal58_tree); - } - - pushFollow(FOLLOW_namespaceFileNameList_in_containsClause1147); - namespaceFileNameList59=namespaceFileNameList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, namespaceFileNameList59.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 16, containsClause_StartIndex); } - - } - return retval; - } - // $ANTLR end "containsClause" - - - public static class requiresClause_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "requiresClause" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:111:1: requiresClause : 'requires' namespaceNameList ; - public final DelphiParser.requiresClause_return requiresClause() throws RecognitionException { - DelphiParser.requiresClause_return retval = new DelphiParser.requiresClause_return(); - retval.start = input.LT(1); - int requiresClause_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal60=null; - ParserRuleReturnScope namespaceNameList61 =null; - - Object string_literal60_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:111:30: ( 'requires' namespaceNameList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:111:32: 'requires' namespaceNameList - { - root_0 = (Object)adaptor.nil(); - - - string_literal60=(Token)match(input,REQUIRES,FOLLOW_REQUIRES_in_requiresClause1198); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal60_tree = (Object)adaptor.create(string_literal60); - adaptor.addChild(root_0, string_literal60_tree); - } - - pushFollow(FOLLOW_namespaceNameList_in_requiresClause1200); - namespaceNameList61=namespaceNameList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, namespaceNameList61.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 17, requiresClause_StartIndex); } - - } - return retval; - } - // $ANTLR end "requiresClause" - - - public static class usesClause_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "usesClause" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:113:1: usesClause : 'uses' namespaceNameList -> ^( 'uses' namespaceNameList ) ; - public final DelphiParser.usesClause_return usesClause() throws RecognitionException { - DelphiParser.usesClause_return retval = new DelphiParser.usesClause_return(); - retval.start = input.LT(1); - int usesClause_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal62=null; - ParserRuleReturnScope namespaceNameList63 =null; - - Object string_literal62_tree=null; - RewriteRuleTokenStream stream_USES=new RewriteRuleTokenStream(adaptor,"token USES"); - RewriteRuleSubtreeStream stream_namespaceNameList=new RewriteRuleSubtreeStream(adaptor,"rule namespaceNameList"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:113:30: ( 'uses' namespaceNameList -> ^( 'uses' namespaceNameList ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:113:32: 'uses' namespaceNameList - { - string_literal62=(Token)match(input,USES,FOLLOW_USES_in_usesClause1255); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_USES.add(string_literal62); - - pushFollow(FOLLOW_namespaceNameList_in_usesClause1257); - namespaceNameList63=namespaceNameList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespaceNameList.add(namespaceNameList63.getTree()); - // AST REWRITE - // elements: namespaceNameList, USES - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 113:57: -> ^( 'uses' namespaceNameList ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:113:60: ^( 'uses' namespaceNameList ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_USES.nextNode(), root_1); - adaptor.addChild(root_1, stream_namespaceNameList.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 18, usesClause_StartIndex); } - - } - return retval; - } - // $ANTLR end "usesClause" - - - public static class usesFileClause_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "usesFileClause" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:115:1: usesFileClause : 'uses' namespaceFileNameList -> ^( 'uses' namespaceFileNameList ) ; - public final DelphiParser.usesFileClause_return usesFileClause() throws RecognitionException { - DelphiParser.usesFileClause_return retval = new DelphiParser.usesFileClause_return(); - retval.start = input.LT(1); - int usesFileClause_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal64=null; - ParserRuleReturnScope namespaceFileNameList65 =null; - - Object string_literal64_tree=null; - RewriteRuleTokenStream stream_USES=new RewriteRuleTokenStream(adaptor,"token USES"); - RewriteRuleSubtreeStream stream_namespaceFileNameList=new RewriteRuleSubtreeStream(adaptor,"rule namespaceFileNameList"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:115:30: ( 'uses' namespaceFileNameList -> ^( 'uses' namespaceFileNameList ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:115:32: 'uses' namespaceFileNameList - { - string_literal64=(Token)match(input,USES,FOLLOW_USES_in_usesFileClause1316); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_USES.add(string_literal64); - - pushFollow(FOLLOW_namespaceFileNameList_in_usesFileClause1318); - namespaceFileNameList65=namespaceFileNameList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespaceFileNameList.add(namespaceFileNameList65.getTree()); - // AST REWRITE - // elements: USES, namespaceFileNameList - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 115:61: -> ^( 'uses' namespaceFileNameList ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:115:64: ^( 'uses' namespaceFileNameList ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_USES.nextNode(), root_1); - adaptor.addChild(root_1, stream_namespaceFileNameList.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 19, usesFileClause_StartIndex); } - - } - return retval; - } - // $ANTLR end "usesFileClause" - - - public static class namespaceFileNameList_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "namespaceFileNameList" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:117:1: namespaceFileNameList : namespaceFileName ( ',' namespaceFileName )* ';' -> namespaceFileName ( namespaceFileName )* ; - public final DelphiParser.namespaceFileNameList_return namespaceFileNameList() throws RecognitionException { - DelphiParser.namespaceFileNameList_return retval = new DelphiParser.namespaceFileNameList_return(); - retval.start = input.LT(1); - int namespaceFileNameList_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal67=null; - Token char_literal69=null; - ParserRuleReturnScope namespaceFileName66 =null; - ParserRuleReturnScope namespaceFileName68 =null; - - Object char_literal67_tree=null; - Object char_literal69_tree=null; - RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleSubtreeStream stream_namespaceFileName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceFileName"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:117:30: ( namespaceFileName ( ',' namespaceFileName )* ';' -> namespaceFileName ( namespaceFileName )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:117:32: namespaceFileName ( ',' namespaceFileName )* ';' - { - pushFollow(FOLLOW_namespaceFileName_in_namespaceFileNameList1370); - namespaceFileName66=namespaceFileName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespaceFileName.add(namespaceFileName66.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:117:50: ( ',' namespaceFileName )* - loop17: - while (true) { - int alt17=2; - int LA17_0 = input.LA(1); - if ( (LA17_0==COMMA) ) { - alt17=1; - } - - switch (alt17) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:117:51: ',' namespaceFileName - { - char_literal67=(Token)match(input,COMMA,FOLLOW_COMMA_in_namespaceFileNameList1373); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COMMA.add(char_literal67); - - pushFollow(FOLLOW_namespaceFileName_in_namespaceFileNameList1375); - namespaceFileName68=namespaceFileName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespaceFileName.add(namespaceFileName68.getTree()); - } - break; - - default : - break loop17; - } - } - - char_literal69=(Token)match(input,SEMI,FOLLOW_SEMI_in_namespaceFileNameList1379); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal69); - - // AST REWRITE - // elements: namespaceFileName, namespaceFileName - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 117:79: -> namespaceFileName ( namespaceFileName )* - { - adaptor.addChild(root_0, stream_namespaceFileName.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:117:100: ( namespaceFileName )* - while ( stream_namespaceFileName.hasNext() ) { - adaptor.addChild(root_0, stream_namespaceFileName.nextTree()); - } - stream_namespaceFileName.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 20, namespaceFileNameList_StartIndex); } - - } - return retval; - } - // $ANTLR end "namespaceFileNameList" - - - public static class namespaceFileName_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "namespaceFileName" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:119:1: namespaceFileName : namespaceName ( 'in' QuotedString )? -> ^( namespaceName ( QuotedString )? ) ; - public final DelphiParser.namespaceFileName_return namespaceFileName() throws RecognitionException { - DelphiParser.namespaceFileName_return retval = new DelphiParser.namespaceFileName_return(); - retval.start = input.LT(1); - int namespaceFileName_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal71=null; - Token QuotedString72=null; - ParserRuleReturnScope namespaceName70 =null; - - Object string_literal71_tree=null; - Object QuotedString72_tree=null; - RewriteRuleTokenStream stream_IN=new RewriteRuleTokenStream(adaptor,"token IN"); - RewriteRuleTokenStream stream_QuotedString=new RewriteRuleTokenStream(adaptor,"token QuotedString"); - RewriteRuleSubtreeStream stream_namespaceName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceName"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:119:30: ( namespaceName ( 'in' QuotedString )? -> ^( namespaceName ( QuotedString )? ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:119:32: namespaceName ( 'in' QuotedString )? - { - pushFollow(FOLLOW_namespaceName_in_namespaceFileName1436); - namespaceName70=namespaceName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName70.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:119:46: ( 'in' QuotedString )? - int alt18=2; - int LA18_0 = input.LA(1); - if ( (LA18_0==IN) ) { - alt18=1; - } - switch (alt18) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:119:47: 'in' QuotedString - { - string_literal71=(Token)match(input,IN,FOLLOW_IN_in_namespaceFileName1439); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_IN.add(string_literal71); - - QuotedString72=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_namespaceFileName1441); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_QuotedString.add(QuotedString72); - - } - break; - - } - - // AST REWRITE - // elements: namespaceName, QuotedString - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 119:67: -> ^( namespaceName ( QuotedString )? ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:119:70: ^( namespaceName ( QuotedString )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_namespaceName.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:119:86: ( QuotedString )? - if ( stream_QuotedString.hasNext() ) { - adaptor.addChild(root_1, stream_QuotedString.nextNode()); - } - stream_QuotedString.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 21, namespaceFileName_StartIndex); } - - } - return retval; - } - // $ANTLR end "namespaceFileName" - - - public static class namespaceNameList_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "namespaceNameList" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:121:1: namespaceNameList : namespaceName ( ',' namespaceName )* ';' -> namespaceName ( namespaceName )* ; - public final DelphiParser.namespaceNameList_return namespaceNameList() throws RecognitionException { - DelphiParser.namespaceNameList_return retval = new DelphiParser.namespaceNameList_return(); - retval.start = input.LT(1); - int namespaceNameList_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal74=null; - Token char_literal76=null; - ParserRuleReturnScope namespaceName73 =null; - ParserRuleReturnScope namespaceName75 =null; - - Object char_literal74_tree=null; - Object char_literal76_tree=null; - RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleSubtreeStream stream_namespaceName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceName"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:121:30: ( namespaceName ( ',' namespaceName )* ';' -> namespaceName ( namespaceName )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:121:32: namespaceName ( ',' namespaceName )* ';' - { - pushFollow(FOLLOW_namespaceName_in_namespaceNameList1502); - namespaceName73=namespaceName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName73.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:121:46: ( ',' namespaceName )* - loop19: - while (true) { - int alt19=2; - int LA19_0 = input.LA(1); - if ( (LA19_0==COMMA) ) { - alt19=1; - } - - switch (alt19) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:121:47: ',' namespaceName - { - char_literal74=(Token)match(input,COMMA,FOLLOW_COMMA_in_namespaceNameList1505); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COMMA.add(char_literal74); - - pushFollow(FOLLOW_namespaceName_in_namespaceNameList1507); - namespaceName75=namespaceName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName75.getTree()); - } - break; - - default : - break loop19; - } - } - - char_literal76=(Token)match(input,SEMI,FOLLOW_SEMI_in_namespaceNameList1511); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal76); - - // AST REWRITE - // elements: namespaceName, namespaceName - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 121:71: -> namespaceName ( namespaceName )* - { - adaptor.addChild(root_0, stream_namespaceName.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:121:88: ( namespaceName )* - while ( stream_namespaceName.hasNext() ) { - adaptor.addChild(root_0, stream_namespaceName.nextTree()); - } - stream_namespaceName.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 22, namespaceNameList_StartIndex); } - - } - return retval; - } - // $ANTLR end "namespaceNameList" - - - public static class block_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "block" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:1: block : ( declSection )* ( blockBody )? ; - public final DelphiParser.block_return block() throws RecognitionException { - DelphiParser.block_return retval = new DelphiParser.block_return(); - retval.start = input.LT(1); - int block_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope declSection77 =null; - ParserRuleReturnScope blockBody78 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:30: ( ( declSection )* ( blockBody )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:32: ( declSection )* ( blockBody )? - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:32: ( declSection )* - loop20: - while (true) { - int alt20=2; - switch ( input.LA(1) ) { - case LABEL: - { - int LA20_2 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - case CONST: - case RESOURCESTRING: - { - int LA20_3 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - case TYPE: - { - int LA20_4 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - case THREADVAR: - case VAR: - { - int LA20_5 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - case PROCEDURE: - { - int LA20_6 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - case FUNCTION: - { - int LA20_7 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - case LBRACK: - { - int LA20_8 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - case CLASS: - { - int LA20_9 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - { - int LA20_10 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - case EXPORTS: - { - int LA20_11 = input.LA(2); - if ( (synpred23_Delphi()) ) { - alt20=1; - } - - } - break; - } - switch (alt20) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:33: declSection - { - pushFollow(FOLLOW_declSection_in_block1584); - declSection77=declSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, declSection77.getTree()); - - } - break; - - default : - break loop20; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:47: ( blockBody )? - int alt21=2; - int LA21_0 = input.LA(1); - if ( (LA21_0==BEGIN) ) { - int LA21_1 = input.LA(2); - if ( (synpred24_Delphi()) ) { - alt21=1; - } - } - else if ( (LA21_0==ASM) ) { - int LA21_2 = input.LA(2); - if ( (synpred24_Delphi()) ) { - alt21=1; - } - } - switch (alt21) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:48: blockBody - { - pushFollow(FOLLOW_blockBody_in_block1589); - blockBody78=blockBody(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, blockBody78.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 23, block_StartIndex); } - - } - return retval; - } - // $ANTLR end "block" - - - public static class blockBody_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "blockBody" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:1: blockBody : ( compoundStatement | assemblerStatement ); - public final DelphiParser.blockBody_return blockBody() throws RecognitionException { - DelphiParser.blockBody_return retval = new DelphiParser.blockBody_return(); - retval.start = input.LT(1); - int blockBody_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope compoundStatement79 =null; - ParserRuleReturnScope assemblerStatement80 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:30: ( compoundStatement | assemblerStatement ) - int alt22=2; - int LA22_0 = input.LA(1); - if ( (LA22_0==BEGIN) ) { - alt22=1; - } - else if ( (LA22_0==ASM) ) { - alt22=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 22, 0, input); - throw nvae; - } - - switch (alt22) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:32: compoundStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_compoundStatement_in_blockBody1647); - compoundStatement79=compoundStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, compoundStatement79.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:129:32: assemblerStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_assemblerStatement_in_blockBody1680); - assemblerStatement80=assemblerStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, assemblerStatement80.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 24, blockBody_StartIndex); } - - } - return retval; - } - // $ANTLR end "blockBody" - - - public static class declSection_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "declSection" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:131:1: declSection : ( labelDeclSection | constSection | typeSection | varSection | exportedProcHeading | methodDecl | procDecl | exportsSection ); - public final DelphiParser.declSection_return declSection() throws RecognitionException { - DelphiParser.declSection_return retval = new DelphiParser.declSection_return(); - retval.start = input.LT(1); - int declSection_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope labelDeclSection81 =null; - ParserRuleReturnScope constSection82 =null; - ParserRuleReturnScope typeSection83 =null; - ParserRuleReturnScope varSection84 =null; - ParserRuleReturnScope exportedProcHeading85 =null; - ParserRuleReturnScope methodDecl86 =null; - ParserRuleReturnScope procDecl87 =null; - ParserRuleReturnScope exportsSection88 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:131:30: ( labelDeclSection | constSection | typeSection | varSection | exportedProcHeading | methodDecl | procDecl | exportsSection ) - int alt23=8; - switch ( input.LA(1) ) { - case LABEL: - { - alt23=1; - } - break; - case CONST: - case RESOURCESTRING: - { - alt23=2; - } - break; - case TYPE: - { - alt23=3; - } - break; - case THREADVAR: - case VAR: - { - alt23=4; - } - break; - case PROCEDURE: - { - int LA23_5 = input.LA(2); - if ( (synpred30_Delphi()) ) { - alt23=5; - } - else if ( (synpred31_Delphi()) ) { - alt23=6; - } - else if ( (synpred32_Delphi()) ) { - alt23=7; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 23, 5, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case FUNCTION: - { - int LA23_6 = input.LA(2); - if ( (synpred30_Delphi()) ) { - alt23=5; - } - else if ( (synpred31_Delphi()) ) { - alt23=6; - } - else if ( (synpred32_Delphi()) ) { - alt23=7; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 23, 6, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case LBRACK: - { - int LA23_7 = input.LA(2); - if ( (synpred31_Delphi()) ) { - alt23=6; - } - else if ( (synpred32_Delphi()) ) { - alt23=7; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 23, 7, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case CLASS: - case CONSTRUCTOR: - case DESTRUCTOR: - { - alt23=6; - } - break; - case EXPORTS: - { - alt23=8; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 23, 0, input); - throw nvae; - } - switch (alt23) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:131:32: labelDeclSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_labelDeclSection_in_declSection1734); - labelDeclSection81=labelDeclSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, labelDeclSection81.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:132:32: constSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_constSection_in_declSection1767); - constSection82=constSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection82.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:133:32: typeSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_typeSection_in_declSection1800); - typeSection83=typeSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeSection83.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:134:32: varSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_varSection_in_declSection1833); - varSection84=varSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection84.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:32: exportedProcHeading - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_exportedProcHeading_in_declSection1866); - exportedProcHeading85=exportedProcHeading(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, exportedProcHeading85.getTree()); - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:136:32: methodDecl - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_methodDecl_in_declSection1899); - methodDecl86=methodDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, methodDecl86.getTree()); - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:137:32: procDecl - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_procDecl_in_declSection1932); - procDecl87=procDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, procDecl87.getTree()); - - } - break; - case 8 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:138:32: exportsSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_exportsSection_in_declSection1965); - exportsSection88=exportsSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, exportsSection88.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 25, declSection_StartIndex); } - - } - return retval; - } - // $ANTLR end "declSection" - - - public static class interfaceDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "interfaceDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:140:1: interfaceDecl : ( constSection | typeSection | varSection | exportedProcHeading | exportsSection | procDecl | methodDecl ); - public final DelphiParser.interfaceDecl_return interfaceDecl() throws RecognitionException { - DelphiParser.interfaceDecl_return retval = new DelphiParser.interfaceDecl_return(); - retval.start = input.LT(1); - int interfaceDecl_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope constSection89 =null; - ParserRuleReturnScope typeSection90 =null; - ParserRuleReturnScope varSection91 =null; - ParserRuleReturnScope exportedProcHeading92 =null; - ParserRuleReturnScope exportsSection93 =null; - ParserRuleReturnScope procDecl94 =null; - ParserRuleReturnScope methodDecl95 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:140:30: ( constSection | typeSection | varSection | exportedProcHeading | exportsSection | procDecl | methodDecl ) - int alt24=7; - switch ( input.LA(1) ) { - case CONST: - case RESOURCESTRING: - { - alt24=1; - } - break; - case TYPE: - { - alt24=2; - } - break; - case THREADVAR: - case VAR: - { - alt24=3; - } - break; - case PROCEDURE: - { - int LA24_4 = input.LA(2); - if ( (synpred36_Delphi()) ) { - alt24=4; - } - else if ( (synpred38_Delphi()) ) { - alt24=6; - } - else if ( (true) ) { - alt24=7; - } - - } - break; - case FUNCTION: - { - int LA24_5 = input.LA(2); - if ( (synpred36_Delphi()) ) { - alt24=4; - } - else if ( (synpred38_Delphi()) ) { - alt24=6; - } - else if ( (true) ) { - alt24=7; - } - - } - break; - case EXPORTS: - { - alt24=5; - } - break; - case LBRACK: - { - int LA24_7 = input.LA(2); - if ( (synpred38_Delphi()) ) { - alt24=6; - } - else if ( (true) ) { - alt24=7; - } - - } - break; - case CLASS: - case CONSTRUCTOR: - case DESTRUCTOR: - { - alt24=7; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 24, 0, input); - throw nvae; - } - switch (alt24) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:140:32: constSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_constSection_in_interfaceDecl2017); - constSection89=constSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection89.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:141:32: typeSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_typeSection_in_interfaceDecl2050); - typeSection90=typeSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeSection90.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:142:32: varSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_varSection_in_interfaceDecl2083); - varSection91=varSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection91.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:143:32: exportedProcHeading - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_exportedProcHeading_in_interfaceDecl2116); - exportedProcHeading92=exportedProcHeading(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, exportedProcHeading92.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:144:32: exportsSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_exportsSection_in_interfaceDecl2149); - exportsSection93=exportsSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, exportsSection93.getTree()); - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:145:32: procDecl - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_procDecl_in_interfaceDecl2182); - procDecl94=procDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, procDecl94.getTree()); - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:146:32: methodDecl - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_methodDecl_in_interfaceDecl2215); - methodDecl95=methodDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, methodDecl95.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 26, interfaceDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "interfaceDecl" - - - public static class labelDeclSection_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "labelDeclSection" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:148:1: labelDeclSection : 'label' label ( ',' label )* ';' ; - public final DelphiParser.labelDeclSection_return labelDeclSection() throws RecognitionException { - DelphiParser.labelDeclSection_return retval = new DelphiParser.labelDeclSection_return(); - retval.start = input.LT(1); - int labelDeclSection_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal96=null; - Token char_literal98=null; - Token char_literal100=null; - ParserRuleReturnScope label97 =null; - ParserRuleReturnScope label99 =null; - - Object string_literal96_tree=null; - Object char_literal98_tree=null; - Object char_literal100_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:148:30: ( 'label' label ( ',' label )* ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:148:32: 'label' label ( ',' label )* ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal96=(Token)match(input,LABEL,FOLLOW_LABEL_in_labelDeclSection2264); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal96_tree = (Object)adaptor.create(string_literal96); - adaptor.addChild(root_0, string_literal96_tree); - } - - pushFollow(FOLLOW_label_in_labelDeclSection2266); - label97=label(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, label97.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:148:46: ( ',' label )* - loop25: - while (true) { - int alt25=2; - int LA25_0 = input.LA(1); - if ( (LA25_0==COMMA) ) { - alt25=1; - } - - switch (alt25) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:148:47: ',' label - { - char_literal98=(Token)match(input,COMMA,FOLLOW_COMMA_in_labelDeclSection2269); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal98_tree = (Object)adaptor.create(char_literal98); - adaptor.addChild(root_0, char_literal98_tree); - } - - pushFollow(FOLLOW_label_in_labelDeclSection2271); - label99=label(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, label99.getTree()); - - } - break; - - default : - break loop25; - } - } - - char_literal100=(Token)match(input,SEMI,FOLLOW_SEMI_in_labelDeclSection2275); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal100_tree = (Object)adaptor.create(char_literal100); - adaptor.addChild(root_0, char_literal100_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 27, labelDeclSection_StartIndex); } - - } - return retval; - } - // $ANTLR end "labelDeclSection" - - - public static class constSection_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "constSection" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:1: constSection : constKey ( constDeclaration )* -> ^( constKey ( constDeclaration )* ) ; - public final DelphiParser.constSection_return constSection() throws RecognitionException { - DelphiParser.constSection_return retval = new DelphiParser.constSection_return(); - retval.start = input.LT(1); - int constSection_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope constKey101 =null; - ParserRuleReturnScope constDeclaration102 =null; - - RewriteRuleSubtreeStream stream_constDeclaration=new RewriteRuleSubtreeStream(adaptor,"rule constDeclaration"); - RewriteRuleSubtreeStream stream_constKey=new RewriteRuleSubtreeStream(adaptor,"rule constKey"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:30: ( constKey ( constDeclaration )* -> ^( constKey ( constDeclaration )* ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:32: constKey ( constDeclaration )* - { - pushFollow(FOLLOW_constKey_in_constSection2328); - constKey101=constKey(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_constKey.add(constKey101.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:41: ( constDeclaration )* - loop26: - while (true) { - int alt26=2; - alt26 = dfa26.predict(input); - switch (alt26) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:42: constDeclaration - { - pushFollow(FOLLOW_constDeclaration_in_constSection2331); - constDeclaration102=constDeclaration(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_constDeclaration.add(constDeclaration102.getTree()); - } - break; - - default : - break loop26; - } - } - - // AST REWRITE - // elements: constDeclaration, constKey - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 150:61: -> ^( constKey ( constDeclaration )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:64: ^( constKey ( constDeclaration )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_constKey.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:75: ( constDeclaration )* - while ( stream_constDeclaration.hasNext() ) { - adaptor.addChild(root_1, stream_constDeclaration.nextTree()); - } - stream_constDeclaration.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 28, constSection_StartIndex); } - - } - return retval; - } - // $ANTLR end "constSection" - - - public static class constKey_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "constKey" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:152:1: constKey : ( 'const' | 'resourcestring' ); - public final DelphiParser.constKey_return constKey() throws RecognitionException { - DelphiParser.constKey_return retval = new DelphiParser.constKey_return(); - retval.start = input.LT(1); - int constKey_StartIndex = input.index(); - - Object root_0 = null; - - Token set103=null; - - Object set103_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:152:30: ( 'const' | 'resourcestring' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set103=input.LT(1); - if ( input.LA(1)==CONST||input.LA(1)==RESOURCESTRING ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set103)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 29, constKey_StartIndex); } - - } - return retval; - } - // $ANTLR end "constKey" - - - public static class constDeclaration_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "constDeclaration" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:1: constDeclaration : ( customAttribute )? ident ( ':' typeDecl )? '=' constExpression ( hintingDirective )* ';' -> ident ( typeDecl )? '=' constExpression ; - public final DelphiParser.constDeclaration_return constDeclaration() throws RecognitionException { - DelphiParser.constDeclaration_return retval = new DelphiParser.constDeclaration_return(); - retval.start = input.LT(1); - int constDeclaration_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal106=null; - Token char_literal108=null; - Token char_literal111=null; - ParserRuleReturnScope customAttribute104 =null; - ParserRuleReturnScope ident105 =null; - ParserRuleReturnScope typeDecl107 =null; - ParserRuleReturnScope constExpression109 =null; - ParserRuleReturnScope hintingDirective110 =null; - - Object char_literal106_tree=null; - Object char_literal108_tree=null; - Object char_literal111_tree=null; - RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL"); - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); - RewriteRuleSubtreeStream stream_constExpression=new RewriteRuleSubtreeStream(adaptor,"rule constExpression"); - RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:30: ( ( customAttribute )? ident ( ':' typeDecl )? '=' constExpression ( hintingDirective )* ';' -> ident ( typeDecl )? '=' constExpression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:32: ( customAttribute )? ident ( ':' typeDecl )? '=' constExpression ( hintingDirective )* ';' - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:32: ( customAttribute )? - int alt27=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt27=1; - } - break; - case TkIdentifier: - { - int LA27_2 = input.LA(2); - if ( (synpred42_Delphi()) ) { - alt27=1; - } - } - break; - case 200: - { - int LA27_3 = input.LA(2); - if ( (synpred42_Delphi()) ) { - alt27=1; - } - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA27_4 = input.LA(2); - if ( (synpred42_Delphi()) ) { - alt27=1; - } - } - break; - } - switch (alt27) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_constDeclaration2486); - customAttribute104=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute104.getTree()); - } - break; - - } - - pushFollow(FOLLOW_ident_in_constDeclaration2490); - ident105=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident105.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:57: ( ':' typeDecl )? - int alt28=2; - int LA28_0 = input.LA(1); - if ( (LA28_0==COLON) ) { - alt28=1; - } - switch (alt28) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:58: ':' typeDecl - { - char_literal106=(Token)match(input,COLON,FOLLOW_COLON_in_constDeclaration2493); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal106); - - pushFollow(FOLLOW_typeDecl_in_constDeclaration2495); - typeDecl107=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl107.getTree()); - } - break; - - } - - char_literal108=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_constDeclaration2499); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_EQUAL.add(char_literal108); - - pushFollow(FOLLOW_constExpression_in_constDeclaration2501); - constExpression109=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_constExpression.add(constExpression109.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:93: ( hintingDirective )* - loop29: - while (true) { - int alt29=2; - int LA29_0 = input.LA(1); - if ( (LA29_0==DEPRECATED||LA29_0==EXPERIMENTAL||LA29_0==LIBRARY||LA29_0==PLATFORM) ) { - alt29=1; - } - - switch (alt29) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:94: hintingDirective - { - pushFollow(FOLLOW_hintingDirective_in_constDeclaration2504); - hintingDirective110=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective110.getTree()); - } - break; - - default : - break loop29; - } - } - - char_literal111=(Token)match(input,SEMI,FOLLOW_SEMI_in_constDeclaration2508); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal111); - - // AST REWRITE - // elements: ident, EQUAL, typeDecl, constExpression - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 155:117: -> ident ( typeDecl )? '=' constExpression - { - adaptor.addChild(root_0, stream_ident.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:126: ( typeDecl )? - if ( stream_typeDecl.hasNext() ) { - adaptor.addChild(root_0, stream_typeDecl.nextTree()); - } - stream_typeDecl.reset(); - - adaptor.addChild(root_0, stream_EQUAL.nextNode()); - adaptor.addChild(root_0, stream_constExpression.nextTree()); - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 30, constDeclaration_StartIndex); } - - } - return retval; - } - // $ANTLR end "constDeclaration" - - - public static class typeSection_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "typeSection" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:157:1: typeSection : 'type' typeDeclaration ( typeDeclaration )* -> ^( 'type' typeDeclaration ( typeDeclaration )* ) ; - public final DelphiParser.typeSection_return typeSection() throws RecognitionException { - DelphiParser.typeSection_return retval = new DelphiParser.typeSection_return(); - retval.start = input.LT(1); - int typeSection_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal112=null; - ParserRuleReturnScope typeDeclaration113 =null; - ParserRuleReturnScope typeDeclaration114 =null; - - Object string_literal112_tree=null; - RewriteRuleTokenStream stream_TYPE=new RewriteRuleTokenStream(adaptor,"token TYPE"); - RewriteRuleSubtreeStream stream_typeDeclaration=new RewriteRuleSubtreeStream(adaptor,"rule typeDeclaration"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:157:30: ( 'type' typeDeclaration ( typeDeclaration )* -> ^( 'type' typeDeclaration ( typeDeclaration )* ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:157:32: 'type' typeDeclaration ( typeDeclaration )* - { - string_literal112=(Token)match(input,TYPE,FOLLOW_TYPE_in_typeSection2575); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_TYPE.add(string_literal112); - - pushFollow(FOLLOW_typeDeclaration_in_typeSection2577); - typeDeclaration113=typeDeclaration(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDeclaration.add(typeDeclaration113.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:157:55: ( typeDeclaration )* - loop30: - while (true) { - int alt30=2; - alt30 = dfa30.predict(input); - switch (alt30) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:157:56: typeDeclaration - { - pushFollow(FOLLOW_typeDeclaration_in_typeSection2580); - typeDeclaration114=typeDeclaration(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDeclaration.add(typeDeclaration114.getTree()); - } - break; - - default : - break loop30; - } - } - - // AST REWRITE - // elements: typeDeclaration, typeDeclaration, TYPE - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 157:74: -> ^( 'type' typeDeclaration ( typeDeclaration )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:157:77: ^( 'type' typeDeclaration ( typeDeclaration )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_TYPE.nextNode(), root_1); - adaptor.addChild(root_1, stream_typeDeclaration.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:157:102: ( typeDeclaration )* - while ( stream_typeDeclaration.hasNext() ) { - adaptor.addChild(root_1, stream_typeDeclaration.nextTree()); - } - stream_typeDeclaration.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 31, typeSection_StartIndex); } - - } - return retval; - } - // $ANTLR end "typeSection" - - - public static class typeDeclaration_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "typeDeclaration" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:1: typeDeclaration : ( customAttribute )? genericTypeIdent '=' typeDecl ( hintingDirective )* ';' -> ^( TkNewType ( customAttribute )? ^( genericTypeIdent typeDecl ( hintingDirective )* ) ) ; - public final DelphiParser.typeDeclaration_return typeDeclaration() throws RecognitionException { - DelphiParser.typeDeclaration_return retval = new DelphiParser.typeDeclaration_return(); - retval.start = input.LT(1); - int typeDeclaration_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal117=null; - Token char_literal120=null; - ParserRuleReturnScope customAttribute115 =null; - ParserRuleReturnScope genericTypeIdent116 =null; - ParserRuleReturnScope typeDecl118 =null; - ParserRuleReturnScope hintingDirective119 =null; - - Object char_literal117_tree=null; - Object char_literal120_tree=null; - RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL"); - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_genericTypeIdent=new RewriteRuleSubtreeStream(adaptor,"rule genericTypeIdent"); - RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:30: ( ( customAttribute )? genericTypeIdent '=' typeDecl ( hintingDirective )* ';' -> ^( TkNewType ( customAttribute )? ^( genericTypeIdent typeDecl ( hintingDirective )* ) ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:32: ( customAttribute )? genericTypeIdent '=' typeDecl ( hintingDirective )* ';' - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:32: ( customAttribute )? - int alt31=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt31=1; - } - break; - case TkIdentifier: - { - int LA31_2 = input.LA(2); - if ( (synpred46_Delphi()) ) { - alt31=1; - } - } - break; - case 200: - { - int LA31_3 = input.LA(2); - if ( (synpred46_Delphi()) ) { - alt31=1; - } - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA31_4 = input.LA(2); - if ( (synpred46_Delphi()) ) { - alt31=1; - } - } - break; - } - switch (alt31) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_typeDeclaration2646); - customAttribute115=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute115.getTree()); - } - break; - - } - - pushFollow(FOLLOW_genericTypeIdent_in_typeDeclaration2650); - genericTypeIdent116=genericTypeIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_genericTypeIdent.add(genericTypeIdent116.getTree()); - char_literal117=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_typeDeclaration2652); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_EQUAL.add(char_literal117); - - pushFollow(FOLLOW_typeDecl_in_typeDeclaration2654); - typeDecl118=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl118.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:81: ( hintingDirective )* - loop32: - while (true) { - int alt32=2; - int LA32_0 = input.LA(1); - if ( (LA32_0==DEPRECATED||LA32_0==EXPERIMENTAL||LA32_0==LIBRARY||LA32_0==PLATFORM) ) { - alt32=1; - } - - switch (alt32) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:82: hintingDirective - { - pushFollow(FOLLOW_hintingDirective_in_typeDeclaration2657); - hintingDirective119=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective119.getTree()); - } - break; - - default : - break loop32; - } - } - - char_literal120=(Token)match(input,SEMI,FOLLOW_SEMI_in_typeDeclaration2661); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal120); - - // AST REWRITE - // elements: typeDecl, genericTypeIdent, customAttribute, hintingDirective - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 159:105: -> ^( TkNewType ( customAttribute )? ^( genericTypeIdent typeDecl ( hintingDirective )* ) ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:108: ^( TkNewType ( customAttribute )? ^( genericTypeIdent typeDecl ( hintingDirective )* ) ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkNewType, "TkNewType"), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:120: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_1, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:139: ^( genericTypeIdent typeDecl ( hintingDirective )* ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot(stream_genericTypeIdent.nextNode(), root_2); - adaptor.addChild(root_2, stream_typeDecl.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:167: ( hintingDirective )* - while ( stream_hintingDirective.hasNext() ) { - adaptor.addChild(root_2, stream_hintingDirective.nextTree()); - } - stream_hintingDirective.reset(); - - adaptor.addChild(root_1, root_2); - } - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 32, typeDeclaration_StartIndex); } - - } - return retval; - } - // $ANTLR end "typeDeclaration" - - - public static class varSection_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "varSection" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:161:1: varSection : varKey varDeclaration ( varDeclaration )* -> ^( varKey varDeclaration ( varDeclaration )* ) ; - public final DelphiParser.varSection_return varSection() throws RecognitionException { - DelphiParser.varSection_return retval = new DelphiParser.varSection_return(); - retval.start = input.LT(1); - int varSection_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope varKey121 =null; - ParserRuleReturnScope varDeclaration122 =null; - ParserRuleReturnScope varDeclaration123 =null; - - RewriteRuleSubtreeStream stream_varDeclaration=new RewriteRuleSubtreeStream(adaptor,"rule varDeclaration"); - RewriteRuleSubtreeStream stream_varKey=new RewriteRuleSubtreeStream(adaptor,"rule varKey"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:161:30: ( varKey varDeclaration ( varDeclaration )* -> ^( varKey varDeclaration ( varDeclaration )* ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:161:32: varKey varDeclaration ( varDeclaration )* - { - pushFollow(FOLLOW_varKey_in_varSection2738); - varKey121=varKey(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_varKey.add(varKey121.getTree()); - pushFollow(FOLLOW_varDeclaration_in_varSection2740); - varDeclaration122=varDeclaration(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_varDeclaration.add(varDeclaration122.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:161:54: ( varDeclaration )* - loop33: - while (true) { - int alt33=2; - alt33 = dfa33.predict(input); - switch (alt33) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:161:55: varDeclaration - { - pushFollow(FOLLOW_varDeclaration_in_varSection2743); - varDeclaration123=varDeclaration(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_varDeclaration.add(varDeclaration123.getTree()); - } - break; - - default : - break loop33; - } - } - - // AST REWRITE - // elements: varKey, varDeclaration, varDeclaration - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 161:72: -> ^( varKey varDeclaration ( varDeclaration )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:161:75: ^( varKey varDeclaration ( varDeclaration )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_varKey.nextNode(), root_1); - adaptor.addChild(root_1, stream_varDeclaration.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:161:99: ( varDeclaration )* - while ( stream_varDeclaration.hasNext() ) { - adaptor.addChild(root_1, stream_varDeclaration.nextTree()); - } - stream_varDeclaration.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 33, varSection_StartIndex); } - - } - return retval; - } - // $ANTLR end "varSection" - - - public static class varKey_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "varKey" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:1: varKey : ( 'var' | 'threadvar' ); - public final DelphiParser.varKey_return varKey() throws RecognitionException { - DelphiParser.varKey_return retval = new DelphiParser.varKey_return(); - retval.start = input.LT(1); - int varKey_StartIndex = input.index(); - - Object root_0 = null; - - Token set124=null; - - Object set124_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:30: ( 'var' | 'threadvar' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set124=input.LT(1); - if ( input.LA(1)==THREADVAR||input.LA(1)==VAR ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set124)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 34, varKey_StartIndex); } - - } - return retval; - } - // $ANTLR end "varKey" - - - public static class varDeclaration_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "varDeclaration" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:1: varDeclaration : ( customAttribute )? identListFlat ':' typeDecl ( varValueSpec )? ( hintingDirective )* ';' -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType typeDecl ) ; - public final DelphiParser.varDeclaration_return varDeclaration() throws RecognitionException { - DelphiParser.varDeclaration_return retval = new DelphiParser.varDeclaration_return(); - retval.start = input.LT(1); - int varDeclaration_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal127=null; - Token char_literal131=null; - ParserRuleReturnScope customAttribute125 =null; - ParserRuleReturnScope identListFlat126 =null; - ParserRuleReturnScope typeDecl128 =null; - ParserRuleReturnScope varValueSpec129 =null; - ParserRuleReturnScope hintingDirective130 =null; - - Object char_literal127_tree=null; - Object char_literal131_tree=null; - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_identListFlat=new RewriteRuleSubtreeStream(adaptor,"rule identListFlat"); - RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); - RewriteRuleSubtreeStream stream_varValueSpec=new RewriteRuleSubtreeStream(adaptor,"rule varValueSpec"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:30: ( ( customAttribute )? identListFlat ':' typeDecl ( varValueSpec )? ( hintingDirective )* ';' -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType typeDecl ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:32: ( customAttribute )? identListFlat ':' typeDecl ( varValueSpec )? ( hintingDirective )* ';' - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:32: ( customAttribute )? - int alt34=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt34=1; - } - break; - case TkIdentifier: - { - int LA34_2 = input.LA(2); - if ( (synpred50_Delphi()) ) { - alt34=1; - } - } - break; - case 200: - { - int LA34_3 = input.LA(2); - if ( (synpred50_Delphi()) ) { - alt34=1; - } - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA34_4 = input.LA(2); - if ( (synpred50_Delphi()) ) { - alt34=1; - } - } - break; - } - switch (alt34) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_varDeclaration2903); - customAttribute125=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute125.getTree()); - } - break; - - } - - pushFollow(FOLLOW_identListFlat_in_varDeclaration2907); - identListFlat126=identListFlat(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_identListFlat.add(identListFlat126.getTree()); - char_literal127=(Token)match(input,COLON,FOLLOW_COLON_in_varDeclaration2909); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal127); - - pushFollow(FOLLOW_typeDecl_in_varDeclaration2911); - typeDecl128=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl128.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:78: ( varValueSpec )? - int alt35=2; - int LA35_0 = input.LA(1); - if ( (LA35_0==ABSOLUTE||LA35_0==EQUAL) ) { - alt35=1; - } - switch (alt35) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:79: varValueSpec - { - pushFollow(FOLLOW_varValueSpec_in_varDeclaration2914); - varValueSpec129=varValueSpec(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_varValueSpec.add(varValueSpec129.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:94: ( hintingDirective )* - loop36: - while (true) { - int alt36=2; - int LA36_0 = input.LA(1); - if ( (LA36_0==DEPRECATED||LA36_0==EXPERIMENTAL||LA36_0==LIBRARY||LA36_0==PLATFORM) ) { - alt36=1; - } - - switch (alt36) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:95: hintingDirective - { - pushFollow(FOLLOW_hintingDirective_in_varDeclaration2919); - hintingDirective130=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective130.getTree()); - } - break; - - default : - break loop36; - } - } - - char_literal131=(Token)match(input,SEMI,FOLLOW_SEMI_in_varDeclaration2923); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal131); - - // AST REWRITE - // elements: customAttribute, typeDecl, identListFlat - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 167:118: -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType typeDecl ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:121: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_0, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:140: ^( TkVariableIdents identListFlat ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableIdents, "TkVariableIdents"), root_1); - adaptor.addChild(root_1, stream_identListFlat.nextTree()); - adaptor.addChild(root_0, root_1); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:174: ^( TkVariableType typeDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_1); - adaptor.addChild(root_1, stream_typeDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 35, varDeclaration_StartIndex); } - - } - return retval; - } - // $ANTLR end "varDeclaration" - - - public static class varValueSpec_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "varValueSpec" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:1: varValueSpec : ( 'absolute' ident | 'absolute' constExpression | '=' constExpression ); - public final DelphiParser.varValueSpec_return varValueSpec() throws RecognitionException { - DelphiParser.varValueSpec_return retval = new DelphiParser.varValueSpec_return(); - retval.start = input.LT(1); - int varValueSpec_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal132=null; - Token string_literal134=null; - Token char_literal136=null; - ParserRuleReturnScope ident133 =null; - ParserRuleReturnScope constExpression135 =null; - ParserRuleReturnScope constExpression137 =null; - - Object string_literal132_tree=null; - Object string_literal134_tree=null; - Object char_literal136_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:30: ( 'absolute' ident | 'absolute' constExpression | '=' constExpression ) - int alt37=3; - int LA37_0 = input.LA(1); - if ( (LA37_0==ABSOLUTE) ) { - switch ( input.LA(2) ) { - case TkIdentifier: - { - int LA37_3 = input.LA(3); - if ( (synpred53_Delphi()) ) { - alt37=1; - } - else if ( (synpred54_Delphi()) ) { - alt37=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 37, 3, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case 200: - { - int LA37_4 = input.LA(3); - if ( (LA37_4==TkIdentifier) ) { - int LA37_8 = input.LA(4); - if ( (synpred53_Delphi()) ) { - alt37=1; - } - else if ( (synpred54_Delphi()) ) { - alt37=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 37, 8, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 37, 4, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA37_5 = input.LA(3); - if ( (synpred53_Delphi()) ) { - alt37=1; - } - else if ( (synpred54_Delphi()) ) { - alt37=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 37, 5, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case EOF: - case AND: - case AS: - case AT2: - case ControlString: - case DEPRECATED: - case DIV: - case DOT: - case EQUAL: - case EXPERIMENTAL: - case FALSE: - case FUNCTION: - case GE: - case GT: - case IN: - case INHERITED: - case IS: - case LBRACK: - case LE: - case LIBRARY: - case LPAREN: - case LT: - case MINUS: - case MOD: - case NIL: - case NOT: - case NOT_EQUAL: - case OR: - case PLATFORM: - case PLUS: - case POINTER2: - case PROCEDURE: - case QuotedString: - case SEMI: - case SHL: - case SHR: - case SLASH: - case STAR: - case TRUE: - case TkAsmHexNum: - case TkHexNum: - case TkIntNum: - case TkRealNum: - case XOR: - case 201: - { - alt37=2; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 37, 1, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } - else if ( (LA37_0==EQUAL) ) { - alt37=3; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 37, 0, input); - throw nvae; - } - - switch (alt37) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:32: 'absolute' ident - { - root_0 = (Object)adaptor.nil(); - - - string_literal132=(Token)match(input,ABSOLUTE,FOLLOW_ABSOLUTE_in_varValueSpec2995); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal132_tree = (Object)adaptor.create(string_literal132); - adaptor.addChild(root_0, string_literal132_tree); - } - - pushFollow(FOLLOW_ident_in_varValueSpec2997); - ident133=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident133.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:170:32: 'absolute' constExpression - { - root_0 = (Object)adaptor.nil(); - - - string_literal134=(Token)match(input,ABSOLUTE,FOLLOW_ABSOLUTE_in_varValueSpec3030); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal134_tree = (Object)adaptor.create(string_literal134); - adaptor.addChild(root_0, string_literal134_tree); - } - - pushFollow(FOLLOW_constExpression_in_varValueSpec3032); - constExpression135=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression135.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:171:32: '=' constExpression - { - root_0 = (Object)adaptor.nil(); - - - char_literal136=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_varValueSpec3065); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal136_tree = (Object)adaptor.create(char_literal136); - adaptor.addChild(root_0, char_literal136_tree); - } - - pushFollow(FOLLOW_constExpression_in_varValueSpec3067); - constExpression137=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression137.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 36, varValueSpec_StartIndex); } - - } - return retval; - } - // $ANTLR end "varValueSpec" - - - public static class exportsSection_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "exportsSection" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:173:1: exportsSection : 'exports' ident exportItem ( ',' ident exportItem )* ';' ; - public final DelphiParser.exportsSection_return exportsSection() throws RecognitionException { - DelphiParser.exportsSection_return retval = new DelphiParser.exportsSection_return(); - retval.start = input.LT(1); - int exportsSection_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal138=null; - Token char_literal141=null; - Token char_literal144=null; - ParserRuleReturnScope ident139 =null; - ParserRuleReturnScope exportItem140 =null; - ParserRuleReturnScope ident142 =null; - ParserRuleReturnScope exportItem143 =null; - - Object string_literal138_tree=null; - Object char_literal141_tree=null; - Object char_literal144_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:173:30: ( 'exports' ident exportItem ( ',' ident exportItem )* ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:173:32: 'exports' ident exportItem ( ',' ident exportItem )* ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal138=(Token)match(input,EXPORTS,FOLLOW_EXPORTS_in_exportsSection3118); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal138_tree = (Object)adaptor.create(string_literal138); - adaptor.addChild(root_0, string_literal138_tree); - } - - pushFollow(FOLLOW_ident_in_exportsSection3120); - ident139=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident139.getTree()); - - pushFollow(FOLLOW_exportItem_in_exportsSection3122); - exportItem140=exportItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, exportItem140.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:173:59: ( ',' ident exportItem )* - loop38: - while (true) { - int alt38=2; - int LA38_0 = input.LA(1); - if ( (LA38_0==COMMA) ) { - alt38=1; - } - - switch (alt38) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:173:60: ',' ident exportItem - { - char_literal141=(Token)match(input,COMMA,FOLLOW_COMMA_in_exportsSection3125); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal141_tree = (Object)adaptor.create(char_literal141); - adaptor.addChild(root_0, char_literal141_tree); - } - - pushFollow(FOLLOW_ident_in_exportsSection3127); - ident142=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident142.getTree()); - - pushFollow(FOLLOW_exportItem_in_exportsSection3129); - exportItem143=exportItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, exportItem143.getTree()); - - } - break; - - default : - break loop38; - } - } - - char_literal144=(Token)match(input,SEMI,FOLLOW_SEMI_in_exportsSection3133); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal144_tree = (Object)adaptor.create(char_literal144); - adaptor.addChild(root_0, char_literal144_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 37, exportsSection_StartIndex); } - - } - return retval; - } - // $ANTLR end "exportsSection" - - - public static class exportItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "exportItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:1: exportItem : ( '(' ( formalParameterList )? ')' )? ( INDEX expression )? ( NAME expression )? ( 'resident' )? ; - public final DelphiParser.exportItem_return exportItem() throws RecognitionException { - DelphiParser.exportItem_return retval = new DelphiParser.exportItem_return(); - retval.start = input.LT(1); - int exportItem_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal145=null; - Token char_literal147=null; - Token INDEX148=null; - Token NAME150=null; - Token string_literal152=null; - ParserRuleReturnScope formalParameterList146 =null; - ParserRuleReturnScope expression149 =null; - ParserRuleReturnScope expression151 =null; - - Object char_literal145_tree=null; - Object char_literal147_tree=null; - Object INDEX148_tree=null; - Object NAME150_tree=null; - Object string_literal152_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:30: ( ( '(' ( formalParameterList )? ')' )? ( INDEX expression )? ( NAME expression )? ( 'resident' )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:32: ( '(' ( formalParameterList )? ')' )? ( INDEX expression )? ( NAME expression )? ( 'resident' )? - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:32: ( '(' ( formalParameterList )? ')' )? - int alt40=2; - int LA40_0 = input.LA(1); - if ( (LA40_0==LPAREN) ) { - alt40=1; - } - switch (alt40) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:33: '(' ( formalParameterList )? ')' - { - char_literal145=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_exportItem3189); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal145_tree = (Object)adaptor.create(char_literal145); - adaptor.addChild(root_0, char_literal145_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:37: ( formalParameterList )? - int alt39=2; - int LA39_0 = input.LA(1); - if ( (LA39_0==ADD||LA39_0==ANSISTRING||LA39_0==AT||LA39_0==BREAK||LA39_0==CONST||(LA39_0 >= CONTAINS && LA39_0 <= CONTINUE)||LA39_0==DEFAULT||LA39_0==EXIT||LA39_0==EXPORT||LA39_0==FINAL||LA39_0==IMPLEMENTS||LA39_0==INDEX||LA39_0==LBRACK||LA39_0==LOCAL||LA39_0==MESSAGE||LA39_0==NAME||LA39_0==OBJECT||LA39_0==OPERATOR||LA39_0==OUT||LA39_0==POINTER||(LA39_0 >= READ && LA39_0 <= READONLY)||(LA39_0 >= REFERENCE && LA39_0 <= REGISTER)||LA39_0==REMOVE||(LA39_0 >= STORED && LA39_0 <= STRING)||LA39_0==TkIdentifier||LA39_0==VAR||LA39_0==VARIANT||LA39_0==WRITE||LA39_0==200) ) { - alt39=1; - } - switch (alt39) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:38: formalParameterList - { - pushFollow(FOLLOW_formalParameterList_in_exportItem3192); - formalParameterList146=formalParameterList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterList146.getTree()); - - } - break; - - } - - char_literal147=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_exportItem3196); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal147_tree = (Object)adaptor.create(char_literal147); - adaptor.addChild(root_0, char_literal147_tree); - } - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:66: ( INDEX expression )? - int alt41=2; - int LA41_0 = input.LA(1); - if ( (LA41_0==INDEX) ) { - alt41=1; - } - switch (alt41) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:67: INDEX expression - { - INDEX148=(Token)match(input,INDEX,FOLLOW_INDEX_in_exportItem3201); if (state.failed) return retval; - if ( state.backtracking==0 ) { - INDEX148_tree = (Object)adaptor.create(INDEX148); - adaptor.addChild(root_0, INDEX148_tree); - } - - pushFollow(FOLLOW_expression_in_exportItem3203); - expression149=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression149.getTree()); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:86: ( NAME expression )? - int alt42=2; - int LA42_0 = input.LA(1); - if ( (LA42_0==NAME) ) { - alt42=1; - } - switch (alt42) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:87: NAME expression - { - NAME150=(Token)match(input,NAME,FOLLOW_NAME_in_exportItem3208); if (state.failed) return retval; - if ( state.backtracking==0 ) { - NAME150_tree = (Object)adaptor.create(NAME150); - adaptor.addChild(root_0, NAME150_tree); - } - - pushFollow(FOLLOW_expression_in_exportItem3210); - expression151=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression151.getTree()); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:105: ( 'resident' )? - int alt43=2; - int LA43_0 = input.LA(1); - if ( (LA43_0==RESIDENT) ) { - alt43=1; - } - switch (alt43) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:106: 'resident' - { - string_literal152=(Token)match(input,RESIDENT,FOLLOW_RESIDENT_in_exportItem3215); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal152_tree = (Object)adaptor.create(string_literal152); - adaptor.addChild(root_0, string_literal152_tree); - } - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 38, exportItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "exportItem" - - - public static class typeDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "typeDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:1: typeDecl : ( strucType | pointerType | stringType | procedureType | variantType | ( 'type' )? typeId ( genericPostfix )? | simpleType ); - public final DelphiParser.typeDecl_return typeDecl() throws RecognitionException { - DelphiParser.typeDecl_return retval = new DelphiParser.typeDecl_return(); - retval.start = input.LT(1); - int typeDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal158=null; - ParserRuleReturnScope strucType153 =null; - ParserRuleReturnScope pointerType154 =null; - ParserRuleReturnScope stringType155 =null; - ParserRuleReturnScope procedureType156 =null; - ParserRuleReturnScope variantType157 =null; - ParserRuleReturnScope typeId159 =null; - ParserRuleReturnScope genericPostfix160 =null; - ParserRuleReturnScope simpleType161 =null; - - Object string_literal158_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:30: ( strucType | pointerType | stringType | procedureType | variantType | ( 'type' )? typeId ( genericPostfix )? | simpleType ) - int alt46=7; - alt46 = dfa46.predict(input); - switch (alt46) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:32: strucType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_strucType_in_typeDecl3277); - strucType153=strucType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, strucType153.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:181:32: pointerType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_pointerType_in_typeDecl3310); - pointerType154=pointerType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, pointerType154.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:182:32: stringType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_stringType_in_typeDecl3343); - stringType155=stringType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, stringType155.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:183:32: procedureType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_procedureType_in_typeDecl3376); - procedureType156=procedureType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureType156.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:184:32: variantType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_variantType_in_typeDecl3409); - variantType157=variantType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, variantType157.getTree()); - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:32: ( 'type' )? typeId ( genericPostfix )? - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:32: ( 'type' )? - int alt44=2; - int LA44_0 = input.LA(1); - if ( (LA44_0==TYPE) ) { - alt44=1; - } - switch (alt44) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:33: 'type' - { - string_literal158=(Token)match(input,TYPE,FOLLOW_TYPE_in_typeDecl3443); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal158_tree = (Object)adaptor.create(string_literal158); - adaptor.addChild(root_0, string_literal158_tree); - } - - } - break; - - } - - pushFollow(FOLLOW_typeId_in_typeDecl3447); - typeId159=typeId(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId159.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:49: ( genericPostfix )? - int alt45=2; - int LA45_0 = input.LA(1); - if ( (LA45_0==LT) ) { - int LA45_1 = input.LA(2); - if ( (synpred67_Delphi()) ) { - alt45=1; - } - } - switch (alt45) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:50: genericPostfix - { - pushFollow(FOLLOW_genericPostfix_in_typeDecl3450); - genericPostfix160=genericPostfix(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, genericPostfix160.getTree()); - - } - break; - - } - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:32: simpleType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_simpleType_in_typeDecl3485); - simpleType161=simpleType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleType161.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 39, typeDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "typeDecl" - - - public static class strucType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "strucType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:188:1: strucType : ( 'packed' )? strucTypePart -> strucTypePart ; - public final DelphiParser.strucType_return strucType() throws RecognitionException { - DelphiParser.strucType_return retval = new DelphiParser.strucType_return(); - retval.start = input.LT(1); - int strucType_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal162=null; - ParserRuleReturnScope strucTypePart163 =null; - - Object string_literal162_tree=null; - RewriteRuleTokenStream stream_PACKED=new RewriteRuleTokenStream(adaptor,"token PACKED"); - RewriteRuleSubtreeStream stream_strucTypePart=new RewriteRuleSubtreeStream(adaptor,"rule strucTypePart"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:188:30: ( ( 'packed' )? strucTypePart -> strucTypePart ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:188:32: ( 'packed' )? strucTypePart - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:188:32: ( 'packed' )? - int alt47=2; - int LA47_0 = input.LA(1); - if ( (LA47_0==PACKED) ) { - alt47=1; - } - switch (alt47) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:188:33: 'packed' - { - string_literal162=(Token)match(input,PACKED,FOLLOW_PACKED_in_strucType3542); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_PACKED.add(string_literal162); - - } - break; - - } - - pushFollow(FOLLOW_strucTypePart_in_strucType3546); - strucTypePart163=strucTypePart(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_strucTypePart.add(strucTypePart163.getTree()); - // AST REWRITE - // elements: strucTypePart - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 188:58: -> strucTypePart - { - adaptor.addChild(root_0, stream_strucTypePart.nextTree()); - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 40, strucType_StartIndex); } - - } - return retval; - } - // $ANTLR end "strucType" - - - public static class strucTypePart_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "strucTypePart" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:190:1: strucTypePart : ( arrayType | setType | fileType | classDecl ); - public final DelphiParser.strucTypePart_return strucTypePart() throws RecognitionException { - DelphiParser.strucTypePart_return retval = new DelphiParser.strucTypePart_return(); - retval.start = input.LT(1); - int strucTypePart_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope arrayType164 =null; - ParserRuleReturnScope setType165 =null; - ParserRuleReturnScope fileType166 =null; - ParserRuleReturnScope classDecl167 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:190:30: ( arrayType | setType | fileType | classDecl ) - int alt48=4; - switch ( input.LA(1) ) { - case ARRAY: - { - alt48=1; - } - break; - case SET: - { - alt48=2; - } - break; - case FILE: - { - alt48=3; - } - break; - case CLASS: - case DISPINTERFACE: - case INTERFACE: - case OBJECT: - case RECORD: - { - alt48=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 48, 0, input); - throw nvae; - } - switch (alt48) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:190:32: arrayType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_arrayType_in_strucTypePart3602); - arrayType164=arrayType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, arrayType164.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:191:32: setType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_setType_in_strucTypePart3635); - setType165=setType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, setType165.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:192:32: fileType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_fileType_in_strucTypePart3668); - fileType166=fileType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, fileType166.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:193:32: classDecl - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classDecl_in_strucTypePart3701); - classDecl167=classDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classDecl167.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 41, strucTypePart_StartIndex); } - - } - return retval; - } - // $ANTLR end "strucTypePart" - - - public static class arrayType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "arrayType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:1: arrayType : 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? 'of' arraySubType -> ^( arraySubType 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? ) ; - public final DelphiParser.arrayType_return arrayType() throws RecognitionException { - DelphiParser.arrayType_return retval = new DelphiParser.arrayType_return(); - retval.start = input.LT(1); - int arrayType_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal168=null; - Token char_literal169=null; - Token char_literal171=null; - Token char_literal173=null; - Token string_literal174=null; - ParserRuleReturnScope arrayIndex170 =null; - ParserRuleReturnScope arrayIndex172 =null; - ParserRuleReturnScope arraySubType175 =null; - - Object string_literal168_tree=null; - Object char_literal169_tree=null; - Object char_literal171_tree=null; - Object char_literal173_tree=null; - Object string_literal174_tree=null; - RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); - RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); - RewriteRuleTokenStream stream_ARRAY=new RewriteRuleTokenStream(adaptor,"token ARRAY"); - RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); - RewriteRuleTokenStream stream_OF=new RewriteRuleTokenStream(adaptor,"token OF"); - RewriteRuleSubtreeStream stream_arraySubType=new RewriteRuleSubtreeStream(adaptor,"rule arraySubType"); - RewriteRuleSubtreeStream stream_arrayIndex=new RewriteRuleSubtreeStream(adaptor,"rule arrayIndex"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:30: ( 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? 'of' arraySubType -> ^( arraySubType 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:33: 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? 'of' arraySubType - { - string_literal168=(Token)match(input,ARRAY,FOLLOW_ARRAY_in_arrayType3759); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ARRAY.add(string_literal168); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:41: ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? - int alt52=2; - int LA52_0 = input.LA(1); - if ( (LA52_0==LBRACK) ) { - alt52=1; - } - switch (alt52) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:42: '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' - { - char_literal169=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_arrayType3762); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LBRACK.add(char_literal169); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:46: ( arrayIndex )? - int alt49=2; - int LA49_0 = input.LA(1); - if ( ((LA49_0 >= ADD && LA49_0 <= ANSISTRING)||LA49_0==AS||(LA49_0 >= AT && LA49_0 <= AT2)||LA49_0==BREAK||(LA49_0 >= CONTAINS && LA49_0 <= ControlString)||LA49_0==DEFAULT||LA49_0==DIV||(LA49_0 >= DOT && LA49_0 <= DOTDOT)||LA49_0==EQUAL||LA49_0==EXIT||LA49_0==EXPORT||LA49_0==FALSE||LA49_0==FINAL||(LA49_0 >= FUNCTION && LA49_0 <= GE)||LA49_0==GT||(LA49_0 >= IMPLEMENTS && LA49_0 <= INHERITED)||LA49_0==IS||LA49_0==LBRACK||LA49_0==LE||(LA49_0 >= LOCAL && LA49_0 <= NAME)||LA49_0==NIL||(LA49_0 >= NOT && LA49_0 <= OBJECT)||(LA49_0 >= OPERATOR && LA49_0 <= OUT)||(LA49_0 >= PLUS && LA49_0 <= POINTER2)||LA49_0==PROCEDURE||LA49_0==QuotedString||(LA49_0 >= READ && LA49_0 <= READONLY)||(LA49_0 >= REFERENCE && LA49_0 <= REGISTER)||LA49_0==REMOVE||(LA49_0 >= SHL && LA49_0 <= STAR)||(LA49_0 >= STORED && LA49_0 <= STRING)||LA49_0==TRUE||LA49_0==TkAsmHexNum||(LA49_0 >= TkHexNum && LA49_0 <= TkIntNum)||LA49_0==TkRealNum||LA49_0==VARIANT||LA49_0==WRITE||(LA49_0 >= XOR && LA49_0 <= 201)) ) { - alt49=1; - } - switch (alt49) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:47: arrayIndex - { - pushFollow(FOLLOW_arrayIndex_in_arrayType3765); - arrayIndex170=arrayIndex(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_arrayIndex.add(arrayIndex170.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:60: ( ',' ( arrayIndex )? )* - loop51: - while (true) { - int alt51=2; - int LA51_0 = input.LA(1); - if ( (LA51_0==COMMA) ) { - alt51=1; - } - - switch (alt51) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:61: ',' ( arrayIndex )? - { - char_literal171=(Token)match(input,COMMA,FOLLOW_COMMA_in_arrayType3770); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COMMA.add(char_literal171); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:65: ( arrayIndex )? - int alt50=2; - int LA50_0 = input.LA(1); - if ( ((LA50_0 >= ADD && LA50_0 <= ANSISTRING)||LA50_0==AS||(LA50_0 >= AT && LA50_0 <= AT2)||LA50_0==BREAK||(LA50_0 >= CONTAINS && LA50_0 <= ControlString)||LA50_0==DEFAULT||LA50_0==DIV||(LA50_0 >= DOT && LA50_0 <= DOTDOT)||LA50_0==EQUAL||LA50_0==EXIT||LA50_0==EXPORT||LA50_0==FALSE||LA50_0==FINAL||(LA50_0 >= FUNCTION && LA50_0 <= GE)||LA50_0==GT||(LA50_0 >= IMPLEMENTS && LA50_0 <= INHERITED)||LA50_0==IS||LA50_0==LBRACK||LA50_0==LE||(LA50_0 >= LOCAL && LA50_0 <= NAME)||LA50_0==NIL||(LA50_0 >= NOT && LA50_0 <= OBJECT)||(LA50_0 >= OPERATOR && LA50_0 <= OUT)||(LA50_0 >= PLUS && LA50_0 <= POINTER2)||LA50_0==PROCEDURE||LA50_0==QuotedString||(LA50_0 >= READ && LA50_0 <= READONLY)||(LA50_0 >= REFERENCE && LA50_0 <= REGISTER)||LA50_0==REMOVE||(LA50_0 >= SHL && LA50_0 <= STAR)||(LA50_0 >= STORED && LA50_0 <= STRING)||LA50_0==TRUE||LA50_0==TkAsmHexNum||(LA50_0 >= TkHexNum && LA50_0 <= TkIntNum)||LA50_0==TkRealNum||LA50_0==VARIANT||LA50_0==WRITE||(LA50_0 >= XOR && LA50_0 <= 201)) ) { - alt50=1; - } - switch (alt50) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:66: arrayIndex - { - pushFollow(FOLLOW_arrayIndex_in_arrayType3773); - arrayIndex172=arrayIndex(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_arrayIndex.add(arrayIndex172.getTree()); - } - break; - - } - - } - break; - - default : - break loop51; - } - } - - char_literal173=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_arrayType3779); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RBRACK.add(char_literal173); - - } - break; - - } - - string_literal174=(Token)match(input,OF,FOLLOW_OF_in_arrayType3783); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_OF.add(string_literal174); - - pushFollow(FOLLOW_arraySubType_in_arrayType3785); - arraySubType175=arraySubType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_arraySubType.add(arraySubType175.getTree()); - // AST REWRITE - // elements: COMMA, ARRAY, arrayIndex, RBRACK, LBRACK, arrayIndex, arraySubType - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 197:30: -> ^( arraySubType 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:197:33: ^( arraySubType 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_arraySubType.nextNode(), root_1); - adaptor.addChild(root_1, stream_ARRAY.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:197:56: ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? - if ( stream_COMMA.hasNext()||stream_RBRACK.hasNext()||stream_LBRACK.hasNext()||stream_arrayIndex.hasNext() ) { - adaptor.addChild(root_1, stream_LBRACK.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:197:61: ( arrayIndex )? - if ( stream_arrayIndex.hasNext() ) { - adaptor.addChild(root_1, stream_arrayIndex.nextTree()); - } - stream_arrayIndex.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:197:75: ( ',' ( arrayIndex )? )* - while ( stream_COMMA.hasNext() ) { - adaptor.addChild(root_1, stream_COMMA.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:197:80: ( arrayIndex )? - if ( stream_arrayIndex.hasNext() ) { - adaptor.addChild(root_1, stream_arrayIndex.nextTree()); - } - stream_arrayIndex.reset(); - - } - stream_COMMA.reset(); - - adaptor.addChild(root_1, stream_RBRACK.nextNode()); - } - stream_COMMA.reset(); - stream_RBRACK.reset(); - stream_LBRACK.reset(); - stream_arrayIndex.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 42, arrayType_StartIndex); } - - } - return retval; - } - // $ANTLR end "arrayType" - - - public static class arrayIndex_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "arrayIndex" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:200:1: arrayIndex : ( typeId | expression '..' expression ); - public final DelphiParser.arrayIndex_return arrayIndex() throws RecognitionException { - DelphiParser.arrayIndex_return retval = new DelphiParser.arrayIndex_return(); - retval.start = input.LT(1); - int arrayIndex_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal178=null; - ParserRuleReturnScope typeId176 =null; - ParserRuleReturnScope expression177 =null; - ParserRuleReturnScope expression179 =null; - - Object string_literal178_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:200:30: ( typeId | expression '..' expression ) - int alt53=2; - alt53 = dfa53.predict(input); - switch (alt53) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:200:32: typeId - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_typeId_in_arrayIndex3911); - typeId176=typeId(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId176.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:201:32: expression '..' expression - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_expression_in_arrayIndex3944); - expression177=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression177.getTree()); - - string_literal178=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_arrayIndex3946); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal178_tree = (Object)adaptor.create(string_literal178); - adaptor.addChild(root_0, string_literal178_tree); - } - - pushFollow(FOLLOW_expression_in_arrayIndex3948); - expression179=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression179.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 43, arrayIndex_StartIndex); } - - } - return retval; - } - // $ANTLR end "arrayIndex" - - - public static class arraySubType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "arraySubType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:204:1: arraySubType : ( 'const' | typeDecl ); - public final DelphiParser.arraySubType_return arraySubType() throws RecognitionException { - DelphiParser.arraySubType_return retval = new DelphiParser.arraySubType_return(); - retval.start = input.LT(1); - int arraySubType_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal180=null; - ParserRuleReturnScope typeDecl181 =null; - - Object string_literal180_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:204:30: ( 'const' | typeDecl ) - int alt54=2; - int LA54_0 = input.LA(1); - if ( (LA54_0==CONST) ) { - int LA54_1 = input.LA(2); - if ( (synpred78_Delphi()) ) { - alt54=1; - } - else if ( (true) ) { - alt54=2; - } - - } - else if ( (LA54_0==EOF||LA54_0==ABSOLUTE||(LA54_0 >= ADD && LA54_0 <= ASSEMBLER)||(LA54_0 >= AT && LA54_0 <= AUTOMATED)||(LA54_0 >= BEGIN && LA54_0 <= COMMA)||(LA54_0 >= CONSTRUCTOR && LA54_0 <= ControlString)||(LA54_0 >= DEFAULT && LA54_0 <= DOWNTO)||(LA54_0 >= ELSE && LA54_0 <= FINALLY)||(LA54_0 >= FUNCTION && LA54_0 <= GE)||LA54_0==GT||(LA54_0 >= IMPLEMENTATION && LA54_0 <= LBRACK)||(LA54_0 >= LE && LA54_0 <= OVERLOAD)||(LA54_0 >= PACKED && LA54_0 <= PROCEDURE)||(LA54_0 >= PROPERTY && LA54_0 <= QuotedString)||LA54_0==RBRACK||(LA54_0 >= READ && LA54_0 <= REGISTER)||LA54_0==REMOVE||(LA54_0 >= RESIDENT && LA54_0 <= SAFECALL)||(LA54_0 >= SEMI && LA54_0 <= STAR)||(LA54_0 >= STDCALL && LA54_0 <= TRUE)||LA54_0==TYPE||LA54_0==TkAsmHexNum||(LA54_0 >= TkHexNum && LA54_0 <= TkIntNum)||LA54_0==TkRealNum||(LA54_0 >= UNSAFE && LA54_0 <= UNTIL)||(LA54_0 >= VAR && LA54_0 <= VARIANT)||(LA54_0 >= WRITE && LA54_0 <= WRITEONLY)||(LA54_0 >= XOR && LA54_0 <= 201)) ) { - alt54=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 54, 0, input); - throw nvae; - } - - switch (alt54) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:204:32: 'const' - { - root_0 = (Object)adaptor.nil(); - - - string_literal180=(Token)match(input,CONST,FOLLOW_CONST_in_arraySubType4002); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal180_tree = (Object)adaptor.create(string_literal180); - adaptor.addChild(root_0, string_literal180_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:205:32: typeDecl - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_typeDecl_in_arraySubType4035); - typeDecl181=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl181.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 44, arraySubType_StartIndex); } - - } - return retval; - } - // $ANTLR end "arraySubType" - - - public static class setType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "setType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:1: setType : 'set' 'of' typeDecl -> 'set' typeDecl ; - public final DelphiParser.setType_return setType() throws RecognitionException { - DelphiParser.setType_return retval = new DelphiParser.setType_return(); - retval.start = input.LT(1); - int setType_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal182=null; - Token string_literal183=null; - ParserRuleReturnScope typeDecl184 =null; - - Object string_literal182_tree=null; - Object string_literal183_tree=null; - RewriteRuleTokenStream stream_SET=new RewriteRuleTokenStream(adaptor,"token SET"); - RewriteRuleTokenStream stream_OF=new RewriteRuleTokenStream(adaptor,"token OF"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:30: ( 'set' 'of' typeDecl -> 'set' typeDecl ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:32: 'set' 'of' typeDecl - { - string_literal182=(Token)match(input,SET,FOLLOW_SET_in_setType4093); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SET.add(string_literal182); - - string_literal183=(Token)match(input,OF,FOLLOW_OF_in_setType4095); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_OF.add(string_literal183); - - pushFollow(FOLLOW_typeDecl_in_setType4097); - typeDecl184=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl184.getTree()); - // AST REWRITE - // elements: SET, typeDecl - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 207:52: -> 'set' typeDecl - { - adaptor.addChild(root_0, stream_SET.nextNode()); - adaptor.addChild(root_0, stream_typeDecl.nextTree()); - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 45, setType_StartIndex); } - - } - return retval; - } - // $ANTLR end "setType" - - - public static class fileType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "fileType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:210:1: fileType : 'file' ( 'of' typeDecl )? ; - public final DelphiParser.fileType_return fileType() throws RecognitionException { - DelphiParser.fileType_return retval = new DelphiParser.fileType_return(); - retval.start = input.LT(1); - int fileType_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal185=null; - Token string_literal186=null; - ParserRuleReturnScope typeDecl187 =null; - - Object string_literal185_tree=null; - Object string_literal186_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:210:30: ( 'file' ( 'of' typeDecl )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:210:32: 'file' ( 'of' typeDecl )? - { - root_0 = (Object)adaptor.nil(); - - - string_literal185=(Token)match(input,FILE,FOLLOW_FILE_in_fileType4171); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal185_tree = (Object)adaptor.create(string_literal185); - adaptor.addChild(root_0, string_literal185_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:210:39: ( 'of' typeDecl )? - int alt55=2; - int LA55_0 = input.LA(1); - if ( (LA55_0==OF) ) { - int LA55_1 = input.LA(2); - if ( (synpred79_Delphi()) ) { - alt55=1; - } - } - switch (alt55) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:210:40: 'of' typeDecl - { - string_literal186=(Token)match(input,OF,FOLLOW_OF_in_fileType4174); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal186_tree = (Object)adaptor.create(string_literal186); - adaptor.addChild(root_0, string_literal186_tree); - } - - pushFollow(FOLLOW_typeDecl_in_fileType4176); - typeDecl187=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl187.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 46, fileType_StartIndex); } - - } - return retval; - } - // $ANTLR end "fileType" - - - public static class pointerType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "pointerType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:212:1: pointerType : ( '^' typeDecl | 'pointer' ); - public final DelphiParser.pointerType_return pointerType() throws RecognitionException { - DelphiParser.pointerType_return retval = new DelphiParser.pointerType_return(); - retval.start = input.LT(1); - int pointerType_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal188=null; - Token string_literal190=null; - ParserRuleReturnScope typeDecl189 =null; - - Object char_literal188_tree=null; - Object string_literal190_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 47) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:212:30: ( '^' typeDecl | 'pointer' ) - int alt56=2; - int LA56_0 = input.LA(1); - if ( (LA56_0==POINTER2) ) { - alt56=1; - } - else if ( (LA56_0==POINTER) ) { - alt56=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 56, 0, input); - throw nvae; - } - - switch (alt56) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:212:32: '^' typeDecl - { - root_0 = (Object)adaptor.nil(); - - - char_literal188=(Token)match(input,POINTER2,FOLLOW_POINTER2_in_pointerType4232); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal188_tree = (Object)adaptor.create(char_literal188); - adaptor.addChild(root_0, char_literal188_tree); - } - - pushFollow(FOLLOW_typeDecl_in_pointerType4234); - typeDecl189=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl189.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:213:32: 'pointer' - { - root_0 = (Object)adaptor.nil(); - - - string_literal190=(Token)match(input,POINTER,FOLLOW_POINTER_in_pointerType4267); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal190_tree = (Object)adaptor.create(string_literal190); - adaptor.addChild(root_0, string_literal190_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 47, pointerType_StartIndex); } - - } - return retval; - } - // $ANTLR end "pointerType" - - - public static class stringType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "stringType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:1: stringType : ( 'string' ( '[' expression ']' )? -> 'string' | ( 'type' )? ANSISTRING ( codePageNumber )? ); - public final DelphiParser.stringType_return stringType() throws RecognitionException { - DelphiParser.stringType_return retval = new DelphiParser.stringType_return(); - retval.start = input.LT(1); - int stringType_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal191=null; - Token char_literal192=null; - Token char_literal194=null; - Token string_literal195=null; - Token ANSISTRING196=null; - ParserRuleReturnScope expression193 =null; - ParserRuleReturnScope codePageNumber197 =null; - - Object string_literal191_tree=null; - Object char_literal192_tree=null; - Object char_literal194_tree=null; - Object string_literal195_tree=null; - Object ANSISTRING196_tree=null; - RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); - RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); - RewriteRuleTokenStream stream_STRING=new RewriteRuleTokenStream(adaptor,"token STRING"); - RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 48) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:30: ( 'string' ( '[' expression ']' )? -> 'string' | ( 'type' )? ANSISTRING ( codePageNumber )? ) - int alt60=2; - int LA60_0 = input.LA(1); - if ( (LA60_0==STRING) ) { - alt60=1; - } - else if ( (LA60_0==ANSISTRING||LA60_0==TYPE) ) { - alt60=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 60, 0, input); - throw nvae; - } - - switch (alt60) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:32: 'string' ( '[' expression ']' )? - { - string_literal191=(Token)match(input,STRING,FOLLOW_STRING_in_stringType4322); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_STRING.add(string_literal191); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:41: ( '[' expression ']' )? - int alt57=2; - alt57 = dfa57.predict(input); - switch (alt57) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:42: '[' expression ']' - { - char_literal192=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_stringType4325); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LBRACK.add(char_literal192); - - pushFollow(FOLLOW_expression_in_stringType4327); - expression193=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_expression.add(expression193.getTree()); - char_literal194=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_stringType4329); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RBRACK.add(char_literal194); - - } - break; - - } - - // AST REWRITE - // elements: STRING - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 215:63: -> 'string' - { - adaptor.addChild(root_0, stream_STRING.nextNode()); - } - - - retval.tree = root_0; - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:216:32: ( 'type' )? ANSISTRING ( codePageNumber )? - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:216:32: ( 'type' )? - int alt58=2; - int LA58_0 = input.LA(1); - if ( (LA58_0==TYPE) ) { - alt58=1; - } - switch (alt58) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:216:33: 'type' - { - string_literal195=(Token)match(input,TYPE,FOLLOW_TYPE_in_stringType4369); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal195_tree = (Object)adaptor.create(string_literal195); - adaptor.addChild(root_0, string_literal195_tree); - } - - } - break; - - } - - ANSISTRING196=(Token)match(input,ANSISTRING,FOLLOW_ANSISTRING_in_stringType4373); if (state.failed) return retval; - if ( state.backtracking==0 ) { - ANSISTRING196_tree = (Object)adaptor.create(ANSISTRING196); - adaptor.addChild(root_0, ANSISTRING196_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:216:53: ( codePageNumber )? - int alt59=2; - int LA59_0 = input.LA(1); - if ( (LA59_0==LPAREN) ) { - int LA59_1 = input.LA(2); - if ( (LA59_1==TkHexNum||LA59_1==TkIntNum) ) { - int LA59_3 = input.LA(3); - if ( (LA59_3==RPAREN) ) { - int LA59_4 = input.LA(4); - if ( (synpred84_Delphi()) ) { - alt59=1; - } - } - } - } - switch (alt59) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:216:54: codePageNumber - { - pushFollow(FOLLOW_codePageNumber_in_stringType4376); - codePageNumber197=codePageNumber(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, codePageNumber197.getTree()); - - } - break; - - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 48, stringType_StartIndex); } - - } - return retval; - } - // $ANTLR end "stringType" - - - public static class codePageNumber_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "codePageNumber" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:218:1: codePageNumber : '(' intNum ')' ; - public final DelphiParser.codePageNumber_return codePageNumber() throws RecognitionException { - DelphiParser.codePageNumber_return retval = new DelphiParser.codePageNumber_return(); - retval.start = input.LT(1); - int codePageNumber_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal198=null; - Token char_literal200=null; - ParserRuleReturnScope intNum199 =null; - - Object char_literal198_tree=null; - Object char_literal200_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 49) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:218:30: ( '(' intNum ')' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:218:32: '(' intNum ')' - { - root_0 = (Object)adaptor.nil(); - - - char_literal198=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_codePageNumber4429); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal198_tree = (Object)adaptor.create(char_literal198); - adaptor.addChild(root_0, char_literal198_tree); - } - - pushFollow(FOLLOW_intNum_in_codePageNumber4431); - intNum199=intNum(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, intNum199.getTree()); - - char_literal200=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_codePageNumber4433); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal200_tree = (Object)adaptor.create(char_literal200); - adaptor.addChild(root_0, char_literal200_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 49, codePageNumber_StartIndex); } - - } - return retval; - } - // $ANTLR end "codePageNumber" - - - public static class procedureType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "procedureType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:220:1: procedureType : ( methodType | simpleProcedureType | procedureReference ); - public final DelphiParser.procedureType_return procedureType() throws RecognitionException { - DelphiParser.procedureType_return retval = new DelphiParser.procedureType_return(); - retval.start = input.LT(1); - int procedureType_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope methodType201 =null; - ParserRuleReturnScope simpleProcedureType202 =null; - ParserRuleReturnScope procedureReference203 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 50) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:220:30: ( methodType | simpleProcedureType | procedureReference ) - int alt61=3; - switch ( input.LA(1) ) { - case FUNCTION: - { - int LA61_1 = input.LA(2); - if ( (synpred85_Delphi()) ) { - alt61=1; - } - else if ( (synpred86_Delphi()) ) { - alt61=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 61, 1, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case PROCEDURE: - { - int LA61_2 = input.LA(2); - if ( (synpred85_Delphi()) ) { - alt61=1; - } - else if ( (synpred86_Delphi()) ) { - alt61=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 61, 2, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case REFERENCE: - { - alt61=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 61, 0, input); - throw nvae; - } - switch (alt61) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:220:32: methodType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_methodType_in_procedureType4485); - methodType201=methodType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, methodType201.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:32: simpleProcedureType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_simpleProcedureType_in_procedureType4518); - simpleProcedureType202=simpleProcedureType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleProcedureType202.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:222:32: procedureReference - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_procedureReference_in_procedureType4551); - procedureReference203=procedureReference(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureReference203.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 50, procedureType_StartIndex); } - - } - return retval; - } - // $ANTLR end "procedureType" - - - public static class methodType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "methodType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:224:1: methodType : procedureTypeHeading 'of' 'object' ; - public final DelphiParser.methodType_return methodType() throws RecognitionException { - DelphiParser.methodType_return retval = new DelphiParser.methodType_return(); - retval.start = input.LT(1); - int methodType_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal205=null; - Token string_literal206=null; - ParserRuleReturnScope procedureTypeHeading204 =null; - - Object string_literal205_tree=null; - Object string_literal206_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 51) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:224:30: ( procedureTypeHeading 'of' 'object' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:224:32: procedureTypeHeading 'of' 'object' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_procedureTypeHeading_in_methodType4606); - procedureTypeHeading204=procedureTypeHeading(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureTypeHeading204.getTree()); - - string_literal205=(Token)match(input,OF,FOLLOW_OF_in_methodType4608); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal205_tree = (Object)adaptor.create(string_literal205); - adaptor.addChild(root_0, string_literal205_tree); - } - - string_literal206=(Token)match(input,OBJECT,FOLLOW_OBJECT_in_methodType4610); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal206_tree = (Object)adaptor.create(string_literal206); - adaptor.addChild(root_0, string_literal206_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 51, methodType_StartIndex); } - - } - return retval; - } - // $ANTLR end "methodType" - - - public static class simpleProcedureType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "simpleProcedureType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:1: simpleProcedureType : procedureTypeHeading ( ( ';' )? callConventionNoSemi )? ; - public final DelphiParser.simpleProcedureType_return simpleProcedureType() throws RecognitionException { - DelphiParser.simpleProcedureType_return retval = new DelphiParser.simpleProcedureType_return(); - retval.start = input.LT(1); - int simpleProcedureType_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal208=null; - ParserRuleReturnScope procedureTypeHeading207 =null; - ParserRuleReturnScope callConventionNoSemi209 =null; - - Object char_literal208_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 52) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:30: ( procedureTypeHeading ( ( ';' )? callConventionNoSemi )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:32: procedureTypeHeading ( ( ';' )? callConventionNoSemi )? - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_procedureTypeHeading_in_simpleProcedureType4656); - procedureTypeHeading207=procedureTypeHeading(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureTypeHeading207.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:53: ( ( ';' )? callConventionNoSemi )? - int alt63=2; - switch ( input.LA(1) ) { - case SEMI: - { - int LA63_1 = input.LA(2); - if ( (synpred88_Delphi()) ) { - alt63=1; - } - } - break; - case REGISTER: - { - int LA63_2 = input.LA(2); - if ( (synpred88_Delphi()) ) { - alt63=1; - } - } - break; - case CDECL: - { - int LA63_4 = input.LA(2); - if ( (synpred88_Delphi()) ) { - alt63=1; - } - } - break; - case PASCAL: - { - int LA63_5 = input.LA(2); - if ( (synpred88_Delphi()) ) { - alt63=1; - } - } - break; - case SAFECALL: - { - int LA63_6 = input.LA(2); - if ( (synpred88_Delphi()) ) { - alt63=1; - } - } - break; - case EXPORT: - { - int LA63_7 = input.LA(2); - if ( (synpred88_Delphi()) ) { - alt63=1; - } - } - break; - case STDCALL: - { - int LA63_8 = input.LA(2); - if ( (synpred88_Delphi()) ) { - alt63=1; - } - } - break; - } - switch (alt63) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:55: ( ';' )? callConventionNoSemi - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:55: ( ';' )? - int alt62=2; - int LA62_0 = input.LA(1); - if ( (LA62_0==SEMI) ) { - alt62=1; - } - switch (alt62) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:56: ';' - { - char_literal208=(Token)match(input,SEMI,FOLLOW_SEMI_in_simpleProcedureType4661); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal208_tree = (Object)adaptor.create(char_literal208); - adaptor.addChild(root_0, char_literal208_tree); - } - - } - break; - - } - - pushFollow(FOLLOW_callConventionNoSemi_in_simpleProcedureType4665); - callConventionNoSemi209=callConventionNoSemi(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, callConventionNoSemi209.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 52, simpleProcedureType_StartIndex); } - - } - return retval; - } - // $ANTLR end "simpleProcedureType" - - - public static class procedureReference_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "procedureReference" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:228:1: procedureReference : 'reference' 'to' procedureTypeHeading ; - public final DelphiParser.procedureReference_return procedureReference() throws RecognitionException { - DelphiParser.procedureReference_return retval = new DelphiParser.procedureReference_return(); - retval.start = input.LT(1); - int procedureReference_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal210=null; - Token string_literal211=null; - ParserRuleReturnScope procedureTypeHeading212 =null; - - Object string_literal210_tree=null; - Object string_literal211_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 53) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:228:30: ( 'reference' 'to' procedureTypeHeading ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:228:32: 'reference' 'to' procedureTypeHeading - { - root_0 = (Object)adaptor.nil(); - - - string_literal210=(Token)match(input,REFERENCE,FOLLOW_REFERENCE_in_procedureReference4714); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal210_tree = (Object)adaptor.create(string_literal210); - adaptor.addChild(root_0, string_literal210_tree); - } - - string_literal211=(Token)match(input,TO,FOLLOW_TO_in_procedureReference4716); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal211_tree = (Object)adaptor.create(string_literal211); - adaptor.addChild(root_0, string_literal211_tree); - } - - pushFollow(FOLLOW_procedureTypeHeading_in_procedureReference4718); - procedureTypeHeading212=procedureTypeHeading(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureTypeHeading212.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 53, procedureReference_StartIndex); } - - } - return retval; - } - // $ANTLR end "procedureReference" - - - public static class procedureTypeHeading_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "procedureTypeHeading" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:1: procedureTypeHeading : ( 'function' ( formalParameterSection )? ':' ( customAttribute )? typeDecl -> 'function' ( formalParameterSection )? ^( TkFunctionReturn typeDecl ) | 'procedure' ( formalParameterSection )? ); - public final DelphiParser.procedureTypeHeading_return procedureTypeHeading() throws RecognitionException { - DelphiParser.procedureTypeHeading_return retval = new DelphiParser.procedureTypeHeading_return(); - retval.start = input.LT(1); - int procedureTypeHeading_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal213=null; - Token char_literal215=null; - Token string_literal218=null; - ParserRuleReturnScope formalParameterSection214 =null; - ParserRuleReturnScope customAttribute216 =null; - ParserRuleReturnScope typeDecl217 =null; - ParserRuleReturnScope formalParameterSection219 =null; - - Object string_literal213_tree=null; - Object char_literal215_tree=null; - Object string_literal218_tree=null; - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleTokenStream stream_FUNCTION=new RewriteRuleTokenStream(adaptor,"token FUNCTION"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_formalParameterSection=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterSection"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 54) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:30: ( 'function' ( formalParameterSection )? ':' ( customAttribute )? typeDecl -> 'function' ( formalParameterSection )? ^( TkFunctionReturn typeDecl ) | 'procedure' ( formalParameterSection )? ) - int alt67=2; - int LA67_0 = input.LA(1); - if ( (LA67_0==FUNCTION) ) { - alt67=1; - } - else if ( (LA67_0==PROCEDURE) ) { - alt67=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 67, 0, input); - throw nvae; - } - - switch (alt67) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:32: 'function' ( formalParameterSection )? ':' ( customAttribute )? typeDecl - { - string_literal213=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_procedureTypeHeading4763); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_FUNCTION.add(string_literal213); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:43: ( formalParameterSection )? - int alt64=2; - int LA64_0 = input.LA(1); - if ( (LA64_0==LPAREN) ) { - alt64=1; - } - switch (alt64) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:44: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_procedureTypeHeading4766); - formalParameterSection214=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection214.getTree()); - } - break; - - } - - char_literal215=(Token)match(input,COLON,FOLLOW_COLON_in_procedureTypeHeading4770); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal215); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:73: ( customAttribute )? - int alt65=2; - alt65 = dfa65.predict(input); - switch (alt65) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:74: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_procedureTypeHeading4773); - customAttribute216=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute216.getTree()); - } - break; - - } - - pushFollow(FOLLOW_typeDecl_in_procedureTypeHeading4777); - typeDecl217=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl217.getTree()); - // AST REWRITE - // elements: typeDecl, FUNCTION, formalParameterSection - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 230:101: -> 'function' ( formalParameterSection )? ^( TkFunctionReturn typeDecl ) - { - adaptor.addChild(root_0, stream_FUNCTION.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:115: ( formalParameterSection )? - if ( stream_formalParameterSection.hasNext() ) { - adaptor.addChild(root_0, stream_formalParameterSection.nextTree()); - } - stream_formalParameterSection.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:141: ^( TkFunctionReturn typeDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_1); - adaptor.addChild(root_1, stream_typeDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:32: 'procedure' ( formalParameterSection )? - { - root_0 = (Object)adaptor.nil(); - - - string_literal218=(Token)match(input,PROCEDURE,FOLLOW_PROCEDURE_in_procedureTypeHeading4825); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal218_tree = (Object)adaptor.create(string_literal218); - adaptor.addChild(root_0, string_literal218_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:44: ( formalParameterSection )? - int alt66=2; - alt66 = dfa66.predict(input); - switch (alt66) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:45: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_procedureTypeHeading4828); - formalParameterSection219=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection219.getTree()); - - } - break; - - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 54, procedureTypeHeading_StartIndex); } - - } - return retval; - } - // $ANTLR end "procedureTypeHeading" - - - public static class variantType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "variantType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:233:1: variantType : 'variant' ; - public final DelphiParser.variantType_return variantType() throws RecognitionException { - DelphiParser.variantType_return retval = new DelphiParser.variantType_return(); - retval.start = input.LT(1); - int variantType_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal220=null; - - Object string_literal220_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 55) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:233:30: ( 'variant' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:233:32: 'variant' - { - root_0 = (Object)adaptor.nil(); - - - string_literal220=(Token)match(input,VARIANT,FOLLOW_VARIANT_in_variantType4884); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal220_tree = (Object)adaptor.create(string_literal220); - adaptor.addChild(root_0, string_literal220_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 55, variantType_StartIndex); } - - } - return retval; - } - // $ANTLR end "variantType" - - - public static class simpleType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "simpleType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:235:1: simpleType : ( ident | subRangeType | enumType ); - public final DelphiParser.simpleType_return simpleType() throws RecognitionException { - DelphiParser.simpleType_return retval = new DelphiParser.simpleType_return(); - retval.start = input.LT(1); - int simpleType_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope ident221 =null; - ParserRuleReturnScope subRangeType222 =null; - ParserRuleReturnScope enumType223 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 56) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:235:30: ( ident | subRangeType | enumType ) - int alt68=3; - alt68 = dfa68.predict(input); - switch (alt68) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:235:32: ident - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_ident_in_simpleType4940); - ident221=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident221.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:236:32: subRangeType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_subRangeType_in_simpleType4973); - subRangeType222=subRangeType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, subRangeType222.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:32: enumType - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_enumType_in_simpleType5006); - enumType223=enumType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, enumType223.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 56, simpleType_StartIndex); } - - } - return retval; - } - // $ANTLR end "simpleType" - - - public static class subRangeType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "subRangeType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:1: subRangeType : constExpression ( '..' constExpression )? ; - public final DelphiParser.subRangeType_return subRangeType() throws RecognitionException { - DelphiParser.subRangeType_return retval = new DelphiParser.subRangeType_return(); - retval.start = input.LT(1); - int subRangeType_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal225=null; - ParserRuleReturnScope constExpression224 =null; - ParserRuleReturnScope constExpression226 =null; - - Object string_literal225_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 57) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:30: ( constExpression ( '..' constExpression )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:32: constExpression ( '..' constExpression )? - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_constExpression_in_subRangeType5059); - constExpression224=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression224.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:48: ( '..' constExpression )? - int alt69=2; - int LA69_0 = input.LA(1); - if ( (LA69_0==DOTDOT) ) { - int LA69_1 = input.LA(2); - if ( (synpred95_Delphi()) ) { - alt69=1; - } - } - switch (alt69) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:49: '..' constExpression - { - string_literal225=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_subRangeType5062); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal225_tree = (Object)adaptor.create(string_literal225); - adaptor.addChild(root_0, string_literal225_tree); - } - - pushFollow(FOLLOW_constExpression_in_subRangeType5064); - constExpression226=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression226.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 57, subRangeType_StartIndex); } - - } - return retval; - } - // $ANTLR end "subRangeType" - - - public static class enumType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "enumType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:1: enumType : '(' ident ( '=' expression )? ( ',' ident ( '=' expression )? )* ')' ; - public final DelphiParser.enumType_return enumType() throws RecognitionException { - DelphiParser.enumType_return retval = new DelphiParser.enumType_return(); - retval.start = input.LT(1); - int enumType_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal227=null; - Token char_literal229=null; - Token char_literal231=null; - Token char_literal233=null; - Token char_literal235=null; - ParserRuleReturnScope ident228 =null; - ParserRuleReturnScope expression230 =null; - ParserRuleReturnScope ident232 =null; - ParserRuleReturnScope expression234 =null; - - Object char_literal227_tree=null; - Object char_literal229_tree=null; - Object char_literal231_tree=null; - Object char_literal233_tree=null; - Object char_literal235_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 58) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:30: ( '(' ident ( '=' expression )? ( ',' ident ( '=' expression )? )* ')' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:32: '(' ident ( '=' expression )? ( ',' ident ( '=' expression )? )* ')' - { - root_0 = (Object)adaptor.nil(); - - - char_literal227=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_enumType5123); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal227_tree = (Object)adaptor.create(char_literal227); - adaptor.addChild(root_0, char_literal227_tree); - } - - pushFollow(FOLLOW_ident_in_enumType5125); - ident228=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident228.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:42: ( '=' expression )? - int alt70=2; - int LA70_0 = input.LA(1); - if ( (LA70_0==EQUAL) ) { - alt70=1; - } - switch (alt70) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:43: '=' expression - { - char_literal229=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_enumType5128); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal229_tree = (Object)adaptor.create(char_literal229); - adaptor.addChild(root_0, char_literal229_tree); - } - - pushFollow(FOLLOW_expression_in_enumType5130); - expression230=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression230.getTree()); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:60: ( ',' ident ( '=' expression )? )* - loop72: - while (true) { - int alt72=2; - int LA72_0 = input.LA(1); - if ( (LA72_0==COMMA) ) { - alt72=1; - } - - switch (alt72) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:61: ',' ident ( '=' expression )? - { - char_literal231=(Token)match(input,COMMA,FOLLOW_COMMA_in_enumType5135); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal231_tree = (Object)adaptor.create(char_literal231); - adaptor.addChild(root_0, char_literal231_tree); - } - - pushFollow(FOLLOW_ident_in_enumType5137); - ident232=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident232.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:71: ( '=' expression )? - int alt71=2; - int LA71_0 = input.LA(1); - if ( (LA71_0==EQUAL) ) { - alt71=1; - } - switch (alt71) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:72: '=' expression - { - char_literal233=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_enumType5140); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal233_tree = (Object)adaptor.create(char_literal233); - adaptor.addChild(root_0, char_literal233_tree); - } - - pushFollow(FOLLOW_expression_in_enumType5142); - expression234=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression234.getTree()); - - } - break; - - } - - } - break; - - default : - break loop72; - } - } - - char_literal235=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_enumType5149); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal235_tree = (Object)adaptor.create(char_literal235); - adaptor.addChild(root_0, char_literal235_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 58, enumType_StartIndex); } - - } - return retval; - } - // $ANTLR end "enumType" - - - public static class typeId_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "typeId" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:243:1: typeId : namespacedQualifiedIdent ; - public final DelphiParser.typeId_return typeId() throws RecognitionException { - DelphiParser.typeId_return retval = new DelphiParser.typeId_return(); - retval.start = input.LT(1); - int typeId_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope namespacedQualifiedIdent236 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 59) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:243:30: ( namespacedQualifiedIdent ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:243:32: namespacedQualifiedIdent - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_namespacedQualifiedIdent_in_typeId5208); - namespacedQualifiedIdent236=namespacedQualifiedIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, namespacedQualifiedIdent236.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 59, typeId_StartIndex); } - - } - return retval; - } - // $ANTLR end "typeId" - - - public static class genericTypeIdent_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "genericTypeIdent" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:248:1: genericTypeIdent : qualifiedIdent ( genericDefinition )? -> qualifiedIdent ; - public final DelphiParser.genericTypeIdent_return genericTypeIdent() throws RecognitionException { - DelphiParser.genericTypeIdent_return retval = new DelphiParser.genericTypeIdent_return(); - retval.start = input.LT(1); - int genericTypeIdent_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope qualifiedIdent237 =null; - ParserRuleReturnScope genericDefinition238 =null; - - RewriteRuleSubtreeStream stream_genericDefinition=new RewriteRuleSubtreeStream(adaptor,"rule genericDefinition"); - RewriteRuleSubtreeStream stream_qualifiedIdent=new RewriteRuleSubtreeStream(adaptor,"rule qualifiedIdent"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 60) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:248:30: ( qualifiedIdent ( genericDefinition )? -> qualifiedIdent ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:248:32: qualifiedIdent ( genericDefinition )? - { - pushFollow(FOLLOW_qualifiedIdent_in_genericTypeIdent5260); - qualifiedIdent237=qualifiedIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_qualifiedIdent.add(qualifiedIdent237.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:248:47: ( genericDefinition )? - int alt73=2; - int LA73_0 = input.LA(1); - if ( (LA73_0==LT) ) { - alt73=1; - } - switch (alt73) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:248:48: genericDefinition - { - pushFollow(FOLLOW_genericDefinition_in_genericTypeIdent5263); - genericDefinition238=genericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_genericDefinition.add(genericDefinition238.getTree()); - } - break; - - } - - // AST REWRITE - // elements: qualifiedIdent - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 248:68: -> qualifiedIdent - { - adaptor.addChild(root_0, stream_qualifiedIdent.nextTree()); - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 60, genericTypeIdent_StartIndex); } - - } - return retval; - } - // $ANTLR end "genericTypeIdent" - - - public static class genericDefinition_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "genericDefinition" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:1: genericDefinition : ( simpleGenericDefinition | complexGenericDefinition | constrainedGenericDefinition ); - public final DelphiParser.genericDefinition_return genericDefinition() throws RecognitionException { - DelphiParser.genericDefinition_return retval = new DelphiParser.genericDefinition_return(); - retval.start = input.LT(1); - int genericDefinition_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope simpleGenericDefinition239 =null; - ParserRuleReturnScope complexGenericDefinition240 =null; - ParserRuleReturnScope constrainedGenericDefinition241 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 61) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:30: ( simpleGenericDefinition | complexGenericDefinition | constrainedGenericDefinition ) - int alt74=3; - alt74 = dfa74.predict(input); - switch (alt74) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:32: simpleGenericDefinition - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_simpleGenericDefinition_in_genericDefinition5321); - simpleGenericDefinition239=simpleGenericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleGenericDefinition239.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:251:32: complexGenericDefinition - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_complexGenericDefinition_in_genericDefinition5354); - complexGenericDefinition240=complexGenericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, complexGenericDefinition240.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:32: constrainedGenericDefinition - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_constrainedGenericDefinition_in_genericDefinition5387); - constrainedGenericDefinition241=constrainedGenericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constrainedGenericDefinition241.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 61, genericDefinition_StartIndex); } - - } - return retval; - } - // $ANTLR end "genericDefinition" - - - public static class simpleGenericDefinition_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "simpleGenericDefinition" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:254:1: simpleGenericDefinition : '<' ident ( ',' ident )* '>' ; - public final DelphiParser.simpleGenericDefinition_return simpleGenericDefinition() throws RecognitionException { - DelphiParser.simpleGenericDefinition_return retval = new DelphiParser.simpleGenericDefinition_return(); - retval.start = input.LT(1); - int simpleGenericDefinition_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal242=null; - Token char_literal244=null; - Token char_literal246=null; - ParserRuleReturnScope ident243 =null; - ParserRuleReturnScope ident245 =null; - - Object char_literal242_tree=null; - Object char_literal244_tree=null; - Object char_literal246_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 62) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:254:30: ( '<' ident ( ',' ident )* '>' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:254:32: '<' ident ( ',' ident )* '>' - { - root_0 = (Object)adaptor.nil(); - - - char_literal242=(Token)match(input,LT,FOLLOW_LT_in_simpleGenericDefinition5429); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal242_tree = (Object)adaptor.create(char_literal242); - adaptor.addChild(root_0, char_literal242_tree); - } - - pushFollow(FOLLOW_ident_in_simpleGenericDefinition5431); - ident243=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident243.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:254:42: ( ',' ident )* - loop75: - while (true) { - int alt75=2; - int LA75_0 = input.LA(1); - if ( (LA75_0==COMMA) ) { - alt75=1; - } - - switch (alt75) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:254:43: ',' ident - { - char_literal244=(Token)match(input,COMMA,FOLLOW_COMMA_in_simpleGenericDefinition5434); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal244_tree = (Object)adaptor.create(char_literal244); - adaptor.addChild(root_0, char_literal244_tree); - } - - pushFollow(FOLLOW_ident_in_simpleGenericDefinition5436); - ident245=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident245.getTree()); - - } - break; - - default : - break loop75; - } - } - - char_literal246=(Token)match(input,GT,FOLLOW_GT_in_simpleGenericDefinition5440); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal246_tree = (Object)adaptor.create(char_literal246); - adaptor.addChild(root_0, char_literal246_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 62, simpleGenericDefinition_StartIndex); } - - } - return retval; - } - // $ANTLR end "simpleGenericDefinition" - - - public static class complexGenericDefinition_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "complexGenericDefinition" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:256:1: complexGenericDefinition : '<' qualifiedIdent ( simpleGenericDefinition )? ( ',' qualifiedIdent ( simpleGenericDefinition )? )* '>' ; - public final DelphiParser.complexGenericDefinition_return complexGenericDefinition() throws RecognitionException { - DelphiParser.complexGenericDefinition_return retval = new DelphiParser.complexGenericDefinition_return(); - retval.start = input.LT(1); - int complexGenericDefinition_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal247=null; - Token char_literal250=null; - Token char_literal253=null; - ParserRuleReturnScope qualifiedIdent248 =null; - ParserRuleReturnScope simpleGenericDefinition249 =null; - ParserRuleReturnScope qualifiedIdent251 =null; - ParserRuleReturnScope simpleGenericDefinition252 =null; - - Object char_literal247_tree=null; - Object char_literal250_tree=null; - Object char_literal253_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 63) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:256:30: ( '<' qualifiedIdent ( simpleGenericDefinition )? ( ',' qualifiedIdent ( simpleGenericDefinition )? )* '>' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:256:32: '<' qualifiedIdent ( simpleGenericDefinition )? ( ',' qualifiedIdent ( simpleGenericDefinition )? )* '>' - { - root_0 = (Object)adaptor.nil(); - - - char_literal247=(Token)match(input,LT,FOLLOW_LT_in_complexGenericDefinition5481); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal247_tree = (Object)adaptor.create(char_literal247); - adaptor.addChild(root_0, char_literal247_tree); - } - - pushFollow(FOLLOW_qualifiedIdent_in_complexGenericDefinition5483); - qualifiedIdent248=qualifiedIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, qualifiedIdent248.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:256:51: ( simpleGenericDefinition )? - int alt76=2; - int LA76_0 = input.LA(1); - if ( (LA76_0==LT) ) { - alt76=1; - } - switch (alt76) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:256:52: simpleGenericDefinition - { - pushFollow(FOLLOW_simpleGenericDefinition_in_complexGenericDefinition5486); - simpleGenericDefinition249=simpleGenericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleGenericDefinition249.getTree()); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:256:78: ( ',' qualifiedIdent ( simpleGenericDefinition )? )* - loop78: - while (true) { - int alt78=2; - int LA78_0 = input.LA(1); - if ( (LA78_0==COMMA) ) { - alt78=1; - } - - switch (alt78) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:256:79: ',' qualifiedIdent ( simpleGenericDefinition )? - { - char_literal250=(Token)match(input,COMMA,FOLLOW_COMMA_in_complexGenericDefinition5491); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal250_tree = (Object)adaptor.create(char_literal250); - adaptor.addChild(root_0, char_literal250_tree); - } - - pushFollow(FOLLOW_qualifiedIdent_in_complexGenericDefinition5493); - qualifiedIdent251=qualifiedIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, qualifiedIdent251.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:256:98: ( simpleGenericDefinition )? - int alt77=2; - int LA77_0 = input.LA(1); - if ( (LA77_0==LT) ) { - alt77=1; - } - switch (alt77) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:256:99: simpleGenericDefinition - { - pushFollow(FOLLOW_simpleGenericDefinition_in_complexGenericDefinition5496); - simpleGenericDefinition252=simpleGenericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleGenericDefinition252.getTree()); - - } - break; - - } - - } - break; - - default : - break loop78; - } - } - - char_literal253=(Token)match(input,GT,FOLLOW_GT_in_complexGenericDefinition5502); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal253_tree = (Object)adaptor.create(char_literal253); - adaptor.addChild(root_0, char_literal253_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 63, complexGenericDefinition_StartIndex); } - - } - return retval; - } - // $ANTLR end "complexGenericDefinition" - - - public static class constrainedGenericDefinition_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "constrainedGenericDefinition" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:258:1: constrainedGenericDefinition : '<' constrainedGeneric ( ';' constrainedGeneric )* '>' ; - public final DelphiParser.constrainedGenericDefinition_return constrainedGenericDefinition() throws RecognitionException { - DelphiParser.constrainedGenericDefinition_return retval = new DelphiParser.constrainedGenericDefinition_return(); - retval.start = input.LT(1); - int constrainedGenericDefinition_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal254=null; - Token char_literal256=null; - Token char_literal258=null; - ParserRuleReturnScope constrainedGeneric255 =null; - ParserRuleReturnScope constrainedGeneric257 =null; - - Object char_literal254_tree=null; - Object char_literal256_tree=null; - Object char_literal258_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 64) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:258:30: ( '<' constrainedGeneric ( ';' constrainedGeneric )* '>' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:258:32: '<' constrainedGeneric ( ';' constrainedGeneric )* '>' - { - root_0 = (Object)adaptor.nil(); - - - char_literal254=(Token)match(input,LT,FOLLOW_LT_in_constrainedGenericDefinition5539); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal254_tree = (Object)adaptor.create(char_literal254); - adaptor.addChild(root_0, char_literal254_tree); - } - - pushFollow(FOLLOW_constrainedGeneric_in_constrainedGenericDefinition5541); - constrainedGeneric255=constrainedGeneric(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constrainedGeneric255.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:258:55: ( ';' constrainedGeneric )* - loop79: - while (true) { - int alt79=2; - int LA79_0 = input.LA(1); - if ( (LA79_0==SEMI) ) { - alt79=1; - } - - switch (alt79) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:258:56: ';' constrainedGeneric - { - char_literal256=(Token)match(input,SEMI,FOLLOW_SEMI_in_constrainedGenericDefinition5544); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal256_tree = (Object)adaptor.create(char_literal256); - adaptor.addChild(root_0, char_literal256_tree); - } - - pushFollow(FOLLOW_constrainedGeneric_in_constrainedGenericDefinition5546); - constrainedGeneric257=constrainedGeneric(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constrainedGeneric257.getTree()); - - } - break; - - default : - break loop79; - } - } - - char_literal258=(Token)match(input,GT,FOLLOW_GT_in_constrainedGenericDefinition5550); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal258_tree = (Object)adaptor.create(char_literal258); - adaptor.addChild(root_0, char_literal258_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 64, constrainedGenericDefinition_StartIndex); } - - } - return retval; - } - // $ANTLR end "constrainedGenericDefinition" - - - public static class constrainedGeneric_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "constrainedGeneric" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:260:1: constrainedGeneric : ident ( ':' genericConstraint ( ',' genericConstraint )* )? ; - public final DelphiParser.constrainedGeneric_return constrainedGeneric() throws RecognitionException { - DelphiParser.constrainedGeneric_return retval = new DelphiParser.constrainedGeneric_return(); - retval.start = input.LT(1); - int constrainedGeneric_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal260=null; - Token char_literal262=null; - ParserRuleReturnScope ident259 =null; - ParserRuleReturnScope genericConstraint261 =null; - ParserRuleReturnScope genericConstraint263 =null; - - Object char_literal260_tree=null; - Object char_literal262_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 65) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:260:30: ( ident ( ':' genericConstraint ( ',' genericConstraint )* )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:260:32: ident ( ':' genericConstraint ( ',' genericConstraint )* )? - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_ident_in_constrainedGeneric5597); - ident259=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident259.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:260:38: ( ':' genericConstraint ( ',' genericConstraint )* )? - int alt81=2; - int LA81_0 = input.LA(1); - if ( (LA81_0==COLON) ) { - alt81=1; - } - switch (alt81) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:260:39: ':' genericConstraint ( ',' genericConstraint )* - { - char_literal260=(Token)match(input,COLON,FOLLOW_COLON_in_constrainedGeneric5600); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal260_tree = (Object)adaptor.create(char_literal260); - adaptor.addChild(root_0, char_literal260_tree); - } - - pushFollow(FOLLOW_genericConstraint_in_constrainedGeneric5602); - genericConstraint261=genericConstraint(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, genericConstraint261.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:260:61: ( ',' genericConstraint )* - loop80: - while (true) { - int alt80=2; - int LA80_0 = input.LA(1); - if ( (LA80_0==COMMA) ) { - alt80=1; - } - - switch (alt80) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:260:62: ',' genericConstraint - { - char_literal262=(Token)match(input,COMMA,FOLLOW_COMMA_in_constrainedGeneric5605); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal262_tree = (Object)adaptor.create(char_literal262); - adaptor.addChild(root_0, char_literal262_tree); - } - - pushFollow(FOLLOW_genericConstraint_in_constrainedGeneric5607); - genericConstraint263=genericConstraint(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, genericConstraint263.getTree()); - - } - break; - - default : - break loop80; - } - } - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 65, constrainedGeneric_StartIndex); } - - } - return retval; - } - // $ANTLR end "constrainedGeneric" - - - public static class genericConstraint_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "genericConstraint" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:262:1: genericConstraint : ( ident | 'record' | 'class' | 'constructor' ); - public final DelphiParser.genericConstraint_return genericConstraint() throws RecognitionException { - DelphiParser.genericConstraint_return retval = new DelphiParser.genericConstraint_return(); - retval.start = input.LT(1); - int genericConstraint_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal265=null; - Token string_literal266=null; - Token string_literal267=null; - ParserRuleReturnScope ident264 =null; - - Object string_literal265_tree=null; - Object string_literal266_tree=null; - Object string_literal267_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 66) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:262:30: ( ident | 'record' | 'class' | 'constructor' ) - int alt82=4; - switch ( input.LA(1) ) { - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case TkIdentifier: - case VARIANT: - case WRITE: - case 200: - { - alt82=1; - } - break; - case RECORD: - { - alt82=2; - } - break; - case CLASS: - { - alt82=3; - } - break; - case CONSTRUCTOR: - { - alt82=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 82, 0, input); - throw nvae; - } - switch (alt82) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:262:32: ident - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_ident_in_genericConstraint5659); - ident264=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident264.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:32: 'record' - { - root_0 = (Object)adaptor.nil(); - - - string_literal265=(Token)match(input,RECORD,FOLLOW_RECORD_in_genericConstraint5692); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal265_tree = (Object)adaptor.create(string_literal265); - adaptor.addChild(root_0, string_literal265_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:264:32: 'class' - { - root_0 = (Object)adaptor.nil(); - - - string_literal266=(Token)match(input,CLASS,FOLLOW_CLASS_in_genericConstraint5725); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal266_tree = (Object)adaptor.create(string_literal266); - adaptor.addChild(root_0, string_literal266_tree); - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:265:32: 'constructor' - { - root_0 = (Object)adaptor.nil(); - - - string_literal267=(Token)match(input,CONSTRUCTOR,FOLLOW_CONSTRUCTOR_in_genericConstraint5758); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal267_tree = (Object)adaptor.create(string_literal267); - adaptor.addChild(root_0, string_literal267_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 66, genericConstraint_StartIndex); } - - } - return retval; - } - // $ANTLR end "genericConstraint" - - - public static class genericPostfix_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "genericPostfix" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:267:1: genericPostfix : '<' typeDecl ( ',' typeDecl )* '>' ; - public final DelphiParser.genericPostfix_return genericPostfix() throws RecognitionException { - DelphiParser.genericPostfix_return retval = new DelphiParser.genericPostfix_return(); - retval.start = input.LT(1); - int genericPostfix_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal268=null; - Token char_literal270=null; - Token char_literal272=null; - ParserRuleReturnScope typeDecl269 =null; - ParserRuleReturnScope typeDecl271 =null; - - Object char_literal268_tree=null; - Object char_literal270_tree=null; - Object char_literal272_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 67) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:267:30: ( '<' typeDecl ( ',' typeDecl )* '>' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:267:32: '<' typeDecl ( ',' typeDecl )* '>' - { - root_0 = (Object)adaptor.nil(); - - - char_literal268=(Token)match(input,LT,FOLLOW_LT_in_genericPostfix5809); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal268_tree = (Object)adaptor.create(char_literal268); - adaptor.addChild(root_0, char_literal268_tree); - } - - pushFollow(FOLLOW_typeDecl_in_genericPostfix5811); - typeDecl269=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl269.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:267:45: ( ',' typeDecl )* - loop83: - while (true) { - int alt83=2; - int LA83_0 = input.LA(1); - if ( (LA83_0==COMMA) ) { - alt83=1; - } - - switch (alt83) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:267:46: ',' typeDecl - { - char_literal270=(Token)match(input,COMMA,FOLLOW_COMMA_in_genericPostfix5814); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal270_tree = (Object)adaptor.create(char_literal270); - adaptor.addChild(root_0, char_literal270_tree); - } - - pushFollow(FOLLOW_typeDecl_in_genericPostfix5816); - typeDecl271=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl271.getTree()); - - } - break; - - default : - break loop83; - } - } - - char_literal272=(Token)match(input,GT,FOLLOW_GT_in_genericPostfix5820); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal272_tree = (Object)adaptor.create(char_literal272); - adaptor.addChild(root_0, char_literal272_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 67, genericPostfix_StartIndex); } - - } - return retval; - } - // $ANTLR end "genericPostfix" - - - public static class classDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:272:1: classDecl : ( classTypeTypeDecl | classTypeDecl -> ^( TkClass classTypeDecl ) | classHelperDecl -> ^( TkClass classHelperDecl ) | interfaceTypeDecl -> ^( TkInterface interfaceTypeDecl ) | objectDecl -> ^( TkObject objectDecl ) | recordDecl -> ^( TkRecord recordDecl ) | recordHelperDecl -> ^( TkRecordHelper recordHelperDecl ) ); - public final DelphiParser.classDecl_return classDecl() throws RecognitionException { - DelphiParser.classDecl_return retval = new DelphiParser.classDecl_return(); - retval.start = input.LT(1); - int classDecl_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope classTypeTypeDecl273 =null; - ParserRuleReturnScope classTypeDecl274 =null; - ParserRuleReturnScope classHelperDecl275 =null; - ParserRuleReturnScope interfaceTypeDecl276 =null; - ParserRuleReturnScope objectDecl277 =null; - ParserRuleReturnScope recordDecl278 =null; - ParserRuleReturnScope recordHelperDecl279 =null; - - RewriteRuleSubtreeStream stream_interfaceTypeDecl=new RewriteRuleSubtreeStream(adaptor,"rule interfaceTypeDecl"); - RewriteRuleSubtreeStream stream_recordHelperDecl=new RewriteRuleSubtreeStream(adaptor,"rule recordHelperDecl"); - RewriteRuleSubtreeStream stream_objectDecl=new RewriteRuleSubtreeStream(adaptor,"rule objectDecl"); - RewriteRuleSubtreeStream stream_classHelperDecl=new RewriteRuleSubtreeStream(adaptor,"rule classHelperDecl"); - RewriteRuleSubtreeStream stream_recordDecl=new RewriteRuleSubtreeStream(adaptor,"rule recordDecl"); - RewriteRuleSubtreeStream stream_classTypeDecl=new RewriteRuleSubtreeStream(adaptor,"rule classTypeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 68) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:272:30: ( classTypeTypeDecl | classTypeDecl -> ^( TkClass classTypeDecl ) | classHelperDecl -> ^( TkClass classHelperDecl ) | interfaceTypeDecl -> ^( TkInterface interfaceTypeDecl ) | objectDecl -> ^( TkObject objectDecl ) | recordDecl -> ^( TkRecord recordDecl ) | recordHelperDecl -> ^( TkRecordHelper recordHelperDecl ) ) - int alt84=7; - switch ( input.LA(1) ) { - case CLASS: - { - switch ( input.LA(2) ) { - case OF: - { - switch ( input.LA(3) ) { - case OBJECT: - { - int LA84_10 = input.LA(4); - if ( (synpred113_Delphi()) ) { - alt84=1; - } - else if ( (synpred114_Delphi()) ) { - alt84=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 84, 10, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case TkIdentifier: - { - int LA84_11 = input.LA(4); - if ( (synpred113_Delphi()) ) { - alt84=1; - } - else if ( (synpred114_Delphi()) ) { - alt84=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 84, 11, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case 200: - { - int LA84_12 = input.LA(4); - if ( (LA84_12==TkIdentifier) ) { - int LA84_15 = input.LA(5); - if ( (synpred113_Delphi()) ) { - alt84=1; - } - else if ( (synpred114_Delphi()) ) { - alt84=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 5 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 84, 15, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 84, 12, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA84_13 = input.LA(4); - if ( (synpred113_Delphi()) ) { - alt84=1; - } - else if ( (synpred114_Delphi()) ) { - alt84=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 84, 13, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case AND: - case AS: - case AT2: - case COLON: - case COMMA: - case ControlString: - case DIV: - case DOT: - case DOTDOT: - case ELSE: - case END: - case EQUAL: - case FALSE: - case FUNCTION: - case GE: - case GT: - case IN: - case INHERITED: - case IS: - case LBRACK: - case LE: - case LPAREN: - case LT: - case MINUS: - case MOD: - case NIL: - case NOT: - case NOT_EQUAL: - case OR: - case PLUS: - case POINTER2: - case PROCEDURE: - case QuotedString: - case SEMI: - case SHL: - case SHR: - case SLASH: - case STAR: - case TRUE: - case TkAsmHexNum: - case TkHexNum: - case TkIntNum: - case TkRealNum: - case XOR: - case 201: - { - alt84=2; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 84, 5, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } - break; - case HELPER: - { - alt84=3; - } - break; - case EOF: - case ABSOLUTE: - case ABSTRACT: - case ADD: - case AND: - case ANSISTRING: - case AS: - case ASM: - case ASSEMBLER: - case AT: - case AT2: - case AUTOMATED: - case BEGIN: - case BREAK: - case CASE: - case CDECL: - case CLASS: - case COLON: - case COMMA: - case CONST: - case CONSTRUCTOR: - case CONTAINS: - case CONTINUE: - case ControlString: - case DEFAULT: - case DEPRECATED: - case DESTRUCTOR: - case DISPID: - case DIV: - case DO: - case DOT: - case DOTDOT: - case DOWNTO: - case ELSE: - case END: - case EQUAL: - case EXCEPT: - case EXIT: - case EXPERIMENTAL: - case EXPORT: - case EXPORTS: - case EXTERNAL: - case FALSE: - case FAR: - case FINAL: - case FINALIZATION: - case FINALLY: - case FUNCTION: - case GE: - case GT: - case IMPLEMENTATION: - case IMPLEMENTS: - case IN: - case INDEX: - case INHERITED: - case INITIALIZATION: - case INLINE: - case IS: - case LABEL: - case LBRACK: - case LE: - case LIBRARY: - case LOCAL: - case LPAREN: - case LT: - case MESSAGE: - case MINUS: - case MOD: - case NAME: - case NEAR: - case NIL: - case NODEFAULT: - case NOT: - case NOT_EQUAL: - case OBJECT: - case ON: - case OPERATOR: - case OR: - case OUT: - case OVERLOAD: - case PASCAL: - case PLATFORM: - case PLUS: - case POINTER: - case POINTER2: - case PRIVATE: - case PROCEDURE: - case PROPERTY: - case PROTECTED: - case PUBLIC: - case PUBLISHED: - case QuotedString: - case RBRACK: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case RESIDENT: - case RESOURCESTRING: - case RPAREN: - case SAFECALL: - case SEALED: - case SEMI: - case SHL: - case SHR: - case SLASH: - case STAR: - case STDCALL: - case STORED: - case STRICT: - case STRING: - case THEN: - case THREADVAR: - case TO: - case TRUE: - case TYPE: - case TkAsmHexNum: - case TkHexNum: - case TkIdentifier: - case TkIntNum: - case TkRealNum: - case UNSAFE: - case UNTIL: - case VAR: - case VARARGS: - case VARIANT: - case WRITE: - case WRITEONLY: - case XOR: - case 200: - case 201: - { - alt84=2; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 84, 1, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } - break; - case DISPINTERFACE: - case INTERFACE: - { - alt84=4; - } - break; - case OBJECT: - { - alt84=5; - } - break; - case RECORD: - { - int LA84_4 = input.LA(2); - if ( (LA84_4==HELPER) ) { - alt84=7; - } - else if ( (LA84_4==ADD||LA84_4==ANSISTRING||LA84_4==AT||LA84_4==AUTOMATED||(LA84_4 >= BREAK && LA84_4 <= CASE)||LA84_4==CLASS||(LA84_4 >= CONST && LA84_4 <= CONTINUE)||LA84_4==DEFAULT||LA84_4==DESTRUCTOR||LA84_4==END||LA84_4==EXIT||LA84_4==EXPORT||LA84_4==FINAL||LA84_4==FUNCTION||LA84_4==IMPLEMENTS||LA84_4==INDEX||LA84_4==LBRACK||LA84_4==LOCAL||LA84_4==MESSAGE||LA84_4==NAME||LA84_4==OBJECT||LA84_4==OPERATOR||LA84_4==OUT||LA84_4==POINTER||(LA84_4 >= PRIVATE && LA84_4 <= PROCEDURE)||(LA84_4 >= PROPERTY && LA84_4 <= PUBLISHED)||(LA84_4 >= READ && LA84_4 <= READONLY)||(LA84_4 >= REFERENCE && LA84_4 <= REGISTER)||LA84_4==REMOVE||LA84_4==RESOURCESTRING||(LA84_4 >= STORED && LA84_4 <= STRING)||LA84_4==THREADVAR||LA84_4==TYPE||LA84_4==TkIdentifier||LA84_4==VAR||LA84_4==VARIANT||LA84_4==WRITE||LA84_4==200) ) { - alt84=6; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 84, 4, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 84, 0, input); - throw nvae; - } - switch (alt84) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:272:32: classTypeTypeDecl - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classTypeTypeDecl_in_classDecl5879); - classTypeTypeDecl273=classTypeTypeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classTypeTypeDecl273.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:273:32: classTypeDecl - { - pushFollow(FOLLOW_classTypeDecl_in_classDecl5912); - classTypeDecl274=classTypeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classTypeDecl.add(classTypeDecl274.getTree()); - // AST REWRITE - // elements: classTypeDecl - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 273:46: -> ^( TkClass classTypeDecl ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:273:49: ^( TkClass classTypeDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClass, "TkClass"), root_1); - adaptor.addChild(root_1, stream_classTypeDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:274:32: classHelperDecl - { - pushFollow(FOLLOW_classHelperDecl_in_classDecl5953); - classHelperDecl275=classHelperDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classHelperDecl.add(classHelperDecl275.getTree()); - // AST REWRITE - // elements: classHelperDecl - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 274:48: -> ^( TkClass classHelperDecl ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:274:51: ^( TkClass classHelperDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClass, "TkClass"), root_1); - adaptor.addChild(root_1, stream_classHelperDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:275:32: interfaceTypeDecl - { - pushFollow(FOLLOW_interfaceTypeDecl_in_classDecl5994); - interfaceTypeDecl276=interfaceTypeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_interfaceTypeDecl.add(interfaceTypeDecl276.getTree()); - // AST REWRITE - // elements: interfaceTypeDecl - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 275:50: -> ^( TkInterface interfaceTypeDecl ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:275:53: ^( TkInterface interfaceTypeDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkInterface, "TkInterface"), root_1); - adaptor.addChild(root_1, stream_interfaceTypeDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:276:32: objectDecl - { - pushFollow(FOLLOW_objectDecl_in_classDecl6035); - objectDecl277=objectDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_objectDecl.add(objectDecl277.getTree()); - // AST REWRITE - // elements: objectDecl - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 276:43: -> ^( TkObject objectDecl ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:276:46: ^( TkObject objectDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkObject, "TkObject"), root_1); - adaptor.addChild(root_1, stream_objectDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:277:32: recordDecl - { - pushFollow(FOLLOW_recordDecl_in_classDecl6076); - recordDecl278=recordDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_recordDecl.add(recordDecl278.getTree()); - // AST REWRITE - // elements: recordDecl - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 277:43: -> ^( TkRecord recordDecl ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:277:46: ^( TkRecord recordDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkRecord, "TkRecord"), root_1); - adaptor.addChild(root_1, stream_recordDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:278:32: recordHelperDecl - { - pushFollow(FOLLOW_recordHelperDecl_in_classDecl6117); - recordHelperDecl279=recordHelperDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_recordHelperDecl.add(recordHelperDecl279.getTree()); - // AST REWRITE - // elements: recordHelperDecl - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 278:49: -> ^( TkRecordHelper recordHelperDecl ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:278:52: ^( TkRecordHelper recordHelperDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkRecordHelper, "TkRecordHelper"), root_1); - adaptor.addChild(root_1, stream_recordHelperDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 68, classDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "classDecl" - - - public static class classTypeTypeDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classTypeTypeDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:280:1: classTypeTypeDecl : 'class' 'of' typeId -> ^( TkClassOfType typeId ) ; - public final DelphiParser.classTypeTypeDecl_return classTypeTypeDecl() throws RecognitionException { - DelphiParser.classTypeTypeDecl_return retval = new DelphiParser.classTypeTypeDecl_return(); - retval.start = input.LT(1); - int classTypeTypeDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal280=null; - Token string_literal281=null; - ParserRuleReturnScope typeId282 =null; - - Object string_literal280_tree=null; - Object string_literal281_tree=null; - RewriteRuleTokenStream stream_OF=new RewriteRuleTokenStream(adaptor,"token OF"); - RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); - RewriteRuleSubtreeStream stream_typeId=new RewriteRuleSubtreeStream(adaptor,"rule typeId"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 69) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:280:30: ( 'class' 'of' typeId -> ^( TkClassOfType typeId ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:280:32: 'class' 'of' typeId - { - string_literal280=(Token)match(input,CLASS,FOLLOW_CLASS_in_classTypeTypeDecl6173); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal280); - - string_literal281=(Token)match(input,OF,FOLLOW_OF_in_classTypeTypeDecl6175); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_OF.add(string_literal281); - - pushFollow(FOLLOW_typeId_in_classTypeTypeDecl6177); - typeId282=typeId(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeId.add(typeId282.getTree()); - // AST REWRITE - // elements: typeId - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 280:52: -> ^( TkClassOfType typeId ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:280:55: ^( TkClassOfType typeId ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassOfType, "TkClassOfType"), root_1); - adaptor.addChild(root_1, stream_typeId.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 69, classTypeTypeDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "classTypeTypeDecl" - - - public static class classTypeDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classTypeDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:1: classTypeDecl : ( 'class' ( classState )? ( classParent )? ( classItem )* 'end' -> 'class' ^( TkClassParents ( classParent )? ) ( classItem )* | 'class' ( classParent )? -> 'class' ^( TkClassParents ( classParent )? ) ); - public final DelphiParser.classTypeDecl_return classTypeDecl() throws RecognitionException { - DelphiParser.classTypeDecl_return retval = new DelphiParser.classTypeDecl_return(); - retval.start = input.LT(1); - int classTypeDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal283=null; - Token string_literal287=null; - Token string_literal288=null; - ParserRuleReturnScope classState284 =null; - ParserRuleReturnScope classParent285 =null; - ParserRuleReturnScope classItem286 =null; - ParserRuleReturnScope classParent289 =null; - - Object string_literal283_tree=null; - Object string_literal287_tree=null; - Object string_literal288_tree=null; - RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); - RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); - RewriteRuleSubtreeStream stream_classState=new RewriteRuleSubtreeStream(adaptor,"rule classState"); - RewriteRuleSubtreeStream stream_classParent=new RewriteRuleSubtreeStream(adaptor,"rule classParent"); - RewriteRuleSubtreeStream stream_classItem=new RewriteRuleSubtreeStream(adaptor,"rule classItem"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 70) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:30: ( 'class' ( classState )? ( classParent )? ( classItem )* 'end' -> 'class' ^( TkClassParents ( classParent )? ) ( classItem )* | 'class' ( classParent )? -> 'class' ^( TkClassParents ( classParent )? ) ) - int alt89=2; - int LA89_0 = input.LA(1); - if ( (LA89_0==CLASS) ) { - int LA89_1 = input.LA(2); - if ( (synpred122_Delphi()) ) { - alt89=1; - } - else if ( (true) ) { - alt89=2; - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 89, 0, input); - throw nvae; - } - - switch (alt89) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:32: 'class' ( classState )? ( classParent )? ( classItem )* 'end' - { - string_literal283=(Token)match(input,CLASS,FOLLOW_CLASS_in_classTypeDecl6237); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal283); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:40: ( classState )? - int alt85=2; - int LA85_0 = input.LA(1); - if ( (LA85_0==ABSTRACT||LA85_0==SEALED) ) { - alt85=1; - } - switch (alt85) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:41: classState - { - pushFollow(FOLLOW_classState_in_classTypeDecl6240); - classState284=classState(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classState.add(classState284.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:54: ( classParent )? - int alt86=2; - int LA86_0 = input.LA(1); - if ( (LA86_0==LPAREN) ) { - alt86=1; - } - switch (alt86) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:55: classParent - { - pushFollow(FOLLOW_classParent_in_classTypeDecl6245); - classParent285=classParent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classParent.add(classParent285.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:69: ( classItem )* - loop87: - while (true) { - int alt87=2; - int LA87_0 = input.LA(1); - if ( (LA87_0==ADD||LA87_0==ANSISTRING||LA87_0==AT||LA87_0==AUTOMATED||LA87_0==BREAK||LA87_0==CLASS||(LA87_0 >= CONST && LA87_0 <= CONTINUE)||LA87_0==DEFAULT||LA87_0==DESTRUCTOR||LA87_0==EXIT||LA87_0==EXPORT||LA87_0==FINAL||LA87_0==FUNCTION||LA87_0==IMPLEMENTS||LA87_0==INDEX||LA87_0==LBRACK||LA87_0==LOCAL||LA87_0==MESSAGE||LA87_0==NAME||LA87_0==OBJECT||LA87_0==OPERATOR||LA87_0==OUT||LA87_0==POINTER||(LA87_0 >= PRIVATE && LA87_0 <= PROCEDURE)||(LA87_0 >= PROPERTY && LA87_0 <= PUBLISHED)||(LA87_0 >= READ && LA87_0 <= READONLY)||(LA87_0 >= REFERENCE && LA87_0 <= REGISTER)||LA87_0==REMOVE||LA87_0==RESOURCESTRING||(LA87_0 >= STORED && LA87_0 <= STRING)||LA87_0==THREADVAR||LA87_0==TYPE||LA87_0==TkIdentifier||LA87_0==VAR||LA87_0==VARIANT||LA87_0==WRITE||LA87_0==200) ) { - alt87=1; - } - - switch (alt87) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:70: classItem - { - pushFollow(FOLLOW_classItem_in_classTypeDecl6250); - classItem286=classItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classItem.add(classItem286.getTree()); - } - break; - - default : - break loop87; - } - } - - string_literal287=(Token)match(input,END,FOLLOW_END_in_classTypeDecl6254); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_END.add(string_literal287); - - // AST REWRITE - // elements: classItem, classParent, CLASS - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 282:88: -> 'class' ^( TkClassParents ( classParent )? ) ( classItem )* - { - adaptor.addChild(root_0, stream_CLASS.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:99: ^( TkClassParents ( classParent )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassParents, "TkClassParents"), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:116: ( classParent )? - if ( stream_classParent.hasNext() ) { - adaptor.addChild(root_1, stream_classParent.nextTree()); - } - stream_classParent.reset(); - - adaptor.addChild(root_0, root_1); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:132: ( classItem )* - while ( stream_classItem.hasNext() ) { - adaptor.addChild(root_0, stream_classItem.nextTree()); - } - stream_classItem.reset(); - - } - - - retval.tree = root_0; - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:283:32: 'class' ( classParent )? - { - string_literal288=(Token)match(input,CLASS,FOLLOW_CLASS_in_classTypeDecl6305); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal288); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:283:40: ( classParent )? - int alt88=2; - alt88 = dfa88.predict(input); - switch (alt88) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:283:41: classParent - { - pushFollow(FOLLOW_classParent_in_classTypeDecl6308); - classParent289=classParent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classParent.add(classParent289.getTree()); - } - break; - - } - - // AST REWRITE - // elements: CLASS, classParent - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 283:55: -> 'class' ^( TkClassParents ( classParent )? ) - { - adaptor.addChild(root_0, stream_CLASS.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:283:66: ^( TkClassParents ( classParent )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassParents, "TkClassParents"), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:283:83: ( classParent )? - if ( stream_classParent.hasNext() ) { - adaptor.addChild(root_1, stream_classParent.nextTree()); - } - stream_classParent.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 70, classTypeDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "classTypeDecl" - - - public static class classState_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classState" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:285:1: classState : ( 'sealed' | 'abstract' ); - public final DelphiParser.classState_return classState() throws RecognitionException { - DelphiParser.classState_return retval = new DelphiParser.classState_return(); - retval.start = input.LT(1); - int classState_StartIndex = input.index(); - - Object root_0 = null; - - Token set290=null; - - Object set290_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 71) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:285:30: ( 'sealed' | 'abstract' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set290=input.LT(1); - if ( input.LA(1)==ABSTRACT||input.LA(1)==SEALED ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set290)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 71, classState_StartIndex); } - - } - return retval; - } - // $ANTLR end "classState" - - - public static class classParent_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classParent" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:1: classParent : '(' genericTypeIdent ( ',' genericTypeIdent )* ')' -> genericTypeIdent ( genericTypeIdent )* ; - public final DelphiParser.classParent_return classParent() throws RecognitionException { - DelphiParser.classParent_return retval = new DelphiParser.classParent_return(); - retval.start = input.LT(1); - int classParent_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal291=null; - Token char_literal293=null; - Token char_literal295=null; - ParserRuleReturnScope genericTypeIdent292 =null; - ParserRuleReturnScope genericTypeIdent294 =null; - - Object char_literal291_tree=null; - Object char_literal293_tree=null; - Object char_literal295_tree=null; - RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); - RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); - RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); - RewriteRuleSubtreeStream stream_genericTypeIdent=new RewriteRuleSubtreeStream(adaptor,"rule genericTypeIdent"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 72) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:30: ( '(' genericTypeIdent ( ',' genericTypeIdent )* ')' -> genericTypeIdent ( genericTypeIdent )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:32: '(' genericTypeIdent ( ',' genericTypeIdent )* ')' - { - char_literal291=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_classParent6465); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LPAREN.add(char_literal291); - - pushFollow(FOLLOW_genericTypeIdent_in_classParent6467); - genericTypeIdent292=genericTypeIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_genericTypeIdent.add(genericTypeIdent292.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:53: ( ',' genericTypeIdent )* - loop90: - while (true) { - int alt90=2; - int LA90_0 = input.LA(1); - if ( (LA90_0==COMMA) ) { - alt90=1; - } - - switch (alt90) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:54: ',' genericTypeIdent - { - char_literal293=(Token)match(input,COMMA,FOLLOW_COMMA_in_classParent6470); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COMMA.add(char_literal293); - - pushFollow(FOLLOW_genericTypeIdent_in_classParent6472); - genericTypeIdent294=genericTypeIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_genericTypeIdent.add(genericTypeIdent294.getTree()); - } - break; - - default : - break loop90; - } - } - - char_literal295=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_classParent6476); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RPAREN.add(char_literal295); - - // AST REWRITE - // elements: genericTypeIdent, genericTypeIdent - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 288:81: -> genericTypeIdent ( genericTypeIdent )* - { - adaptor.addChild(root_0, stream_genericTypeIdent.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:101: ( genericTypeIdent )* - while ( stream_genericTypeIdent.hasNext() ) { - adaptor.addChild(root_0, stream_genericTypeIdent.nextTree()); - } - stream_genericTypeIdent.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 72, classParent_StartIndex); } - - } - return retval; - } - // $ANTLR end "classParent" - - - public static class classItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:290:1: classItem : ( visibility | classMethod | classField | classProperty | constSection | typeSection | ( 'class' )? varSection ); - public final DelphiParser.classItem_return classItem() throws RecognitionException { - DelphiParser.classItem_return retval = new DelphiParser.classItem_return(); - retval.start = input.LT(1); - int classItem_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal302=null; - ParserRuleReturnScope visibility296 =null; - ParserRuleReturnScope classMethod297 =null; - ParserRuleReturnScope classField298 =null; - ParserRuleReturnScope classProperty299 =null; - ParserRuleReturnScope constSection300 =null; - ParserRuleReturnScope typeSection301 =null; - ParserRuleReturnScope varSection303 =null; - - Object string_literal302_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 73) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:290:30: ( visibility | classMethod | classField | classProperty | constSection | typeSection | ( 'class' )? varSection ) - int alt92=7; - switch ( input.LA(1) ) { - case STRICT: - { - int LA92_1 = input.LA(2); - if ( (synpred126_Delphi()) ) { - alt92=1; - } - else if ( (synpred128_Delphi()) ) { - alt92=3; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 92, 1, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case AUTOMATED: - case PRIVATE: - case PROTECTED: - case PUBLIC: - case PUBLISHED: - { - alt92=1; - } - break; - case LBRACK: - { - int LA92_7 = input.LA(2); - if ( (synpred127_Delphi()) ) { - alt92=2; - } - else if ( (synpred128_Delphi()) ) { - alt92=3; - } - else if ( (synpred129_Delphi()) ) { - alt92=4; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 92, 7, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case CLASS: - { - int LA92_8 = input.LA(2); - if ( (synpred127_Delphi()) ) { - alt92=2; - } - else if ( (synpred129_Delphi()) ) { - alt92=4; - } - else if ( (true) ) { - alt92=7; - } - - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case FUNCTION: - case PROCEDURE: - { - alt92=2; - } - break; - case OPERATOR: - { - int LA92_11 = input.LA(2); - if ( (synpred127_Delphi()) ) { - alt92=2; - } - else if ( (synpred128_Delphi()) ) { - alt92=3; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 92, 11, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRING: - case TkIdentifier: - case VARIANT: - case WRITE: - case 200: - { - alt92=3; - } - break; - case PROPERTY: - { - alt92=4; - } - break; - case CONST: - case RESOURCESTRING: - { - alt92=5; - } - break; - case TYPE: - { - alt92=6; - } - break; - case THREADVAR: - case VAR: - { - alt92=7; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 92, 0, input); - throw nvae; - } - switch (alt92) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:290:32: visibility - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_visibility_in_classItem6544); - visibility296=visibility(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility296.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:291:32: classMethod - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classMethod_in_classItem6577); - classMethod297=classMethod(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod297.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:292:32: classField - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classField_in_classItem6610); - classField298=classField(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classField298.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:293:32: classProperty - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classProperty_in_classItem6643); - classProperty299=classProperty(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty299.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:294:32: constSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_constSection_in_classItem6676); - constSection300=constSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection300.getTree()); - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:295:32: typeSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_typeSection_in_classItem6709); - typeSection301=typeSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeSection301.getTree()); - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:296:32: ( 'class' )? varSection - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:296:32: ( 'class' )? - int alt91=2; - int LA91_0 = input.LA(1); - if ( (LA91_0==CLASS) ) { - alt91=1; - } - switch (alt91) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:296:33: 'class' - { - string_literal302=(Token)match(input,CLASS,FOLLOW_CLASS_in_classItem6743); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal302_tree = (Object)adaptor.create(string_literal302); - adaptor.addChild(root_0, string_literal302_tree); - } - - } - break; - - } - - pushFollow(FOLLOW_varSection_in_classItem6747); - varSection303=varSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection303.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 73, classItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "classItem" - - - public static class classHelperDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classHelperDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:1: classHelperDecl : 'class' 'helper' ( classParent )? 'for' typeId ( classHelperItem )* 'end' -> ^( 'class' typeId ) ( classHelperItem )* ; - public final DelphiParser.classHelperDecl_return classHelperDecl() throws RecognitionException { - DelphiParser.classHelperDecl_return retval = new DelphiParser.classHelperDecl_return(); - retval.start = input.LT(1); - int classHelperDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal304=null; - Token string_literal305=null; - Token string_literal307=null; - Token string_literal310=null; - ParserRuleReturnScope classParent306 =null; - ParserRuleReturnScope typeId308 =null; - ParserRuleReturnScope classHelperItem309 =null; - - Object string_literal304_tree=null; - Object string_literal305_tree=null; - Object string_literal307_tree=null; - Object string_literal310_tree=null; - RewriteRuleTokenStream stream_HELPER=new RewriteRuleTokenStream(adaptor,"token HELPER"); - RewriteRuleTokenStream stream_FOR=new RewriteRuleTokenStream(adaptor,"token FOR"); - RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); - RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); - RewriteRuleSubtreeStream stream_classHelperItem=new RewriteRuleSubtreeStream(adaptor,"rule classHelperItem"); - RewriteRuleSubtreeStream stream_typeId=new RewriteRuleSubtreeStream(adaptor,"rule typeId"); - RewriteRuleSubtreeStream stream_classParent=new RewriteRuleSubtreeStream(adaptor,"rule classParent"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 74) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:30: ( 'class' 'helper' ( classParent )? 'for' typeId ( classHelperItem )* 'end' -> ^( 'class' typeId ) ( classHelperItem )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:32: 'class' 'helper' ( classParent )? 'for' typeId ( classHelperItem )* 'end' - { - string_literal304=(Token)match(input,CLASS,FOLLOW_CLASS_in_classHelperDecl6797); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal304); - - string_literal305=(Token)match(input,HELPER,FOLLOW_HELPER_in_classHelperDecl6799); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_HELPER.add(string_literal305); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:49: ( classParent )? - int alt93=2; - int LA93_0 = input.LA(1); - if ( (LA93_0==LPAREN) ) { - alt93=1; - } - switch (alt93) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:50: classParent - { - pushFollow(FOLLOW_classParent_in_classHelperDecl6802); - classParent306=classParent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classParent.add(classParent306.getTree()); - } - break; - - } - - string_literal307=(Token)match(input,FOR,FOLLOW_FOR_in_classHelperDecl6806); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_FOR.add(string_literal307); - - pushFollow(FOLLOW_typeId_in_classHelperDecl6808); - typeId308=typeId(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeId.add(typeId308.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:77: ( classHelperItem )* - loop94: - while (true) { - int alt94=2; - int LA94_0 = input.LA(1); - if ( (LA94_0==AUTOMATED||LA94_0==CLASS||LA94_0==CONSTRUCTOR||LA94_0==DESTRUCTOR||LA94_0==FUNCTION||LA94_0==LBRACK||LA94_0==OPERATOR||(LA94_0 >= PRIVATE && LA94_0 <= PROCEDURE)||(LA94_0 >= PROPERTY && LA94_0 <= PUBLISHED)||LA94_0==STRICT||LA94_0==THREADVAR||LA94_0==VAR) ) { - alt94=1; - } - - switch (alt94) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:78: classHelperItem - { - pushFollow(FOLLOW_classHelperItem_in_classHelperDecl6811); - classHelperItem309=classHelperItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classHelperItem.add(classHelperItem309.getTree()); - } - break; - - default : - break loop94; - } - } - - string_literal310=(Token)match(input,END,FOLLOW_END_in_classHelperDecl6815); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_END.add(string_literal310); - - // AST REWRITE - // elements: classHelperItem, typeId, CLASS - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 298:102: -> ^( 'class' typeId ) ( classHelperItem )* - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:105: ^( 'class' typeId ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_CLASS.nextNode(), root_1); - adaptor.addChild(root_1, stream_typeId.nextTree()); - adaptor.addChild(root_0, root_1); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:124: ( classHelperItem )* - while ( stream_classHelperItem.hasNext() ) { - adaptor.addChild(root_0, stream_classHelperItem.nextTree()); - } - stream_classHelperItem.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 74, classHelperDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "classHelperDecl" - - - public static class classHelperItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classHelperItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:300:1: classHelperItem : ( visibility | classMethod | classProperty | ( 'class' )? varSection ); - public final DelphiParser.classHelperItem_return classHelperItem() throws RecognitionException { - DelphiParser.classHelperItem_return retval = new DelphiParser.classHelperItem_return(); - retval.start = input.LT(1); - int classHelperItem_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal314=null; - ParserRuleReturnScope visibility311 =null; - ParserRuleReturnScope classMethod312 =null; - ParserRuleReturnScope classProperty313 =null; - ParserRuleReturnScope varSection315 =null; - - Object string_literal314_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 75) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:300:30: ( visibility | classMethod | classProperty | ( 'class' )? varSection ) - int alt96=4; - switch ( input.LA(1) ) { - case AUTOMATED: - case PRIVATE: - case PROTECTED: - case PUBLIC: - case PUBLISHED: - case STRICT: - { - alt96=1; - } - break; - case LBRACK: - { - int LA96_7 = input.LA(2); - if ( (synpred136_Delphi()) ) { - alt96=2; - } - else if ( (synpred137_Delphi()) ) { - alt96=3; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 96, 7, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case CLASS: - { - int LA96_8 = input.LA(2); - if ( (synpred136_Delphi()) ) { - alt96=2; - } - else if ( (synpred137_Delphi()) ) { - alt96=3; - } - else if ( (true) ) { - alt96=4; - } - - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case FUNCTION: - case OPERATOR: - case PROCEDURE: - { - alt96=2; - } - break; - case PROPERTY: - { - alt96=3; - } - break; - case THREADVAR: - case VAR: - { - alt96=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 96, 0, input); - throw nvae; - } - switch (alt96) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:300:32: visibility - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_visibility_in_classHelperItem6880); - visibility311=visibility(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility311.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:301:32: classMethod - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classMethod_in_classHelperItem6913); - classMethod312=classMethod(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod312.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:302:32: classProperty - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classProperty_in_classHelperItem6946); - classProperty313=classProperty(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty313.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:32: ( 'class' )? varSection - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:32: ( 'class' )? - int alt95=2; - int LA95_0 = input.LA(1); - if ( (LA95_0==CLASS) ) { - alt95=1; - } - switch (alt95) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:33: 'class' - { - string_literal314=(Token)match(input,CLASS,FOLLOW_CLASS_in_classHelperItem6980); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal314_tree = (Object)adaptor.create(string_literal314); - adaptor.addChild(root_0, string_literal314_tree); - } - - } - break; - - } - - pushFollow(FOLLOW_varSection_in_classHelperItem6984); - varSection315=varSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection315.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 75, classHelperItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "classHelperItem" - - - public static class interfaceTypeDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "interfaceTypeDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:1: interfaceTypeDecl : ( interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' -> interfaceKey ^( TkClassParents ( classParent )? ) ^( TkGuid ( interfaceGuid )? ) ( interfaceItem )* | interfaceKey ( classParent )? -> interfaceKey ^( TkClassParents ( classParent )? ) ); - public final DelphiParser.interfaceTypeDecl_return interfaceTypeDecl() throws RecognitionException { - DelphiParser.interfaceTypeDecl_return retval = new DelphiParser.interfaceTypeDecl_return(); - retval.start = input.LT(1); - int interfaceTypeDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal320=null; - ParserRuleReturnScope interfaceKey316 =null; - ParserRuleReturnScope classParent317 =null; - ParserRuleReturnScope interfaceGuid318 =null; - ParserRuleReturnScope interfaceItem319 =null; - ParserRuleReturnScope interfaceKey321 =null; - ParserRuleReturnScope classParent322 =null; - - Object string_literal320_tree=null; - RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); - RewriteRuleSubtreeStream stream_interfaceItem=new RewriteRuleSubtreeStream(adaptor,"rule interfaceItem"); - RewriteRuleSubtreeStream stream_interfaceKey=new RewriteRuleSubtreeStream(adaptor,"rule interfaceKey"); - RewriteRuleSubtreeStream stream_classParent=new RewriteRuleSubtreeStream(adaptor,"rule classParent"); - RewriteRuleSubtreeStream stream_interfaceGuid=new RewriteRuleSubtreeStream(adaptor,"rule interfaceGuid"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 76) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:30: ( interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' -> interfaceKey ^( TkClassParents ( classParent )? ) ^( TkGuid ( interfaceGuid )? ) ( interfaceItem )* | interfaceKey ( classParent )? -> interfaceKey ^( TkClassParents ( classParent )? ) ) - int alt101=2; - int LA101_0 = input.LA(1); - if ( (LA101_0==DISPINTERFACE||LA101_0==INTERFACE) ) { - int LA101_1 = input.LA(2); - if ( (synpred142_Delphi()) ) { - alt101=1; - } - else if ( (true) ) { - alt101=2; - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 101, 0, input); - throw nvae; - } - - switch (alt101) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:32: interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' - { - pushFollow(FOLLOW_interfaceKey_in_interfaceTypeDecl7032); - interfaceKey316=interfaceKey(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_interfaceKey.add(interfaceKey316.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:45: ( classParent )? - int alt97=2; - int LA97_0 = input.LA(1); - if ( (LA97_0==LPAREN) ) { - alt97=1; - } - switch (alt97) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:46: classParent - { - pushFollow(FOLLOW_classParent_in_interfaceTypeDecl7035); - classParent317=classParent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classParent.add(classParent317.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:60: ( interfaceGuid )? - int alt98=2; - int LA98_0 = input.LA(1); - if ( (LA98_0==LBRACK) ) { - int LA98_1 = input.LA(2); - if ( (LA98_1==QuotedString) ) { - alt98=1; - } - } - switch (alt98) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:61: interfaceGuid - { - pushFollow(FOLLOW_interfaceGuid_in_interfaceTypeDecl7040); - interfaceGuid318=interfaceGuid(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_interfaceGuid.add(interfaceGuid318.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:77: ( interfaceItem )* - loop99: - while (true) { - int alt99=2; - int LA99_0 = input.LA(1); - if ( (LA99_0==CLASS||LA99_0==CONSTRUCTOR||LA99_0==DESTRUCTOR||LA99_0==FUNCTION||LA99_0==LBRACK||LA99_0==OPERATOR||LA99_0==PROCEDURE||LA99_0==PROPERTY) ) { - alt99=1; - } - - switch (alt99) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:78: interfaceItem - { - pushFollow(FOLLOW_interfaceItem_in_interfaceTypeDecl7045); - interfaceItem319=interfaceItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_interfaceItem.add(interfaceItem319.getTree()); - } - break; - - default : - break loop99; - } - } - - string_literal320=(Token)match(input,END,FOLLOW_END_in_interfaceTypeDecl7049); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_END.add(string_literal320); - - // AST REWRITE - // elements: interfaceGuid, classParent, interfaceItem, interfaceKey - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 306:31: -> interfaceKey ^( TkClassParents ( classParent )? ) ^( TkGuid ( interfaceGuid )? ) ( interfaceItem )* - { - adaptor.addChild(root_0, stream_interfaceKey.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:306:47: ^( TkClassParents ( classParent )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassParents, "TkClassParents"), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:306:64: ( classParent )? - if ( stream_classParent.hasNext() ) { - adaptor.addChild(root_1, stream_classParent.nextTree()); - } - stream_classParent.reset(); - - adaptor.addChild(root_0, root_1); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:306:81: ^( TkGuid ( interfaceGuid )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkGuid, "TkGuid"), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:306:90: ( interfaceGuid )? - if ( stream_interfaceGuid.hasNext() ) { - adaptor.addChild(root_1, stream_interfaceGuid.nextTree()); - } - stream_interfaceGuid.reset(); - - adaptor.addChild(root_0, root_1); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:306:108: ( interfaceItem )* - while ( stream_interfaceItem.hasNext() ) { - adaptor.addChild(root_0, stream_interfaceItem.nextTree()); - } - stream_interfaceItem.reset(); - - } - - - retval.tree = root_0; - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:307:32: interfaceKey ( classParent )? - { - pushFollow(FOLLOW_interfaceKey_in_interfaceTypeDecl7140); - interfaceKey321=interfaceKey(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_interfaceKey.add(interfaceKey321.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:307:45: ( classParent )? - int alt100=2; - alt100 = dfa100.predict(input); - switch (alt100) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:307:46: classParent - { - pushFollow(FOLLOW_classParent_in_interfaceTypeDecl7143); - classParent322=classParent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classParent.add(classParent322.getTree()); - } - break; - - } - - // AST REWRITE - // elements: interfaceKey, classParent - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 308:31: -> interfaceKey ^( TkClassParents ( classParent )? ) - { - adaptor.addChild(root_0, stream_interfaceKey.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:308:47: ^( TkClassParents ( classParent )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassParents, "TkClassParents"), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:308:64: ( classParent )? - if ( stream_classParent.hasNext() ) { - adaptor.addChild(root_1, stream_classParent.nextTree()); - } - stream_classParent.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 76, interfaceTypeDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "interfaceTypeDecl" - - - public static class interfaceKey_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "interfaceKey" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:310:1: interfaceKey : ( 'interface' | 'dispinterface' ); - public final DelphiParser.interfaceKey_return interfaceKey() throws RecognitionException { - DelphiParser.interfaceKey_return retval = new DelphiParser.interfaceKey_return(); - retval.start = input.LT(1); - int interfaceKey_StartIndex = input.index(); - - Object root_0 = null; - - Token set323=null; - - Object set323_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 77) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:310:30: ( 'interface' | 'dispinterface' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set323=input.LT(1); - if ( input.LA(1)==DISPINTERFACE||input.LA(1)==INTERFACE ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set323)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 77, interfaceKey_StartIndex); } - - } - return retval; - } - // $ANTLR end "interfaceKey" - - - public static class interfaceGuid_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "interfaceGuid" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:313:1: interfaceGuid : '[' QuotedString ']' -> QuotedString ; - public final DelphiParser.interfaceGuid_return interfaceGuid() throws RecognitionException { - DelphiParser.interfaceGuid_return retval = new DelphiParser.interfaceGuid_return(); - retval.start = input.LT(1); - int interfaceGuid_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal324=null; - Token QuotedString325=null; - Token char_literal326=null; - - Object char_literal324_tree=null; - Object QuotedString325_tree=null; - Object char_literal326_tree=null; - RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); - RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); - RewriteRuleTokenStream stream_QuotedString=new RewriteRuleTokenStream(adaptor,"token QuotedString"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 78) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:313:30: ( '[' QuotedString ']' -> QuotedString ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:313:32: '[' QuotedString ']' - { - char_literal324=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_interfaceGuid7326); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LBRACK.add(char_literal324); - - QuotedString325=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_interfaceGuid7328); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_QuotedString.add(QuotedString325); - - char_literal326=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_interfaceGuid7330); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RBRACK.add(char_literal326); - - // AST REWRITE - // elements: QuotedString - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 313:53: -> QuotedString - { - adaptor.addChild(root_0, stream_QuotedString.nextNode()); - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 78, interfaceGuid_StartIndex); } - - } - return retval; - } - // $ANTLR end "interfaceGuid" - - - public static class interfaceItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "interfaceItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:315:1: interfaceItem : ( classMethod | ( 'class' )? classProperty ); - public final DelphiParser.interfaceItem_return interfaceItem() throws RecognitionException { - DelphiParser.interfaceItem_return retval = new DelphiParser.interfaceItem_return(); - retval.start = input.LT(1); - int interfaceItem_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal328=null; - ParserRuleReturnScope classMethod327 =null; - ParserRuleReturnScope classProperty329 =null; - - Object string_literal328_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 79) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:315:30: ( classMethod | ( 'class' )? classProperty ) - int alt103=2; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA103_1 = input.LA(2); - if ( (synpred145_Delphi()) ) { - alt103=1; - } - else if ( (true) ) { - alt103=2; - } - - } - break; - case CLASS: - { - int LA103_2 = input.LA(2); - if ( (synpred145_Delphi()) ) { - alt103=1; - } - else if ( (true) ) { - alt103=2; - } - - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case FUNCTION: - case OPERATOR: - case PROCEDURE: - { - alt103=1; - } - break; - case PROPERTY: - { - alt103=2; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 103, 0, input); - throw nvae; - } - switch (alt103) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:315:32: classMethod - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classMethod_in_interfaceItem7386); - classMethod327=classMethod(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod327.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:316:32: ( 'class' )? classProperty - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:316:32: ( 'class' )? - int alt102=2; - int LA102_0 = input.LA(1); - if ( (LA102_0==CLASS) ) { - int LA102_1 = input.LA(2); - if ( (synpred146_Delphi()) ) { - alt102=1; - } - } - switch (alt102) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:316:33: 'class' - { - string_literal328=(Token)match(input,CLASS,FOLLOW_CLASS_in_interfaceItem7420); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal328_tree = (Object)adaptor.create(string_literal328); - adaptor.addChild(root_0, string_literal328_tree); - } - - } - break; - - } - - pushFollow(FOLLOW_classProperty_in_interfaceItem7424); - classProperty329=classProperty(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty329.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 79, interfaceItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "interfaceItem" - - - public static class objectDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "objectDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:318:1: objectDecl : 'object' ( classParent )? ( objectItem )* 'end' -> 'object' ( classParent )? ( objectItem )* ; - public final DelphiParser.objectDecl_return objectDecl() throws RecognitionException { - DelphiParser.objectDecl_return retval = new DelphiParser.objectDecl_return(); - retval.start = input.LT(1); - int objectDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal330=null; - Token string_literal333=null; - ParserRuleReturnScope classParent331 =null; - ParserRuleReturnScope objectItem332 =null; - - Object string_literal330_tree=null; - Object string_literal333_tree=null; - RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); - RewriteRuleTokenStream stream_OBJECT=new RewriteRuleTokenStream(adaptor,"token OBJECT"); - RewriteRuleSubtreeStream stream_objectItem=new RewriteRuleSubtreeStream(adaptor,"rule objectItem"); - RewriteRuleSubtreeStream stream_classParent=new RewriteRuleSubtreeStream(adaptor,"rule classParent"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 80) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:318:30: ( 'object' ( classParent )? ( objectItem )* 'end' -> 'object' ( classParent )? ( objectItem )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:318:32: 'object' ( classParent )? ( objectItem )* 'end' - { - string_literal330=(Token)match(input,OBJECT,FOLLOW_OBJECT_in_objectDecl7479); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_OBJECT.add(string_literal330); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:318:41: ( classParent )? - int alt104=2; - int LA104_0 = input.LA(1); - if ( (LA104_0==LPAREN) ) { - alt104=1; - } - switch (alt104) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:318:42: classParent - { - pushFollow(FOLLOW_classParent_in_objectDecl7482); - classParent331=classParent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classParent.add(classParent331.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:318:56: ( objectItem )* - loop105: - while (true) { - int alt105=2; - int LA105_0 = input.LA(1); - if ( (LA105_0==ADD||LA105_0==ANSISTRING||LA105_0==AT||LA105_0==AUTOMATED||LA105_0==BREAK||LA105_0==CLASS||(LA105_0 >= CONSTRUCTOR && LA105_0 <= CONTINUE)||LA105_0==DEFAULT||LA105_0==DESTRUCTOR||LA105_0==EXIT||LA105_0==EXPORT||LA105_0==FINAL||LA105_0==FUNCTION||LA105_0==IMPLEMENTS||LA105_0==INDEX||LA105_0==LBRACK||LA105_0==LOCAL||LA105_0==MESSAGE||LA105_0==NAME||LA105_0==OBJECT||LA105_0==OPERATOR||LA105_0==OUT||LA105_0==POINTER||(LA105_0 >= PRIVATE && LA105_0 <= PROCEDURE)||(LA105_0 >= PROTECTED && LA105_0 <= PUBLISHED)||(LA105_0 >= READ && LA105_0 <= READONLY)||(LA105_0 >= REFERENCE && LA105_0 <= REGISTER)||LA105_0==REMOVE||(LA105_0 >= STORED && LA105_0 <= STRING)||LA105_0==TkIdentifier||LA105_0==VARIANT||LA105_0==WRITE||LA105_0==200) ) { - alt105=1; - } - - switch (alt105) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:318:57: objectItem - { - pushFollow(FOLLOW_objectItem_in_objectDecl7487); - objectItem332=objectItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_objectItem.add(objectItem332.getTree()); - } - break; - - default : - break loop105; - } - } - - string_literal333=(Token)match(input,END,FOLLOW_END_in_objectDecl7491); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_END.add(string_literal333); - - // AST REWRITE - // elements: objectItem, OBJECT, classParent - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 318:76: -> 'object' ( classParent )? ( objectItem )* - { - adaptor.addChild(root_0, stream_OBJECT.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:318:88: ( classParent )? - if ( stream_classParent.hasNext() ) { - adaptor.addChild(root_0, stream_classParent.nextTree()); - } - stream_classParent.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:318:103: ( objectItem )* - while ( stream_objectItem.hasNext() ) { - adaptor.addChild(root_0, stream_objectItem.nextTree()); - } - stream_objectItem.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 80, objectDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "objectDecl" - - - public static class objectItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "objectItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:320:1: objectItem : ( visibility | classMethod | classField ); - public final DelphiParser.objectItem_return objectItem() throws RecognitionException { - DelphiParser.objectItem_return retval = new DelphiParser.objectItem_return(); - retval.start = input.LT(1); - int objectItem_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope visibility334 =null; - ParserRuleReturnScope classMethod335 =null; - ParserRuleReturnScope classField336 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 81) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:320:30: ( visibility | classMethod | classField ) - int alt106=3; - switch ( input.LA(1) ) { - case STRICT: - { - int LA106_1 = input.LA(2); - if ( (synpred149_Delphi()) ) { - alt106=1; - } - else if ( (true) ) { - alt106=3; - } - - } - break; - case AUTOMATED: - case PRIVATE: - case PROTECTED: - case PUBLIC: - case PUBLISHED: - { - alt106=1; - } - break; - case LBRACK: - { - int LA106_7 = input.LA(2); - if ( (synpred150_Delphi()) ) { - alt106=2; - } - else if ( (true) ) { - alt106=3; - } - - } - break; - case CLASS: - case CONSTRUCTOR: - case DESTRUCTOR: - case FUNCTION: - case PROCEDURE: - { - alt106=2; - } - break; - case OPERATOR: - { - int LA106_11 = input.LA(2); - if ( (synpred150_Delphi()) ) { - alt106=2; - } - else if ( (true) ) { - alt106=3; - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRING: - case TkIdentifier: - case VARIANT: - case WRITE: - case 200: - { - alt106=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 106, 0, input); - throw nvae; - } - switch (alt106) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:320:32: visibility - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_visibility_in_objectItem7560); - visibility334=visibility(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility334.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:321:32: classMethod - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classMethod_in_objectItem7593); - classMethod335=classMethod(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod335.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:322:32: classField - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classField_in_objectItem7626); - classField336=classField(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classField336.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 81, objectItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "objectItem" - - - public static class recordDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "recordDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:324:1: recordDecl : ( simpleRecord | variantRecord ); - public final DelphiParser.recordDecl_return recordDecl() throws RecognitionException { - DelphiParser.recordDecl_return retval = new DelphiParser.recordDecl_return(); - retval.start = input.LT(1); - int recordDecl_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope simpleRecord337 =null; - ParserRuleReturnScope variantRecord338 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 82) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:324:30: ( simpleRecord | variantRecord ) - int alt107=2; - int LA107_0 = input.LA(1); - if ( (LA107_0==RECORD) ) { - int LA107_1 = input.LA(2); - if ( (synpred151_Delphi()) ) { - alt107=1; - } - else if ( (true) ) { - alt107=2; - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 107, 0, input); - throw nvae; - } - - switch (alt107) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:324:32: simpleRecord - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_simpleRecord_in_recordDecl7681); - simpleRecord337=simpleRecord(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleRecord337.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:32: variantRecord - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_variantRecord_in_recordDecl7714); - variantRecord338=variantRecord(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, variantRecord338.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 82, recordDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "recordDecl" - - - public static class simpleRecord_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "simpleRecord" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:1: simpleRecord : 'record' ( recordField )* ( recordItem )* 'end' -> 'record' ( recordField )* ( recordItem )* ; - public final DelphiParser.simpleRecord_return simpleRecord() throws RecognitionException { - DelphiParser.simpleRecord_return retval = new DelphiParser.simpleRecord_return(); - retval.start = input.LT(1); - int simpleRecord_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal339=null; - Token string_literal342=null; - ParserRuleReturnScope recordField340 =null; - ParserRuleReturnScope recordItem341 =null; - - Object string_literal339_tree=null; - Object string_literal342_tree=null; - RewriteRuleTokenStream stream_RECORD=new RewriteRuleTokenStream(adaptor,"token RECORD"); - RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); - RewriteRuleSubtreeStream stream_recordField=new RewriteRuleSubtreeStream(adaptor,"rule recordField"); - RewriteRuleSubtreeStream stream_recordItem=new RewriteRuleSubtreeStream(adaptor,"rule recordItem"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 83) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:30: ( 'record' ( recordField )* ( recordItem )* 'end' -> 'record' ( recordField )* ( recordItem )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:32: 'record' ( recordField )* ( recordItem )* 'end' - { - string_literal339=(Token)match(input,RECORD,FOLLOW_RECORD_in_simpleRecord7767); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RECORD.add(string_literal339); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:41: ( recordField )* - loop108: - while (true) { - int alt108=2; - alt108 = dfa108.predict(input); - switch (alt108) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:42: recordField - { - pushFollow(FOLLOW_recordField_in_simpleRecord7770); - recordField340=recordField(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_recordField.add(recordField340.getTree()); - } - break; - - default : - break loop108; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:56: ( recordItem )* - loop109: - while (true) { - int alt109=2; - int LA109_0 = input.LA(1); - if ( (LA109_0==ADD||LA109_0==ANSISTRING||LA109_0==AT||LA109_0==AUTOMATED||LA109_0==BREAK||LA109_0==CLASS||(LA109_0 >= CONST && LA109_0 <= CONTINUE)||LA109_0==DEFAULT||LA109_0==DESTRUCTOR||LA109_0==EXIT||LA109_0==EXPORT||LA109_0==FINAL||LA109_0==FUNCTION||LA109_0==IMPLEMENTS||LA109_0==INDEX||LA109_0==LBRACK||LA109_0==LOCAL||LA109_0==MESSAGE||LA109_0==NAME||LA109_0==OBJECT||LA109_0==OPERATOR||LA109_0==OUT||LA109_0==POINTER||(LA109_0 >= PRIVATE && LA109_0 <= PROCEDURE)||(LA109_0 >= PROPERTY && LA109_0 <= PUBLISHED)||(LA109_0 >= READ && LA109_0 <= READONLY)||(LA109_0 >= REFERENCE && LA109_0 <= REGISTER)||LA109_0==REMOVE||LA109_0==RESOURCESTRING||(LA109_0 >= STORED && LA109_0 <= STRING)||LA109_0==THREADVAR||LA109_0==TYPE||LA109_0==TkIdentifier||LA109_0==VAR||LA109_0==VARIANT||LA109_0==WRITE||LA109_0==200) ) { - alt109=1; - } - - switch (alt109) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:57: recordItem - { - pushFollow(FOLLOW_recordItem_in_simpleRecord7775); - recordItem341=recordItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_recordItem.add(recordItem341.getTree()); - } - break; - - default : - break loop109; - } - } - - string_literal342=(Token)match(input,END,FOLLOW_END_in_simpleRecord7779); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_END.add(string_literal342); - - // AST REWRITE - // elements: recordItem, RECORD, recordField - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 327:76: -> 'record' ( recordField )* ( recordItem )* - { - adaptor.addChild(root_0, stream_RECORD.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:88: ( recordField )* - while ( stream_recordField.hasNext() ) { - adaptor.addChild(root_0, stream_recordField.nextTree()); - } - stream_recordField.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:103: ( recordItem )* - while ( stream_recordItem.hasNext() ) { - adaptor.addChild(root_0, stream_recordItem.nextTree()); - } - stream_recordItem.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 83, simpleRecord_StartIndex); } - - } - return retval; - } - // $ANTLR end "simpleRecord" - - - public static class variantRecord_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "variantRecord" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:329:1: variantRecord : 'record' ( recordField )* recordVariantSection 'end' -> 'record' ( recordField )* recordVariantSection ; - public final DelphiParser.variantRecord_return variantRecord() throws RecognitionException { - DelphiParser.variantRecord_return retval = new DelphiParser.variantRecord_return(); - retval.start = input.LT(1); - int variantRecord_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal343=null; - Token string_literal346=null; - ParserRuleReturnScope recordField344 =null; - ParserRuleReturnScope recordVariantSection345 =null; - - Object string_literal343_tree=null; - Object string_literal346_tree=null; - RewriteRuleTokenStream stream_RECORD=new RewriteRuleTokenStream(adaptor,"token RECORD"); - RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); - RewriteRuleSubtreeStream stream_recordVariantSection=new RewriteRuleSubtreeStream(adaptor,"rule recordVariantSection"); - RewriteRuleSubtreeStream stream_recordField=new RewriteRuleSubtreeStream(adaptor,"rule recordField"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 84) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:329:30: ( 'record' ( recordField )* recordVariantSection 'end' -> 'record' ( recordField )* recordVariantSection ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:329:32: 'record' ( recordField )* recordVariantSection 'end' - { - string_literal343=(Token)match(input,RECORD,FOLLOW_RECORD_in_variantRecord7845); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RECORD.add(string_literal343); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:329:41: ( recordField )* - loop110: - while (true) { - int alt110=2; - int LA110_0 = input.LA(1); - if ( (LA110_0==ADD||LA110_0==ANSISTRING||LA110_0==AT||LA110_0==BREAK||(LA110_0 >= CONTAINS && LA110_0 <= CONTINUE)||LA110_0==DEFAULT||LA110_0==EXIT||LA110_0==EXPORT||LA110_0==FINAL||LA110_0==IMPLEMENTS||LA110_0==INDEX||LA110_0==LOCAL||LA110_0==MESSAGE||LA110_0==NAME||LA110_0==OBJECT||LA110_0==OPERATOR||LA110_0==OUT||LA110_0==POINTER||(LA110_0 >= READ && LA110_0 <= READONLY)||(LA110_0 >= REFERENCE && LA110_0 <= REGISTER)||LA110_0==REMOVE||(LA110_0 >= STORED && LA110_0 <= STRING)||LA110_0==TkIdentifier||LA110_0==VARIANT||LA110_0==WRITE||LA110_0==200) ) { - alt110=1; - } - - switch (alt110) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:329:42: recordField - { - pushFollow(FOLLOW_recordField_in_variantRecord7848); - recordField344=recordField(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_recordField.add(recordField344.getTree()); - } - break; - - default : - break loop110; - } - } - - pushFollow(FOLLOW_recordVariantSection_in_variantRecord7852); - recordVariantSection345=recordVariantSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_recordVariantSection.add(recordVariantSection345.getTree()); - string_literal346=(Token)match(input,END,FOLLOW_END_in_variantRecord7854); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_END.add(string_literal346); - - // AST REWRITE - // elements: recordField, RECORD, recordVariantSection - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 329:83: -> 'record' ( recordField )* recordVariantSection - { - adaptor.addChild(root_0, stream_RECORD.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:329:95: ( recordField )* - while ( stream_recordField.hasNext() ) { - adaptor.addChild(root_0, stream_recordField.nextTree()); - } - stream_recordField.reset(); - - adaptor.addChild(root_0, stream_recordVariantSection.nextTree()); - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 84, variantRecord_StartIndex); } - - } - return retval; - } - // $ANTLR end "variantRecord" - - - public static class recordItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "recordItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:1: recordItem : ( visibility | classMethod | classProperty | constSection | typeSection | recordField | ( 'class' )? varSection ); - public final DelphiParser.recordItem_return recordItem() throws RecognitionException { - DelphiParser.recordItem_return retval = new DelphiParser.recordItem_return(); - retval.start = input.LT(1); - int recordItem_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal353=null; - ParserRuleReturnScope visibility347 =null; - ParserRuleReturnScope classMethod348 =null; - ParserRuleReturnScope classProperty349 =null; - ParserRuleReturnScope constSection350 =null; - ParserRuleReturnScope typeSection351 =null; - ParserRuleReturnScope recordField352 =null; - ParserRuleReturnScope varSection354 =null; - - Object string_literal353_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 85) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:30: ( visibility | classMethod | classProperty | constSection | typeSection | recordField | ( 'class' )? varSection ) - int alt112=7; - switch ( input.LA(1) ) { - case STRICT: - { - int LA112_1 = input.LA(2); - if ( (synpred155_Delphi()) ) { - alt112=1; - } - else if ( (synpred160_Delphi()) ) { - alt112=6; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 112, 1, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case AUTOMATED: - case PRIVATE: - case PROTECTED: - case PUBLIC: - case PUBLISHED: - { - alt112=1; - } - break; - case LBRACK: - { - int LA112_7 = input.LA(2); - if ( (synpred156_Delphi()) ) { - alt112=2; - } - else if ( (synpred157_Delphi()) ) { - alt112=3; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 112, 7, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case CLASS: - { - int LA112_8 = input.LA(2); - if ( (synpred156_Delphi()) ) { - alt112=2; - } - else if ( (synpred157_Delphi()) ) { - alt112=3; - } - else if ( (true) ) { - alt112=7; - } - - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case FUNCTION: - case PROCEDURE: - { - alt112=2; - } - break; - case OPERATOR: - { - int LA112_11 = input.LA(2); - if ( (synpred156_Delphi()) ) { - alt112=2; - } - else if ( (synpred160_Delphi()) ) { - alt112=6; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 112, 11, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case PROPERTY: - { - alt112=3; - } - break; - case CONST: - case RESOURCESTRING: - { - alt112=4; - } - break; - case TYPE: - { - alt112=5; - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRING: - case TkIdentifier: - case VARIANT: - case WRITE: - case 200: - { - alt112=6; - } - break; - case THREADVAR: - case VAR: - { - alt112=7; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 112, 0, input); - throw nvae; - } - switch (alt112) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:32: visibility - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_visibility_in_recordItem7920); - visibility347=visibility(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility347.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:332:32: classMethod - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classMethod_in_recordItem7958); - classMethod348=classMethod(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod348.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:333:32: classProperty - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classProperty_in_recordItem7991); - classProperty349=classProperty(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty349.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:32: constSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_constSection_in_recordItem8024); - constSection350=constSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection350.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:335:32: typeSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_typeSection_in_recordItem8057); - typeSection351=typeSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeSection351.getTree()); - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:32: recordField - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_recordField_in_recordItem8090); - recordField352=recordField(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, recordField352.getTree()); - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:337:32: ( 'class' )? varSection - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:337:32: ( 'class' )? - int alt111=2; - int LA111_0 = input.LA(1); - if ( (LA111_0==CLASS) ) { - alt111=1; - } - switch (alt111) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:337:33: 'class' - { - string_literal353=(Token)match(input,CLASS,FOLLOW_CLASS_in_recordItem8124); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal353_tree = (Object)adaptor.create(string_literal353); - adaptor.addChild(root_0, string_literal353_tree); - } - - } - break; - - } - - pushFollow(FOLLOW_varSection_in_recordItem8128); - varSection354=varSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection354.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 85, recordItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "recordItem" - - - public static class recordField_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "recordField" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:1: recordField : identList ':' typeDecl ( hintingDirective )* ( ';' )? -> identList ^( TkVariableType typeDecl ) ; - public final DelphiParser.recordField_return recordField() throws RecognitionException { - DelphiParser.recordField_return retval = new DelphiParser.recordField_return(); - retval.start = input.LT(1); - int recordField_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal356=null; - Token char_literal359=null; - ParserRuleReturnScope identList355 =null; - ParserRuleReturnScope typeDecl357 =null; - ParserRuleReturnScope hintingDirective358 =null; - - Object char_literal356_tree=null; - Object char_literal359_tree=null; - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleSubtreeStream stream_identList=new RewriteRuleSubtreeStream(adaptor,"rule identList"); - RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 86) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:30: ( identList ':' typeDecl ( hintingDirective )* ( ';' )? -> identList ^( TkVariableType typeDecl ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:32: identList ':' typeDecl ( hintingDirective )* ( ';' )? - { - pushFollow(FOLLOW_identList_in_recordField8182); - identList355=identList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_identList.add(identList355.getTree()); - char_literal356=(Token)match(input,COLON,FOLLOW_COLON_in_recordField8184); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal356); - - pushFollow(FOLLOW_typeDecl_in_recordField8186); - typeDecl357=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl357.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:55: ( hintingDirective )* - loop113: - while (true) { - int alt113=2; - int LA113_0 = input.LA(1); - if ( (LA113_0==DEPRECATED||LA113_0==EXPERIMENTAL||LA113_0==LIBRARY||LA113_0==PLATFORM) ) { - alt113=1; - } - - switch (alt113) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:56: hintingDirective - { - pushFollow(FOLLOW_hintingDirective_in_recordField8189); - hintingDirective358=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective358.getTree()); - } - break; - - default : - break loop113; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:75: ( ';' )? - int alt114=2; - int LA114_0 = input.LA(1); - if ( (LA114_0==SEMI) ) { - alt114=1; - } - switch (alt114) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:76: ';' - { - char_literal359=(Token)match(input,SEMI,FOLLOW_SEMI_in_recordField8194); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal359); - - } - break; - - } - - // AST REWRITE - // elements: typeDecl, identList - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 340:30: -> identList ^( TkVariableType typeDecl ) - { - adaptor.addChild(root_0, stream_identList.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:340:43: ^( TkVariableType typeDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_1); - adaptor.addChild(root_1, stream_typeDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 86, recordField_StartIndex); } - - } - return retval; - } - // $ANTLR end "recordField" - - - public static class recordVariantField_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "recordVariantField" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:342:1: recordVariantField : identList ':' typeDecl ( hintingDirective )* ( ';' )? -> identList ^( TkVariableType typeDecl ) ; - public final DelphiParser.recordVariantField_return recordVariantField() throws RecognitionException { - DelphiParser.recordVariantField_return retval = new DelphiParser.recordVariantField_return(); - retval.start = input.LT(1); - int recordVariantField_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal361=null; - Token char_literal364=null; - ParserRuleReturnScope identList360 =null; - ParserRuleReturnScope typeDecl362 =null; - ParserRuleReturnScope hintingDirective363 =null; - - Object char_literal361_tree=null; - Object char_literal364_tree=null; - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleSubtreeStream stream_identList=new RewriteRuleSubtreeStream(adaptor,"rule identList"); - RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 87) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:342:30: ( identList ':' typeDecl ( hintingDirective )* ( ';' )? -> identList ^( TkVariableType typeDecl ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:342:32: identList ':' typeDecl ( hintingDirective )* ( ';' )? - { - pushFollow(FOLLOW_identList_in_recordVariantField8284); - identList360=identList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_identList.add(identList360.getTree()); - char_literal361=(Token)match(input,COLON,FOLLOW_COLON_in_recordVariantField8286); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal361); - - pushFollow(FOLLOW_typeDecl_in_recordVariantField8288); - typeDecl362=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl362.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:342:55: ( hintingDirective )* - loop115: - while (true) { - int alt115=2; - int LA115_0 = input.LA(1); - if ( (LA115_0==DEPRECATED||LA115_0==EXPERIMENTAL||LA115_0==LIBRARY||LA115_0==PLATFORM) ) { - alt115=1; - } - - switch (alt115) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:342:56: hintingDirective - { - pushFollow(FOLLOW_hintingDirective_in_recordVariantField8291); - hintingDirective363=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective363.getTree()); - } - break; - - default : - break loop115; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:342:75: ( ';' )? - int alt116=2; - int LA116_0 = input.LA(1); - if ( (LA116_0==SEMI) ) { - alt116=1; - } - switch (alt116) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:342:76: ';' - { - char_literal364=(Token)match(input,SEMI,FOLLOW_SEMI_in_recordVariantField8296); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal364); - - } - break; - - } - - // AST REWRITE - // elements: typeDecl, identList - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 343:30: -> identList ^( TkVariableType typeDecl ) - { - adaptor.addChild(root_0, stream_identList.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:343:43: ^( TkVariableType typeDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_1); - adaptor.addChild(root_1, stream_typeDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 87, recordVariantField_StartIndex); } - - } - return retval; - } - // $ANTLR end "recordVariantField" - - - public static class recordVariantSection_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "recordVariantSection" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:1: recordVariantSection : 'case' ( ident ':' )? typeDecl 'of' ( recordVariant | ';' ) ( recordVariant | ';' )* ; - public final DelphiParser.recordVariantSection_return recordVariantSection() throws RecognitionException { - DelphiParser.recordVariantSection_return retval = new DelphiParser.recordVariantSection_return(); - retval.start = input.LT(1); - int recordVariantSection_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal365=null; - Token char_literal367=null; - Token string_literal369=null; - Token char_literal371=null; - Token char_literal373=null; - ParserRuleReturnScope ident366 =null; - ParserRuleReturnScope typeDecl368 =null; - ParserRuleReturnScope recordVariant370 =null; - ParserRuleReturnScope recordVariant372 =null; - - Object string_literal365_tree=null; - Object char_literal367_tree=null; - Object string_literal369_tree=null; - Object char_literal371_tree=null; - Object char_literal373_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 88) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:30: ( 'case' ( ident ':' )? typeDecl 'of' ( recordVariant | ';' ) ( recordVariant | ';' )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:32: 'case' ( ident ':' )? typeDecl 'of' ( recordVariant | ';' ) ( recordVariant | ';' )* - { - root_0 = (Object)adaptor.nil(); - - - string_literal365=(Token)match(input,CASE,FOLLOW_CASE_in_recordVariantSection8383); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal365_tree = (Object)adaptor.create(string_literal365); - adaptor.addChild(root_0, string_literal365_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:39: ( ident ':' )? - int alt117=2; - switch ( input.LA(1) ) { - case TkIdentifier: - { - int LA117_1 = input.LA(2); - if ( (LA117_1==COLON) ) { - alt117=1; - } - } - break; - case 200: - { - int LA117_2 = input.LA(2); - if ( (LA117_2==TkIdentifier) ) { - int LA117_12 = input.LA(3); - if ( (LA117_12==COLON) ) { - alt117=1; - } - } - } - break; - case OBJECT: - { - int LA117_3 = input.LA(2); - if ( (LA117_3==COLON) ) { - alt117=1; - } - } - break; - case POINTER: - { - int LA117_5 = input.LA(2); - if ( (LA117_5==COLON) ) { - alt117=1; - } - } - break; - case STRING: - { - int LA117_6 = input.LA(2); - if ( (LA117_6==COLON) ) { - alt117=1; - } - } - break; - case ANSISTRING: - { - int LA117_7 = input.LA(2); - if ( (LA117_7==COLON) ) { - alt117=1; - } - } - break; - case REFERENCE: - { - int LA117_8 = input.LA(2); - if ( (LA117_8==COLON) ) { - alt117=1; - } - } - break; - case VARIANT: - { - int LA117_9 = input.LA(2); - if ( (LA117_9==COLON) ) { - alt117=1; - } - } - break; - case ADD: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OPERATOR: - case OUT: - case READ: - case READONLY: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case WRITE: - { - int LA117_10 = input.LA(2); - if ( (LA117_10==COLON) ) { - alt117=1; - } - } - break; - } - switch (alt117) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:40: ident ':' - { - pushFollow(FOLLOW_ident_in_recordVariantSection8386); - ident366=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident366.getTree()); - - char_literal367=(Token)match(input,COLON,FOLLOW_COLON_in_recordVariantSection8388); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal367_tree = (Object)adaptor.create(char_literal367); - adaptor.addChild(root_0, char_literal367_tree); - } - - } - break; - - } - - pushFollow(FOLLOW_typeDecl_in_recordVariantSection8392); - typeDecl368=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl368.getTree()); - - string_literal369=(Token)match(input,OF,FOLLOW_OF_in_recordVariantSection8394); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal369_tree = (Object)adaptor.create(string_literal369); - adaptor.addChild(root_0, string_literal369_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:66: ( recordVariant | ';' ) - int alt118=2; - int LA118_0 = input.LA(1); - if ( ((LA118_0 >= ADD && LA118_0 <= ANSISTRING)||LA118_0==AS||(LA118_0 >= AT && LA118_0 <= AT2)||LA118_0==BREAK||(LA118_0 >= COLON && LA118_0 <= COMMA)||(LA118_0 >= CONTAINS && LA118_0 <= ControlString)||LA118_0==DEFAULT||LA118_0==DIV||LA118_0==DOT||LA118_0==EQUAL||LA118_0==EXIT||LA118_0==EXPORT||LA118_0==FALSE||LA118_0==FINAL||(LA118_0 >= FUNCTION && LA118_0 <= GE)||LA118_0==GT||(LA118_0 >= IMPLEMENTS && LA118_0 <= INHERITED)||LA118_0==IS||LA118_0==LBRACK||LA118_0==LE||(LA118_0 >= LOCAL && LA118_0 <= NAME)||LA118_0==NIL||(LA118_0 >= NOT && LA118_0 <= OBJECT)||(LA118_0 >= OPERATOR && LA118_0 <= OUT)||(LA118_0 >= PLUS && LA118_0 <= POINTER2)||LA118_0==PROCEDURE||LA118_0==QuotedString||(LA118_0 >= READ && LA118_0 <= READONLY)||(LA118_0 >= REFERENCE && LA118_0 <= REGISTER)||LA118_0==REMOVE||(LA118_0 >= SHL && LA118_0 <= STAR)||(LA118_0 >= STORED && LA118_0 <= STRING)||LA118_0==TRUE||LA118_0==TkAsmHexNum||(LA118_0 >= TkHexNum && LA118_0 <= TkIntNum)||LA118_0==TkRealNum||LA118_0==VARIANT||LA118_0==WRITE||(LA118_0 >= XOR && LA118_0 <= 201)) ) { - alt118=1; - } - else if ( (LA118_0==SEMI) ) { - alt118=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 118, 0, input); - throw nvae; - } - - switch (alt118) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:67: recordVariant - { - pushFollow(FOLLOW_recordVariant_in_recordVariantSection8397); - recordVariant370=recordVariant(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, recordVariant370.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:83: ';' - { - char_literal371=(Token)match(input,SEMI,FOLLOW_SEMI_in_recordVariantSection8401); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal371_tree = (Object)adaptor.create(char_literal371); - adaptor.addChild(root_0, char_literal371_tree); - } - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:88: ( recordVariant | ';' )* - loop119: - while (true) { - int alt119=3; - int LA119_0 = input.LA(1); - if ( ((LA119_0 >= ADD && LA119_0 <= ANSISTRING)||LA119_0==AS||(LA119_0 >= AT && LA119_0 <= AT2)||LA119_0==BREAK||(LA119_0 >= COLON && LA119_0 <= COMMA)||(LA119_0 >= CONTAINS && LA119_0 <= ControlString)||LA119_0==DEFAULT||LA119_0==DIV||LA119_0==DOT||LA119_0==EQUAL||LA119_0==EXIT||LA119_0==EXPORT||LA119_0==FALSE||LA119_0==FINAL||(LA119_0 >= FUNCTION && LA119_0 <= GE)||LA119_0==GT||(LA119_0 >= IMPLEMENTS && LA119_0 <= INHERITED)||LA119_0==IS||LA119_0==LBRACK||LA119_0==LE||(LA119_0 >= LOCAL && LA119_0 <= NAME)||LA119_0==NIL||(LA119_0 >= NOT && LA119_0 <= OBJECT)||(LA119_0 >= OPERATOR && LA119_0 <= OUT)||(LA119_0 >= PLUS && LA119_0 <= POINTER2)||LA119_0==PROCEDURE||LA119_0==QuotedString||(LA119_0 >= READ && LA119_0 <= READONLY)||(LA119_0 >= REFERENCE && LA119_0 <= REGISTER)||LA119_0==REMOVE||(LA119_0 >= SHL && LA119_0 <= STAR)||(LA119_0 >= STORED && LA119_0 <= STRING)||LA119_0==TRUE||LA119_0==TkAsmHexNum||(LA119_0 >= TkHexNum && LA119_0 <= TkIntNum)||LA119_0==TkRealNum||LA119_0==VARIANT||LA119_0==WRITE||(LA119_0 >= XOR && LA119_0 <= 201)) ) { - alt119=1; - } - else if ( (LA119_0==SEMI) ) { - alt119=2; - } - - switch (alt119) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:89: recordVariant - { - pushFollow(FOLLOW_recordVariant_in_recordVariantSection8405); - recordVariant372=recordVariant(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, recordVariant372.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:345:105: ';' - { - char_literal373=(Token)match(input,SEMI,FOLLOW_SEMI_in_recordVariantSection8409); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal373_tree = (Object)adaptor.create(char_literal373); - adaptor.addChild(root_0, char_literal373_tree); - } - - } - break; - - default : - break loop119; - } - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 88, recordVariantSection_StartIndex); } - - } - return retval; - } - // $ANTLR end "recordVariantSection" - - - public static class recordVariant_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "recordVariant" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:347:1: recordVariant : constExpression ( ',' constExpression )* ':' '(' ( recordVariantField )* ')' ; - public final DelphiParser.recordVariant_return recordVariant() throws RecognitionException { - DelphiParser.recordVariant_return retval = new DelphiParser.recordVariant_return(); - retval.start = input.LT(1); - int recordVariant_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal375=null; - Token char_literal377=null; - Token char_literal378=null; - Token char_literal380=null; - ParserRuleReturnScope constExpression374 =null; - ParserRuleReturnScope constExpression376 =null; - ParserRuleReturnScope recordVariantField379 =null; - - Object char_literal375_tree=null; - Object char_literal377_tree=null; - Object char_literal378_tree=null; - Object char_literal380_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 89) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:347:30: ( constExpression ( ',' constExpression )* ':' '(' ( recordVariantField )* ')' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:347:32: constExpression ( ',' constExpression )* ':' '(' ( recordVariantField )* ')' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_constExpression_in_recordVariant8463); - constExpression374=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression374.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:347:48: ( ',' constExpression )* - loop120: - while (true) { - int alt120=2; - int LA120_0 = input.LA(1); - if ( (LA120_0==COMMA) ) { - alt120=1; - } - - switch (alt120) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:347:49: ',' constExpression - { - char_literal375=(Token)match(input,COMMA,FOLLOW_COMMA_in_recordVariant8466); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal375_tree = (Object)adaptor.create(char_literal375); - adaptor.addChild(root_0, char_literal375_tree); - } - - pushFollow(FOLLOW_constExpression_in_recordVariant8468); - constExpression376=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression376.getTree()); - - } - break; - - default : - break loop120; - } - } - - char_literal377=(Token)match(input,COLON,FOLLOW_COLON_in_recordVariant8472); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal377_tree = (Object)adaptor.create(char_literal377); - adaptor.addChild(root_0, char_literal377_tree); - } - - char_literal378=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_recordVariant8474); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal378_tree = (Object)adaptor.create(char_literal378); - adaptor.addChild(root_0, char_literal378_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:347:79: ( recordVariantField )* - loop121: - while (true) { - int alt121=2; - int LA121_0 = input.LA(1); - if ( (LA121_0==ADD||LA121_0==ANSISTRING||LA121_0==AT||LA121_0==BREAK||(LA121_0 >= CONTAINS && LA121_0 <= CONTINUE)||LA121_0==DEFAULT||LA121_0==EXIT||LA121_0==EXPORT||LA121_0==FINAL||LA121_0==IMPLEMENTS||LA121_0==INDEX||LA121_0==LOCAL||LA121_0==MESSAGE||LA121_0==NAME||LA121_0==OBJECT||LA121_0==OPERATOR||LA121_0==OUT||LA121_0==POINTER||(LA121_0 >= READ && LA121_0 <= READONLY)||(LA121_0 >= REFERENCE && LA121_0 <= REGISTER)||LA121_0==REMOVE||(LA121_0 >= STORED && LA121_0 <= STRING)||LA121_0==TkIdentifier||LA121_0==VARIANT||LA121_0==WRITE||LA121_0==200) ) { - alt121=1; - } - - switch (alt121) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:347:80: recordVariantField - { - pushFollow(FOLLOW_recordVariantField_in_recordVariant8477); - recordVariantField379=recordVariantField(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, recordVariantField379.getTree()); - - } - break; - - default : - break loop121; - } - } - - char_literal380=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_recordVariant8481); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal380_tree = (Object)adaptor.create(char_literal380); - adaptor.addChild(root_0, char_literal380_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 89, recordVariant_StartIndex); } - - } - return retval; - } - // $ANTLR end "recordVariant" - - - public static class recordHelperDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "recordHelperDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:1: recordHelperDecl : 'record' 'helper' 'for' typeId ( recordHelperItem )* 'end' ; - public final DelphiParser.recordHelperDecl_return recordHelperDecl() throws RecognitionException { - DelphiParser.recordHelperDecl_return retval = new DelphiParser.recordHelperDecl_return(); - retval.start = input.LT(1); - int recordHelperDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal381=null; - Token string_literal382=null; - Token string_literal383=null; - Token string_literal386=null; - ParserRuleReturnScope typeId384 =null; - ParserRuleReturnScope recordHelperItem385 =null; - - Object string_literal381_tree=null; - Object string_literal382_tree=null; - Object string_literal383_tree=null; - Object string_literal386_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 90) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:30: ( 'record' 'helper' 'for' typeId ( recordHelperItem )* 'end' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:32: 'record' 'helper' 'for' typeId ( recordHelperItem )* 'end' - { - root_0 = (Object)adaptor.nil(); - - - string_literal381=(Token)match(input,RECORD,FOLLOW_RECORD_in_recordHelperDecl8533); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal381_tree = (Object)adaptor.create(string_literal381); - adaptor.addChild(root_0, string_literal381_tree); - } - - string_literal382=(Token)match(input,HELPER,FOLLOW_HELPER_in_recordHelperDecl8535); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal382_tree = (Object)adaptor.create(string_literal382); - adaptor.addChild(root_0, string_literal382_tree); - } - - string_literal383=(Token)match(input,FOR,FOLLOW_FOR_in_recordHelperDecl8537); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal383_tree = (Object)adaptor.create(string_literal383); - adaptor.addChild(root_0, string_literal383_tree); - } - - pushFollow(FOLLOW_typeId_in_recordHelperDecl8539); - typeId384=typeId(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId384.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:63: ( recordHelperItem )* - loop122: - while (true) { - int alt122=2; - int LA122_0 = input.LA(1); - if ( (LA122_0==AUTOMATED||LA122_0==CLASS||LA122_0==CONSTRUCTOR||LA122_0==DESTRUCTOR||LA122_0==FUNCTION||LA122_0==LBRACK||LA122_0==OPERATOR||(LA122_0 >= PRIVATE && LA122_0 <= PROCEDURE)||(LA122_0 >= PROPERTY && LA122_0 <= PUBLISHED)||LA122_0==STRICT) ) { - alt122=1; - } - - switch (alt122) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:64: recordHelperItem - { - pushFollow(FOLLOW_recordHelperItem_in_recordHelperDecl8542); - recordHelperItem385=recordHelperItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, recordHelperItem385.getTree()); - - } - break; - - default : - break loop122; - } - } - - string_literal386=(Token)match(input,END,FOLLOW_END_in_recordHelperDecl8546); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal386_tree = (Object)adaptor.create(string_literal386); - adaptor.addChild(root_0, string_literal386_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 90, recordHelperDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "recordHelperDecl" - - - public static class recordHelperItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "recordHelperItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:351:1: recordHelperItem : ( visibility | classMethod | classProperty ); - public final DelphiParser.recordHelperItem_return recordHelperItem() throws RecognitionException { - DelphiParser.recordHelperItem_return retval = new DelphiParser.recordHelperItem_return(); - retval.start = input.LT(1); - int recordHelperItem_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope visibility387 =null; - ParserRuleReturnScope classMethod388 =null; - ParserRuleReturnScope classProperty389 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 91) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:351:30: ( visibility | classMethod | classProperty ) - int alt123=3; - switch ( input.LA(1) ) { - case AUTOMATED: - case PRIVATE: - case PROTECTED: - case PUBLIC: - case PUBLISHED: - case STRICT: - { - alt123=1; - } - break; - case LBRACK: - { - int LA123_7 = input.LA(2); - if ( (synpred174_Delphi()) ) { - alt123=2; - } - else if ( (true) ) { - alt123=3; - } - - } - break; - case CLASS: - { - int LA123_8 = input.LA(2); - if ( (synpred174_Delphi()) ) { - alt123=2; - } - else if ( (true) ) { - alt123=3; - } - - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case FUNCTION: - case OPERATOR: - case PROCEDURE: - { - alt123=2; - } - break; - case PROPERTY: - { - alt123=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 123, 0, input); - throw nvae; - } - switch (alt123) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:351:32: visibility - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_visibility_in_recordHelperItem8595); - visibility387=visibility(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility387.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:32: classMethod - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classMethod_in_recordHelperItem8628); - classMethod388=classMethod(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod388.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:353:32: classProperty - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classProperty_in_recordHelperItem8661); - classProperty389=classProperty(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty389.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 91, recordHelperItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "recordHelperItem" - - - public static class classMethod_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classMethod" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:1: classMethod : ( ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? ^( TkFunctionReturn typeDecl ) ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'operator' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' -> ( customAttribute )? ( 'class' )? ^( 'operator' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? typeDecl ) ); - public final DelphiParser.classMethod_return classMethod() throws RecognitionException { - DelphiParser.classMethod_return retval = new DelphiParser.classMethod_return(); - retval.start = input.LT(1); - int classMethod_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal391=null; - Token char_literal396=null; - Token string_literal399=null; - Token string_literal400=null; - Token char_literal404=null; - Token char_literal407=null; - Token string_literal410=null; - Token string_literal411=null; - Token char_literal415=null; - Token char_literal418=null; - ParserRuleReturnScope customAttribute390 =null; - ParserRuleReturnScope methodKey392 =null; - ParserRuleReturnScope ident393 =null; - ParserRuleReturnScope genericDefinition394 =null; - ParserRuleReturnScope formalParameterSection395 =null; - ParserRuleReturnScope methodDirective397 =null; - ParserRuleReturnScope customAttribute398 =null; - ParserRuleReturnScope ident401 =null; - ParserRuleReturnScope genericDefinition402 =null; - ParserRuleReturnScope formalParameterSection403 =null; - ParserRuleReturnScope customAttribute405 =null; - ParserRuleReturnScope typeDecl406 =null; - ParserRuleReturnScope methodDirective408 =null; - ParserRuleReturnScope customAttribute409 =null; - ParserRuleReturnScope ident412 =null; - ParserRuleReturnScope genericDefinition413 =null; - ParserRuleReturnScope formalParameterSection414 =null; - ParserRuleReturnScope customAttribute416 =null; - ParserRuleReturnScope typeDecl417 =null; - - Object string_literal391_tree=null; - Object char_literal396_tree=null; - Object string_literal399_tree=null; - Object string_literal400_tree=null; - Object char_literal404_tree=null; - Object char_literal407_tree=null; - Object string_literal410_tree=null; - Object string_literal411_tree=null; - Object char_literal415_tree=null; - Object char_literal418_tree=null; - RewriteRuleTokenStream stream_OPERATOR=new RewriteRuleTokenStream(adaptor,"token OPERATOR"); - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); - RewriteRuleTokenStream stream_FUNCTION=new RewriteRuleTokenStream(adaptor,"token FUNCTION"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_methodKey=new RewriteRuleSubtreeStream(adaptor,"rule methodKey"); - RewriteRuleSubtreeStream stream_genericDefinition=new RewriteRuleSubtreeStream(adaptor,"rule genericDefinition"); - RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); - RewriteRuleSubtreeStream stream_formalParameterSection=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterSection"); - RewriteRuleSubtreeStream stream_methodDirective=new RewriteRuleSubtreeStream(adaptor,"rule methodDirective"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 92) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:30: ( ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? ^( TkFunctionReturn typeDecl ) ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'operator' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' -> ( customAttribute )? ( 'class' )? ^( 'operator' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? typeDecl ) ) - int alt140=3; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA140_1 = input.LA(2); - if ( (synpred180_Delphi()) ) { - alt140=1; - } - else if ( (synpred187_Delphi()) ) { - alt140=2; - } - else if ( (true) ) { - alt140=3; - } - - } - break; - case CLASS: - { - int LA140_2 = input.LA(2); - if ( (synpred180_Delphi()) ) { - alt140=1; - } - else if ( (synpred187_Delphi()) ) { - alt140=2; - } - else if ( (true) ) { - alt140=3; - } - - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case PROCEDURE: - { - alt140=1; - } - break; - case FUNCTION: - { - alt140=2; - } - break; - case OPERATOR: - { - alt140=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 140, 0, input); - throw nvae; - } - switch (alt140) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:32: ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:32: ( customAttribute )? - int alt124=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt124=1; - } - break; - case CLASS: - { - int LA124_2 = input.LA(2); - if ( (synpred175_Delphi()) ) { - alt124=1; - } - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case PROCEDURE: - { - int LA124_3 = input.LA(2); - if ( (synpred175_Delphi()) ) { - alt124=1; - } - } - break; - } - switch (alt124) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_classMethod8716); - customAttribute390=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute390.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:51: ( 'class' )? - int alt125=2; - int LA125_0 = input.LA(1); - if ( (LA125_0==CLASS) ) { - alt125=1; - } - switch (alt125) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:52: 'class' - { - string_literal391=(Token)match(input,CLASS,FOLLOW_CLASS_in_classMethod8721); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal391); - - } - break; - - } - - pushFollow(FOLLOW_methodKey_in_classMethod8725); - methodKey392=methodKey(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodKey.add(methodKey392.getTree()); - pushFollow(FOLLOW_ident_in_classMethod8727); - ident393=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident393.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:78: ( genericDefinition )? - int alt126=2; - int LA126_0 = input.LA(1); - if ( (LA126_0==LT) ) { - alt126=1; - } - switch (alt126) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:79: genericDefinition - { - pushFollow(FOLLOW_genericDefinition_in_classMethod8730); - genericDefinition394=genericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_genericDefinition.add(genericDefinition394.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:99: ( formalParameterSection )? - int alt127=2; - int LA127_0 = input.LA(1); - if ( (LA127_0==LPAREN) ) { - alt127=1; - } - switch (alt127) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:100: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_classMethod8735); - formalParameterSection395=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection395.getTree()); - } - break; - - } - - char_literal396=(Token)match(input,SEMI,FOLLOW_SEMI_in_classMethod8739); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal396); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:129: ( methodDirective )* - loop128: - while (true) { - int alt128=2; - switch ( input.LA(1) ) { - case MESSAGE: - { - int LA128_2 = input.LA(2); - if ( ((LA128_2 >= ADD && LA128_2 <= ANSISTRING)||LA128_2==AS||(LA128_2 >= AT && LA128_2 <= AT2)||LA128_2==BREAK||(LA128_2 >= CONTAINS && LA128_2 <= ControlString)||LA128_2==DEFAULT||LA128_2==DIV||LA128_2==DOT||LA128_2==EQUAL||LA128_2==EXIT||LA128_2==EXPORT||LA128_2==FALSE||LA128_2==FINAL||(LA128_2 >= FUNCTION && LA128_2 <= GE)||LA128_2==GT||(LA128_2 >= IMPLEMENTS && LA128_2 <= INHERITED)||LA128_2==IS||LA128_2==LBRACK||LA128_2==LE||(LA128_2 >= LOCAL && LA128_2 <= NAME)||LA128_2==NIL||(LA128_2 >= NOT && LA128_2 <= OBJECT)||(LA128_2 >= OPERATOR && LA128_2 <= OUT)||(LA128_2 >= PLUS && LA128_2 <= POINTER2)||LA128_2==PROCEDURE||LA128_2==QuotedString||(LA128_2 >= READ && LA128_2 <= READONLY)||(LA128_2 >= REFERENCE && LA128_2 <= REGISTER)||LA128_2==REMOVE||LA128_2==SEMI||(LA128_2 >= SHL && LA128_2 <= STAR)||(LA128_2 >= STORED && LA128_2 <= STRING)||LA128_2==TRUE||LA128_2==TkAsmHexNum||(LA128_2 >= TkHexNum && LA128_2 <= TkIntNum)||LA128_2==TkRealNum||LA128_2==VARIANT||LA128_2==WRITE||(LA128_2 >= XOR && LA128_2 <= 201)) ) { - alt128=1; - } - - } - break; - case ABSTRACT: - case ASSEMBLER: - case CDECL: - case DEPRECATED: - case DISPID: - case DYNAMIC: - case EXPERIMENTAL: - case FAR: - case INLINE: - case LIBRARY: - case NEAR: - case OVERLOAD: - case OVERRIDE: - case PASCAL: - case PLATFORM: - case REINTRODUCE: - case SAFECALL: - case STATIC: - case STDCALL: - case VIRTUAL: - { - alt128=1; - } - break; - case FINAL: - { - int LA128_4 = input.LA(2); - if ( (LA128_4==SEMI) ) { - alt128=1; - } - - } - break; - case REGISTER: - { - int LA128_5 = input.LA(2); - if ( (LA128_5==SEMI) ) { - alt128=1; - } - - } - break; - case EXPORT: - { - int LA128_6 = input.LA(2); - if ( (LA128_6==SEMI) ) { - alt128=1; - } - - } - break; - case LOCAL: - { - int LA128_7 = input.LA(2); - if ( (LA128_7==SEMI) ) { - alt128=1; - } - - } - break; - } - switch (alt128) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:130: methodDirective - { - pushFollow(FOLLOW_methodDirective_in_classMethod8742); - methodDirective397=methodDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodDirective.add(methodDirective397.getTree()); - } - break; - - default : - break loop128; - } - } - - // AST REWRITE - // elements: customAttribute, formalParameterSection, methodDirective, genericDefinition, CLASS, ident, methodKey - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 356:30: -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( methodDirective )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:34: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_0, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:53: ( 'class' )? - if ( stream_CLASS.hasNext() ) { - adaptor.addChild(root_0, stream_CLASS.nextNode()); - } - stream_CLASS.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:64: ^( methodKey ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( methodDirective )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_methodKey.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:76: ^( TkFunctionName ident ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); - adaptor.addChild(root_2, stream_ident.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:100: ( genericDefinition )? - if ( stream_genericDefinition.hasNext() ) { - adaptor.addChild(root_1, stream_genericDefinition.nextTree()); - } - stream_genericDefinition.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:121: ^( TkFunctionArgs ( formalParameterSection )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:138: ( formalParameterSection )? - if ( stream_formalParameterSection.hasNext() ) { - adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); - } - stream_formalParameterSection.reset(); - - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:165: ( methodDirective )* - while ( stream_methodDirective.hasNext() ) { - adaptor.addChild(root_1, stream_methodDirective.nextTree()); - } - stream_methodDirective.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:32: ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:32: ( customAttribute )? - int alt129=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt129=1; - } - break; - case CLASS: - { - int LA129_2 = input.LA(2); - if ( (synpred181_Delphi()) ) { - alt129=1; - } - } - break; - case FUNCTION: - { - int LA129_3 = input.LA(2); - if ( (synpred181_Delphi()) ) { - alt129=1; - } - } - break; - } - switch (alt129) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_classMethod8850); - customAttribute398=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute398.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:51: ( 'class' )? - int alt130=2; - int LA130_0 = input.LA(1); - if ( (LA130_0==CLASS) ) { - alt130=1; - } - switch (alt130) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:52: 'class' - { - string_literal399=(Token)match(input,CLASS,FOLLOW_CLASS_in_classMethod8855); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal399); - - } - break; - - } - - string_literal400=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_classMethod8859); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_FUNCTION.add(string_literal400); - - pushFollow(FOLLOW_ident_in_classMethod8861); - ident401=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident401.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:79: ( genericDefinition )? - int alt131=2; - int LA131_0 = input.LA(1); - if ( (LA131_0==LT) ) { - alt131=1; - } - switch (alt131) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:80: genericDefinition - { - pushFollow(FOLLOW_genericDefinition_in_classMethod8864); - genericDefinition402=genericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_genericDefinition.add(genericDefinition402.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:100: ( formalParameterSection )? - int alt132=2; - int LA132_0 = input.LA(1); - if ( (LA132_0==LPAREN) ) { - alt132=1; - } - switch (alt132) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:101: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_classMethod8869); - formalParameterSection403=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection403.getTree()); - } - break; - - } - - char_literal404=(Token)match(input,COLON,FOLLOW_COLON_in_classMethod8873); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal404); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:130: ( customAttribute )? - int alt133=2; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA133_1 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case PACKED: - { - int LA133_2 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case ARRAY: - { - int LA133_3 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case SET: - { - int LA133_4 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case FILE: - { - int LA133_5 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case CLASS: - { - int LA133_6 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case DISPINTERFACE: - case INTERFACE: - { - int LA133_7 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case OBJECT: - { - int LA133_8 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case RECORD: - { - int LA133_9 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case POINTER2: - { - int LA133_10 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case POINTER: - { - int LA133_11 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case STRING: - { - int LA133_12 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case TYPE: - { - int LA133_13 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case ANSISTRING: - { - int LA133_14 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case FUNCTION: - { - int LA133_15 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case PROCEDURE: - { - int LA133_16 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case REFERENCE: - { - int LA133_17 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case VARIANT: - { - int LA133_18 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case TkIdentifier: - { - int LA133_19 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case 200: - { - int LA133_20 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case ADD: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OPERATOR: - case OUT: - case READ: - case READONLY: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case WRITE: - { - int LA133_21 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case LPAREN: - { - int LA133_22 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case AT2: - { - int LA133_23 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case 201: - { - int LA133_24 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case NOT: - { - int LA133_25 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case PLUS: - { - int LA133_26 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case MINUS: - { - int LA133_27 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case TkHexNum: - case TkIntNum: - { - int LA133_28 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case TkRealNum: - { - int LA133_29 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case TkAsmHexNum: - { - int LA133_30 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case TRUE: - { - int LA133_31 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case FALSE: - { - int LA133_32 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case NIL: - { - int LA133_33 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case ControlString: - { - int LA133_34 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case QuotedString: - { - int LA133_35 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case INHERITED: - { - int LA133_36 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case DOT: - { - int LA133_37 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case LT: - { - int LA133_38 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case AND: - case AS: - case DIV: - case MOD: - case OR: - case SHL: - case SHR: - case SLASH: - case STAR: - case XOR: - { - int LA133_39 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case EQUAL: - { - int LA133_40 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case GE: - case GT: - case IN: - case IS: - case LE: - case NOT_EQUAL: - { - int LA133_41 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case DOTDOT: - { - int LA133_42 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - case SEMI: - { - int LA133_43 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt133=1; - } - } - break; - } - switch (alt133) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:131: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_classMethod8876); - customAttribute405=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute405.getTree()); - } - break; - - } - - pushFollow(FOLLOW_typeDecl_in_classMethod8880); - typeDecl406=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl406.getTree()); - char_literal407=(Token)match(input,SEMI,FOLLOW_SEMI_in_classMethod8882); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal407); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:162: ( methodDirective )* - loop134: - while (true) { - int alt134=2; - switch ( input.LA(1) ) { - case MESSAGE: - { - int LA134_2 = input.LA(2); - if ( ((LA134_2 >= ADD && LA134_2 <= ANSISTRING)||LA134_2==AS||(LA134_2 >= AT && LA134_2 <= AT2)||LA134_2==BREAK||(LA134_2 >= CONTAINS && LA134_2 <= ControlString)||LA134_2==DEFAULT||LA134_2==DIV||LA134_2==DOT||LA134_2==EQUAL||LA134_2==EXIT||LA134_2==EXPORT||LA134_2==FALSE||LA134_2==FINAL||(LA134_2 >= FUNCTION && LA134_2 <= GE)||LA134_2==GT||(LA134_2 >= IMPLEMENTS && LA134_2 <= INHERITED)||LA134_2==IS||LA134_2==LBRACK||LA134_2==LE||(LA134_2 >= LOCAL && LA134_2 <= NAME)||LA134_2==NIL||(LA134_2 >= NOT && LA134_2 <= OBJECT)||(LA134_2 >= OPERATOR && LA134_2 <= OUT)||(LA134_2 >= PLUS && LA134_2 <= POINTER2)||LA134_2==PROCEDURE||LA134_2==QuotedString||(LA134_2 >= READ && LA134_2 <= READONLY)||(LA134_2 >= REFERENCE && LA134_2 <= REGISTER)||LA134_2==REMOVE||LA134_2==SEMI||(LA134_2 >= SHL && LA134_2 <= STAR)||(LA134_2 >= STORED && LA134_2 <= STRING)||LA134_2==TRUE||LA134_2==TkAsmHexNum||(LA134_2 >= TkHexNum && LA134_2 <= TkIntNum)||LA134_2==TkRealNum||LA134_2==VARIANT||LA134_2==WRITE||(LA134_2 >= XOR && LA134_2 <= 201)) ) { - alt134=1; - } - - } - break; - case ABSTRACT: - case ASSEMBLER: - case CDECL: - case DEPRECATED: - case DISPID: - case DYNAMIC: - case EXPERIMENTAL: - case FAR: - case INLINE: - case LIBRARY: - case NEAR: - case OVERLOAD: - case OVERRIDE: - case PASCAL: - case PLATFORM: - case REINTRODUCE: - case SAFECALL: - case STATIC: - case STDCALL: - case VIRTUAL: - { - alt134=1; - } - break; - case FINAL: - { - int LA134_4 = input.LA(2); - if ( (LA134_4==SEMI) ) { - alt134=1; - } - - } - break; - case REGISTER: - { - int LA134_5 = input.LA(2); - if ( (LA134_5==SEMI) ) { - alt134=1; - } - - } - break; - case EXPORT: - { - int LA134_6 = input.LA(2); - if ( (LA134_6==SEMI) ) { - alt134=1; - } - - } - break; - case LOCAL: - { - int LA134_7 = input.LA(2); - if ( (LA134_7==SEMI) ) { - alt134=1; - } - - } - break; - } - switch (alt134) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:163: methodDirective - { - pushFollow(FOLLOW_methodDirective_in_classMethod8885); - methodDirective408=methodDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodDirective.add(methodDirective408.getTree()); - } - break; - - default : - break loop134; - } - } - - // AST REWRITE - // elements: customAttribute, typeDecl, CLASS, ident, customAttribute, FUNCTION, methodDirective, genericDefinition, formalParameterSection - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 358:30: -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? ^( TkFunctionReturn typeDecl ) ( methodDirective )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:33: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_0, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:52: ( 'class' )? - if ( stream_CLASS.hasNext() ) { - adaptor.addChild(root_0, stream_CLASS.nextNode()); - } - stream_CLASS.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:63: ^( 'function' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? ^( TkFunctionReturn typeDecl ) ( methodDirective )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_FUNCTION.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:76: ^( TkFunctionName ident ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); - adaptor.addChild(root_2, stream_ident.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:100: ( genericDefinition )? - if ( stream_genericDefinition.hasNext() ) { - adaptor.addChild(root_1, stream_genericDefinition.nextTree()); - } - stream_genericDefinition.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:121: ^( TkFunctionArgs ( formalParameterSection )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:138: ( formalParameterSection )? - if ( stream_formalParameterSection.hasNext() ) { - adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); - } - stream_formalParameterSection.reset(); - - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:165: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_1, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:184: ^( TkFunctionReturn typeDecl ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_2); - adaptor.addChild(root_2, stream_typeDecl.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:213: ( methodDirective )* - while ( stream_methodDirective.hasNext() ) { - adaptor.addChild(root_1, stream_methodDirective.nextTree()); - } - stream_methodDirective.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:32: ( customAttribute )? ( 'class' )? 'operator' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:32: ( customAttribute )? - int alt135=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt135=1; - } - break; - case CLASS: - { - int LA135_2 = input.LA(2); - if ( (synpred188_Delphi()) ) { - alt135=1; - } - } - break; - case OPERATOR: - { - int LA135_3 = input.LA(2); - if ( (synpred188_Delphi()) ) { - alt135=1; - } - } - break; - } - switch (alt135) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_classMethod9002); - customAttribute409=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute409.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:51: ( 'class' )? - int alt136=2; - int LA136_0 = input.LA(1); - if ( (LA136_0==CLASS) ) { - alt136=1; - } - switch (alt136) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:52: 'class' - { - string_literal410=(Token)match(input,CLASS,FOLLOW_CLASS_in_classMethod9007); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal410); - - } - break; - - } - - string_literal411=(Token)match(input,OPERATOR,FOLLOW_OPERATOR_in_classMethod9011); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_OPERATOR.add(string_literal411); - - pushFollow(FOLLOW_ident_in_classMethod9013); - ident412=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident412.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:79: ( genericDefinition )? - int alt137=2; - int LA137_0 = input.LA(1); - if ( (LA137_0==LT) ) { - alt137=1; - } - switch (alt137) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:80: genericDefinition - { - pushFollow(FOLLOW_genericDefinition_in_classMethod9016); - genericDefinition413=genericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_genericDefinition.add(genericDefinition413.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:100: ( formalParameterSection )? - int alt138=2; - int LA138_0 = input.LA(1); - if ( (LA138_0==LPAREN) ) { - alt138=1; - } - switch (alt138) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:101: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_classMethod9021); - formalParameterSection414=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection414.getTree()); - } - break; - - } - - char_literal415=(Token)match(input,COLON,FOLLOW_COLON_in_classMethod9025); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal415); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:130: ( customAttribute )? - int alt139=2; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA139_1 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case PACKED: - { - int LA139_2 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case ARRAY: - { - int LA139_3 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case SET: - { - int LA139_4 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case FILE: - { - int LA139_5 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case CLASS: - { - int LA139_6 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case DISPINTERFACE: - case INTERFACE: - { - int LA139_7 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case OBJECT: - { - int LA139_8 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case RECORD: - { - int LA139_9 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case POINTER2: - { - int LA139_10 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case POINTER: - { - int LA139_11 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case STRING: - { - int LA139_12 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case TYPE: - { - int LA139_13 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case ANSISTRING: - { - int LA139_14 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case FUNCTION: - { - int LA139_15 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case PROCEDURE: - { - int LA139_16 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case REFERENCE: - { - int LA139_17 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case VARIANT: - { - int LA139_18 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case TkIdentifier: - { - int LA139_19 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case 200: - { - int LA139_20 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case ADD: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OPERATOR: - case OUT: - case READ: - case READONLY: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case WRITE: - { - int LA139_21 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case LPAREN: - { - int LA139_22 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case AT2: - { - int LA139_23 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case 201: - { - int LA139_24 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case NOT: - { - int LA139_25 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case PLUS: - { - int LA139_26 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case MINUS: - { - int LA139_27 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case TkHexNum: - case TkIntNum: - { - int LA139_28 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case TkRealNum: - { - int LA139_29 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case TkAsmHexNum: - { - int LA139_30 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case TRUE: - { - int LA139_31 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case FALSE: - { - int LA139_32 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case NIL: - { - int LA139_33 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case ControlString: - { - int LA139_34 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case QuotedString: - { - int LA139_35 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case INHERITED: - { - int LA139_36 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case DOT: - { - int LA139_37 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case LT: - { - int LA139_38 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case AND: - case AS: - case DIV: - case MOD: - case OR: - case SHL: - case SHR: - case SLASH: - case STAR: - case XOR: - { - int LA139_39 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case EQUAL: - { - int LA139_40 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case GE: - case GT: - case IN: - case IS: - case LE: - case NOT_EQUAL: - { - int LA139_41 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case DOTDOT: - { - int LA139_42 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - case SEMI: - { - int LA139_43 = input.LA(2); - if ( (synpred192_Delphi()) ) { - alt139=1; - } - } - break; - } - switch (alt139) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:131: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_classMethod9028); - customAttribute416=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute416.getTree()); - } - break; - - } - - pushFollow(FOLLOW_typeDecl_in_classMethod9032); - typeDecl417=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl417.getTree()); - char_literal418=(Token)match(input,SEMI,FOLLOW_SEMI_in_classMethod9034); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal418); - - // AST REWRITE - // elements: customAttribute, OPERATOR, typeDecl, CLASS, genericDefinition, ident, customAttribute, formalParameterSection - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 360:30: -> ( customAttribute )? ( 'class' )? ^( 'operator' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? typeDecl ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:33: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_0, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:52: ( 'class' )? - if ( stream_CLASS.hasNext() ) { - adaptor.addChild(root_0, stream_CLASS.nextNode()); - } - stream_CLASS.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:63: ^( 'operator' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? typeDecl ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_OPERATOR.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:76: ^( TkFunctionName ident ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); - adaptor.addChild(root_2, stream_ident.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:100: ( genericDefinition )? - if ( stream_genericDefinition.hasNext() ) { - adaptor.addChild(root_1, stream_genericDefinition.nextTree()); - } - stream_genericDefinition.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:121: ^( TkFunctionArgs ( formalParameterSection )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:138: ( formalParameterSection )? - if ( stream_formalParameterSection.hasNext() ) { - adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); - } - stream_formalParameterSection.reset(); - - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:165: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_1, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - adaptor.addChild(root_1, stream_typeDecl.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 92, classMethod_StartIndex); } - - } - return retval; - } - // $ANTLR end "classMethod" - - - public static class classField_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classField" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:362:1: classField : ( customAttribute )? identList ':' typeDecl ';' ( hintingDirective )* -> ( customAttribute )? ^( TkClassField ^( TkVariableIdents identList ) ^( TkVariableType typeDecl ) ) ; - public final DelphiParser.classField_return classField() throws RecognitionException { - DelphiParser.classField_return retval = new DelphiParser.classField_return(); - retval.start = input.LT(1); - int classField_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal421=null; - Token char_literal423=null; - ParserRuleReturnScope customAttribute419 =null; - ParserRuleReturnScope identList420 =null; - ParserRuleReturnScope typeDecl422 =null; - ParserRuleReturnScope hintingDirective424 =null; - - Object char_literal421_tree=null; - Object char_literal423_tree=null; - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_identList=new RewriteRuleSubtreeStream(adaptor,"rule identList"); - RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 93) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:362:30: ( ( customAttribute )? identList ':' typeDecl ';' ( hintingDirective )* -> ( customAttribute )? ^( TkClassField ^( TkVariableIdents identList ) ^( TkVariableType typeDecl ) ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:362:32: ( customAttribute )? identList ':' typeDecl ';' ( hintingDirective )* - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:362:32: ( customAttribute )? - int alt141=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt141=1; - } - break; - case TkIdentifier: - { - int LA141_2 = input.LA(2); - if ( (synpred193_Delphi()) ) { - alt141=1; - } - } - break; - case 200: - { - int LA141_3 = input.LA(2); - if ( (synpred193_Delphi()) ) { - alt141=1; - } - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA141_4 = input.LA(2); - if ( (synpred193_Delphi()) ) { - alt141=1; - } - } - break; - } - switch (alt141) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:362:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_classField9163); - customAttribute419=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute419.getTree()); - } - break; - - } - - pushFollow(FOLLOW_identList_in_classField9167); - identList420=identList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_identList.add(identList420.getTree()); - char_literal421=(Token)match(input,COLON,FOLLOW_COLON_in_classField9169); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal421); - - pushFollow(FOLLOW_typeDecl_in_classField9171); - typeDecl422=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl422.getTree()); - char_literal423=(Token)match(input,SEMI,FOLLOW_SEMI_in_classField9173); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal423); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:362:78: ( hintingDirective )* - loop142: - while (true) { - int alt142=2; - int LA142_0 = input.LA(1); - if ( (LA142_0==DEPRECATED||LA142_0==EXPERIMENTAL||LA142_0==LIBRARY||LA142_0==PLATFORM) ) { - alt142=1; - } - - switch (alt142) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:362:79: hintingDirective - { - pushFollow(FOLLOW_hintingDirective_in_classField9176); - hintingDirective424=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective424.getTree()); - } - break; - - default : - break loop142; - } - } - - // AST REWRITE - // elements: identList, customAttribute, typeDecl - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 363:30: -> ( customAttribute )? ^( TkClassField ^( TkVariableIdents identList ) ^( TkVariableType typeDecl ) ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:33: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_0, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:52: ^( TkClassField ^( TkVariableIdents identList ) ^( TkVariableType typeDecl ) ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassField, "TkClassField"), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:67: ^( TkVariableIdents identList ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableIdents, "TkVariableIdents"), root_2); - adaptor.addChild(root_2, stream_identList.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:97: ^( TkVariableType typeDecl ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_2); - adaptor.addChild(root_2, stream_typeDecl.nextTree()); - adaptor.addChild(root_1, root_2); - } - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 93, classField_StartIndex); } - - } - return retval; - } - // $ANTLR end "classField" - - - public static class classProperty_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classProperty" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:1: classProperty : ( customAttribute )? ( 'class' )? 'property' ident ( classPropertyArray )? ( ':' genericTypeIdent )? ( classPropertyIndex )? ( classPropertySpecifier )* ';' ( classPropertyEndSpecifier )* -> ^( 'property' ^( TkVariableIdents ident ) ^( TkVariableType ( genericTypeIdent )? ) ( classPropertySpecifier )* ) ; - public final DelphiParser.classProperty_return classProperty() throws RecognitionException { - DelphiParser.classProperty_return retval = new DelphiParser.classProperty_return(); - retval.start = input.LT(1); - int classProperty_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal426=null; - Token string_literal427=null; - Token char_literal430=null; - Token char_literal434=null; - ParserRuleReturnScope customAttribute425 =null; - ParserRuleReturnScope ident428 =null; - ParserRuleReturnScope classPropertyArray429 =null; - ParserRuleReturnScope genericTypeIdent431 =null; - ParserRuleReturnScope classPropertyIndex432 =null; - ParserRuleReturnScope classPropertySpecifier433 =null; - ParserRuleReturnScope classPropertyEndSpecifier435 =null; - - Object string_literal426_tree=null; - Object string_literal427_tree=null; - Object char_literal430_tree=null; - Object char_literal434_tree=null; - RewriteRuleTokenStream stream_PROPERTY=new RewriteRuleTokenStream(adaptor,"token PROPERTY"); - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_classPropertyEndSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule classPropertyEndSpecifier"); - RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); - RewriteRuleSubtreeStream stream_genericTypeIdent=new RewriteRuleSubtreeStream(adaptor,"rule genericTypeIdent"); - RewriteRuleSubtreeStream stream_classPropertyIndex=new RewriteRuleSubtreeStream(adaptor,"rule classPropertyIndex"); - RewriteRuleSubtreeStream stream_classPropertyArray=new RewriteRuleSubtreeStream(adaptor,"rule classPropertyArray"); - RewriteRuleSubtreeStream stream_classPropertySpecifier=new RewriteRuleSubtreeStream(adaptor,"rule classPropertySpecifier"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 94) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:30: ( ( customAttribute )? ( 'class' )? 'property' ident ( classPropertyArray )? ( ':' genericTypeIdent )? ( classPropertyIndex )? ( classPropertySpecifier )* ';' ( classPropertyEndSpecifier )* -> ^( 'property' ^( TkVariableIdents ident ) ^( TkVariableType ( genericTypeIdent )? ) ( classPropertySpecifier )* ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:32: ( customAttribute )? ( 'class' )? 'property' ident ( classPropertyArray )? ( ':' genericTypeIdent )? ( classPropertyIndex )? ( classPropertySpecifier )* ';' ( classPropertyEndSpecifier )* - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:32: ( customAttribute )? - int alt143=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt143=1; - } - break; - case CLASS: - { - int LA143_2 = input.LA(2); - if ( (synpred195_Delphi()) ) { - alt143=1; - } - } - break; - case PROPERTY: - { - int LA143_3 = input.LA(2); - if ( (synpred195_Delphi()) ) { - alt143=1; - } - } - break; - } - switch (alt143) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_classProperty9283); - customAttribute425=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute425.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:51: ( 'class' )? - int alt144=2; - int LA144_0 = input.LA(1); - if ( (LA144_0==CLASS) ) { - alt144=1; - } - switch (alt144) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:52: 'class' - { - string_literal426=(Token)match(input,CLASS,FOLLOW_CLASS_in_classProperty9288); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal426); - - } - break; - - } - - string_literal427=(Token)match(input,PROPERTY,FOLLOW_PROPERTY_in_classProperty9292); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_PROPERTY.add(string_literal427); - - pushFollow(FOLLOW_ident_in_classProperty9294); - ident428=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident428.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:79: ( classPropertyArray )? - int alt145=2; - int LA145_0 = input.LA(1); - if ( (LA145_0==LBRACK) ) { - alt145=1; - } - switch (alt145) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:80: classPropertyArray - { - pushFollow(FOLLOW_classPropertyArray_in_classProperty9297); - classPropertyArray429=classPropertyArray(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classPropertyArray.add(classPropertyArray429.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:101: ( ':' genericTypeIdent )? - int alt146=2; - int LA146_0 = input.LA(1); - if ( (LA146_0==COLON) ) { - alt146=1; - } - switch (alt146) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:102: ':' genericTypeIdent - { - char_literal430=(Token)match(input,COLON,FOLLOW_COLON_in_classProperty9302); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal430); - - pushFollow(FOLLOW_genericTypeIdent_in_classProperty9304); - genericTypeIdent431=genericTypeIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_genericTypeIdent.add(genericTypeIdent431.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:125: ( classPropertyIndex )? - int alt147=2; - int LA147_0 = input.LA(1); - if ( (LA147_0==INDEX) ) { - alt147=1; - } - switch (alt147) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:126: classPropertyIndex - { - pushFollow(FOLLOW_classPropertyIndex_in_classProperty9309); - classPropertyIndex432=classPropertyIndex(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classPropertyIndex.add(classPropertyIndex432.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:147: ( classPropertySpecifier )* - loop148: - while (true) { - int alt148=2; - int LA148_0 = input.LA(1); - if ( (LA148_0==DEFAULT||LA148_0==DISPID||LA148_0==IMPLEMENTS||LA148_0==NODEFAULT||(LA148_0 >= READ && LA148_0 <= READONLY)||LA148_0==STORED||(LA148_0 >= WRITE && LA148_0 <= WRITEONLY)) ) { - alt148=1; - } - - switch (alt148) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:148: classPropertySpecifier - { - pushFollow(FOLLOW_classPropertySpecifier_in_classProperty9314); - classPropertySpecifier433=classPropertySpecifier(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classPropertySpecifier.add(classPropertySpecifier433.getTree()); - } - break; - - default : - break loop148; - } - } - - char_literal434=(Token)match(input,SEMI,FOLLOW_SEMI_in_classProperty9318); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal434); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:177: ( classPropertyEndSpecifier )* - loop149: - while (true) { - int alt149=2; - switch ( input.LA(1) ) { - case STORED: - { - int LA149_2 = input.LA(2); - if ( ((LA149_2 >= ADD && LA149_2 <= ANSISTRING)||LA149_2==AS||(LA149_2 >= AT && LA149_2 <= AT2)||LA149_2==BREAK||(LA149_2 >= CONTAINS && LA149_2 <= ControlString)||LA149_2==DEFAULT||LA149_2==DIV||LA149_2==DOT||LA149_2==EQUAL||LA149_2==EXIT||LA149_2==EXPORT||LA149_2==FALSE||LA149_2==FINAL||(LA149_2 >= FUNCTION && LA149_2 <= GE)||LA149_2==GT||(LA149_2 >= IMPLEMENTS && LA149_2 <= INHERITED)||LA149_2==IS||LA149_2==LBRACK||LA149_2==LE||(LA149_2 >= LOCAL && LA149_2 <= NAME)||LA149_2==NIL||(LA149_2 >= NOT && LA149_2 <= OBJECT)||(LA149_2 >= OPERATOR && LA149_2 <= OUT)||(LA149_2 >= PLUS && LA149_2 <= POINTER2)||LA149_2==PROCEDURE||LA149_2==QuotedString||(LA149_2 >= READ && LA149_2 <= READONLY)||(LA149_2 >= REFERENCE && LA149_2 <= REGISTER)||LA149_2==REMOVE||LA149_2==SEMI||(LA149_2 >= SHL && LA149_2 <= STAR)||(LA149_2 >= STORED && LA149_2 <= STRING)||LA149_2==TRUE||LA149_2==TkAsmHexNum||(LA149_2 >= TkHexNum && LA149_2 <= TkIntNum)||LA149_2==TkRealNum||LA149_2==VARIANT||LA149_2==WRITE||(LA149_2 >= XOR && LA149_2 <= 201)) ) { - alt149=1; - } - - } - break; - case DEFAULT: - { - int LA149_3 = input.LA(2); - if ( ((LA149_3 >= ADD && LA149_3 <= ANSISTRING)||LA149_3==AS||(LA149_3 >= AT && LA149_3 <= AT2)||LA149_3==BREAK||(LA149_3 >= CONTAINS && LA149_3 <= ControlString)||LA149_3==DEFAULT||LA149_3==DIV||LA149_3==DOT||LA149_3==EQUAL||LA149_3==EXIT||LA149_3==EXPORT||LA149_3==FALSE||LA149_3==FINAL||(LA149_3 >= FUNCTION && LA149_3 <= GE)||LA149_3==GT||(LA149_3 >= IMPLEMENTS && LA149_3 <= INHERITED)||LA149_3==IS||LA149_3==LBRACK||LA149_3==LE||(LA149_3 >= LOCAL && LA149_3 <= NAME)||LA149_3==NIL||(LA149_3 >= NOT && LA149_3 <= OBJECT)||(LA149_3 >= OPERATOR && LA149_3 <= OUT)||(LA149_3 >= PLUS && LA149_3 <= POINTER2)||LA149_3==PROCEDURE||LA149_3==QuotedString||(LA149_3 >= READ && LA149_3 <= READONLY)||(LA149_3 >= REFERENCE && LA149_3 <= REGISTER)||LA149_3==REMOVE||LA149_3==SEMI||(LA149_3 >= SHL && LA149_3 <= STAR)||(LA149_3 >= STORED && LA149_3 <= STRING)||LA149_3==TRUE||LA149_3==TkAsmHexNum||(LA149_3 >= TkHexNum && LA149_3 <= TkIntNum)||LA149_3==TkRealNum||LA149_3==VARIANT||LA149_3==WRITE||(LA149_3 >= XOR && LA149_3 <= 201)) ) { - alt149=1; - } - - } - break; - case NODEFAULT: - { - alt149=1; - } - break; - } - switch (alt149) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:178: classPropertyEndSpecifier - { - pushFollow(FOLLOW_classPropertyEndSpecifier_in_classProperty9321); - classPropertyEndSpecifier435=classPropertyEndSpecifier(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_classPropertyEndSpecifier.add(classPropertyEndSpecifier435.getTree()); - } - break; - - default : - break loop149; - } - } - - // AST REWRITE - // elements: genericTypeIdent, classPropertySpecifier, ident, PROPERTY - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 366:31: -> ^( 'property' ^( TkVariableIdents ident ) ^( TkVariableType ( genericTypeIdent )? ) ( classPropertySpecifier )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:34: ^( 'property' ^( TkVariableIdents ident ) ^( TkVariableType ( genericTypeIdent )? ) ( classPropertySpecifier )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_PROPERTY.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:47: ^( TkVariableIdents ident ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableIdents, "TkVariableIdents"), root_2); - adaptor.addChild(root_2, stream_ident.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:73: ^( TkVariableType ( genericTypeIdent )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:90: ( genericTypeIdent )? - if ( stream_genericTypeIdent.hasNext() ) { - adaptor.addChild(root_2, stream_genericTypeIdent.nextTree()); - } - stream_genericTypeIdent.reset(); - - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:109: ( classPropertySpecifier )* - while ( stream_classPropertySpecifier.hasNext() ) { - adaptor.addChild(root_1, stream_classPropertySpecifier.nextTree()); - } - stream_classPropertySpecifier.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 94, classProperty_StartIndex); } - - } - return retval; - } - // $ANTLR end "classProperty" - - - public static class classPropertyArray_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classPropertyArray" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:1: classPropertyArray : '[' formalParameterList ']' ; - public final DelphiParser.classPropertyArray_return classPropertyArray() throws RecognitionException { - DelphiParser.classPropertyArray_return retval = new DelphiParser.classPropertyArray_return(); - retval.start = input.LT(1); - int classPropertyArray_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal436=null; - Token char_literal438=null; - ParserRuleReturnScope formalParameterList437 =null; - - Object char_literal436_tree=null; - Object char_literal438_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 95) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:30: ( '[' formalParameterList ']' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:32: '[' formalParameterList ']' - { - root_0 = (Object)adaptor.nil(); - - - char_literal436=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_classPropertyArray9487); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal436_tree = (Object)adaptor.create(char_literal436); - adaptor.addChild(root_0, char_literal436_tree); - } - - pushFollow(FOLLOW_formalParameterList_in_classPropertyArray9489); - formalParameterList437=formalParameterList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterList437.getTree()); - - char_literal438=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_classPropertyArray9491); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal438_tree = (Object)adaptor.create(char_literal438); - adaptor.addChild(root_0, char_literal438_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 95, classPropertyArray_StartIndex); } - - } - return retval; - } - // $ANTLR end "classPropertyArray" - - - public static class classPropertyIndex_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classPropertyIndex" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:1: classPropertyIndex : 'index' expression ( ';' )? ; - public final DelphiParser.classPropertyIndex_return classPropertyIndex() throws RecognitionException { - DelphiParser.classPropertyIndex_return retval = new DelphiParser.classPropertyIndex_return(); - retval.start = input.LT(1); - int classPropertyIndex_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal439=null; - Token char_literal441=null; - ParserRuleReturnScope expression440 =null; - - Object string_literal439_tree=null; - Object char_literal441_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 96) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:30: ( 'index' expression ( ';' )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:32: 'index' expression ( ';' )? - { - root_0 = (Object)adaptor.nil(); - - - string_literal439=(Token)match(input,INDEX,FOLLOW_INDEX_in_classPropertyIndex9538); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal439_tree = (Object)adaptor.create(string_literal439); - adaptor.addChild(root_0, string_literal439_tree); - } - - pushFollow(FOLLOW_expression_in_classPropertyIndex9540); - expression440=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression440.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:51: ( ';' )? - int alt150=2; - int LA150_0 = input.LA(1); - if ( (LA150_0==SEMI) ) { - int LA150_1 = input.LA(2); - if ( (synpred202_Delphi()) ) { - alt150=1; - } - } - switch (alt150) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:52: ';' - { - char_literal441=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyIndex9543); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal441_tree = (Object)adaptor.create(char_literal441); - adaptor.addChild(root_0, char_literal441_tree); - } - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 96, classPropertyIndex_StartIndex); } - - } - return retval; - } - // $ANTLR end "classPropertyIndex" - - - public static class classPropertySpecifier_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classPropertySpecifier" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:374:1: classPropertySpecifier : ( classPropertyReadWrite | classPropertyDispInterface | STORED expression | 'default' expression | 'default' | 'nodefault' | IMPLEMENTS typeId ); - public final DelphiParser.classPropertySpecifier_return classPropertySpecifier() throws RecognitionException { - DelphiParser.classPropertySpecifier_return retval = new DelphiParser.classPropertySpecifier_return(); - retval.start = input.LT(1); - int classPropertySpecifier_StartIndex = input.index(); - - Object root_0 = null; - - Token STORED444=null; - Token string_literal446=null; - Token string_literal448=null; - Token string_literal449=null; - Token IMPLEMENTS450=null; - ParserRuleReturnScope classPropertyReadWrite442 =null; - ParserRuleReturnScope classPropertyDispInterface443 =null; - ParserRuleReturnScope expression445 =null; - ParserRuleReturnScope expression447 =null; - ParserRuleReturnScope typeId451 =null; - - Object STORED444_tree=null; - Object string_literal446_tree=null; - Object string_literal448_tree=null; - Object string_literal449_tree=null; - Object IMPLEMENTS450_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 97) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:374:30: ( classPropertyReadWrite | classPropertyDispInterface | STORED expression | 'default' expression | 'default' | 'nodefault' | IMPLEMENTS typeId ) - int alt151=7; - switch ( input.LA(1) ) { - case READ: - case WRITE: - { - alt151=1; - } - break; - case DISPID: - case READONLY: - case WRITEONLY: - { - alt151=2; - } - break; - case STORED: - { - alt151=3; - } - break; - case DEFAULT: - { - int LA151_4 = input.LA(2); - if ( (synpred206_Delphi()) ) { - alt151=4; - } - else if ( (synpred207_Delphi()) ) { - alt151=5; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 151, 4, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case NODEFAULT: - { - alt151=6; - } - break; - case IMPLEMENTS: - { - alt151=7; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 151, 0, input); - throw nvae; - } - switch (alt151) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:374:32: classPropertyReadWrite - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classPropertyReadWrite_in_classPropertySpecifier9590); - classPropertyReadWrite442=classPropertyReadWrite(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classPropertyReadWrite442.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:32: classPropertyDispInterface - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_classPropertyDispInterface_in_classPropertySpecifier9626); - classPropertyDispInterface443=classPropertyDispInterface(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, classPropertyDispInterface443.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:376:32: STORED expression - { - root_0 = (Object)adaptor.nil(); - - - STORED444=(Token)match(input,STORED,FOLLOW_STORED_in_classPropertySpecifier9659); if (state.failed) return retval; - if ( state.backtracking==0 ) { - STORED444_tree = (Object)adaptor.create(STORED444); - adaptor.addChild(root_0, STORED444_tree); - } - - pushFollow(FOLLOW_expression_in_classPropertySpecifier9661); - expression445=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression445.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:377:32: 'default' expression - { - root_0 = (Object)adaptor.nil(); - - - string_literal446=(Token)match(input,DEFAULT,FOLLOW_DEFAULT_in_classPropertySpecifier9694); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal446_tree = (Object)adaptor.create(string_literal446); - adaptor.addChild(root_0, string_literal446_tree); - } - - pushFollow(FOLLOW_expression_in_classPropertySpecifier9696); - expression447=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression447.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:378:32: 'default' - { - root_0 = (Object)adaptor.nil(); - - - string_literal448=(Token)match(input,DEFAULT,FOLLOW_DEFAULT_in_classPropertySpecifier9729); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal448_tree = (Object)adaptor.create(string_literal448); - adaptor.addChild(root_0, string_literal448_tree); - } - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:379:32: 'nodefault' - { - root_0 = (Object)adaptor.nil(); - - - string_literal449=(Token)match(input,NODEFAULT,FOLLOW_NODEFAULT_in_classPropertySpecifier9778); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal449_tree = (Object)adaptor.create(string_literal449); - adaptor.addChild(root_0, string_literal449_tree); - } - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:380:32: IMPLEMENTS typeId - { - root_0 = (Object)adaptor.nil(); - - - IMPLEMENTS450=(Token)match(input,IMPLEMENTS,FOLLOW_IMPLEMENTS_in_classPropertySpecifier9811); if (state.failed) return retval; - if ( state.backtracking==0 ) { - IMPLEMENTS450_tree = (Object)adaptor.create(IMPLEMENTS450); - adaptor.addChild(root_0, IMPLEMENTS450_tree); - } - - pushFollow(FOLLOW_typeId_in_classPropertySpecifier9813); - typeId451=typeId(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId451.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 97, classPropertySpecifier_StartIndex); } - - } - return retval; - } - // $ANTLR end "classPropertySpecifier" - - - public static class classPropertyEndSpecifier_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classPropertyEndSpecifier" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:1: classPropertyEndSpecifier : ( STORED expression ';' | 'default' expression ';' | 'default' ';' | 'nodefault' ';' ); - public final DelphiParser.classPropertyEndSpecifier_return classPropertyEndSpecifier() throws RecognitionException { - DelphiParser.classPropertyEndSpecifier_return retval = new DelphiParser.classPropertyEndSpecifier_return(); - retval.start = input.LT(1); - int classPropertyEndSpecifier_StartIndex = input.index(); - - Object root_0 = null; - - Token STORED452=null; - Token char_literal454=null; - Token string_literal455=null; - Token char_literal457=null; - Token string_literal458=null; - Token char_literal459=null; - Token string_literal460=null; - Token char_literal461=null; - ParserRuleReturnScope expression453 =null; - ParserRuleReturnScope expression456 =null; - - Object STORED452_tree=null; - Object char_literal454_tree=null; - Object string_literal455_tree=null; - Object char_literal457_tree=null; - Object string_literal458_tree=null; - Object char_literal459_tree=null; - Object string_literal460_tree=null; - Object char_literal461_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 98) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:30: ( STORED expression ';' | 'default' expression ';' | 'default' ';' | 'nodefault' ';' ) - int alt152=4; - switch ( input.LA(1) ) { - case STORED: - { - alt152=1; - } - break; - case DEFAULT: - { - int LA152_2 = input.LA(2); - if ( (LA152_2==SEMI) ) { - int LA152_4 = input.LA(3); - if ( (synpred210_Delphi()) ) { - alt152=2; - } - else if ( (synpred211_Delphi()) ) { - alt152=3; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { - input.consume(); - } - NoViableAltException nvae = - new NoViableAltException("", 152, 4, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - else if ( ((LA152_2 >= ADD && LA152_2 <= ANSISTRING)||LA152_2==AS||(LA152_2 >= AT && LA152_2 <= AT2)||LA152_2==BREAK||(LA152_2 >= CONTAINS && LA152_2 <= ControlString)||LA152_2==DEFAULT||LA152_2==DIV||LA152_2==DOT||LA152_2==EQUAL||LA152_2==EXIT||LA152_2==EXPORT||LA152_2==FALSE||LA152_2==FINAL||(LA152_2 >= FUNCTION && LA152_2 <= GE)||LA152_2==GT||(LA152_2 >= IMPLEMENTS && LA152_2 <= INHERITED)||LA152_2==IS||LA152_2==LBRACK||LA152_2==LE||(LA152_2 >= LOCAL && LA152_2 <= NAME)||LA152_2==NIL||(LA152_2 >= NOT && LA152_2 <= OBJECT)||(LA152_2 >= OPERATOR && LA152_2 <= OUT)||(LA152_2 >= PLUS && LA152_2 <= POINTER2)||LA152_2==PROCEDURE||LA152_2==QuotedString||(LA152_2 >= READ && LA152_2 <= READONLY)||(LA152_2 >= REFERENCE && LA152_2 <= REGISTER)||LA152_2==REMOVE||(LA152_2 >= SHL && LA152_2 <= STAR)||(LA152_2 >= STORED && LA152_2 <= STRING)||LA152_2==TRUE||LA152_2==TkAsmHexNum||(LA152_2 >= TkHexNum && LA152_2 <= TkIntNum)||LA152_2==TkRealNum||LA152_2==VARIANT||LA152_2==WRITE||(LA152_2 >= XOR && LA152_2 <= 201)) ) { - alt152=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 152, 2, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case NODEFAULT: - { - alt152=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 152, 0, input); - throw nvae; - } - switch (alt152) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:32: STORED expression ';' - { - root_0 = (Object)adaptor.nil(); - - - STORED452=(Token)match(input,STORED,FOLLOW_STORED_in_classPropertyEndSpecifier9853); if (state.failed) return retval; - if ( state.backtracking==0 ) { - STORED452_tree = (Object)adaptor.create(STORED452); - adaptor.addChild(root_0, STORED452_tree); - } - - pushFollow(FOLLOW_expression_in_classPropertyEndSpecifier9855); - expression453=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression453.getTree()); - - char_literal454=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyEndSpecifier9857); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal454_tree = (Object)adaptor.create(char_literal454); - adaptor.addChild(root_0, char_literal454_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:383:32: 'default' expression ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal455=(Token)match(input,DEFAULT,FOLLOW_DEFAULT_in_classPropertyEndSpecifier9894); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal455_tree = (Object)adaptor.create(string_literal455); - adaptor.addChild(root_0, string_literal455_tree); - } - - pushFollow(FOLLOW_expression_in_classPropertyEndSpecifier9896); - expression456=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression456.getTree()); - - char_literal457=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyEndSpecifier9898); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal457_tree = (Object)adaptor.create(char_literal457); - adaptor.addChild(root_0, char_literal457_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:384:32: 'default' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal458=(Token)match(input,DEFAULT,FOLLOW_DEFAULT_in_classPropertyEndSpecifier9931); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal458_tree = (Object)adaptor.create(string_literal458); - adaptor.addChild(root_0, string_literal458_tree); - } - - char_literal459=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyEndSpecifier9933); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal459_tree = (Object)adaptor.create(char_literal459); - adaptor.addChild(root_0, char_literal459_tree); - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:385:32: 'nodefault' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal460=(Token)match(input,NODEFAULT,FOLLOW_NODEFAULT_in_classPropertyEndSpecifier9966); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal460_tree = (Object)adaptor.create(string_literal460); - adaptor.addChild(root_0, string_literal460_tree); - } - - char_literal461=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyEndSpecifier9968); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal461_tree = (Object)adaptor.create(char_literal461); - adaptor.addChild(root_0, char_literal461_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 98, classPropertyEndSpecifier_StartIndex); } - - } - return retval; - } - // $ANTLR end "classPropertyEndSpecifier" - - - public static class classPropertyReadWrite_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classPropertyReadWrite" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:388:1: classPropertyReadWrite : ( 'read' qualifiedIdent ( '[' expression ']' )? -> ^( 'read' qualifiedIdent ) | 'write' qualifiedIdent ( '[' expression ']' )? -> ^( 'write' qualifiedIdent ) ); - public final DelphiParser.classPropertyReadWrite_return classPropertyReadWrite() throws RecognitionException { - DelphiParser.classPropertyReadWrite_return retval = new DelphiParser.classPropertyReadWrite_return(); - retval.start = input.LT(1); - int classPropertyReadWrite_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal462=null; - Token char_literal464=null; - Token char_literal466=null; - Token string_literal467=null; - Token char_literal469=null; - Token char_literal471=null; - ParserRuleReturnScope qualifiedIdent463 =null; - ParserRuleReturnScope expression465 =null; - ParserRuleReturnScope qualifiedIdent468 =null; - ParserRuleReturnScope expression470 =null; - - Object string_literal462_tree=null; - Object char_literal464_tree=null; - Object char_literal466_tree=null; - Object string_literal467_tree=null; - Object char_literal469_tree=null; - Object char_literal471_tree=null; - RewriteRuleTokenStream stream_READ=new RewriteRuleTokenStream(adaptor,"token READ"); - RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); - RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); - RewriteRuleTokenStream stream_WRITE=new RewriteRuleTokenStream(adaptor,"token WRITE"); - RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression"); - RewriteRuleSubtreeStream stream_qualifiedIdent=new RewriteRuleSubtreeStream(adaptor,"rule qualifiedIdent"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 99) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:388:30: ( 'read' qualifiedIdent ( '[' expression ']' )? -> ^( 'read' qualifiedIdent ) | 'write' qualifiedIdent ( '[' expression ']' )? -> ^( 'write' qualifiedIdent ) ) - int alt155=2; - int LA155_0 = input.LA(1); - if ( (LA155_0==READ) ) { - alt155=1; - } - else if ( (LA155_0==WRITE) ) { - alt155=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 155, 0, input); - throw nvae; - } - - switch (alt155) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:388:32: 'read' qualifiedIdent ( '[' expression ']' )? - { - string_literal462=(Token)match(input,READ,FOLLOW_READ_in_classPropertyReadWrite10012); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_READ.add(string_literal462); - - pushFollow(FOLLOW_qualifiedIdent_in_classPropertyReadWrite10014); - qualifiedIdent463=qualifiedIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_qualifiedIdent.add(qualifiedIdent463.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:388:54: ( '[' expression ']' )? - int alt153=2; - int LA153_0 = input.LA(1); - if ( (LA153_0==LBRACK) ) { - alt153=1; - } - switch (alt153) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:388:55: '[' expression ']' - { - char_literal464=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_classPropertyReadWrite10017); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LBRACK.add(char_literal464); - - pushFollow(FOLLOW_expression_in_classPropertyReadWrite10019); - expression465=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_expression.add(expression465.getTree()); - char_literal466=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_classPropertyReadWrite10021); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RBRACK.add(char_literal466); - - } - break; - - } - - // AST REWRITE - // elements: READ, qualifiedIdent - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 389:30: -> ^( 'read' qualifiedIdent ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:389:33: ^( 'read' qualifiedIdent ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_READ.nextNode(), root_1); - adaptor.addChild(root_1, stream_qualifiedIdent.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:390:32: 'write' qualifiedIdent ( '[' expression ']' )? - { - string_literal467=(Token)match(input,WRITE,FOLLOW_WRITE_in_classPropertyReadWrite10095); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_WRITE.add(string_literal467); - - pushFollow(FOLLOW_qualifiedIdent_in_classPropertyReadWrite10097); - qualifiedIdent468=qualifiedIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_qualifiedIdent.add(qualifiedIdent468.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:390:55: ( '[' expression ']' )? - int alt154=2; - int LA154_0 = input.LA(1); - if ( (LA154_0==LBRACK) ) { - alt154=1; - } - switch (alt154) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:390:56: '[' expression ']' - { - char_literal469=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_classPropertyReadWrite10100); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LBRACK.add(char_literal469); - - pushFollow(FOLLOW_expression_in_classPropertyReadWrite10102); - expression470=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_expression.add(expression470.getTree()); - char_literal471=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_classPropertyReadWrite10104); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RBRACK.add(char_literal471); - - } - break; - - } - - // AST REWRITE - // elements: WRITE, qualifiedIdent - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 391:30: -> ^( 'write' qualifiedIdent ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:391:33: ^( 'write' qualifiedIdent ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_WRITE.nextNode(), root_1); - adaptor.addChild(root_1, stream_qualifiedIdent.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 99, classPropertyReadWrite_StartIndex); } - - } - return retval; - } - // $ANTLR end "classPropertyReadWrite" - - - public static class classPropertyDispInterface_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "classPropertyDispInterface" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:393:1: classPropertyDispInterface : ( 'readonly' ';' | 'writeonly' ';' | dispIDDirective ); - public final DelphiParser.classPropertyDispInterface_return classPropertyDispInterface() throws RecognitionException { - DelphiParser.classPropertyDispInterface_return retval = new DelphiParser.classPropertyDispInterface_return(); - retval.start = input.LT(1); - int classPropertyDispInterface_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal472=null; - Token char_literal473=null; - Token string_literal474=null; - Token char_literal475=null; - ParserRuleReturnScope dispIDDirective476 =null; - - Object string_literal472_tree=null; - Object char_literal473_tree=null; - Object string_literal474_tree=null; - Object char_literal475_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 100) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:393:30: ( 'readonly' ';' | 'writeonly' ';' | dispIDDirective ) - int alt156=3; - switch ( input.LA(1) ) { - case READONLY: - { - alt156=1; - } - break; - case WRITEONLY: - { - alt156=2; - } - break; - case DISPID: - { - alt156=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 156, 0, input); - throw nvae; - } - switch (alt156) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:393:32: 'readonly' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal472=(Token)match(input,READONLY,FOLLOW_READONLY_in_classPropertyDispInterface10183); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal472_tree = (Object)adaptor.create(string_literal472); - adaptor.addChild(root_0, string_literal472_tree); - } - - char_literal473=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyDispInterface10185); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal473_tree = (Object)adaptor.create(char_literal473); - adaptor.addChild(root_0, char_literal473_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:394:32: 'writeonly' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal474=(Token)match(input,WRITEONLY,FOLLOW_WRITEONLY_in_classPropertyDispInterface10218); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal474_tree = (Object)adaptor.create(string_literal474); - adaptor.addChild(root_0, string_literal474_tree); - } - - char_literal475=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyDispInterface10220); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal475_tree = (Object)adaptor.create(char_literal475); - adaptor.addChild(root_0, char_literal475_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:395:32: dispIDDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_dispIDDirective_in_classPropertyDispInterface10253); - dispIDDirective476=dispIDDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, dispIDDirective476.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 100, classPropertyDispInterface_StartIndex); } - - } - return retval; - } - // $ANTLR end "classPropertyDispInterface" - - - public static class visibility_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "visibility" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:397:1: visibility : ( ( STRICT )? 'protected' | ( STRICT )? 'private' | 'public' | 'published' | 'automated' ); - public final DelphiParser.visibility_return visibility() throws RecognitionException { - DelphiParser.visibility_return retval = new DelphiParser.visibility_return(); - retval.start = input.LT(1); - int visibility_StartIndex = input.index(); - - Object root_0 = null; - - Token STRICT477=null; - Token string_literal478=null; - Token STRICT479=null; - Token string_literal480=null; - Token string_literal481=null; - Token string_literal482=null; - Token string_literal483=null; - - Object STRICT477_tree=null; - Object string_literal478_tree=null; - Object STRICT479_tree=null; - Object string_literal480_tree=null; - Object string_literal481_tree=null; - Object string_literal482_tree=null; - Object string_literal483_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 101) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:397:30: ( ( STRICT )? 'protected' | ( STRICT )? 'private' | 'public' | 'published' | 'automated' ) - int alt159=5; - switch ( input.LA(1) ) { - case STRICT: - { - int LA159_1 = input.LA(2); - if ( (LA159_1==PROTECTED) ) { - alt159=1; - } - else if ( (LA159_1==PRIVATE) ) { - alt159=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 159, 1, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case PROTECTED: - { - alt159=1; - } - break; - case PRIVATE: - { - alt159=2; - } - break; - case PUBLIC: - { - alt159=3; - } - break; - case PUBLISHED: - { - alt159=4; - } - break; - case AUTOMATED: - { - alt159=5; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 159, 0, input); - throw nvae; - } - switch (alt159) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:397:32: ( STRICT )? 'protected' - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:397:32: ( STRICT )? - int alt157=2; - int LA157_0 = input.LA(1); - if ( (LA157_0==STRICT) ) { - alt157=1; - } - switch (alt157) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:397:33: STRICT - { - STRICT477=(Token)match(input,STRICT,FOLLOW_STRICT_in_visibility10309); if (state.failed) return retval; - if ( state.backtracking==0 ) { - STRICT477_tree = (Object)adaptor.create(STRICT477); - adaptor.addChild(root_0, STRICT477_tree); - } - - } - break; - - } - - string_literal478=(Token)match(input,PROTECTED,FOLLOW_PROTECTED_in_visibility10313); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal478_tree = (Object)adaptor.create(string_literal478); - adaptor.addChild(root_0, string_literal478_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:398:32: ( STRICT )? 'private' - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:398:32: ( STRICT )? - int alt158=2; - int LA158_0 = input.LA(1); - if ( (LA158_0==STRICT) ) { - alt158=1; - } - switch (alt158) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:398:33: STRICT - { - STRICT479=(Token)match(input,STRICT,FOLLOW_STRICT_in_visibility10347); if (state.failed) return retval; - if ( state.backtracking==0 ) { - STRICT479_tree = (Object)adaptor.create(STRICT479); - adaptor.addChild(root_0, STRICT479_tree); - } - - } - break; - - } - - string_literal480=(Token)match(input,PRIVATE,FOLLOW_PRIVATE_in_visibility10351); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal480_tree = (Object)adaptor.create(string_literal480); - adaptor.addChild(root_0, string_literal480_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:399:32: 'public' - { - root_0 = (Object)adaptor.nil(); - - - string_literal481=(Token)match(input,PUBLIC,FOLLOW_PUBLIC_in_visibility10384); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal481_tree = (Object)adaptor.create(string_literal481); - adaptor.addChild(root_0, string_literal481_tree); - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:400:32: 'published' - { - root_0 = (Object)adaptor.nil(); - - - string_literal482=(Token)match(input,PUBLISHED,FOLLOW_PUBLISHED_in_visibility10417); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal482_tree = (Object)adaptor.create(string_literal482); - adaptor.addChild(root_0, string_literal482_tree); - } - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:401:32: 'automated' - { - root_0 = (Object)adaptor.nil(); - - - string_literal483=(Token)match(input,AUTOMATED,FOLLOW_AUTOMATED_in_visibility10450); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal483_tree = (Object)adaptor.create(string_literal483); - adaptor.addChild(root_0, string_literal483_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 101, visibility_StartIndex); } - - } - return retval; - } - // $ANTLR end "visibility" - - - public static class exportedProcHeading_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "exportedProcHeading" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:1: exportedProcHeading : ( 'procedure' ident ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( functionDirective )* | 'function' ident ( formalParameterSection )? ';' ( functionDirective )* ); - public final DelphiParser.exportedProcHeading_return exportedProcHeading() throws RecognitionException { - DelphiParser.exportedProcHeading_return retval = new DelphiParser.exportedProcHeading_return(); - retval.start = input.LT(1); - int exportedProcHeading_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal484=null; - Token char_literal487=null; - Token char_literal490=null; - Token string_literal492=null; - Token char_literal495=null; - ParserRuleReturnScope ident485 =null; - ParserRuleReturnScope formalParameterSection486 =null; - ParserRuleReturnScope customAttribute488 =null; - ParserRuleReturnScope typeDecl489 =null; - ParserRuleReturnScope functionDirective491 =null; - ParserRuleReturnScope ident493 =null; - ParserRuleReturnScope formalParameterSection494 =null; - ParserRuleReturnScope functionDirective496 =null; - - Object string_literal484_tree=null; - Object char_literal487_tree=null; - Object char_literal490_tree=null; - Object string_literal492_tree=null; - Object char_literal495_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 102) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:30: ( 'procedure' ident ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( functionDirective )* | 'function' ident ( formalParameterSection )? ';' ( functionDirective )* ) - int alt165=2; - int LA165_0 = input.LA(1); - if ( (LA165_0==PROCEDURE) ) { - alt165=1; - } - else if ( (LA165_0==FUNCTION) ) { - alt165=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 165, 0, input); - throw nvae; - } - - switch (alt165) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:32: 'procedure' ident ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( functionDirective )* - { - root_0 = (Object)adaptor.nil(); - - - string_literal484=(Token)match(input,PROCEDURE,FOLLOW_PROCEDURE_in_exportedProcHeading10504); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal484_tree = (Object)adaptor.create(string_literal484); - adaptor.addChild(root_0, string_literal484_tree); - } - - pushFollow(FOLLOW_ident_in_exportedProcHeading10506); - ident485=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident485.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:50: ( formalParameterSection )? - int alt160=2; - int LA160_0 = input.LA(1); - if ( (LA160_0==LPAREN) ) { - alt160=1; - } - switch (alt160) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:51: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_exportedProcHeading10509); - formalParameterSection486=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection486.getTree()); - - } - break; - - } - - char_literal487=(Token)match(input,COLON,FOLLOW_COLON_in_exportedProcHeading10513); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal487_tree = (Object)adaptor.create(char_literal487); - adaptor.addChild(root_0, char_literal487_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:80: ( customAttribute )? - int alt161=2; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA161_1 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case PACKED: - { - int LA161_2 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case ARRAY: - { - int LA161_3 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case SET: - { - int LA161_4 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case FILE: - { - int LA161_5 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case CLASS: - { - int LA161_6 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case DISPINTERFACE: - case INTERFACE: - { - int LA161_7 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case OBJECT: - { - int LA161_8 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case RECORD: - { - int LA161_9 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case POINTER2: - { - int LA161_10 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case POINTER: - { - int LA161_11 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case STRING: - { - int LA161_12 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case TYPE: - { - int LA161_13 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case ANSISTRING: - { - int LA161_14 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case FUNCTION: - { - int LA161_15 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case PROCEDURE: - { - int LA161_16 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case REFERENCE: - { - int LA161_17 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case VARIANT: - { - int LA161_18 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case TkIdentifier: - { - int LA161_19 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case 200: - { - int LA161_20 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case ADD: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OPERATOR: - case OUT: - case READ: - case READONLY: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case WRITE: - { - int LA161_21 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case LPAREN: - { - int LA161_22 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case AT2: - { - int LA161_23 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case 201: - { - int LA161_24 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case NOT: - { - int LA161_25 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case PLUS: - { - int LA161_26 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case MINUS: - { - int LA161_27 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case TkHexNum: - case TkIntNum: - { - int LA161_28 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case TkRealNum: - { - int LA161_29 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case TkAsmHexNum: - { - int LA161_30 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case TRUE: - { - int LA161_31 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case FALSE: - { - int LA161_32 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case NIL: - { - int LA161_33 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case ControlString: - { - int LA161_34 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case QuotedString: - { - int LA161_35 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case INHERITED: - { - int LA161_36 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case DOT: - { - int LA161_37 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case LT: - { - int LA161_38 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case AND: - case AS: - case DIV: - case MOD: - case OR: - case SHL: - case SHR: - case SLASH: - case STAR: - case XOR: - { - int LA161_39 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case EQUAL: - { - int LA161_40 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case GE: - case GT: - case IN: - case IS: - case LE: - case NOT_EQUAL: - { - int LA161_41 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case DOTDOT: - { - int LA161_42 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - case SEMI: - { - int LA161_43 = input.LA(2); - if ( (synpred224_Delphi()) ) { - alt161=1; - } - } - break; - } - switch (alt161) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:81: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_exportedProcHeading10516); - customAttribute488=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, customAttribute488.getTree()); - - } - break; - - } - - pushFollow(FOLLOW_typeDecl_in_exportedProcHeading10520); - typeDecl489=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl489.getTree()); - - char_literal490=(Token)match(input,SEMI,FOLLOW_SEMI_in_exportedProcHeading10522); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal490_tree = (Object)adaptor.create(char_literal490); - adaptor.addChild(root_0, char_literal490_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:112: ( functionDirective )* - loop162: - while (true) { - int alt162=2; - alt162 = dfa162.predict(input); - switch (alt162) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:113: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_exportedProcHeading10525); - functionDirective491=functionDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, functionDirective491.getTree()); - - } - break; - - default : - break loop162; - } - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:32: 'function' ident ( formalParameterSection )? ';' ( functionDirective )* - { - root_0 = (Object)adaptor.nil(); - - - string_literal492=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_exportedProcHeading10560); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal492_tree = (Object)adaptor.create(string_literal492); - adaptor.addChild(root_0, string_literal492_tree); - } - - pushFollow(FOLLOW_ident_in_exportedProcHeading10562); - ident493=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident493.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:49: ( formalParameterSection )? - int alt163=2; - int LA163_0 = input.LA(1); - if ( (LA163_0==LPAREN) ) { - alt163=1; - } - switch (alt163) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:50: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_exportedProcHeading10565); - formalParameterSection494=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection494.getTree()); - - } - break; - - } - - char_literal495=(Token)match(input,SEMI,FOLLOW_SEMI_in_exportedProcHeading10569); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal495_tree = (Object)adaptor.create(char_literal495); - adaptor.addChild(root_0, char_literal495_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:79: ( functionDirective )* - loop164: - while (true) { - int alt164=2; - alt164 = dfa164.predict(input); - switch (alt164) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:80: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_exportedProcHeading10572); - functionDirective496=functionDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, functionDirective496.getTree()); - - } - break; - - default : - break loop164; - } - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 102, exportedProcHeading_StartIndex); } - - } - return retval; - } - // $ANTLR end "exportedProcHeading" - - - public static class methodDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "methodDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:1: methodDecl : methodDeclHeading ';' ( methodDirective )* ( methodBody )? -> methodDeclHeading ( methodBody )? ; - public final DelphiParser.methodDecl_return methodDecl() throws RecognitionException { - DelphiParser.methodDecl_return retval = new DelphiParser.methodDecl_return(); - retval.start = input.LT(1); - int methodDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal498=null; - ParserRuleReturnScope methodDeclHeading497 =null; - ParserRuleReturnScope methodDirective499 =null; - ParserRuleReturnScope methodBody500 =null; - - Object char_literal498_tree=null; - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleSubtreeStream stream_methodBody=new RewriteRuleSubtreeStream(adaptor,"rule methodBody"); - RewriteRuleSubtreeStream stream_methodDirective=new RewriteRuleSubtreeStream(adaptor,"rule methodDirective"); - RewriteRuleSubtreeStream stream_methodDeclHeading=new RewriteRuleSubtreeStream(adaptor,"rule methodDeclHeading"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 103) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:30: ( methodDeclHeading ';' ( methodDirective )* ( methodBody )? -> methodDeclHeading ( methodBody )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:32: methodDeclHeading ';' ( methodDirective )* ( methodBody )? - { - pushFollow(FOLLOW_methodDeclHeading_in_methodDecl10629); - methodDeclHeading497=methodDeclHeading(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodDeclHeading.add(methodDeclHeading497.getTree()); - char_literal498=(Token)match(input,SEMI,FOLLOW_SEMI_in_methodDecl10631); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal498); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:54: ( methodDirective )* - loop166: - while (true) { - int alt166=2; - alt166 = dfa166.predict(input); - switch (alt166) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:55: methodDirective - { - pushFollow(FOLLOW_methodDirective_in_methodDecl10634); - methodDirective499=methodDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodDirective.add(methodDirective499.getTree()); - } - break; - - default : - break loop166; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:73: ( methodBody )? - int alt167=2; - switch ( input.LA(1) ) { - case LABEL: - { - int LA167_1 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case CONST: - case RESOURCESTRING: - { - int LA167_2 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case TYPE: - { - int LA167_3 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case THREADVAR: - case VAR: - { - int LA167_4 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case PROCEDURE: - { - int LA167_5 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case FUNCTION: - { - int LA167_6 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case LBRACK: - { - int LA167_7 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case CLASS: - { - int LA167_8 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - { - int LA167_9 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case EXPORTS: - { - int LA167_10 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case BEGIN: - { - int LA167_11 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case ASM: - { - int LA167_12 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - case SEMI: - { - int LA167_13 = input.LA(2); - if ( (synpred230_Delphi()) ) { - alt167=1; - } - } - break; - } - switch (alt167) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:74: methodBody - { - pushFollow(FOLLOW_methodBody_in_methodDecl10639); - methodBody500=methodBody(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodBody.add(methodBody500.getTree()); - } - break; - - } - - // AST REWRITE - // elements: methodBody, methodDeclHeading - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 409:87: -> methodDeclHeading ( methodBody )? - { - adaptor.addChild(root_0, stream_methodDeclHeading.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:108: ( methodBody )? - if ( stream_methodBody.hasNext() ) { - adaptor.addChild(root_0, stream_methodBody.nextTree()); - } - stream_methodBody.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 103, methodDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "methodDecl" - - - public static class methodDeclHeading_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "methodDeclHeading" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:1: methodDeclHeading : ( ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ) | ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) | ( customAttribute )? 'class' 'operator' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? -> ( customAttribute )? 'class' ^( 'operator' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) ); - public final DelphiParser.methodDeclHeading_return methodDeclHeading() throws RecognitionException { - DelphiParser.methodDeclHeading_return retval = new DelphiParser.methodDeclHeading_return(); - retval.start = input.LT(1); - int methodDeclHeading_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal502=null; - Token string_literal507=null; - Token string_literal508=null; - Token char_literal511=null; - Token string_literal515=null; - Token string_literal516=null; - Token char_literal519=null; - ParserRuleReturnScope customAttribute501 =null; - ParserRuleReturnScope methodKey503 =null; - ParserRuleReturnScope methodName504 =null; - ParserRuleReturnScope formalParameterSection505 =null; - ParserRuleReturnScope customAttribute506 =null; - ParserRuleReturnScope methodName509 =null; - ParserRuleReturnScope formalParameterSection510 =null; - ParserRuleReturnScope customAttribute512 =null; - ParserRuleReturnScope typeDecl513 =null; - ParserRuleReturnScope customAttribute514 =null; - ParserRuleReturnScope methodName517 =null; - ParserRuleReturnScope formalParameterSection518 =null; - ParserRuleReturnScope customAttribute520 =null; - ParserRuleReturnScope typeDecl521 =null; - - Object string_literal502_tree=null; - Object string_literal507_tree=null; - Object string_literal508_tree=null; - Object char_literal511_tree=null; - Object string_literal515_tree=null; - Object string_literal516_tree=null; - Object char_literal519_tree=null; - RewriteRuleTokenStream stream_OPERATOR=new RewriteRuleTokenStream(adaptor,"token OPERATOR"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); - RewriteRuleTokenStream stream_FUNCTION=new RewriteRuleTokenStream(adaptor,"token FUNCTION"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_methodKey=new RewriteRuleSubtreeStream(adaptor,"rule methodKey"); - RewriteRuleSubtreeStream stream_formalParameterSection=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterSection"); - RewriteRuleSubtreeStream stream_methodName=new RewriteRuleSubtreeStream(adaptor,"rule methodName"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 104) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:30: ( ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ) | ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) | ( customAttribute )? 'class' 'operator' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? -> ( customAttribute )? 'class' ^( 'operator' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) ) - int alt180=3; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA180_1 = input.LA(2); - if ( (synpred234_Delphi()) ) { - alt180=1; - } - else if ( (synpred240_Delphi()) ) { - alt180=2; - } - else if ( (true) ) { - alt180=3; - } - - } - break; - case CLASS: - { - int LA180_2 = input.LA(2); - if ( (synpred234_Delphi()) ) { - alt180=1; - } - else if ( (synpred240_Delphi()) ) { - alt180=2; - } - else if ( (true) ) { - alt180=3; - } - - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case PROCEDURE: - { - alt180=1; - } - break; - case FUNCTION: - { - alt180=2; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 180, 0, input); - throw nvae; - } - switch (alt180) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:32: ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:32: ( customAttribute )? - int alt168=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt168=1; - } - break; - case CLASS: - { - int LA168_2 = input.LA(2); - if ( (synpred231_Delphi()) ) { - alt168=1; - } - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case PROCEDURE: - { - int LA168_3 = input.LA(2); - if ( (synpred231_Delphi()) ) { - alt168=1; - } - } - break; - } - switch (alt168) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_methodDeclHeading10699); - customAttribute501=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute501.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:51: ( 'class' )? - int alt169=2; - int LA169_0 = input.LA(1); - if ( (LA169_0==CLASS) ) { - alt169=1; - } - switch (alt169) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:52: 'class' - { - string_literal502=(Token)match(input,CLASS,FOLLOW_CLASS_in_methodDeclHeading10704); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal502); - - } - break; - - } - - pushFollow(FOLLOW_methodKey_in_methodDeclHeading10709); - methodKey503=methodKey(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodKey.add(methodKey503.getTree()); - pushFollow(FOLLOW_methodName_in_methodDeclHeading10711); - methodName504=methodName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodName.add(methodName504.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:84: ( formalParameterSection )? - int alt170=2; - int LA170_0 = input.LA(1); - if ( (LA170_0==LPAREN) ) { - alt170=1; - } - switch (alt170) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:85: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_methodDeclHeading10714); - formalParameterSection505=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection505.getTree()); - } - break; - - } - - // AST REWRITE - // elements: methodKey, formalParameterSection, CLASS, customAttribute, methodName - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 412:30: -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:412:33: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_0, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:412:52: ( 'class' )? - if ( stream_CLASS.hasNext() ) { - adaptor.addChild(root_0, stream_CLASS.nextNode()); - } - stream_CLASS.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:412:64: ^( methodKey ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_methodKey.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:412:76: ^( TkFunctionName methodName ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); - adaptor.addChild(root_2, stream_methodName.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:412:105: ^( TkFunctionArgs ( formalParameterSection )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:412:122: ( formalParameterSection )? - if ( stream_formalParameterSection.hasNext() ) { - adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); - } - stream_formalParameterSection.reset(); - - adaptor.addChild(root_1, root_2); - } - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:32: ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:32: ( customAttribute )? - int alt171=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt171=1; - } - break; - case CLASS: - { - int LA171_2 = input.LA(2); - if ( (synpred235_Delphi()) ) { - alt171=1; - } - } - break; - case FUNCTION: - { - int LA171_3 = input.LA(2); - if ( (synpred235_Delphi()) ) { - alt171=1; - } - } - break; - } - switch (alt171) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_methodDeclHeading10812); - customAttribute506=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute506.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:51: ( 'class' )? - int alt172=2; - int LA172_0 = input.LA(1); - if ( (LA172_0==CLASS) ) { - alt172=1; - } - switch (alt172) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:52: 'class' - { - string_literal507=(Token)match(input,CLASS,FOLLOW_CLASS_in_methodDeclHeading10817); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal507); - - } - break; - - } - - string_literal508=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_methodDeclHeading10821); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_FUNCTION.add(string_literal508); - - pushFollow(FOLLOW_methodName_in_methodDeclHeading10823); - methodName509=methodName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodName.add(methodName509.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:84: ( formalParameterSection )? - int alt173=2; - int LA173_0 = input.LA(1); - if ( (LA173_0==LPAREN) ) { - alt173=1; - } - switch (alt173) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:85: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_methodDeclHeading10826); - formalParameterSection510=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection510.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:110: ( ':' ( customAttribute )? typeDecl )? - int alt175=2; - int LA175_0 = input.LA(1); - if ( (LA175_0==COLON) ) { - alt175=1; - } - switch (alt175) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:111: ':' ( customAttribute )? typeDecl - { - char_literal511=(Token)match(input,COLON,FOLLOW_COLON_in_methodDeclHeading10831); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal511); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:115: ( customAttribute )? - int alt174=2; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA174_1 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case PACKED: - { - int LA174_2 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case ARRAY: - { - int LA174_3 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case SET: - { - int LA174_4 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case FILE: - { - int LA174_5 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case CLASS: - { - int LA174_6 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case DISPINTERFACE: - case INTERFACE: - { - int LA174_7 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case OBJECT: - { - int LA174_8 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case RECORD: - { - int LA174_9 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case POINTER2: - { - int LA174_10 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case POINTER: - { - int LA174_11 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case STRING: - { - int LA174_12 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case TYPE: - { - int LA174_13 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case ANSISTRING: - { - int LA174_14 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case FUNCTION: - { - int LA174_15 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case PROCEDURE: - { - int LA174_16 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case REFERENCE: - { - int LA174_17 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case VARIANT: - { - int LA174_18 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case TkIdentifier: - { - int LA174_19 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case 200: - { - int LA174_20 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case ADD: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OPERATOR: - case OUT: - case READ: - case READONLY: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case WRITE: - { - int LA174_21 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case LPAREN: - { - int LA174_22 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case AT2: - { - int LA174_23 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case 201: - { - int LA174_24 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case NOT: - { - int LA174_25 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case PLUS: - { - int LA174_26 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case MINUS: - { - int LA174_27 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case TkHexNum: - case TkIntNum: - { - int LA174_28 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case TkRealNum: - { - int LA174_29 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case TkAsmHexNum: - { - int LA174_30 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case TRUE: - { - int LA174_31 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case FALSE: - { - int LA174_32 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case NIL: - { - int LA174_33 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case ControlString: - { - int LA174_34 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case QuotedString: - { - int LA174_35 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case INHERITED: - { - int LA174_36 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case DOT: - { - int LA174_37 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case LT: - { - int LA174_38 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case AND: - case AS: - case DIV: - case MOD: - case OR: - case SHL: - case SHR: - case SLASH: - case STAR: - case XOR: - { - int LA174_39 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case EQUAL: - { - int LA174_40 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case GE: - case GT: - case IN: - case IS: - case LE: - case NOT_EQUAL: - { - int LA174_41 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case DOTDOT: - { - int LA174_42 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - case SEMI: - { - int LA174_43 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt174=1; - } - } - break; - } - switch (alt174) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:116: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_methodDeclHeading10834); - customAttribute512=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute512.getTree()); - } - break; - - } - - pushFollow(FOLLOW_typeDecl_in_methodDeclHeading10838); - typeDecl513=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl513.getTree()); - } - break; - - } - - // AST REWRITE - // elements: customAttribute, CLASS, formalParameterSection, methodName, FUNCTION, typeDecl, customAttribute - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 414:30: -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:414:33: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_0, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:414:52: ( 'class' )? - if ( stream_CLASS.hasNext() ) { - adaptor.addChild(root_0, stream_CLASS.nextNode()); - } - stream_CLASS.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:414:63: ^( 'function' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_FUNCTION.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:414:76: ^( TkFunctionName methodName ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); - adaptor.addChild(root_2, stream_methodName.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:414:105: ^( TkFunctionArgs ( formalParameterSection )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:414:122: ( formalParameterSection )? - if ( stream_formalParameterSection.hasNext() ) { - adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); - } - stream_formalParameterSection.reset(); - - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:414:149: ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:414:168: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_2, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:414:187: ( typeDecl )? - if ( stream_typeDecl.hasNext() ) { - adaptor.addChild(root_2, stream_typeDecl.nextTree()); - } - stream_typeDecl.reset(); - - adaptor.addChild(root_1, root_2); - } - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:32: ( customAttribute )? 'class' 'operator' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:32: ( customAttribute )? - int alt176=2; - int LA176_0 = input.LA(1); - if ( (LA176_0==LBRACK) ) { - alt176=1; - } - else if ( (LA176_0==CLASS) ) { - int LA176_2 = input.LA(2); - if ( (synpred241_Delphi()) ) { - alt176=1; - } - } - switch (alt176) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_methodDeclHeading10947); - customAttribute514=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute514.getTree()); - } - break; - - } - - string_literal515=(Token)match(input,CLASS,FOLLOW_CLASS_in_methodDeclHeading10951); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_CLASS.add(string_literal515); - - string_literal516=(Token)match(input,OPERATOR,FOLLOW_OPERATOR_in_methodDeclHeading10953); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_OPERATOR.add(string_literal516); - - pushFollow(FOLLOW_methodName_in_methodDeclHeading10955); - methodName517=methodName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_methodName.add(methodName517.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:81: ( formalParameterSection )? - int alt177=2; - int LA177_0 = input.LA(1); - if ( (LA177_0==LPAREN) ) { - alt177=1; - } - switch (alt177) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:82: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_methodDeclHeading10958); - formalParameterSection518=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection518.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:107: ( ':' ( customAttribute )? typeDecl )? - int alt179=2; - int LA179_0 = input.LA(1); - if ( (LA179_0==COLON) ) { - alt179=1; - } - switch (alt179) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:108: ':' ( customAttribute )? typeDecl - { - char_literal519=(Token)match(input,COLON,FOLLOW_COLON_in_methodDeclHeading10963); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal519); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:112: ( customAttribute )? - int alt178=2; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA178_1 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case PACKED: - { - int LA178_2 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case ARRAY: - { - int LA178_3 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case SET: - { - int LA178_4 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case FILE: - { - int LA178_5 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case CLASS: - { - int LA178_6 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case DISPINTERFACE: - case INTERFACE: - { - int LA178_7 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case OBJECT: - { - int LA178_8 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case RECORD: - { - int LA178_9 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case POINTER2: - { - int LA178_10 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case POINTER: - { - int LA178_11 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case STRING: - { - int LA178_12 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case TYPE: - { - int LA178_13 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case ANSISTRING: - { - int LA178_14 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case FUNCTION: - { - int LA178_15 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case PROCEDURE: - { - int LA178_16 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case REFERENCE: - { - int LA178_17 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case VARIANT: - { - int LA178_18 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case TkIdentifier: - { - int LA178_19 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case 200: - { - int LA178_20 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case ADD: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OPERATOR: - case OUT: - case READ: - case READONLY: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case WRITE: - { - int LA178_21 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case LPAREN: - { - int LA178_22 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case AT2: - { - int LA178_23 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case 201: - { - int LA178_24 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case NOT: - { - int LA178_25 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case PLUS: - { - int LA178_26 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case MINUS: - { - int LA178_27 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case TkHexNum: - case TkIntNum: - { - int LA178_28 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case TkRealNum: - { - int LA178_29 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case TkAsmHexNum: - { - int LA178_30 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case TRUE: - { - int LA178_31 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case FALSE: - { - int LA178_32 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case NIL: - { - int LA178_33 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case ControlString: - { - int LA178_34 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case QuotedString: - { - int LA178_35 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case INHERITED: - { - int LA178_36 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case DOT: - { - int LA178_37 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case LT: - { - int LA178_38 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case AND: - case AS: - case DIV: - case MOD: - case OR: - case SHL: - case SHR: - case SLASH: - case STAR: - case XOR: - { - int LA178_39 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case EQUAL: - { - int LA178_40 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case GE: - case GT: - case IN: - case IS: - case LE: - case NOT_EQUAL: - { - int LA178_41 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case DOTDOT: - { - int LA178_42 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - case SEMI: - { - int LA178_43 = input.LA(2); - if ( (synpred243_Delphi()) ) { - alt178=1; - } - } - break; - } - switch (alt178) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:113: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_methodDeclHeading10966); - customAttribute520=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute520.getTree()); - } - break; - - } - - pushFollow(FOLLOW_typeDecl_in_methodDeclHeading10970); - typeDecl521=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl521.getTree()); - } - break; - - } - - // AST REWRITE - // elements: formalParameterSection, OPERATOR, customAttribute, methodName, customAttribute, CLASS, typeDecl - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 416:30: -> ( customAttribute )? 'class' ^( 'operator' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:33: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_0, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - adaptor.addChild(root_0, stream_CLASS.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:60: ^( 'operator' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_OPERATOR.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:73: ^( TkFunctionName methodName ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); - adaptor.addChild(root_2, stream_methodName.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:102: ^( TkFunctionArgs ( formalParameterSection )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:119: ( formalParameterSection )? - if ( stream_formalParameterSection.hasNext() ) { - adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); - } - stream_formalParameterSection.reset(); - - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:146: ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:165: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_2, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:184: ( typeDecl )? - if ( stream_typeDecl.hasNext() ) { - adaptor.addChild(root_2, stream_typeDecl.nextTree()); - } - stream_typeDecl.reset(); - - adaptor.addChild(root_1, root_2); - } - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 104, methodDeclHeading_StartIndex); } - - } - return retval; - } - // $ANTLR end "methodDeclHeading" - - - public static class methodKey_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "methodKey" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:418:1: methodKey : ( 'procedure' | 'constructor' | 'destructor' ); - public final DelphiParser.methodKey_return methodKey() throws RecognitionException { - DelphiParser.methodKey_return retval = new DelphiParser.methodKey_return(); - retval.start = input.LT(1); - int methodKey_StartIndex = input.index(); - - Object root_0 = null; - - Token set522=null; - - Object set522_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 105) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:418:30: ( 'procedure' | 'constructor' | 'destructor' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set522=input.LT(1); - if ( input.LA(1)==CONSTRUCTOR||input.LA(1)==DESTRUCTOR||input.LA(1)==PROCEDURE ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set522)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 105, methodKey_StartIndex); } - - } - return retval; - } - // $ANTLR end "methodKey" - - - public static class methodName_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "methodName" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:1: methodName : ident ( genericDefinition )? ( '.' ident ( genericDefinition )? )? '.' ident ( genericDefinition )? ; - public final DelphiParser.methodName_return methodName() throws RecognitionException { - DelphiParser.methodName_return retval = new DelphiParser.methodName_return(); - retval.start = input.LT(1); - int methodName_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal525=null; - Token char_literal528=null; - ParserRuleReturnScope ident523 =null; - ParserRuleReturnScope genericDefinition524 =null; - ParserRuleReturnScope ident526 =null; - ParserRuleReturnScope genericDefinition527 =null; - ParserRuleReturnScope ident529 =null; - ParserRuleReturnScope genericDefinition530 =null; - - Object char_literal525_tree=null; - Object char_literal528_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 106) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:30: ( ident ( genericDefinition )? ( '.' ident ( genericDefinition )? )? '.' ident ( genericDefinition )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:32: ident ( genericDefinition )? ( '.' ident ( genericDefinition )? )? '.' ident ( genericDefinition )? - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_ident_in_methodName11219); - ident523=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident523.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:38: ( genericDefinition )? - int alt181=2; - int LA181_0 = input.LA(1); - if ( (LA181_0==LT) ) { - alt181=1; - } - switch (alt181) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:39: genericDefinition - { - pushFollow(FOLLOW_genericDefinition_in_methodName11222); - genericDefinition524=genericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, genericDefinition524.getTree()); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:59: ( '.' ident ( genericDefinition )? )? - int alt183=2; - alt183 = dfa183.predict(input); - switch (alt183) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:60: '.' ident ( genericDefinition )? - { - char_literal525=(Token)match(input,DOT,FOLLOW_DOT_in_methodName11227); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal525_tree = (Object)adaptor.create(char_literal525); - adaptor.addChild(root_0, char_literal525_tree); - } - - pushFollow(FOLLOW_ident_in_methodName11229); - ident526=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident526.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:70: ( genericDefinition )? - int alt182=2; - int LA182_0 = input.LA(1); - if ( (LA182_0==LT) ) { - alt182=1; - } - switch (alt182) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:71: genericDefinition - { - pushFollow(FOLLOW_genericDefinition_in_methodName11232); - genericDefinition527=genericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, genericDefinition527.getTree()); - - } - break; - - } - - } - break; - - } - - char_literal528=(Token)match(input,DOT,FOLLOW_DOT_in_methodName11238); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal528_tree = (Object)adaptor.create(char_literal528); - adaptor.addChild(root_0, char_literal528_tree); - } - - pushFollow(FOLLOW_ident_in_methodName11240); - ident529=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident529.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:103: ( genericDefinition )? - int alt184=2; - int LA184_0 = input.LA(1); - if ( (LA184_0==LT) ) { - alt184=1; - } - switch (alt184) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:104: genericDefinition - { - pushFollow(FOLLOW_genericDefinition_in_methodName11243); - genericDefinition530=genericDefinition(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, genericDefinition530.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 106, methodName_StartIndex); } - - } - return retval; - } - // $ANTLR end "methodName" - - - public static class procDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "procDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:1: procDecl : procDeclHeading ';' ( functionDirective )* ( procBody )? -> procDeclHeading ( procBody )? ; - public final DelphiParser.procDecl_return procDecl() throws RecognitionException { - DelphiParser.procDecl_return retval = new DelphiParser.procDecl_return(); - retval.start = input.LT(1); - int procDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal532=null; - ParserRuleReturnScope procDeclHeading531 =null; - ParserRuleReturnScope functionDirective533 =null; - ParserRuleReturnScope procBody534 =null; - - Object char_literal532_tree=null; - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleSubtreeStream stream_procDeclHeading=new RewriteRuleSubtreeStream(adaptor,"rule procDeclHeading"); - RewriteRuleSubtreeStream stream_functionDirective=new RewriteRuleSubtreeStream(adaptor,"rule functionDirective"); - RewriteRuleSubtreeStream stream_procBody=new RewriteRuleSubtreeStream(adaptor,"rule procBody"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 107) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:30: ( procDeclHeading ';' ( functionDirective )* ( procBody )? -> procDeclHeading ( procBody )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:32: procDeclHeading ';' ( functionDirective )* ( procBody )? - { - pushFollow(FOLLOW_procDeclHeading_in_procDecl11302); - procDeclHeading531=procDeclHeading(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_procDeclHeading.add(procDeclHeading531.getTree()); - char_literal532=(Token)match(input,SEMI,FOLLOW_SEMI_in_procDecl11304); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal532); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:52: ( functionDirective )* - loop185: - while (true) { - int alt185=2; - alt185 = dfa185.predict(input); - switch (alt185) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:53: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_procDecl11307); - functionDirective533=functionDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_functionDirective.add(functionDirective533.getTree()); - } - break; - - default : - break loop185; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:73: ( procBody )? - int alt186=2; - switch ( input.LA(1) ) { - case FORWARD: - { - alt186=1; - } - break; - case EXTERNAL: - { - int LA186_2 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case LABEL: - { - int LA186_3 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case CONST: - case RESOURCESTRING: - { - int LA186_4 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case TYPE: - { - int LA186_5 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case THREADVAR: - case VAR: - { - int LA186_6 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case PROCEDURE: - { - int LA186_7 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case FUNCTION: - { - int LA186_8 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case LBRACK: - { - int LA186_9 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case CLASS: - { - int LA186_10 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - { - int LA186_11 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case EXPORTS: - { - int LA186_12 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case BEGIN: - { - int LA186_13 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case ASM: - { - int LA186_14 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - case SEMI: - { - int LA186_15 = input.LA(2); - if ( (synpred252_Delphi()) ) { - alt186=1; - } - } - break; - } - switch (alt186) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:74: procBody - { - pushFollow(FOLLOW_procBody_in_procDecl11312); - procBody534=procBody(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_procBody.add(procBody534.getTree()); - } - break; - - } - - // AST REWRITE - // elements: procBody, procDeclHeading - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 424:85: -> procDeclHeading ( procBody )? - { - adaptor.addChild(root_0, stream_procDeclHeading.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:104: ( procBody )? - if ( stream_procBody.hasNext() ) { - adaptor.addChild(root_0, stream_procBody.nextTree()); - } - stream_procBody.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 107, procDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "procDecl" - - - public static class procDeclHeading_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "procDeclHeading" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:1: procDeclHeading : ( ( customAttribute )? 'procedure' ident ( formalParameterSection )? -> ^( 'procedure' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ) | ( customAttribute )? 'function' ident ( formalParameterSection )? ':' typeDecl -> ^( 'function' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn typeDecl ) ) ); - public final DelphiParser.procDeclHeading_return procDeclHeading() throws RecognitionException { - DelphiParser.procDeclHeading_return retval = new DelphiParser.procDeclHeading_return(); - retval.start = input.LT(1); - int procDeclHeading_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal536=null; - Token string_literal540=null; - Token char_literal543=null; - ParserRuleReturnScope customAttribute535 =null; - ParserRuleReturnScope ident537 =null; - ParserRuleReturnScope formalParameterSection538 =null; - ParserRuleReturnScope customAttribute539 =null; - ParserRuleReturnScope ident541 =null; - ParserRuleReturnScope formalParameterSection542 =null; - ParserRuleReturnScope typeDecl544 =null; - - Object string_literal536_tree=null; - Object string_literal540_tree=null; - Object char_literal543_tree=null; - RewriteRuleTokenStream stream_PROCEDURE=new RewriteRuleTokenStream(adaptor,"token PROCEDURE"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleTokenStream stream_FUNCTION=new RewriteRuleTokenStream(adaptor,"token FUNCTION"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); - RewriteRuleSubtreeStream stream_formalParameterSection=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterSection"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 108) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:30: ( ( customAttribute )? 'procedure' ident ( formalParameterSection )? -> ^( 'procedure' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ) | ( customAttribute )? 'function' ident ( formalParameterSection )? ':' typeDecl -> ^( 'function' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn typeDecl ) ) ) - int alt191=2; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA191_1 = input.LA(2); - if ( (synpred255_Delphi()) ) { - alt191=1; - } - else if ( (true) ) { - alt191=2; - } - - } - break; - case PROCEDURE: - { - alt191=1; - } - break; - case FUNCTION: - { - alt191=2; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 191, 0, input); - throw nvae; - } - switch (alt191) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:32: ( customAttribute )? 'procedure' ident ( formalParameterSection )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:32: ( customAttribute )? - int alt187=2; - int LA187_0 = input.LA(1); - if ( (LA187_0==LBRACK) ) { - alt187=1; - } - else if ( (LA187_0==PROCEDURE) ) { - int LA187_2 = input.LA(2); - if ( (synpred253_Delphi()) ) { - alt187=1; - } - } - switch (alt187) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_procDeclHeading11378); - customAttribute535=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute535.getTree()); - } - break; - - } - - string_literal536=(Token)match(input,PROCEDURE,FOLLOW_PROCEDURE_in_procDeclHeading11382); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_PROCEDURE.add(string_literal536); - - pushFollow(FOLLOW_ident_in_procDeclHeading11384); - ident537=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident537.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:69: ( formalParameterSection )? - int alt188=2; - int LA188_0 = input.LA(1); - if ( (LA188_0==LPAREN) ) { - alt188=1; - } - switch (alt188) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:70: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_procDeclHeading11387); - formalParameterSection538=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection538.getTree()); - } - break; - - } - - // AST REWRITE - // elements: PROCEDURE, formalParameterSection, ident - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 427:30: -> ^( 'procedure' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:427:33: ^( 'procedure' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_PROCEDURE.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:427:47: ^( TkFunctionName ident ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); - adaptor.addChild(root_2, stream_ident.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:427:71: ^( TkFunctionArgs ( formalParameterSection )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:427:88: ( formalParameterSection )? - if ( stream_formalParameterSection.hasNext() ) { - adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); - } - stream_formalParameterSection.reset(); - - adaptor.addChild(root_1, root_2); - } - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:428:32: ( customAttribute )? 'function' ident ( formalParameterSection )? ':' typeDecl - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:428:32: ( customAttribute )? - int alt189=2; - int LA189_0 = input.LA(1); - if ( (LA189_0==LBRACK) ) { - alt189=1; - } - else if ( (LA189_0==FUNCTION) ) { - int LA189_2 = input.LA(2); - if ( (synpred256_Delphi()) ) { - alt189=1; - } - } - switch (alt189) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:428:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_procDeclHeading11487); - customAttribute539=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute539.getTree()); - } - break; - - } - - string_literal540=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_procDeclHeading11491); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_FUNCTION.add(string_literal540); - - pushFollow(FOLLOW_ident_in_procDeclHeading11493); - ident541=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident541.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:428:68: ( formalParameterSection )? - int alt190=2; - int LA190_0 = input.LA(1); - if ( (LA190_0==LPAREN) ) { - alt190=1; - } - switch (alt190) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:428:69: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_procDeclHeading11496); - formalParameterSection542=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection542.getTree()); - } - break; - - } - - char_literal543=(Token)match(input,COLON,FOLLOW_COLON_in_procDeclHeading11500); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal543); - - pushFollow(FOLLOW_typeDecl_in_procDeclHeading11502); - typeDecl544=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl544.getTree()); - // AST REWRITE - // elements: FUNCTION, ident, typeDecl, formalParameterSection - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 429:30: -> ^( 'function' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn typeDecl ) ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:429:33: ^( 'function' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn typeDecl ) ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_FUNCTION.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:429:46: ^( TkFunctionName ident ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); - adaptor.addChild(root_2, stream_ident.nextTree()); - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:429:70: ^( TkFunctionArgs ( formalParameterSection )? ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:429:87: ( formalParameterSection )? - if ( stream_formalParameterSection.hasNext() ) { - adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); - } - stream_formalParameterSection.reset(); - - adaptor.addChild(root_1, root_2); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:429:114: ^( TkFunctionReturn typeDecl ) - { - Object root_2 = (Object)adaptor.nil(); - root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_2); - adaptor.addChild(root_2, stream_typeDecl.nextTree()); - adaptor.addChild(root_1, root_2); - } - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 108, procDeclHeading_StartIndex); } - - } - return retval; - } - // $ANTLR end "procDeclHeading" - - - public static class formalParameterSection_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "formalParameterSection" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:431:1: formalParameterSection : '(' ( formalParameterList )? ')' -> ( formalParameterList )? ; - public final DelphiParser.formalParameterSection_return formalParameterSection() throws RecognitionException { - DelphiParser.formalParameterSection_return retval = new DelphiParser.formalParameterSection_return(); - retval.start = input.LT(1); - int formalParameterSection_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal545=null; - Token char_literal547=null; - ParserRuleReturnScope formalParameterList546 =null; - - Object char_literal545_tree=null; - Object char_literal547_tree=null; - RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); - RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); - RewriteRuleSubtreeStream stream_formalParameterList=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterList"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 109) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:431:30: ( '(' ( formalParameterList )? ')' -> ( formalParameterList )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:431:32: '(' ( formalParameterList )? ')' - { - char_literal545=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_formalParameterSection11602); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LPAREN.add(char_literal545); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:431:36: ( formalParameterList )? - int alt192=2; - int LA192_0 = input.LA(1); - if ( (LA192_0==ADD||LA192_0==ANSISTRING||LA192_0==AT||LA192_0==BREAK||LA192_0==CONST||(LA192_0 >= CONTAINS && LA192_0 <= CONTINUE)||LA192_0==DEFAULT||LA192_0==EXIT||LA192_0==EXPORT||LA192_0==FINAL||LA192_0==IMPLEMENTS||LA192_0==INDEX||LA192_0==LBRACK||LA192_0==LOCAL||LA192_0==MESSAGE||LA192_0==NAME||LA192_0==OBJECT||LA192_0==OPERATOR||LA192_0==OUT||LA192_0==POINTER||(LA192_0 >= READ && LA192_0 <= READONLY)||(LA192_0 >= REFERENCE && LA192_0 <= REGISTER)||LA192_0==REMOVE||(LA192_0 >= STORED && LA192_0 <= STRING)||LA192_0==TkIdentifier||LA192_0==VAR||LA192_0==VARIANT||LA192_0==WRITE||LA192_0==200) ) { - alt192=1; - } - switch (alt192) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:431:37: formalParameterList - { - pushFollow(FOLLOW_formalParameterList_in_formalParameterSection11605); - formalParameterList546=formalParameterList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameterList.add(formalParameterList546.getTree()); - } - break; - - } - - char_literal547=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_formalParameterSection11609); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RPAREN.add(char_literal547); - - // AST REWRITE - // elements: formalParameterList - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 431:63: -> ( formalParameterList )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:431:66: ( formalParameterList )? - if ( stream_formalParameterList.hasNext() ) { - adaptor.addChild(root_0, stream_formalParameterList.nextTree()); - } - stream_formalParameterList.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 109, formalParameterSection_StartIndex); } - - } - return retval; - } - // $ANTLR end "formalParameterSection" - - - public static class formalParameterList_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "formalParameterList" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:433:1: formalParameterList : formalParameter ( ';' formalParameter )* -> formalParameter ( formalParameter )* ; - public final DelphiParser.formalParameterList_return formalParameterList() throws RecognitionException { - DelphiParser.formalParameterList_return retval = new DelphiParser.formalParameterList_return(); - retval.start = input.LT(1); - int formalParameterList_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal549=null; - ParserRuleReturnScope formalParameter548 =null; - ParserRuleReturnScope formalParameter550 =null; - - Object char_literal549_tree=null; - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleSubtreeStream stream_formalParameter=new RewriteRuleSubtreeStream(adaptor,"rule formalParameter"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 110) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:433:30: ( formalParameter ( ';' formalParameter )* -> formalParameter ( formalParameter )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:433:32: formalParameter ( ';' formalParameter )* - { - pushFollow(FOLLOW_formalParameter_in_formalParameterList11662); - formalParameter548=formalParameter(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameter.add(formalParameter548.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:433:48: ( ';' formalParameter )* - loop193: - while (true) { - int alt193=2; - int LA193_0 = input.LA(1); - if ( (LA193_0==SEMI) ) { - alt193=1; - } - - switch (alt193) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:433:49: ';' formalParameter - { - char_literal549=(Token)match(input,SEMI,FOLLOW_SEMI_in_formalParameterList11665); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal549); - - pushFollow(FOLLOW_formalParameter_in_formalParameterList11667); - formalParameter550=formalParameter(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_formalParameter.add(formalParameter550.getTree()); - } - break; - - default : - break loop193; - } - } - - // AST REWRITE - // elements: formalParameter, formalParameter - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 433:71: -> formalParameter ( formalParameter )* - { - adaptor.addChild(root_0, stream_formalParameter.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:433:90: ( formalParameter )* - while ( stream_formalParameter.hasNext() ) { - adaptor.addChild(root_0, stream_formalParameter.nextTree()); - } - stream_formalParameter.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 110, formalParameterList_StartIndex); } - - } - return retval; - } - // $ANTLR end "formalParameterList" - - - public static class formalParameter_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "formalParameter" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:1: formalParameter : ( customAttribute )? ( parmType )? identListFlat ( ':' typeDecl )? ( '=' expression )? -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType ( typeDecl )? ) ( ^( TkVariableParam parmType ) )? ; - public final DelphiParser.formalParameter_return formalParameter() throws RecognitionException { - DelphiParser.formalParameter_return retval = new DelphiParser.formalParameter_return(); - retval.start = input.LT(1); - int formalParameter_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal554=null; - Token char_literal556=null; - ParserRuleReturnScope customAttribute551 =null; - ParserRuleReturnScope parmType552 =null; - ParserRuleReturnScope identListFlat553 =null; - ParserRuleReturnScope typeDecl555 =null; - ParserRuleReturnScope expression557 =null; - - Object char_literal554_tree=null; - Object char_literal556_tree=null; - RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL"); - RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); - RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); - RewriteRuleSubtreeStream stream_identListFlat=new RewriteRuleSubtreeStream(adaptor,"rule identListFlat"); - RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression"); - RewriteRuleSubtreeStream stream_parmType=new RewriteRuleSubtreeStream(adaptor,"rule parmType"); - RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 111) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:30: ( ( customAttribute )? ( parmType )? identListFlat ( ':' typeDecl )? ( '=' expression )? -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType ( typeDecl )? ) ( ^( TkVariableParam parmType ) )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:32: ( customAttribute )? ( parmType )? identListFlat ( ':' typeDecl )? ( '=' expression )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:32: ( customAttribute )? - int alt194=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt194=1; - } - break; - case OUT: - { - int LA194_2 = input.LA(2); - if ( (synpred260_Delphi()) ) { - alt194=1; - } - } - break; - case TkIdentifier: - { - int LA194_3 = input.LA(2); - if ( (synpred260_Delphi()) ) { - alt194=1; - } - } - break; - case 200: - { - int LA194_4 = input.LA(2); - if ( (synpred260_Delphi()) ) { - alt194=1; - } - } - break; - case CONST: - case VAR: - { - int LA194_5 = input.LA(2); - if ( (synpred260_Delphi()) ) { - alt194=1; - } - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA194_6 = input.LA(2); - if ( (synpred260_Delphi()) ) { - alt194=1; - } - } - break; - } - switch (alt194) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_formalParameter11729); - customAttribute551=customAttribute(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute551.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:51: ( parmType )? - int alt195=2; - int LA195_0 = input.LA(1); - if ( (LA195_0==OUT) ) { - int LA195_1 = input.LA(2); - if ( (LA195_1==ADD||LA195_1==ANSISTRING||LA195_1==AT||LA195_1==BREAK||(LA195_1 >= CONTAINS && LA195_1 <= CONTINUE)||LA195_1==DEFAULT||LA195_1==EXIT||LA195_1==EXPORT||LA195_1==FINAL||LA195_1==IMPLEMENTS||LA195_1==INDEX||LA195_1==LOCAL||LA195_1==MESSAGE||LA195_1==NAME||LA195_1==OBJECT||LA195_1==OPERATOR||LA195_1==OUT||LA195_1==POINTER||(LA195_1 >= READ && LA195_1 <= READONLY)||(LA195_1 >= REFERENCE && LA195_1 <= REGISTER)||LA195_1==REMOVE||(LA195_1 >= STORED && LA195_1 <= STRING)||LA195_1==TkIdentifier||LA195_1==VARIANT||LA195_1==WRITE||LA195_1==200) ) { - alt195=1; - } - } - else if ( (LA195_0==CONST||LA195_0==VAR) ) { - alt195=1; - } - switch (alt195) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:52: parmType - { - pushFollow(FOLLOW_parmType_in_formalParameter11734); - parmType552=parmType(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_parmType.add(parmType552.getTree()); - } - break; - - } - - pushFollow(FOLLOW_identListFlat_in_formalParameter11738); - identListFlat553=identListFlat(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_identListFlat.add(identListFlat553.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:77: ( ':' typeDecl )? - int alt196=2; - int LA196_0 = input.LA(1); - if ( (LA196_0==COLON) ) { - alt196=1; - } - switch (alt196) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:78: ':' typeDecl - { - char_literal554=(Token)match(input,COLON,FOLLOW_COLON_in_formalParameter11741); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COLON.add(char_literal554); - - pushFollow(FOLLOW_typeDecl_in_formalParameter11743); - typeDecl555=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl555.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:93: ( '=' expression )? - int alt197=2; - int LA197_0 = input.LA(1); - if ( (LA197_0==EQUAL) ) { - alt197=1; - } - switch (alt197) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:94: '=' expression - { - char_literal556=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_formalParameter11748); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_EQUAL.add(char_literal556); - - pushFollow(FOLLOW_expression_in_formalParameter11750); - expression557=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_expression.add(expression557.getTree()); - } - break; - - } - - // AST REWRITE - // elements: parmType, identListFlat, typeDecl, customAttribute - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 435:111: -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType ( typeDecl )? ) ( ^( TkVariableParam parmType ) )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:114: ( customAttribute )? - if ( stream_customAttribute.hasNext() ) { - adaptor.addChild(root_0, stream_customAttribute.nextTree()); - } - stream_customAttribute.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:133: ^( TkVariableIdents identListFlat ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableIdents, "TkVariableIdents"), root_1); - adaptor.addChild(root_1, stream_identListFlat.nextTree()); - adaptor.addChild(root_0, root_1); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:167: ^( TkVariableType ( typeDecl )? ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:184: ( typeDecl )? - if ( stream_typeDecl.hasNext() ) { - adaptor.addChild(root_1, stream_typeDecl.nextTree()); - } - stream_typeDecl.reset(); - - adaptor.addChild(root_0, root_1); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:195: ( ^( TkVariableParam parmType ) )? - if ( stream_parmType.hasNext() ) { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:195: ^( TkVariableParam parmType ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableParam, "TkVariableParam"), root_1); - adaptor.addChild(root_1, stream_parmType.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - stream_parmType.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 111, formalParameter_StartIndex); } - - } - return retval; - } - // $ANTLR end "formalParameter" - - - public static class parmType_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "parmType" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:438:1: parmType : ( 'const' | 'var' | 'out' ); - public final DelphiParser.parmType_return parmType() throws RecognitionException { - DelphiParser.parmType_return retval = new DelphiParser.parmType_return(); - retval.start = input.LT(1); - int parmType_StartIndex = input.index(); - - Object root_0 = null; - - Token set558=null; - - Object set558_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 112) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:438:30: ( 'const' | 'var' | 'out' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set558=input.LT(1); - if ( input.LA(1)==CONST||input.LA(1)==OUT||input.LA(1)==VAR ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set558)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 112, parmType_StartIndex); } - - } - return retval; - } - // $ANTLR end "parmType" - - - public static class methodBody_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "methodBody" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:442:1: methodBody : block ';' -> block ; - public final DelphiParser.methodBody_return methodBody() throws RecognitionException { - DelphiParser.methodBody_return retval = new DelphiParser.methodBody_return(); - retval.start = input.LT(1); - int methodBody_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal560=null; - ParserRuleReturnScope block559 =null; - - Object char_literal560_tree=null; - RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); - RewriteRuleSubtreeStream stream_block=new RewriteRuleSubtreeStream(adaptor,"rule block"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 113) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:442:30: ( block ';' -> block ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:442:32: block ';' - { - pushFollow(FOLLOW_block_in_methodBody11973); - block559=block(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_block.add(block559.getTree()); - char_literal560=(Token)match(input,SEMI,FOLLOW_SEMI_in_methodBody11975); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_SEMI.add(char_literal560); - - // AST REWRITE - // elements: block - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 442:42: -> block - { - adaptor.addChild(root_0, stream_block.nextTree()); - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 113, methodBody_StartIndex); } - - } - return retval; - } - // $ANTLR end "methodBody" - - - public static class procBody_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "procBody" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:444:1: procBody : ( 'forward' ';' ( functionDirective )* | 'external' ( 'name' expression | 'index' expression )* ( functionDirective )* | block ';' ); - public final DelphiParser.procBody_return procBody() throws RecognitionException { - DelphiParser.procBody_return retval = new DelphiParser.procBody_return(); - retval.start = input.LT(1); - int procBody_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal561=null; - Token char_literal562=null; - Token string_literal564=null; - Token string_literal565=null; - Token string_literal567=null; - Token char_literal571=null; - ParserRuleReturnScope functionDirective563 =null; - ParserRuleReturnScope expression566 =null; - ParserRuleReturnScope expression568 =null; - ParserRuleReturnScope functionDirective569 =null; - ParserRuleReturnScope block570 =null; - - Object string_literal561_tree=null; - Object char_literal562_tree=null; - Object string_literal564_tree=null; - Object string_literal565_tree=null; - Object string_literal567_tree=null; - Object char_literal571_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 114) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:444:30: ( 'forward' ';' ( functionDirective )* | 'external' ( 'name' expression | 'index' expression )* ( functionDirective )* | block ';' ) - int alt201=3; - switch ( input.LA(1) ) { - case FORWARD: - { - alt201=1; - } - break; - case EXTERNAL: - { - alt201=2; - } - break; - case ASM: - case BEGIN: - case CLASS: - case CONST: - case CONSTRUCTOR: - case DESTRUCTOR: - case EXPORTS: - case FUNCTION: - case LABEL: - case LBRACK: - case PROCEDURE: - case RESOURCESTRING: - case SEMI: - case THREADVAR: - case TYPE: - case VAR: - { - alt201=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 201, 0, input); - throw nvae; - } - switch (alt201) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:444:32: 'forward' ';' ( functionDirective )* - { - root_0 = (Object)adaptor.nil(); - - - string_literal561=(Token)match(input,FORWARD,FOLLOW_FORWARD_in_procBody12036); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal561_tree = (Object)adaptor.create(string_literal561); - adaptor.addChild(root_0, string_literal561_tree); - } - - char_literal562=(Token)match(input,SEMI,FOLLOW_SEMI_in_procBody12038); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal562_tree = (Object)adaptor.create(char_literal562); - adaptor.addChild(root_0, char_literal562_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:444:46: ( functionDirective )* - loop198: - while (true) { - int alt198=2; - alt198 = dfa198.predict(input); - switch (alt198) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:444:47: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_procBody12041); - functionDirective563=functionDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, functionDirective563.getTree()); - - } - break; - - default : - break loop198; - } - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:32: 'external' ( 'name' expression | 'index' expression )* ( functionDirective )* - { - root_0 = (Object)adaptor.nil(); - - - string_literal564=(Token)match(input,EXTERNAL,FOLLOW_EXTERNAL_in_procBody12079); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal564_tree = (Object)adaptor.create(string_literal564); - adaptor.addChild(root_0, string_literal564_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:43: ( 'name' expression | 'index' expression )* - loop199: - while (true) { - int alt199=3; - int LA199_0 = input.LA(1); - if ( (LA199_0==NAME) ) { - int LA199_2 = input.LA(2); - if ( (synpred268_Delphi()) ) { - alt199=1; - } - - } - else if ( (LA199_0==INDEX) ) { - int LA199_3 = input.LA(2); - if ( (synpred269_Delphi()) ) { - alt199=2; - } - - } - - switch (alt199) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:44: 'name' expression - { - string_literal565=(Token)match(input,NAME,FOLLOW_NAME_in_procBody12082); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal565_tree = (Object)adaptor.create(string_literal565); - adaptor.addChild(root_0, string_literal565_tree); - } - - pushFollow(FOLLOW_expression_in_procBody12084); - expression566=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression566.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:64: 'index' expression - { - string_literal567=(Token)match(input,INDEX,FOLLOW_INDEX_in_procBody12088); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal567_tree = (Object)adaptor.create(string_literal567); - adaptor.addChild(root_0, string_literal567_tree); - } - - pushFollow(FOLLOW_expression_in_procBody12090); - expression568=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression568.getTree()); - - } - break; - - default : - break loop199; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:85: ( functionDirective )* - loop200: - while (true) { - int alt200=2; - switch ( input.LA(1) ) { - case OVERLOAD: - { - int LA200_2 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case INLINE: - { - int LA200_3 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case ASSEMBLER: - { - int LA200_4 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case CDECL: - { - int LA200_5 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case PASCAL: - { - int LA200_6 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case REGISTER: - { - int LA200_7 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case SAFECALL: - { - int LA200_8 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case STDCALL: - { - int LA200_9 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case EXPORT: - { - int LA200_10 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case FAR: - { - int LA200_11 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case LOCAL: - { - int LA200_12 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case NEAR: - { - int LA200_13 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case DEPRECATED: - { - int LA200_14 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case EXPERIMENTAL: - { - int LA200_15 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case PLATFORM: - { - int LA200_16 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case LIBRARY: - { - int LA200_17 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case VARARGS: - { - int LA200_18 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case EXTERNAL: - { - int LA200_19 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - case UNSAFE: - { - int LA200_20 = input.LA(2); - if ( (synpred270_Delphi()) ) { - alt200=1; - } - - } - break; - } - switch (alt200) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:86: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_procBody12095); - functionDirective569=functionDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, functionDirective569.getTree()); - - } - break; - - default : - break loop200; - } - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:446:32: block ';' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_block_in_procBody12131); - block570=block(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, block570.getTree()); - - char_literal571=(Token)match(input,SEMI,FOLLOW_SEMI_in_procBody12133); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal571_tree = (Object)adaptor.create(char_literal571); - adaptor.addChild(root_0, char_literal571_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 114, procBody_StartIndex); } - - } - return retval; - } - // $ANTLR end "procBody" - - - public static class customAttribute_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "customAttribute" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:451:1: customAttribute : customAttributeList ; - public final DelphiParser.customAttribute_return customAttribute() throws RecognitionException { - DelphiParser.customAttribute_return retval = new DelphiParser.customAttribute_return(); - retval.start = input.LT(1); - int customAttribute_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope customAttributeList572 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 115) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:451:30: ( customAttributeList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:451:32: customAttributeList - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_customAttributeList_in_customAttribute12186); - customAttributeList572=customAttributeList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, customAttributeList572.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 115, customAttribute_StartIndex); } - - } - return retval; - } - // $ANTLR end "customAttribute" - - - public static class customAttributeList_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "customAttributeList" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:453:1: customAttributeList : ( customAttributeDecl )* ; - public final DelphiParser.customAttributeList_return customAttributeList() throws RecognitionException { - DelphiParser.customAttributeList_return retval = new DelphiParser.customAttributeList_return(); - retval.start = input.LT(1); - int customAttributeList_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope customAttributeDecl573 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 116) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:453:30: ( ( customAttributeDecl )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:453:32: ( customAttributeDecl )* - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:453:32: ( customAttributeDecl )* - loop202: - while (true) { - int alt202=2; - int LA202_0 = input.LA(1); - if ( (LA202_0==LBRACK) ) { - int LA202_2 = input.LA(2); - if ( (synpred272_Delphi()) ) { - alt202=1; - } - - } - - switch (alt202) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:453:33: customAttributeDecl - { - pushFollow(FOLLOW_customAttributeDecl_in_customAttributeList12233); - customAttributeDecl573=customAttributeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, customAttributeDecl573.getTree()); - - } - break; - - default : - break loop202; - } - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 116, customAttributeList_StartIndex); } - - } - return retval; - } - // $ANTLR end "customAttributeList" - - - public static class customAttributeDecl_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "customAttributeDecl" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:1: customAttributeDecl : '[' namespacedQualifiedIdent ( '(' ( expressionList )? ')' )? ']' -> ^( TkCustomAttribute '[' namespacedQualifiedIdent ( '(' ( expressionList )? ')' )? ']' ) ; - public final DelphiParser.customAttributeDecl_return customAttributeDecl() throws RecognitionException { - DelphiParser.customAttributeDecl_return retval = new DelphiParser.customAttributeDecl_return(); - retval.start = input.LT(1); - int customAttributeDecl_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal574=null; - Token char_literal576=null; - Token char_literal578=null; - Token char_literal579=null; - ParserRuleReturnScope namespacedQualifiedIdent575 =null; - ParserRuleReturnScope expressionList577 =null; - - Object char_literal574_tree=null; - Object char_literal576_tree=null; - Object char_literal578_tree=null; - Object char_literal579_tree=null; - RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); - RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); - RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); - RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); - RewriteRuleSubtreeStream stream_namespacedQualifiedIdent=new RewriteRuleSubtreeStream(adaptor,"rule namespacedQualifiedIdent"); - RewriteRuleSubtreeStream stream_expressionList=new RewriteRuleSubtreeStream(adaptor,"rule expressionList"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 117) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:30: ( '[' namespacedQualifiedIdent ( '(' ( expressionList )? ')' )? ']' -> ^( TkCustomAttribute '[' namespacedQualifiedIdent ( '(' ( expressionList )? ')' )? ']' ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:32: '[' namespacedQualifiedIdent ( '(' ( expressionList )? ')' )? ']' - { - char_literal574=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_customAttributeDecl12281); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LBRACK.add(char_literal574); - - pushFollow(FOLLOW_namespacedQualifiedIdent_in_customAttributeDecl12283); - namespacedQualifiedIdent575=namespacedQualifiedIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_namespacedQualifiedIdent.add(namespacedQualifiedIdent575.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:61: ( '(' ( expressionList )? ')' )? - int alt204=2; - int LA204_0 = input.LA(1); - if ( (LA204_0==LPAREN) ) { - alt204=1; - } - switch (alt204) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:62: '(' ( expressionList )? ')' - { - char_literal576=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_customAttributeDecl12286); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LPAREN.add(char_literal576); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:66: ( expressionList )? - int alt203=2; - int LA203_0 = input.LA(1); - if ( ((LA203_0 >= ADD && LA203_0 <= ANSISTRING)||LA203_0==AS||(LA203_0 >= AT && LA203_0 <= AT2)||LA203_0==BREAK||LA203_0==COMMA||(LA203_0 >= CONTAINS && LA203_0 <= ControlString)||LA203_0==DEFAULT||LA203_0==DIV||LA203_0==DOT||LA203_0==EQUAL||LA203_0==EXIT||LA203_0==EXPORT||LA203_0==FALSE||LA203_0==FINAL||(LA203_0 >= FUNCTION && LA203_0 <= GE)||LA203_0==GT||(LA203_0 >= IMPLEMENTS && LA203_0 <= INHERITED)||LA203_0==IS||LA203_0==LBRACK||LA203_0==LE||(LA203_0 >= LOCAL && LA203_0 <= NAME)||LA203_0==NIL||(LA203_0 >= NOT && LA203_0 <= OBJECT)||(LA203_0 >= OPERATOR && LA203_0 <= OUT)||(LA203_0 >= PLUS && LA203_0 <= POINTER2)||LA203_0==PROCEDURE||LA203_0==QuotedString||(LA203_0 >= READ && LA203_0 <= READONLY)||(LA203_0 >= REFERENCE && LA203_0 <= REGISTER)||LA203_0==REMOVE||(LA203_0 >= SHL && LA203_0 <= STAR)||(LA203_0 >= STORED && LA203_0 <= STRING)||LA203_0==TRUE||LA203_0==TkAsmHexNum||(LA203_0 >= TkHexNum && LA203_0 <= TkIntNum)||LA203_0==TkRealNum||LA203_0==VARIANT||LA203_0==WRITE||(LA203_0 >= XOR && LA203_0 <= 201)) ) { - alt203=1; - } - else if ( (LA203_0==RPAREN) ) { - int LA203_2 = input.LA(2); - if ( (synpred273_Delphi()) ) { - alt203=1; - } - } - switch (alt203) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:67: expressionList - { - pushFollow(FOLLOW_expressionList_in_customAttributeDecl12289); - expressionList577=expressionList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_expressionList.add(expressionList577.getTree()); - } - break; - - } - - char_literal578=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_customAttributeDecl12293); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RPAREN.add(char_literal578); - - } - break; - - } - - char_literal579=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_customAttributeDecl12297); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RBRACK.add(char_literal579); - - // AST REWRITE - // elements: RBRACK, LPAREN, expressionList, RPAREN, LBRACK, namespacedQualifiedIdent - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 455:95: -> ^( TkCustomAttribute '[' namespacedQualifiedIdent ( '(' ( expressionList )? ')' )? ']' ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:98: ^( TkCustomAttribute '[' namespacedQualifiedIdent ( '(' ( expressionList )? ')' )? ']' ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkCustomAttribute, "TkCustomAttribute"), root_1); - adaptor.addChild(root_1, stream_LBRACK.nextNode()); - adaptor.addChild(root_1, stream_namespacedQualifiedIdent.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:147: ( '(' ( expressionList )? ')' )? - if ( stream_LPAREN.hasNext()||stream_expressionList.hasNext()||stream_RPAREN.hasNext() ) { - adaptor.addChild(root_1, stream_LPAREN.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:152: ( expressionList )? - if ( stream_expressionList.hasNext() ) { - adaptor.addChild(root_1, stream_expressionList.nextTree()); - } - stream_expressionList.reset(); - - adaptor.addChild(root_1, stream_RPAREN.nextNode()); - } - stream_LPAREN.reset(); - stream_expressionList.reset(); - stream_RPAREN.reset(); - - adaptor.addChild(root_1, stream_RBRACK.nextNode()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 117, customAttributeDecl_StartIndex); } - - } - return retval; - } - // $ANTLR end "customAttributeDecl" - - - public static class expression_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "expression" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:461:1: expression : ( anonymousExpression -> ^( TkAnonymousExpression anonymousExpression ) | simpleExpression ( relOp simpleExpression )? ( '=' expression )? ); - public final DelphiParser.expression_return expression() throws RecognitionException { - DelphiParser.expression_return retval = new DelphiParser.expression_return(); - retval.start = input.LT(1); - int expression_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal584=null; - ParserRuleReturnScope anonymousExpression580 =null; - ParserRuleReturnScope simpleExpression581 =null; - ParserRuleReturnScope relOp582 =null; - ParserRuleReturnScope simpleExpression583 =null; - ParserRuleReturnScope expression585 =null; - - Object char_literal584_tree=null; - RewriteRuleSubtreeStream stream_anonymousExpression=new RewriteRuleSubtreeStream(adaptor,"rule anonymousExpression"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 118) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:461:30: ( anonymousExpression -> ^( TkAnonymousExpression anonymousExpression ) | simpleExpression ( relOp simpleExpression )? ( '=' expression )? ) - int alt207=2; - switch ( input.LA(1) ) { - case PROCEDURE: - { - int LA207_1 = input.LA(2); - if ( (synpred275_Delphi()) ) { - alt207=1; - } - else if ( (true) ) { - alt207=2; - } - - } - break; - case FUNCTION: - { - int LA207_2 = input.LA(2); - if ( (synpred275_Delphi()) ) { - alt207=1; - } - else if ( (true) ) { - alt207=2; - } - - } - break; - case EOF: - case ABSOLUTE: - case ADD: - case AND: - case ANSISTRING: - case AS: - case ASM: - case ASSEMBLER: - case AT: - case AT2: - case AUTOMATED: - case BEGIN: - case BREAK: - case CASE: - case CDECL: - case CLASS: - case COLON: - case COMMA: - case CONST: - case CONSTRUCTOR: - case CONTAINS: - case CONTINUE: - case ControlString: - case DEFAULT: - case DEPRECATED: - case DESTRUCTOR: - case DISPID: - case DIV: - case DO: - case DOT: - case DOTDOT: - case DOWNTO: - case ELSE: - case END: - case EQUAL: - case EXCEPT: - case EXIT: - case EXPERIMENTAL: - case EXPORT: - case EXPORTS: - case EXTERNAL: - case FALSE: - case FAR: - case FINAL: - case FINALIZATION: - case FINALLY: - case GE: - case GT: - case IMPLEMENTATION: - case IMPLEMENTS: - case IN: - case INDEX: - case INHERITED: - case INITIALIZATION: - case INLINE: - case IS: - case LABEL: - case LBRACK: - case LE: - case LIBRARY: - case LOCAL: - case LPAREN: - case LT: - case MESSAGE: - case MINUS: - case MOD: - case NAME: - case NEAR: - case NIL: - case NODEFAULT: - case NOT: - case NOT_EQUAL: - case OBJECT: - case OF: - case ON: - case OPERATOR: - case OR: - case OUT: - case OVERLOAD: - case PASCAL: - case PLATFORM: - case PLUS: - case POINTER: - case POINTER2: - case PRIVATE: - case PROPERTY: - case PROTECTED: - case PUBLIC: - case PUBLISHED: - case QuotedString: - case RBRACK: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case RESIDENT: - case RESOURCESTRING: - case RPAREN: - case SAFECALL: - case SEMI: - case SHL: - case SHR: - case SLASH: - case STAR: - case STDCALL: - case STORED: - case STRICT: - case STRING: - case THEN: - case THREADVAR: - case TO: - case TRUE: - case TYPE: - case TkAsmHexNum: - case TkHexNum: - case TkIdentifier: - case TkIntNum: - case TkRealNum: - case UNSAFE: - case UNTIL: - case VAR: - case VARARGS: - case VARIANT: - case WRITE: - case WRITEONLY: - case XOR: - case 200: - case 201: - { - alt207=2; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 207, 0, input); - throw nvae; - } - switch (alt207) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:461:32: anonymousExpression - { - pushFollow(FOLLOW_anonymousExpression_in_expression12381); - anonymousExpression580=anonymousExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_anonymousExpression.add(anonymousExpression580.getTree()); - // AST REWRITE - // elements: anonymousExpression - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 461:52: -> ^( TkAnonymousExpression anonymousExpression ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:461:55: ^( TkAnonymousExpression anonymousExpression ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkAnonymousExpression, "TkAnonymousExpression"), root_1); - adaptor.addChild(root_1, stream_anonymousExpression.nextTree()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:462:32: simpleExpression ( relOp simpleExpression )? ( '=' expression )? - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_simpleExpression_in_expression12422); - simpleExpression581=simpleExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleExpression581.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:462:49: ( relOp simpleExpression )? - int alt205=2; - switch ( input.LA(1) ) { - case EQUAL: - { - int LA205_1 = input.LA(2); - if ( (synpred276_Delphi()) ) { - alt205=1; - } - } - break; - case LT: - { - int LA205_2 = input.LA(2); - if ( (synpred276_Delphi()) ) { - alt205=1; - } - } - break; - case GT: - { - int LA205_4 = input.LA(2); - if ( (synpred276_Delphi()) ) { - alt205=1; - } - } - break; - case GE: - case IN: - case IS: - case LE: - case NOT_EQUAL: - { - int LA205_5 = input.LA(2); - if ( (synpred276_Delphi()) ) { - alt205=1; - } - } - break; - } - switch (alt205) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:462:50: relOp simpleExpression - { - pushFollow(FOLLOW_relOp_in_expression12425); - relOp582=relOp(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, relOp582.getTree()); - - pushFollow(FOLLOW_simpleExpression_in_expression12427); - simpleExpression583=simpleExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleExpression583.getTree()); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:462:75: ( '=' expression )? - int alt206=2; - int LA206_0 = input.LA(1); - if ( (LA206_0==EQUAL) ) { - int LA206_1 = input.LA(2); - if ( (synpred277_Delphi()) ) { - alt206=1; - } - } - switch (alt206) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:462:76: '=' expression - { - char_literal584=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_expression12432); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal584_tree = (Object)adaptor.create(char_literal584); - adaptor.addChild(root_0, char_literal584_tree); - } - - pushFollow(FOLLOW_expression_in_expression12434); - expression585=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression585.getTree()); - - } - break; - - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 118, expression_StartIndex); } - - } - return retval; - } - // $ANTLR end "expression" - - - public static class anonymousExpression_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "anonymousExpression" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:464:1: anonymousExpression : ( 'procedure' ( formalParameterSection )? block | 'function' ( formalParameterSection )? ':' typeDecl block ); - public final DelphiParser.anonymousExpression_return anonymousExpression() throws RecognitionException { - DelphiParser.anonymousExpression_return retval = new DelphiParser.anonymousExpression_return(); - retval.start = input.LT(1); - int anonymousExpression_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal586=null; - Token string_literal589=null; - Token char_literal591=null; - ParserRuleReturnScope formalParameterSection587 =null; - ParserRuleReturnScope block588 =null; - ParserRuleReturnScope formalParameterSection590 =null; - ParserRuleReturnScope typeDecl592 =null; - ParserRuleReturnScope block593 =null; - - Object string_literal586_tree=null; - Object string_literal589_tree=null; - Object char_literal591_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 119) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:464:30: ( 'procedure' ( formalParameterSection )? block | 'function' ( formalParameterSection )? ':' typeDecl block ) - int alt210=2; - int LA210_0 = input.LA(1); - if ( (LA210_0==PROCEDURE) ) { - alt210=1; - } - else if ( (LA210_0==FUNCTION) ) { - alt210=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 210, 0, input); - throw nvae; - } - - switch (alt210) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:464:32: 'procedure' ( formalParameterSection )? block - { - root_0 = (Object)adaptor.nil(); - - - string_literal586=(Token)match(input,PROCEDURE,FOLLOW_PROCEDURE_in_anonymousExpression12485); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal586_tree = (Object)adaptor.create(string_literal586); - adaptor.addChild(root_0, string_literal586_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:464:44: ( formalParameterSection )? - int alt208=2; - alt208 = dfa208.predict(input); - switch (alt208) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:464:45: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_anonymousExpression12488); - formalParameterSection587=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection587.getTree()); - - } - break; - - } - - pushFollow(FOLLOW_block_in_anonymousExpression12492); - block588=block(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, block588.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:32: 'function' ( formalParameterSection )? ':' typeDecl block - { - root_0 = (Object)adaptor.nil(); - - - string_literal589=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_anonymousExpression12525); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal589_tree = (Object)adaptor.create(string_literal589); - adaptor.addChild(root_0, string_literal589_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:43: ( formalParameterSection )? - int alt209=2; - int LA209_0 = input.LA(1); - if ( (LA209_0==LPAREN) ) { - alt209=1; - } - switch (alt209) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:44: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_anonymousExpression12528); - formalParameterSection590=formalParameterSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection590.getTree()); - - } - break; - - } - - char_literal591=(Token)match(input,COLON,FOLLOW_COLON_in_anonymousExpression12532); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal591_tree = (Object)adaptor.create(char_literal591); - adaptor.addChild(root_0, char_literal591_tree); - } - - pushFollow(FOLLOW_typeDecl_in_anonymousExpression12534); - typeDecl592=typeDecl(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl592.getTree()); - - pushFollow(FOLLOW_block_in_anonymousExpression12536); - block593=block(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, block593.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 119, anonymousExpression_StartIndex); } - - } - return retval; - } - // $ANTLR end "anonymousExpression" - - - public static class simpleExpression_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "simpleExpression" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:1: simpleExpression : factor ( operator factor )* ; - public final DelphiParser.simpleExpression_return simpleExpression() throws RecognitionException { - DelphiParser.simpleExpression_return retval = new DelphiParser.simpleExpression_return(); - retval.start = input.LT(1); - int simpleExpression_StartIndex = input.index(); - - Object root_0 = null; - - ParserRuleReturnScope factor594 =null; - ParserRuleReturnScope operator595 =null; - ParserRuleReturnScope factor596 =null; - - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 120) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:30: ( factor ( operator factor )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:32: factor ( operator factor )* - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_factor_in_simpleExpression12585); - factor594=factor(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, factor594.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:39: ( operator factor )* - loop211: - while (true) { - int alt211=2; - switch ( input.LA(1) ) { - case PLUS: - { - int LA211_2 = input.LA(2); - if ( (synpred281_Delphi()) ) { - alt211=1; - } - - } - break; - case MINUS: - { - int LA211_3 = input.LA(2); - if ( (synpred281_Delphi()) ) { - alt211=1; - } - - } - break; - case AND: - case AS: - case DIV: - case MOD: - case OR: - case SHL: - case SHR: - case SLASH: - case STAR: - case XOR: - { - int LA211_4 = input.LA(2); - if ( (synpred281_Delphi()) ) { - alt211=1; - } - - } - break; - } - switch (alt211) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:40: operator factor - { - pushFollow(FOLLOW_operator_in_simpleExpression12588); - operator595=operator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, operator595.getTree()); - - pushFollow(FOLLOW_factor_in_simpleExpression12590); - factor596=factor(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, factor596.getTree()); - - } - break; - - default : - break loop211; - } - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 120, simpleExpression_StartIndex); } - - } - return retval; - } - // $ANTLR end "simpleExpression" - - - public static class factor_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "factor" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:469:1: factor : ( '@' factor | '@@' factor | 'not' factor | '+' factor | '-' factor | '^' ident | intNum | realNum | TkAsmHexNum | 'true' | 'false' | 'nil' | '(' expression ')' ( '^' )? ( '.' expression )? | stringFactor | setSection | designator | typeId '(' expression ')' ); - public final DelphiParser.factor_return factor() throws RecognitionException { - DelphiParser.factor_return retval = new DelphiParser.factor_return(); - retval.start = input.LT(1); - int factor_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal597=null; - Token string_literal599=null; - Token string_literal601=null; - Token char_literal603=null; - Token char_literal605=null; - Token char_literal607=null; - Token TkAsmHexNum611=null; - Token string_literal612=null; - Token string_literal613=null; - Token string_literal614=null; - Token char_literal615=null; - Token char_literal617=null; - Token char_literal618=null; - Token char_literal619=null; - Token char_literal625=null; - Token char_literal627=null; - ParserRuleReturnScope factor598 =null; - ParserRuleReturnScope factor600 =null; - ParserRuleReturnScope factor602 =null; - ParserRuleReturnScope factor604 =null; - ParserRuleReturnScope factor606 =null; - ParserRuleReturnScope ident608 =null; - ParserRuleReturnScope intNum609 =null; - ParserRuleReturnScope realNum610 =null; - ParserRuleReturnScope expression616 =null; - ParserRuleReturnScope expression620 =null; - ParserRuleReturnScope stringFactor621 =null; - ParserRuleReturnScope setSection622 =null; - ParserRuleReturnScope designator623 =null; - ParserRuleReturnScope typeId624 =null; - ParserRuleReturnScope expression626 =null; - - Object char_literal597_tree=null; - Object string_literal599_tree=null; - Object string_literal601_tree=null; - Object char_literal603_tree=null; - Object char_literal605_tree=null; - Object char_literal607_tree=null; - Object TkAsmHexNum611_tree=null; - Object string_literal612_tree=null; - Object string_literal613_tree=null; - Object string_literal614_tree=null; - Object char_literal615_tree=null; - Object char_literal617_tree=null; - Object char_literal618_tree=null; - Object char_literal619_tree=null; - Object char_literal625_tree=null; - Object char_literal627_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 121) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:469:30: ( '@' factor | '@@' factor | 'not' factor | '+' factor | '-' factor | '^' ident | intNum | realNum | TkAsmHexNum | 'true' | 'false' | 'nil' | '(' expression ')' ( '^' )? ( '.' expression )? | stringFactor | setSection | designator | typeId '(' expression ')' ) - int alt214=17; - alt214 = dfa214.predict(input); - switch (alt214) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:469:32: '@' factor - { - root_0 = (Object)adaptor.nil(); - - - char_literal597=(Token)match(input,AT2,FOLLOW_AT2_in_factor12651); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal597_tree = (Object)adaptor.create(char_literal597); - adaptor.addChild(root_0, char_literal597_tree); - } - - pushFollow(FOLLOW_factor_in_factor12653); - factor598=factor(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, factor598.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:470:32: '@@' factor - { - root_0 = (Object)adaptor.nil(); - - - string_literal599=(Token)match(input,201,FOLLOW_201_in_factor12686); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal599_tree = (Object)adaptor.create(string_literal599); - adaptor.addChild(root_0, string_literal599_tree); - } - - pushFollow(FOLLOW_factor_in_factor12688); - factor600=factor(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, factor600.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:471:32: 'not' factor - { - root_0 = (Object)adaptor.nil(); - - - string_literal601=(Token)match(input,NOT,FOLLOW_NOT_in_factor12728); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal601_tree = (Object)adaptor.create(string_literal601); - adaptor.addChild(root_0, string_literal601_tree); - } - - pushFollow(FOLLOW_factor_in_factor12730); - factor602=factor(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, factor602.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:472:32: '+' factor - { - root_0 = (Object)adaptor.nil(); - - - char_literal603=(Token)match(input,PLUS,FOLLOW_PLUS_in_factor12763); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal603_tree = (Object)adaptor.create(char_literal603); - adaptor.addChild(root_0, char_literal603_tree); - } - - pushFollow(FOLLOW_factor_in_factor12765); - factor604=factor(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, factor604.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:32: '-' factor - { - root_0 = (Object)adaptor.nil(); - - - char_literal605=(Token)match(input,MINUS,FOLLOW_MINUS_in_factor12798); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal605_tree = (Object)adaptor.create(char_literal605); - adaptor.addChild(root_0, char_literal605_tree); - } - - pushFollow(FOLLOW_factor_in_factor12800); - factor606=factor(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, factor606.getTree()); - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:474:32: '^' ident - { - root_0 = (Object)adaptor.nil(); - - - char_literal607=(Token)match(input,POINTER2,FOLLOW_POINTER2_in_factor12833); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal607_tree = (Object)adaptor.create(char_literal607); - adaptor.addChild(root_0, char_literal607_tree); - } - - pushFollow(FOLLOW_ident_in_factor12835); - ident608=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident608.getTree()); - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:32: intNum - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_intNum_in_factor12879); - intNum609=intNum(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, intNum609.getTree()); - - } - break; - case 8 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:476:32: realNum - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_realNum_in_factor12912); - realNum610=realNum(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, realNum610.getTree()); - - } - break; - case 9 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:477:32: TkAsmHexNum - { - root_0 = (Object)adaptor.nil(); - - - TkAsmHexNum611=(Token)match(input,TkAsmHexNum,FOLLOW_TkAsmHexNum_in_factor12945); if (state.failed) return retval; - if ( state.backtracking==0 ) { - TkAsmHexNum611_tree = (Object)adaptor.create(TkAsmHexNum611); - adaptor.addChild(root_0, TkAsmHexNum611_tree); - } - - } - break; - case 10 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:32: 'true' - { - root_0 = (Object)adaptor.nil(); - - - string_literal612=(Token)match(input,TRUE,FOLLOW_TRUE_in_factor12988); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal612_tree = (Object)adaptor.create(string_literal612); - adaptor.addChild(root_0, string_literal612_tree); - } - - } - break; - case 11 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:479:32: 'false' - { - root_0 = (Object)adaptor.nil(); - - - string_literal613=(Token)match(input,FALSE,FOLLOW_FALSE_in_factor13021); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal613_tree = (Object)adaptor.create(string_literal613); - adaptor.addChild(root_0, string_literal613_tree); - } - - } - break; - case 12 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:480:32: 'nil' - { - root_0 = (Object)adaptor.nil(); - - - string_literal614=(Token)match(input,NIL,FOLLOW_NIL_in_factor13054); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal614_tree = (Object)adaptor.create(string_literal614); - adaptor.addChild(root_0, string_literal614_tree); - } - - } - break; - case 13 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:32: '(' expression ')' ( '^' )? ( '.' expression )? - { - root_0 = (Object)adaptor.nil(); - - - char_literal615=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_factor13087); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal615_tree = (Object)adaptor.create(char_literal615); - adaptor.addChild(root_0, char_literal615_tree); - } - - pushFollow(FOLLOW_expression_in_factor13089); - expression616=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression616.getTree()); - - char_literal617=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_factor13091); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal617_tree = (Object)adaptor.create(char_literal617); - adaptor.addChild(root_0, char_literal617_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:51: ( '^' )? - int alt212=2; - int LA212_0 = input.LA(1); - if ( (LA212_0==POINTER2) ) { - int LA212_1 = input.LA(2); - if ( (synpred294_Delphi()) ) { - alt212=1; - } - } - switch (alt212) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:52: '^' - { - char_literal618=(Token)match(input,POINTER2,FOLLOW_POINTER2_in_factor13094); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal618_tree = (Object)adaptor.create(char_literal618); - adaptor.addChild(root_0, char_literal618_tree); - } - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:58: ( '.' expression )? - int alt213=2; - int LA213_0 = input.LA(1); - if ( (LA213_0==DOT) ) { - switch ( input.LA(2) ) { - case ABSOLUTE: - case AND: - case AS: - case ASM: - case ASSEMBLER: - case AT2: - case AUTOMATED: - case BEGIN: - case CASE: - case CDECL: - case CLASS: - case COLON: - case COMMA: - case CONST: - case CONSTRUCTOR: - case ControlString: - case DEPRECATED: - case DESTRUCTOR: - case DISPID: - case DIV: - case DO: - case DOT: - case DOTDOT: - case DOWNTO: - case ELSE: - case END: - case EQUAL: - case EXCEPT: - case EXPERIMENTAL: - case EXPORTS: - case EXTERNAL: - case FALSE: - case FAR: - case FINALIZATION: - case FINALLY: - case FUNCTION: - case GE: - case GT: - case IMPLEMENTATION: - case IN: - case INHERITED: - case INITIALIZATION: - case INLINE: - case IS: - case LABEL: - case LBRACK: - case LE: - case LIBRARY: - case LPAREN: - case LT: - case MINUS: - case MOD: - case NEAR: - case NIL: - case NODEFAULT: - case NOT: - case NOT_EQUAL: - case OF: - case ON: - case OR: - case OVERLOAD: - case PASCAL: - case PLATFORM: - case PLUS: - case POINTER2: - case PRIVATE: - case PROCEDURE: - case PROPERTY: - case PROTECTED: - case PUBLIC: - case PUBLISHED: - case QuotedString: - case RBRACK: - case RESIDENT: - case RESOURCESTRING: - case RPAREN: - case SAFECALL: - case SEMI: - case SHL: - case SHR: - case SLASH: - case STAR: - case STDCALL: - case THEN: - case THREADVAR: - case TO: - case TRUE: - case TYPE: - case TkAsmHexNum: - case TkHexNum: - case TkIntNum: - case TkRealNum: - case UNSAFE: - case UNTIL: - case VAR: - case VARARGS: - case WRITEONLY: - case XOR: - case 201: - { - alt213=1; - } - break; - case TkIdentifier: - { - int LA213_4 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case 200: - { - int LA213_5 = input.LA(3); - if ( (LA213_5==TkIdentifier) ) { - int LA213_21 = input.LA(4); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - } - break; - case NAME: - { - int LA213_6 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case READ: - { - int LA213_7 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case EOF: - { - alt213=1; - } - break; - case WRITE: - { - int LA213_9 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case READONLY: - { - int LA213_10 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case STORED: - { - int LA213_11 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case DEFAULT: - { - int LA213_12 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case IMPLEMENTS: - { - int LA213_13 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case REGISTER: - { - int LA213_14 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case EXPORT: - { - int LA213_15 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case LOCAL: - { - int LA213_16 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case INDEX: - { - int LA213_17 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case STRICT: - { - int LA213_18 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case OPERATOR: - { - int LA213_19 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case EXIT: - case FINAL: - case MESSAGE: - case OBJECT: - case OUT: - case POINTER: - case REFERENCE: - case REMOVE: - case STRING: - case VARIANT: - { - int LA213_20 = input.LA(3); - if ( (synpred295_Delphi()) ) { - alt213=1; - } - } - break; - } - } - switch (alt213) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:59: '.' expression - { - char_literal619=(Token)match(input,DOT,FOLLOW_DOT_in_factor13099); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal619_tree = (Object)adaptor.create(char_literal619); - adaptor.addChild(root_0, char_literal619_tree); - } - - pushFollow(FOLLOW_expression_in_factor13101); - expression620=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression620.getTree()); - - } - break; - - } - - } - break; - case 14 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:482:32: stringFactor - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_stringFactor_in_factor13144); - stringFactor621=stringFactor(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, stringFactor621.getTree()); - - } - break; - case 15 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:483:32: setSection - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_setSection_in_factor13177); - setSection622=setSection(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, setSection622.getTree()); - - } - break; - case 16 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:484:32: designator - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_designator_in_factor13210); - designator623=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator623.getTree()); - - } - break; - case 17 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:485:32: typeId '(' expression ')' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_typeId_in_factor13243); - typeId624=typeId(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId624.getTree()); - - char_literal625=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_factor13245); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal625_tree = (Object)adaptor.create(char_literal625); - adaptor.addChild(root_0, char_literal625_tree); - } - - pushFollow(FOLLOW_expression_in_factor13247); - expression626=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression626.getTree()); - - char_literal627=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_factor13249); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal627_tree = (Object)adaptor.create(char_literal627); - adaptor.addChild(root_0, char_literal627_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 121, factor_StartIndex); } - - } - return retval; - } - // $ANTLR end "factor" - - - public static class stringFactor_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "stringFactor" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:1: stringFactor : ( ControlString ( QuotedString ControlString )* ( QuotedString )? | QuotedString ( ControlString QuotedString )* ( ControlString )? ); - public final DelphiParser.stringFactor_return stringFactor() throws RecognitionException { - DelphiParser.stringFactor_return retval = new DelphiParser.stringFactor_return(); - retval.start = input.LT(1); - int stringFactor_StartIndex = input.index(); - - Object root_0 = null; - - Token ControlString628=null; - Token QuotedString629=null; - Token ControlString630=null; - Token QuotedString631=null; - Token QuotedString632=null; - Token ControlString633=null; - Token QuotedString634=null; - Token ControlString635=null; - - Object ControlString628_tree=null; - Object QuotedString629_tree=null; - Object ControlString630_tree=null; - Object QuotedString631_tree=null; - Object QuotedString632_tree=null; - Object ControlString633_tree=null; - Object QuotedString634_tree=null; - Object ControlString635_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 122) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:30: ( ControlString ( QuotedString ControlString )* ( QuotedString )? | QuotedString ( ControlString QuotedString )* ( ControlString )? ) - int alt219=2; - int LA219_0 = input.LA(1); - if ( (LA219_0==ControlString) ) { - alt219=1; - } - else if ( (LA219_0==QuotedString) ) { - alt219=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 219, 0, input); - throw nvae; - } - - switch (alt219) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:32: ControlString ( QuotedString ControlString )* ( QuotedString )? - { - root_0 = (Object)adaptor.nil(); - - - ControlString628=(Token)match(input,ControlString,FOLLOW_ControlString_in_stringFactor13302); if (state.failed) return retval; - if ( state.backtracking==0 ) { - ControlString628_tree = (Object)adaptor.create(ControlString628); - adaptor.addChild(root_0, ControlString628_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:46: ( QuotedString ControlString )* - loop215: - while (true) { - int alt215=2; - int LA215_0 = input.LA(1); - if ( (LA215_0==QuotedString) ) { - int LA215_1 = input.LA(2); - if ( (LA215_1==ControlString) ) { - int LA215_3 = input.LA(3); - if ( (synpred300_Delphi()) ) { - alt215=1; - } - - } - - } - - switch (alt215) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:47: QuotedString ControlString - { - QuotedString629=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_stringFactor13305); if (state.failed) return retval; - if ( state.backtracking==0 ) { - QuotedString629_tree = (Object)adaptor.create(QuotedString629); - adaptor.addChild(root_0, QuotedString629_tree); - } - - ControlString630=(Token)match(input,ControlString,FOLLOW_ControlString_in_stringFactor13307); if (state.failed) return retval; - if ( state.backtracking==0 ) { - ControlString630_tree = (Object)adaptor.create(ControlString630); - adaptor.addChild(root_0, ControlString630_tree); - } - - } - break; - - default : - break loop215; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:76: ( QuotedString )? - int alt216=2; - int LA216_0 = input.LA(1); - if ( (LA216_0==QuotedString) ) { - int LA216_1 = input.LA(2); - if ( (synpred301_Delphi()) ) { - alt216=1; - } - } - switch (alt216) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:77: QuotedString - { - QuotedString631=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_stringFactor13312); if (state.failed) return retval; - if ( state.backtracking==0 ) { - QuotedString631_tree = (Object)adaptor.create(QuotedString631); - adaptor.addChild(root_0, QuotedString631_tree); - } - - } - break; - - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:32: QuotedString ( ControlString QuotedString )* ( ControlString )? - { - root_0 = (Object)adaptor.nil(); - - - QuotedString632=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_stringFactor13347); if (state.failed) return retval; - if ( state.backtracking==0 ) { - QuotedString632_tree = (Object)adaptor.create(QuotedString632); - adaptor.addChild(root_0, QuotedString632_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:45: ( ControlString QuotedString )* - loop217: - while (true) { - int alt217=2; - int LA217_0 = input.LA(1); - if ( (LA217_0==ControlString) ) { - int LA217_1 = input.LA(2); - if ( (LA217_1==QuotedString) ) { - int LA217_3 = input.LA(3); - if ( (synpred303_Delphi()) ) { - alt217=1; - } - - } - - } - - switch (alt217) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:46: ControlString QuotedString - { - ControlString633=(Token)match(input,ControlString,FOLLOW_ControlString_in_stringFactor13350); if (state.failed) return retval; - if ( state.backtracking==0 ) { - ControlString633_tree = (Object)adaptor.create(ControlString633); - adaptor.addChild(root_0, ControlString633_tree); - } - - QuotedString634=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_stringFactor13352); if (state.failed) return retval; - if ( state.backtracking==0 ) { - QuotedString634_tree = (Object)adaptor.create(QuotedString634); - adaptor.addChild(root_0, QuotedString634_tree); - } - - } - break; - - default : - break loop217; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:75: ( ControlString )? - int alt218=2; - int LA218_0 = input.LA(1); - if ( (LA218_0==ControlString) ) { - int LA218_1 = input.LA(2); - if ( (synpred304_Delphi()) ) { - alt218=1; - } - } - switch (alt218) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:76: ControlString - { - ControlString635=(Token)match(input,ControlString,FOLLOW_ControlString_in_stringFactor13357); if (state.failed) return retval; - if ( state.backtracking==0 ) { - ControlString635_tree = (Object)adaptor.create(ControlString635); - adaptor.addChild(root_0, ControlString635_tree); - } - - } - break; - - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 122, stringFactor_StartIndex); } - - } - return retval; - } - // $ANTLR end "stringFactor" - - - public static class setSection_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "setSection" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:1: setSection : '[' ( expression ( ( ',' | '..' ) expression )* )? ']' ; - public final DelphiParser.setSection_return setSection() throws RecognitionException { - DelphiParser.setSection_return retval = new DelphiParser.setSection_return(); - retval.start = input.LT(1); - int setSection_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal636=null; - Token set638=null; - Token char_literal640=null; - ParserRuleReturnScope expression637 =null; - ParserRuleReturnScope expression639 =null; - - Object char_literal636_tree=null; - Object set638_tree=null; - Object char_literal640_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 123) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:30: ( '[' ( expression ( ( ',' | '..' ) expression )* )? ']' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:32: '[' ( expression ( ( ',' | '..' ) expression )* )? ']' - { - root_0 = (Object)adaptor.nil(); - - - char_literal636=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_setSection13414); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal636_tree = (Object)adaptor.create(char_literal636); - adaptor.addChild(root_0, char_literal636_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:36: ( expression ( ( ',' | '..' ) expression )* )? - int alt221=2; - int LA221_0 = input.LA(1); - if ( ((LA221_0 >= ADD && LA221_0 <= ANSISTRING)||LA221_0==AS||(LA221_0 >= AT && LA221_0 <= AT2)||LA221_0==BREAK||LA221_0==COMMA||(LA221_0 >= CONTAINS && LA221_0 <= ControlString)||LA221_0==DEFAULT||LA221_0==DIV||(LA221_0 >= DOT && LA221_0 <= DOTDOT)||LA221_0==EQUAL||LA221_0==EXIT||LA221_0==EXPORT||LA221_0==FALSE||LA221_0==FINAL||(LA221_0 >= FUNCTION && LA221_0 <= GE)||LA221_0==GT||(LA221_0 >= IMPLEMENTS && LA221_0 <= INHERITED)||LA221_0==IS||LA221_0==LBRACK||LA221_0==LE||(LA221_0 >= LOCAL && LA221_0 <= NAME)||LA221_0==NIL||(LA221_0 >= NOT && LA221_0 <= OBJECT)||(LA221_0 >= OPERATOR && LA221_0 <= OUT)||(LA221_0 >= PLUS && LA221_0 <= POINTER2)||LA221_0==PROCEDURE||LA221_0==QuotedString||(LA221_0 >= READ && LA221_0 <= READONLY)||(LA221_0 >= REFERENCE && LA221_0 <= REGISTER)||LA221_0==REMOVE||(LA221_0 >= SHL && LA221_0 <= STAR)||(LA221_0 >= STORED && LA221_0 <= STRING)||LA221_0==TRUE||LA221_0==TkAsmHexNum||(LA221_0 >= TkHexNum && LA221_0 <= TkIntNum)||LA221_0==TkRealNum||LA221_0==VARIANT||LA221_0==WRITE||(LA221_0 >= XOR && LA221_0 <= 201)) ) { - alt221=1; - } - else if ( (LA221_0==RBRACK) ) { - int LA221_2 = input.LA(2); - if ( (synpred307_Delphi()) ) { - alt221=1; - } - } - switch (alt221) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:37: expression ( ( ',' | '..' ) expression )* - { - pushFollow(FOLLOW_expression_in_setSection13417); - expression637=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression637.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:48: ( ( ',' | '..' ) expression )* - loop220: - while (true) { - int alt220=2; - int LA220_0 = input.LA(1); - if ( (LA220_0==COMMA||LA220_0==DOTDOT) ) { - alt220=1; - } - - switch (alt220) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:49: ( ',' | '..' ) expression - { - set638=input.LT(1); - if ( input.LA(1)==COMMA||input.LA(1)==DOTDOT ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set638)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - pushFollow(FOLLOW_expression_in_setSection13428); - expression639=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression639.getTree()); - - } - break; - - default : - break loop220; - } - } - - } - break; - - } - - char_literal640=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_setSection13434); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal640_tree = (Object)adaptor.create(char_literal640); - adaptor.addChild(root_0, char_literal640_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 123, setSection_StartIndex); } - - } - return retval; - } - // $ANTLR end "setSection" - - - public static class designator_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "designator" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:1: designator : ( 'inherited' )? ( ( namespacedQualifiedIdent | typeId ) )? ( designatorItem )* ; - public final DelphiParser.designator_return designator() throws RecognitionException { - DelphiParser.designator_return retval = new DelphiParser.designator_return(); - retval.start = input.LT(1); - int designator_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal641=null; - ParserRuleReturnScope namespacedQualifiedIdent642 =null; - ParserRuleReturnScope typeId643 =null; - ParserRuleReturnScope designatorItem644 =null; - - Object string_literal641_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 124) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:30: ( ( 'inherited' )? ( ( namespacedQualifiedIdent | typeId ) )? ( designatorItem )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:32: ( 'inherited' )? ( ( namespacedQualifiedIdent | typeId ) )? ( designatorItem )* - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:32: ( 'inherited' )? - int alt222=2; - int LA222_0 = input.LA(1); - if ( (LA222_0==INHERITED) ) { - int LA222_1 = input.LA(2); - if ( (synpred308_Delphi()) ) { - alt222=1; - } - } - switch (alt222) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:33: 'inherited' - { - string_literal641=(Token)match(input,INHERITED,FOLLOW_INHERITED_in_designator13491); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal641_tree = (Object)adaptor.create(string_literal641); - adaptor.addChild(root_0, string_literal641_tree); - } - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:47: ( ( namespacedQualifiedIdent | typeId ) )? - int alt224=2; - switch ( input.LA(1) ) { - case TkIdentifier: - { - int LA224_1 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case 200: - { - int LA224_2 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case NAME: - { - int LA224_3 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case READ: - { - int LA224_5 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case WRITE: - { - int LA224_6 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case READONLY: - { - int LA224_7 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case STORED: - { - int LA224_8 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case DEFAULT: - { - int LA224_9 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case IMPLEMENTS: - { - int LA224_10 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case REGISTER: - { - int LA224_11 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case EXPORT: - { - int LA224_12 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case LOCAL: - { - int LA224_13 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case INDEX: - { - int LA224_14 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case STRICT: - { - int LA224_15 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case OPERATOR: - { - int LA224_16 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case AT: - { - int LA224_17 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - case ADD: - case ANSISTRING: - case BREAK: - case CONTAINS: - case CONTINUE: - case EXIT: - case FINAL: - case MESSAGE: - case OBJECT: - case OUT: - case POINTER: - case REFERENCE: - case REMOVE: - case STRING: - case VARIANT: - { - int LA224_18 = input.LA(2); - if ( (synpred310_Delphi()) ) { - alt224=1; - } - } - break; - } - switch (alt224) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:49: ( namespacedQualifiedIdent | typeId ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:49: ( namespacedQualifiedIdent | typeId ) - int alt223=2; - switch ( input.LA(1) ) { - case TkIdentifier: - { - int LA223_1 = input.LA(2); - if ( (synpred309_Delphi()) ) { - alt223=1; - } - else if ( (true) ) { - alt223=2; - } - - } - break; - case 200: - { - int LA223_2 = input.LA(2); - if ( (LA223_2==TkIdentifier) ) { - int LA223_6 = input.LA(3); - if ( (synpred309_Delphi()) ) { - alt223=1; - } - else if ( (true) ) { - alt223=2; - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 223, 2, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA223_3 = input.LA(2); - if ( (synpred309_Delphi()) ) { - alt223=1; - } - else if ( (true) ) { - alt223=2; - } - - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 223, 0, input); - throw nvae; - } - switch (alt223) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:50: namespacedQualifiedIdent - { - pushFollow(FOLLOW_namespacedQualifiedIdent_in_designator13498); - namespacedQualifiedIdent642=namespacedQualifiedIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, namespacedQualifiedIdent642.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:77: typeId - { - pushFollow(FOLLOW_typeId_in_designator13502); - typeId643=typeId(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId643.getTree()); - - } - break; - - } - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:88: ( designatorItem )* - loop225: - while (true) { - int alt225=2; - alt225 = dfa225.predict(input); - switch (alt225) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:89: designatorItem - { - pushFollow(FOLLOW_designatorItem_in_designator13509); - designatorItem644=designatorItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designatorItem644.getTree()); - - } - break; - - default : - break loop225; - } - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 124, designator_StartIndex); } - - } - return retval; - } - // $ANTLR end "designator" - - - public static class designatorItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "designatorItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:495:1: designatorItem : ( '^' | ( '.' | '@' ) ident | ( '<' genericTypeIdent ( ',' genericTypeIdent )* '>' ) | '[' expressionList ']' | '(' ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* )? ')' -> '(' ( expression ( colonConstruct )? ( expression ( colonConstruct )? )* )? ')' ); - public final DelphiParser.designatorItem_return designatorItem() throws RecognitionException { - DelphiParser.designatorItem_return retval = new DelphiParser.designatorItem_return(); - retval.start = input.LT(1); - int designatorItem_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal645=null; - Token set646=null; - Token char_literal648=null; - Token char_literal650=null; - Token char_literal652=null; - Token char_literal653=null; - Token char_literal655=null; - Token char_literal656=null; - Token char_literal659=null; - Token char_literal662=null; - ParserRuleReturnScope ident647 =null; - ParserRuleReturnScope genericTypeIdent649 =null; - ParserRuleReturnScope genericTypeIdent651 =null; - ParserRuleReturnScope expressionList654 =null; - ParserRuleReturnScope expression657 =null; - ParserRuleReturnScope colonConstruct658 =null; - ParserRuleReturnScope expression660 =null; - ParserRuleReturnScope colonConstruct661 =null; - - Object char_literal645_tree=null; - Object set646_tree=null; - Object char_literal648_tree=null; - Object char_literal650_tree=null; - Object char_literal652_tree=null; - Object char_literal653_tree=null; - Object char_literal655_tree=null; - Object char_literal656_tree=null; - Object char_literal659_tree=null; - Object char_literal662_tree=null; - RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); - RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); - RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); - RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression"); - RewriteRuleSubtreeStream stream_colonConstruct=new RewriteRuleSubtreeStream(adaptor,"rule colonConstruct"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 125) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:495:30: ( '^' | ( '.' | '@' ) ident | ( '<' genericTypeIdent ( ',' genericTypeIdent )* '>' ) | '[' expressionList ']' | '(' ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* )? ')' -> '(' ( expression ( colonConstruct )? ( expression ( colonConstruct )? )* )? ')' ) - int alt231=5; - switch ( input.LA(1) ) { - case POINTER2: - { - alt231=1; - } - break; - case AT2: - case DOT: - { - alt231=2; - } - break; - case LT: - { - alt231=3; - } - break; - case LBRACK: - { - alt231=4; - } - break; - case LPAREN: - { - alt231=5; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 231, 0, input); - throw nvae; - } - switch (alt231) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:495:32: '^' - { - root_0 = (Object)adaptor.nil(); - - - char_literal645=(Token)match(input,POINTER2,FOLLOW_POINTER2_in_designatorItem13562); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal645_tree = (Object)adaptor.create(char_literal645); - adaptor.addChild(root_0, char_literal645_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:496:32: ( '.' | '@' ) ident - { - root_0 = (Object)adaptor.nil(); - - - set646=input.LT(1); - if ( input.LA(1)==AT2||input.LA(1)==DOT ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set646)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - pushFollow(FOLLOW_ident_in_designatorItem13603); - ident647=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident647.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:497:32: ( '<' genericTypeIdent ( ',' genericTypeIdent )* '>' ) - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:497:32: ( '<' genericTypeIdent ( ',' genericTypeIdent )* '>' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:497:33: '<' genericTypeIdent ( ',' genericTypeIdent )* '>' - { - char_literal648=(Token)match(input,LT,FOLLOW_LT_in_designatorItem13651); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal648_tree = (Object)adaptor.create(char_literal648); - adaptor.addChild(root_0, char_literal648_tree); - } - - pushFollow(FOLLOW_genericTypeIdent_in_designatorItem13653); - genericTypeIdent649=genericTypeIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, genericTypeIdent649.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:497:54: ( ',' genericTypeIdent )* - loop226: - while (true) { - int alt226=2; - int LA226_0 = input.LA(1); - if ( (LA226_0==COMMA) ) { - alt226=1; - } - - switch (alt226) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:497:55: ',' genericTypeIdent - { - char_literal650=(Token)match(input,COMMA,FOLLOW_COMMA_in_designatorItem13656); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal650_tree = (Object)adaptor.create(char_literal650); - adaptor.addChild(root_0, char_literal650_tree); - } - - pushFollow(FOLLOW_genericTypeIdent_in_designatorItem13658); - genericTypeIdent651=genericTypeIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, genericTypeIdent651.getTree()); - - } - break; - - default : - break loop226; - } - } - - char_literal652=(Token)match(input,GT,FOLLOW_GT_in_designatorItem13662); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal652_tree = (Object)adaptor.create(char_literal652); - adaptor.addChild(root_0, char_literal652_tree); - } - - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:32: '[' expressionList ']' - { - root_0 = (Object)adaptor.nil(); - - - char_literal653=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_designatorItem13703); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal653_tree = (Object)adaptor.create(char_literal653); - adaptor.addChild(root_0, char_literal653_tree); - } - - pushFollow(FOLLOW_expressionList_in_designatorItem13705); - expressionList654=expressionList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expressionList654.getTree()); - - char_literal655=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_designatorItem13707); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal655_tree = (Object)adaptor.create(char_literal655); - adaptor.addChild(root_0, char_literal655_tree); - } - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:32: '(' ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* )? ')' - { - char_literal656=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_designatorItem13740); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_LPAREN.add(char_literal656); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:36: ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* )? - int alt230=2; - int LA230_0 = input.LA(1); - if ( ((LA230_0 >= ADD && LA230_0 <= ANSISTRING)||LA230_0==AS||(LA230_0 >= AT && LA230_0 <= AT2)||LA230_0==BREAK||(LA230_0 >= COLON && LA230_0 <= COMMA)||(LA230_0 >= CONTAINS && LA230_0 <= ControlString)||LA230_0==DEFAULT||LA230_0==DIV||LA230_0==DOT||LA230_0==EQUAL||LA230_0==EXIT||LA230_0==EXPORT||LA230_0==FALSE||LA230_0==FINAL||(LA230_0 >= FUNCTION && LA230_0 <= GE)||LA230_0==GT||(LA230_0 >= IMPLEMENTS && LA230_0 <= INHERITED)||LA230_0==IS||LA230_0==LBRACK||LA230_0==LE||(LA230_0 >= LOCAL && LA230_0 <= NAME)||LA230_0==NIL||(LA230_0 >= NOT && LA230_0 <= OBJECT)||(LA230_0 >= OPERATOR && LA230_0 <= OUT)||(LA230_0 >= PLUS && LA230_0 <= POINTER2)||LA230_0==PROCEDURE||LA230_0==QuotedString||(LA230_0 >= READ && LA230_0 <= READONLY)||(LA230_0 >= REFERENCE && LA230_0 <= REGISTER)||LA230_0==REMOVE||(LA230_0 >= SHL && LA230_0 <= STAR)||(LA230_0 >= STORED && LA230_0 <= STRING)||LA230_0==TRUE||LA230_0==TkAsmHexNum||(LA230_0 >= TkHexNum && LA230_0 <= TkIntNum)||LA230_0==TkRealNum||LA230_0==VARIANT||LA230_0==WRITE||(LA230_0 >= XOR && LA230_0 <= 201)) ) { - alt230=1; - } - else if ( (LA230_0==RPAREN) ) { - int LA230_2 = input.LA(2); - if ( (synpred321_Delphi()) ) { - alt230=1; - } - } - switch (alt230) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:37: expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* - { - pushFollow(FOLLOW_expression_in_designatorItem13743); - expression657=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_expression.add(expression657.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:48: ( colonConstruct )? - int alt227=2; - int LA227_0 = input.LA(1); - if ( (LA227_0==COLON) ) { - alt227=1; - } - switch (alt227) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:49: colonConstruct - { - pushFollow(FOLLOW_colonConstruct_in_designatorItem13746); - colonConstruct658=colonConstruct(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_colonConstruct.add(colonConstruct658.getTree()); - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:66: ( ',' expression ( colonConstruct )? )* - loop229: - while (true) { - int alt229=2; - int LA229_0 = input.LA(1); - if ( (LA229_0==COMMA) ) { - alt229=1; - } - - switch (alt229) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:67: ',' expression ( colonConstruct )? - { - char_literal659=(Token)match(input,COMMA,FOLLOW_COMMA_in_designatorItem13751); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COMMA.add(char_literal659); - - pushFollow(FOLLOW_expression_in_designatorItem13753); - expression660=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_expression.add(expression660.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:82: ( colonConstruct )? - int alt228=2; - int LA228_0 = input.LA(1); - if ( (LA228_0==COLON) ) { - alt228=1; - } - switch (alt228) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:83: colonConstruct - { - pushFollow(FOLLOW_colonConstruct_in_designatorItem13756); - colonConstruct661=colonConstruct(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_colonConstruct.add(colonConstruct661.getTree()); - } - break; - - } - - } - break; - - default : - break loop229; - } - } - - } - break; - - } - - char_literal662=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_designatorItem13764); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_RPAREN.add(char_literal662); - - // AST REWRITE - // elements: expression, LPAREN, RPAREN, colonConstruct, expression, colonConstruct - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 499:108: -> '(' ( expression ( colonConstruct )? ( expression ( colonConstruct )? )* )? ')' - { - adaptor.addChild(root_0, stream_LPAREN.nextNode()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:115: ( expression ( colonConstruct )? ( expression ( colonConstruct )? )* )? - if ( stream_expression.hasNext()||stream_colonConstruct.hasNext()||stream_expression.hasNext() ) { - adaptor.addChild(root_0, stream_expression.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:127: ( colonConstruct )? - if ( stream_colonConstruct.hasNext() ) { - adaptor.addChild(root_0, stream_colonConstruct.nextTree()); - } - stream_colonConstruct.reset(); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:145: ( expression ( colonConstruct )? )* - while ( stream_expression.hasNext() ) { - adaptor.addChild(root_0, stream_expression.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:157: ( colonConstruct )? - if ( stream_colonConstruct.hasNext() ) { - adaptor.addChild(root_0, stream_colonConstruct.nextTree()); - } - stream_colonConstruct.reset(); - - } - stream_expression.reset(); - - } - stream_expression.reset(); - stream_colonConstruct.reset(); - stream_expression.reset(); - - adaptor.addChild(root_0, stream_RPAREN.nextNode()); - } - - - retval.tree = root_0; - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 125, designatorItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "designatorItem" - - - public static class expressionList_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "expressionList" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:1: expressionList : expression ( ',' expression )* ; - public final DelphiParser.expressionList_return expressionList() throws RecognitionException { - DelphiParser.expressionList_return retval = new DelphiParser.expressionList_return(); - retval.start = input.LT(1); - int expressionList_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal664=null; - ParserRuleReturnScope expression663 =null; - ParserRuleReturnScope expression665 =null; - - Object char_literal664_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 126) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:30: ( expression ( ',' expression )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:32: expression ( ',' expression )* - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_expression_in_expressionList13841); - expression663=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression663.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:43: ( ',' expression )* - loop232: - while (true) { - int alt232=2; - int LA232_0 = input.LA(1); - if ( (LA232_0==COMMA) ) { - alt232=1; - } - - switch (alt232) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:44: ',' expression - { - char_literal664=(Token)match(input,COMMA,FOLLOW_COMMA_in_expressionList13844); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal664_tree = (Object)adaptor.create(char_literal664); - adaptor.addChild(root_0, char_literal664_tree); - } - - pushFollow(FOLLOW_expression_in_expressionList13846); - expression665=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression665.getTree()); - - } - break; - - default : - break loop232; - } - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 126, expressionList_StartIndex); } - - } - return retval; - } - // $ANTLR end "expressionList" - - - public static class colonConstruct_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "colonConstruct" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:1: colonConstruct : ':' expression ( ':' expression )? ; - public final DelphiParser.colonConstruct_return colonConstruct() throws RecognitionException { - DelphiParser.colonConstruct_return retval = new DelphiParser.colonConstruct_return(); - retval.start = input.LT(1); - int colonConstruct_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal666=null; - Token char_literal668=null; - ParserRuleReturnScope expression667 =null; - ParserRuleReturnScope expression669 =null; - - Object char_literal666_tree=null; - Object char_literal668_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 127) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:30: ( ':' expression ( ':' expression )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:32: ':' expression ( ':' expression )? - { - root_0 = (Object)adaptor.nil(); - - - char_literal666=(Token)match(input,COLON,FOLLOW_COLON_in_colonConstruct13899); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal666_tree = (Object)adaptor.create(char_literal666); - adaptor.addChild(root_0, char_literal666_tree); - } - - pushFollow(FOLLOW_expression_in_colonConstruct13901); - expression667=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression667.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:47: ( ':' expression )? - int alt233=2; - int LA233_0 = input.LA(1); - if ( (LA233_0==COLON) ) { - alt233=1; - } - switch (alt233) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:48: ':' expression - { - char_literal668=(Token)match(input,COLON,FOLLOW_COLON_in_colonConstruct13904); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal668_tree = (Object)adaptor.create(char_literal668); - adaptor.addChild(root_0, char_literal668_tree); - } - - pushFollow(FOLLOW_expression_in_colonConstruct13906); - expression669=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression669.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 127, colonConstruct_StartIndex); } - - } - return retval; - } - // $ANTLR end "colonConstruct" - - - public static class operator_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "operator" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:1: operator : ( '+' | '-' | 'or' | 'xor' | '*' | '/' | 'div' | 'mod' | 'and' | 'shl' | 'shr' | 'as' ); - public final DelphiParser.operator_return operator() throws RecognitionException { - DelphiParser.operator_return retval = new DelphiParser.operator_return(); - retval.start = input.LT(1); - int operator_StartIndex = input.index(); - - Object root_0 = null; - - Token set670=null; - - Object set670_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 128) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:30: ( '+' | '-' | 'or' | 'xor' | '*' | '/' | 'div' | 'mod' | 'and' | 'shl' | 'shr' | 'as' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set670=input.LT(1); - if ( input.LA(1)==AND||input.LA(1)==AS||input.LA(1)==DIV||(input.LA(1) >= MINUS && input.LA(1) <= MOD)||input.LA(1)==OR||input.LA(1)==PLUS||(input.LA(1) >= SHL && input.LA(1) <= STAR)||input.LA(1)==XOR ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set670)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 128, operator_StartIndex); } - - } - return retval; - } - // $ANTLR end "operator" - - - public static class relOp_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "relOp" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:519:1: relOp : ( '<' | '>' | '<=' | '>=' | '<>' | '=' | 'in' | 'is' ); - public final DelphiParser.relOp_return relOp() throws RecognitionException { - DelphiParser.relOp_return retval = new DelphiParser.relOp_return(); - retval.start = input.LT(1); - int relOp_StartIndex = input.index(); - - Object root_0 = null; - - Token set671=null; - - Object set671_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 129) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:519:30: ( '<' | '>' | '<=' | '>=' | '<>' | '=' | 'in' | 'is' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set671=input.LT(1); - if ( input.LA(1)==EQUAL||input.LA(1)==GE||input.LA(1)==GT||input.LA(1)==IN||input.LA(1)==IS||input.LA(1)==LE||input.LA(1)==LT||input.LA(1)==NOT_EQUAL ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set671)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 129, relOp_StartIndex); } - - } - return retval; - } - // $ANTLR end "relOp" - - - public static class statement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "statement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:532:1: statement : ( ifStatement | caseStatement | repeatStatement | whileStatement | forStatement | withStatement | tryStatement | raiseStatement | assemblerStatement | compoundStatement | label ':' statement | simpleStatement ); - public final DelphiParser.statement_return statement() throws RecognitionException { - DelphiParser.statement_return retval = new DelphiParser.statement_return(); - retval.start = input.LT(1); - int statement_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal683=null; - ParserRuleReturnScope ifStatement672 =null; - ParserRuleReturnScope caseStatement673 =null; - ParserRuleReturnScope repeatStatement674 =null; - ParserRuleReturnScope whileStatement675 =null; - ParserRuleReturnScope forStatement676 =null; - ParserRuleReturnScope withStatement677 =null; - ParserRuleReturnScope tryStatement678 =null; - ParserRuleReturnScope raiseStatement679 =null; - ParserRuleReturnScope assemblerStatement680 =null; - ParserRuleReturnScope compoundStatement681 =null; - ParserRuleReturnScope label682 =null; - ParserRuleReturnScope statement684 =null; - ParserRuleReturnScope simpleStatement685 =null; - - Object char_literal683_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 130) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:532:30: ( ifStatement | caseStatement | repeatStatement | whileStatement | forStatement | withStatement | tryStatement | raiseStatement | assemblerStatement | compoundStatement | label ':' statement | simpleStatement ) - int alt234=12; - switch ( input.LA(1) ) { - case IF: - { - alt234=1; - } - break; - case CASE: - { - alt234=2; - } - break; - case REPEAT: - { - alt234=3; - } - break; - case WHILE: - { - alt234=4; - } - break; - case FOR: - { - alt234=5; - } - break; - case WITH: - { - alt234=6; - } - break; - case TRY: - { - alt234=7; - } - break; - case RAISE: - { - alt234=8; - } - break; - case ASM: - { - alt234=9; - } - break; - case BEGIN: - { - alt234=10; - } - break; - case TkIdentifier: - { - int LA234_11 = input.LA(2); - if ( (LA234_11==COLON) ) { - int LA234_19 = input.LA(3); - if ( (synpred352_Delphi()) ) { - alt234=11; - } - else if ( (true) ) { - alt234=12; - } - - } - else if ( (LA234_11==EOF||(LA234_11 >= ADD && LA234_11 <= ANSISTRING)||LA234_11==AS||(LA234_11 >= ASSIGN && LA234_11 <= AT2)||LA234_11==BREAK||LA234_11==COMMA||(LA234_11 >= CONTAINS && LA234_11 <= ControlString)||LA234_11==DEFAULT||LA234_11==DIV||(LA234_11 >= DOT && LA234_11 <= DOTDOT)||(LA234_11 >= ELSE && LA234_11 <= EXIT)||LA234_11==EXPORT||LA234_11==FALSE||(LA234_11 >= FINAL && LA234_11 <= FINALLY)||(LA234_11 >= FUNCTION && LA234_11 <= GE)||LA234_11==GT||(LA234_11 >= IMPLEMENTS && LA234_11 <= INHERITED)||LA234_11==IS||LA234_11==LBRACK||LA234_11==LE||(LA234_11 >= LOCAL && LA234_11 <= NAME)||LA234_11==NIL||(LA234_11 >= NOT && LA234_11 <= OBJECT)||(LA234_11 >= ON && LA234_11 <= OUT)||(LA234_11 >= PLUS && LA234_11 <= POINTER2)||LA234_11==PROCEDURE||LA234_11==QuotedString||(LA234_11 >= READ && LA234_11 <= READONLY)||(LA234_11 >= REFERENCE && LA234_11 <= REGISTER)||LA234_11==REMOVE||LA234_11==SEMI||(LA234_11 >= SHL && LA234_11 <= STAR)||(LA234_11 >= STORED && LA234_11 <= STRING)||LA234_11==TRUE||LA234_11==TkAsmHexNum||(LA234_11 >= TkHexNum && LA234_11 <= TkIntNum)||LA234_11==TkRealNum||LA234_11==UNTIL||LA234_11==VARIANT||LA234_11==WRITE||(LA234_11 >= XOR && LA234_11 <= 201)) ) { - alt234=12; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 234, 11, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case TkIntNum: - { - int LA234_12 = input.LA(2); - if ( (LA234_12==COLON) ) { - int LA234_20 = input.LA(3); - if ( (synpred352_Delphi()) ) { - alt234=11; - } - else if ( (true) ) { - alt234=12; - } - - } - else if ( (LA234_12==AND||LA234_12==AS||LA234_12==COMMA||LA234_12==DIV||LA234_12==DOTDOT||LA234_12==EQUAL||LA234_12==GE||LA234_12==GT||LA234_12==IN||LA234_12==IS||LA234_12==LE||LA234_12==LT||(LA234_12 >= MINUS && LA234_12 <= MOD)||LA234_12==NOT_EQUAL||LA234_12==OR||LA234_12==PLUS||(LA234_12 >= SHL && LA234_12 <= STAR)||LA234_12==XOR) ) { - alt234=12; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 234, 12, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case TkHexNum: - { - int LA234_13 = input.LA(2); - if ( (LA234_13==COLON) ) { - int LA234_21 = input.LA(3); - if ( (synpred352_Delphi()) ) { - alt234=11; - } - else if ( (true) ) { - alt234=12; - } - - } - else if ( (LA234_13==AND||LA234_13==AS||LA234_13==COMMA||LA234_13==DIV||LA234_13==DOTDOT||LA234_13==EQUAL||LA234_13==GE||LA234_13==GT||LA234_13==IN||LA234_13==IS||LA234_13==LE||LA234_13==LT||(LA234_13 >= MINUS && LA234_13 <= MOD)||LA234_13==NOT_EQUAL||LA234_13==OR||LA234_13==PLUS||(LA234_13 >= SHL && LA234_13 <= STAR)||LA234_13==XOR) ) { - alt234=12; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 234, 13, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case EXIT: - { - int LA234_14 = input.LA(2); - if ( (LA234_14==COLON) ) { - int LA234_22 = input.LA(3); - if ( (synpred352_Delphi()) ) { - alt234=11; - } - else if ( (true) ) { - alt234=12; - } - - } - else if ( (LA234_14==EOF||(LA234_14 >= ADD && LA234_14 <= ANSISTRING)||LA234_14==AS||(LA234_14 >= ASSIGN && LA234_14 <= AT2)||LA234_14==BREAK||LA234_14==COMMA||(LA234_14 >= CONTAINS && LA234_14 <= ControlString)||LA234_14==DEFAULT||LA234_14==DIV||(LA234_14 >= DOT && LA234_14 <= DOTDOT)||(LA234_14 >= ELSE && LA234_14 <= EXIT)||LA234_14==EXPORT||LA234_14==FALSE||(LA234_14 >= FINAL && LA234_14 <= FINALLY)||(LA234_14 >= FUNCTION && LA234_14 <= GE)||LA234_14==GT||(LA234_14 >= IMPLEMENTS && LA234_14 <= INHERITED)||LA234_14==IS||LA234_14==LBRACK||LA234_14==LE||(LA234_14 >= LOCAL && LA234_14 <= NAME)||LA234_14==NIL||(LA234_14 >= NOT && LA234_14 <= OBJECT)||(LA234_14 >= ON && LA234_14 <= OUT)||(LA234_14 >= PLUS && LA234_14 <= POINTER2)||LA234_14==PROCEDURE||LA234_14==QuotedString||(LA234_14 >= READ && LA234_14 <= READONLY)||(LA234_14 >= REFERENCE && LA234_14 <= REGISTER)||LA234_14==REMOVE||LA234_14==SEMI||(LA234_14 >= SHL && LA234_14 <= STAR)||(LA234_14 >= STORED && LA234_14 <= STRING)||LA234_14==TRUE||LA234_14==TkAsmHexNum||(LA234_14 >= TkHexNum && LA234_14 <= TkIntNum)||LA234_14==TkRealNum||LA234_14==UNTIL||LA234_14==VARIANT||LA234_14==WRITE||(LA234_14 >= XOR && LA234_14 <= 201)) ) { - alt234=12; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 234, 14, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case EOF: - case AND: - case AS: - case ASSIGN: - case AT2: - case COLON: - case COMMA: - case ControlString: - case DIV: - case DOT: - case DOTDOT: - case ELSE: - case END: - case EQUAL: - case EXCEPT: - case FALSE: - case FINALIZATION: - case FINALLY: - case FUNCTION: - case GE: - case GOTO: - case GT: - case IN: - case INHERITED: - case IS: - case LBRACK: - case LE: - case LPAREN: - case LT: - case MINUS: - case MOD: - case NIL: - case NOT: - case NOT_EQUAL: - case ON: - case OR: - case PLUS: - case POINTER2: - case PROCEDURE: - case QuotedString: - case SEMI: - case SHL: - case SHR: - case SLASH: - case STAR: - case TRUE: - case TkAsmHexNum: - case TkRealNum: - case UNTIL: - case XOR: - case 200: - case 201: - { - alt234=12; - } - break; - case BREAK: - { - int LA234_16 = input.LA(2); - if ( (LA234_16==COLON) ) { - int LA234_23 = input.LA(3); - if ( (synpred352_Delphi()) ) { - alt234=11; - } - else if ( (true) ) { - alt234=12; - } - - } - else if ( (LA234_16==EOF||(LA234_16 >= ADD && LA234_16 <= ANSISTRING)||LA234_16==AS||(LA234_16 >= ASSIGN && LA234_16 <= AT2)||LA234_16==BREAK||LA234_16==COMMA||(LA234_16 >= CONTAINS && LA234_16 <= ControlString)||LA234_16==DEFAULT||LA234_16==DIV||(LA234_16 >= DOT && LA234_16 <= DOTDOT)||(LA234_16 >= ELSE && LA234_16 <= EXIT)||LA234_16==EXPORT||LA234_16==FALSE||(LA234_16 >= FINAL && LA234_16 <= FINALLY)||(LA234_16 >= FUNCTION && LA234_16 <= GE)||LA234_16==GT||(LA234_16 >= IMPLEMENTS && LA234_16 <= INHERITED)||LA234_16==IS||LA234_16==LBRACK||LA234_16==LE||(LA234_16 >= LOCAL && LA234_16 <= NAME)||LA234_16==NIL||(LA234_16 >= NOT && LA234_16 <= OBJECT)||(LA234_16 >= ON && LA234_16 <= OUT)||(LA234_16 >= PLUS && LA234_16 <= POINTER2)||LA234_16==PROCEDURE||LA234_16==QuotedString||(LA234_16 >= READ && LA234_16 <= READONLY)||(LA234_16 >= REFERENCE && LA234_16 <= REGISTER)||LA234_16==REMOVE||LA234_16==SEMI||(LA234_16 >= SHL && LA234_16 <= STAR)||(LA234_16 >= STORED && LA234_16 <= STRING)||LA234_16==TRUE||LA234_16==TkAsmHexNum||(LA234_16 >= TkHexNum && LA234_16 <= TkIntNum)||LA234_16==TkRealNum||LA234_16==UNTIL||LA234_16==VARIANT||LA234_16==WRITE||(LA234_16 >= XOR && LA234_16 <= 201)) ) { - alt234=12; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 234, 16, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case CONTINUE: - { - int LA234_17 = input.LA(2); - if ( (LA234_17==COLON) ) { - int LA234_24 = input.LA(3); - if ( (synpred352_Delphi()) ) { - alt234=11; - } - else if ( (true) ) { - alt234=12; - } - - } - else if ( (LA234_17==EOF||(LA234_17 >= ADD && LA234_17 <= ANSISTRING)||LA234_17==AS||(LA234_17 >= ASSIGN && LA234_17 <= AT2)||LA234_17==BREAK||LA234_17==COMMA||(LA234_17 >= CONTAINS && LA234_17 <= ControlString)||LA234_17==DEFAULT||LA234_17==DIV||(LA234_17 >= DOT && LA234_17 <= DOTDOT)||(LA234_17 >= ELSE && LA234_17 <= EXIT)||LA234_17==EXPORT||LA234_17==FALSE||(LA234_17 >= FINAL && LA234_17 <= FINALLY)||(LA234_17 >= FUNCTION && LA234_17 <= GE)||LA234_17==GT||(LA234_17 >= IMPLEMENTS && LA234_17 <= INHERITED)||LA234_17==IS||LA234_17==LBRACK||LA234_17==LE||(LA234_17 >= LOCAL && LA234_17 <= NAME)||LA234_17==NIL||(LA234_17 >= NOT && LA234_17 <= OBJECT)||(LA234_17 >= ON && LA234_17 <= OUT)||(LA234_17 >= PLUS && LA234_17 <= POINTER2)||LA234_17==PROCEDURE||LA234_17==QuotedString||(LA234_17 >= READ && LA234_17 <= READONLY)||(LA234_17 >= REFERENCE && LA234_17 <= REGISTER)||LA234_17==REMOVE||LA234_17==SEMI||(LA234_17 >= SHL && LA234_17 <= STAR)||(LA234_17 >= STORED && LA234_17 <= STRING)||LA234_17==TRUE||LA234_17==TkAsmHexNum||(LA234_17 >= TkHexNum && LA234_17 <= TkIntNum)||LA234_17==TkRealNum||LA234_17==UNTIL||LA234_17==VARIANT||LA234_17==WRITE||(LA234_17 >= XOR && LA234_17 <= 201)) ) { - alt234=12; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 234, 17, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case CONTAINS: - case DEFAULT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA234_18 = input.LA(2); - if ( (LA234_18==COLON) ) { - int LA234_25 = input.LA(3); - if ( (synpred352_Delphi()) ) { - alt234=11; - } - else if ( (true) ) { - alt234=12; - } - - } - else if ( (LA234_18==EOF||(LA234_18 >= ADD && LA234_18 <= ANSISTRING)||LA234_18==AS||(LA234_18 >= ASSIGN && LA234_18 <= AT2)||LA234_18==BREAK||LA234_18==COMMA||(LA234_18 >= CONTAINS && LA234_18 <= ControlString)||LA234_18==DEFAULT||LA234_18==DIV||(LA234_18 >= DOT && LA234_18 <= DOTDOT)||(LA234_18 >= ELSE && LA234_18 <= EXIT)||LA234_18==EXPORT||LA234_18==FALSE||(LA234_18 >= FINAL && LA234_18 <= FINALLY)||(LA234_18 >= FUNCTION && LA234_18 <= GE)||LA234_18==GT||(LA234_18 >= IMPLEMENTS && LA234_18 <= INHERITED)||LA234_18==IS||LA234_18==LBRACK||LA234_18==LE||(LA234_18 >= LOCAL && LA234_18 <= NAME)||LA234_18==NIL||(LA234_18 >= NOT && LA234_18 <= OBJECT)||(LA234_18 >= ON && LA234_18 <= OUT)||(LA234_18 >= PLUS && LA234_18 <= POINTER2)||LA234_18==PROCEDURE||LA234_18==QuotedString||(LA234_18 >= READ && LA234_18 <= READONLY)||(LA234_18 >= REFERENCE && LA234_18 <= REGISTER)||LA234_18==REMOVE||LA234_18==SEMI||(LA234_18 >= SHL && LA234_18 <= STAR)||(LA234_18 >= STORED && LA234_18 <= STRING)||LA234_18==TRUE||LA234_18==TkAsmHexNum||(LA234_18 >= TkHexNum && LA234_18 <= TkIntNum)||LA234_18==TkRealNum||LA234_18==UNTIL||LA234_18==VARIANT||LA234_18==WRITE||(LA234_18 >= XOR && LA234_18 <= 201)) ) { - alt234=12; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 234, 18, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 234, 0, input); - throw nvae; - } - switch (alt234) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:532:32: ifStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_ifStatement_in_statement14680); - ifStatement672=ifStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ifStatement672.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:533:32: caseStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_caseStatement_in_statement14713); - caseStatement673=caseStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, caseStatement673.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:534:32: repeatStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_repeatStatement_in_statement14746); - repeatStatement674=repeatStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, repeatStatement674.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:535:32: whileStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_whileStatement_in_statement14779); - whileStatement675=whileStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, whileStatement675.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:536:32: forStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_forStatement_in_statement14812); - forStatement676=forStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, forStatement676.getTree()); - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:537:32: withStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_withStatement_in_statement14845); - withStatement677=withStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, withStatement677.getTree()); - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:538:32: tryStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_tryStatement_in_statement14878); - tryStatement678=tryStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, tryStatement678.getTree()); - - } - break; - case 8 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:539:32: raiseStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_raiseStatement_in_statement14911); - raiseStatement679=raiseStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, raiseStatement679.getTree()); - - } - break; - case 9 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:540:32: assemblerStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_assemblerStatement_in_statement14944); - assemblerStatement680=assemblerStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, assemblerStatement680.getTree()); - - } - break; - case 10 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:541:32: compoundStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_compoundStatement_in_statement14977); - compoundStatement681=compoundStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, compoundStatement681.getTree()); - - } - break; - case 11 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:542:32: label ':' statement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_label_in_statement15010); - label682=label(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, label682.getTree()); - - char_literal683=(Token)match(input,COLON,FOLLOW_COLON_in_statement15012); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal683_tree = (Object)adaptor.create(char_literal683); - adaptor.addChild(root_0, char_literal683_tree); - } - - pushFollow(FOLLOW_statement_in_statement15014); - statement684=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement684.getTree()); - - } - break; - case 12 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:543:32: simpleStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_simpleStatement_in_statement15047); - simpleStatement685=simpleStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleStatement685.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 130, statement_StartIndex); } - - } - return retval; - } - // $ANTLR end "statement" - - - public static class ifStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "ifStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:545:1: ifStatement : 'if' expression 'then' statement ( 'else' statement )? ; - public final DelphiParser.ifStatement_return ifStatement() throws RecognitionException { - DelphiParser.ifStatement_return retval = new DelphiParser.ifStatement_return(); - retval.start = input.LT(1); - int ifStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal686=null; - Token string_literal688=null; - Token string_literal690=null; - ParserRuleReturnScope expression687 =null; - ParserRuleReturnScope statement689 =null; - ParserRuleReturnScope statement691 =null; - - Object string_literal686_tree=null; - Object string_literal688_tree=null; - Object string_literal690_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 131) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:545:30: ( 'if' expression 'then' statement ( 'else' statement )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:545:32: 'if' expression 'then' statement ( 'else' statement )? - { - root_0 = (Object)adaptor.nil(); - - - string_literal686=(Token)match(input,IF,FOLLOW_IF_in_ifStatement15101); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal686_tree = (Object)adaptor.create(string_literal686); - adaptor.addChild(root_0, string_literal686_tree); - } - - pushFollow(FOLLOW_expression_in_ifStatement15103); - expression687=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression687.getTree()); - - string_literal688=(Token)match(input,THEN,FOLLOW_THEN_in_ifStatement15105); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal688_tree = (Object)adaptor.create(string_literal688); - adaptor.addChild(root_0, string_literal688_tree); - } - - pushFollow(FOLLOW_statement_in_ifStatement15107); - statement689=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement689.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:545:65: ( 'else' statement )? - int alt235=2; - int LA235_0 = input.LA(1); - if ( (LA235_0==ELSE) ) { - int LA235_1 = input.LA(2); - if ( (synpred353_Delphi()) ) { - alt235=1; - } - } - switch (alt235) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:545:66: 'else' statement - { - string_literal690=(Token)match(input,ELSE,FOLLOW_ELSE_in_ifStatement15110); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal690_tree = (Object)adaptor.create(string_literal690); - adaptor.addChild(root_0, string_literal690_tree); - } - - pushFollow(FOLLOW_statement_in_ifStatement15112); - statement691=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement691.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 131, ifStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "ifStatement" - - - public static class caseStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "caseStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:547:1: caseStatement : 'case' expression 'of' ( caseItem )* ( 'else' statementList ( ';' )? )? 'end' ; - public final DelphiParser.caseStatement_return caseStatement() throws RecognitionException { - DelphiParser.caseStatement_return retval = new DelphiParser.caseStatement_return(); - retval.start = input.LT(1); - int caseStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal692=null; - Token string_literal694=null; - Token string_literal696=null; - Token char_literal698=null; - Token string_literal699=null; - ParserRuleReturnScope expression693 =null; - ParserRuleReturnScope caseItem695 =null; - ParserRuleReturnScope statementList697 =null; - - Object string_literal692_tree=null; - Object string_literal694_tree=null; - Object string_literal696_tree=null; - Object char_literal698_tree=null; - Object string_literal699_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 132) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:547:30: ( 'case' expression 'of' ( caseItem )* ( 'else' statementList ( ';' )? )? 'end' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:547:32: 'case' expression 'of' ( caseItem )* ( 'else' statementList ( ';' )? )? 'end' - { - root_0 = (Object)adaptor.nil(); - - - string_literal692=(Token)match(input,CASE,FOLLOW_CASE_in_caseStatement15166); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal692_tree = (Object)adaptor.create(string_literal692); - adaptor.addChild(root_0, string_literal692_tree); - } - - pushFollow(FOLLOW_expression_in_caseStatement15168); - expression693=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression693.getTree()); - - string_literal694=(Token)match(input,OF,FOLLOW_OF_in_caseStatement15170); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal694_tree = (Object)adaptor.create(string_literal694); - adaptor.addChild(root_0, string_literal694_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:547:55: ( caseItem )* - loop236: - while (true) { - int alt236=2; - int LA236_0 = input.LA(1); - if ( ((LA236_0 >= ADD && LA236_0 <= ANSISTRING)||LA236_0==AS||(LA236_0 >= AT && LA236_0 <= AT2)||LA236_0==BREAK||(LA236_0 >= COLON && LA236_0 <= COMMA)||(LA236_0 >= CONTAINS && LA236_0 <= ControlString)||LA236_0==DEFAULT||LA236_0==DIV||(LA236_0 >= DOT && LA236_0 <= DOTDOT)||LA236_0==EQUAL||LA236_0==EXIT||LA236_0==EXPORT||LA236_0==FALSE||LA236_0==FINAL||(LA236_0 >= FUNCTION && LA236_0 <= GE)||LA236_0==GT||(LA236_0 >= IMPLEMENTS && LA236_0 <= INHERITED)||LA236_0==IS||LA236_0==LBRACK||LA236_0==LE||(LA236_0 >= LOCAL && LA236_0 <= NAME)||LA236_0==NIL||(LA236_0 >= NOT && LA236_0 <= OBJECT)||(LA236_0 >= OPERATOR && LA236_0 <= OUT)||(LA236_0 >= PLUS && LA236_0 <= POINTER2)||LA236_0==PROCEDURE||LA236_0==QuotedString||(LA236_0 >= READ && LA236_0 <= READONLY)||(LA236_0 >= REFERENCE && LA236_0 <= REGISTER)||LA236_0==REMOVE||(LA236_0 >= SHL && LA236_0 <= STAR)||(LA236_0 >= STORED && LA236_0 <= STRING)||LA236_0==TRUE||LA236_0==TkAsmHexNum||(LA236_0 >= TkHexNum && LA236_0 <= TkIntNum)||LA236_0==TkRealNum||LA236_0==VARIANT||LA236_0==WRITE||(LA236_0 >= XOR && LA236_0 <= 201)) ) { - alt236=1; - } - - switch (alt236) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:547:56: caseItem - { - pushFollow(FOLLOW_caseItem_in_caseStatement15173); - caseItem695=caseItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, caseItem695.getTree()); - - } - break; - - default : - break loop236; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:547:67: ( 'else' statementList ( ';' )? )? - int alt238=2; - int LA238_0 = input.LA(1); - if ( (LA238_0==ELSE) ) { - alt238=1; - } - switch (alt238) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:547:68: 'else' statementList ( ';' )? - { - string_literal696=(Token)match(input,ELSE,FOLLOW_ELSE_in_caseStatement15178); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal696_tree = (Object)adaptor.create(string_literal696); - adaptor.addChild(root_0, string_literal696_tree); - } - - pushFollow(FOLLOW_statementList_in_caseStatement15180); - statementList697=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList697.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:547:89: ( ';' )? - int alt237=2; - int LA237_0 = input.LA(1); - if ( (LA237_0==SEMI) ) { - alt237=1; - } - switch (alt237) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:547:90: ';' - { - char_literal698=(Token)match(input,SEMI,FOLLOW_SEMI_in_caseStatement15183); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal698_tree = (Object)adaptor.create(char_literal698); - adaptor.addChild(root_0, char_literal698_tree); - } - - } - break; - - } - - } - break; - - } - - string_literal699=(Token)match(input,END,FOLLOW_END_in_caseStatement15189); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal699_tree = (Object)adaptor.create(string_literal699); - adaptor.addChild(root_0, string_literal699_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 132, caseStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "caseStatement" - - - public static class caseItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "caseItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:549:1: caseItem : caseLabel ( ',' caseLabel )* ':' statement ( ';' )? ; - public final DelphiParser.caseItem_return caseItem() throws RecognitionException { - DelphiParser.caseItem_return retval = new DelphiParser.caseItem_return(); - retval.start = input.LT(1); - int caseItem_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal701=null; - Token char_literal703=null; - Token char_literal705=null; - ParserRuleReturnScope caseLabel700 =null; - ParserRuleReturnScope caseLabel702 =null; - ParserRuleReturnScope statement704 =null; - - Object char_literal701_tree=null; - Object char_literal703_tree=null; - Object char_literal705_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 133) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:549:30: ( caseLabel ( ',' caseLabel )* ':' statement ( ';' )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:549:32: caseLabel ( ',' caseLabel )* ':' statement ( ';' )? - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_caseLabel_in_caseItem15246); - caseLabel700=caseLabel(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, caseLabel700.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:549:42: ( ',' caseLabel )* - loop239: - while (true) { - int alt239=2; - int LA239_0 = input.LA(1); - if ( (LA239_0==COMMA) ) { - alt239=1; - } - - switch (alt239) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:549:43: ',' caseLabel - { - char_literal701=(Token)match(input,COMMA,FOLLOW_COMMA_in_caseItem15249); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal701_tree = (Object)adaptor.create(char_literal701); - adaptor.addChild(root_0, char_literal701_tree); - } - - pushFollow(FOLLOW_caseLabel_in_caseItem15251); - caseLabel702=caseLabel(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, caseLabel702.getTree()); - - } - break; - - default : - break loop239; - } - } - - char_literal703=(Token)match(input,COLON,FOLLOW_COLON_in_caseItem15255); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal703_tree = (Object)adaptor.create(char_literal703); - adaptor.addChild(root_0, char_literal703_tree); - } - - pushFollow(FOLLOW_statement_in_caseItem15257); - statement704=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement704.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:549:73: ( ';' )? - int alt240=2; - int LA240_0 = input.LA(1); - if ( (LA240_0==SEMI) ) { - alt240=1; - } - switch (alt240) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:549:74: ';' - { - char_literal705=(Token)match(input,SEMI,FOLLOW_SEMI_in_caseItem15260); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal705_tree = (Object)adaptor.create(char_literal705); - adaptor.addChild(root_0, char_literal705_tree); - } - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 133, caseItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "caseItem" - - - public static class caseLabel_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "caseLabel" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:551:1: caseLabel : expression ( '..' expression )? ; - public final DelphiParser.caseLabel_return caseLabel() throws RecognitionException { - DelphiParser.caseLabel_return retval = new DelphiParser.caseLabel_return(); - retval.start = input.LT(1); - int caseLabel_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal707=null; - ParserRuleReturnScope expression706 =null; - ParserRuleReturnScope expression708 =null; - - Object string_literal707_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 134) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:551:30: ( expression ( '..' expression )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:551:32: expression ( '..' expression )? - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_expression_in_caseLabel15319); - expression706=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression706.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:551:43: ( '..' expression )? - int alt241=2; - int LA241_0 = input.LA(1); - if ( (LA241_0==DOTDOT) ) { - alt241=1; - } - switch (alt241) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:551:44: '..' expression - { - string_literal707=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_caseLabel15322); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal707_tree = (Object)adaptor.create(string_literal707); - adaptor.addChild(root_0, string_literal707_tree); - } - - pushFollow(FOLLOW_expression_in_caseLabel15324); - expression708=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression708.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 134, caseLabel_StartIndex); } - - } - return retval; - } - // $ANTLR end "caseLabel" - - - public static class repeatStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "repeatStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:553:1: repeatStatement : 'repeat' ( statementList )? 'until' expression ; - public final DelphiParser.repeatStatement_return repeatStatement() throws RecognitionException { - DelphiParser.repeatStatement_return retval = new DelphiParser.repeatStatement_return(); - retval.start = input.LT(1); - int repeatStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal709=null; - Token string_literal711=null; - ParserRuleReturnScope statementList710 =null; - ParserRuleReturnScope expression712 =null; - - Object string_literal709_tree=null; - Object string_literal711_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 135) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:553:30: ( 'repeat' ( statementList )? 'until' expression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:553:32: 'repeat' ( statementList )? 'until' expression - { - root_0 = (Object)adaptor.nil(); - - - string_literal709=(Token)match(input,REPEAT,FOLLOW_REPEAT_in_repeatStatement15376); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal709_tree = (Object)adaptor.create(string_literal709); - adaptor.addChild(root_0, string_literal709_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:553:41: ( statementList )? - int alt242=2; - int LA242_0 = input.LA(1); - if ( (LA242_0==ADD||LA242_0==ANSISTRING||LA242_0==ASM||(LA242_0 >= ASSIGN && LA242_0 <= AT2)||(LA242_0 >= BEGIN && LA242_0 <= CASE)||(LA242_0 >= CONTAINS && LA242_0 <= CONTINUE)||LA242_0==DEFAULT||LA242_0==DOT||LA242_0==EXIT||LA242_0==EXPORT||LA242_0==FINAL||LA242_0==FOR||LA242_0==GOTO||LA242_0==IF||LA242_0==IMPLEMENTS||(LA242_0 >= INDEX && LA242_0 <= INHERITED)||LA242_0==LBRACK||(LA242_0 >= LOCAL && LA242_0 <= MESSAGE)||LA242_0==NAME||LA242_0==OBJECT||LA242_0==OPERATOR||LA242_0==OUT||(LA242_0 >= POINTER && LA242_0 <= POINTER2)||LA242_0==RAISE||(LA242_0 >= READ && LA242_0 <= READONLY)||(LA242_0 >= REFERENCE && LA242_0 <= REGISTER)||(LA242_0 >= REMOVE && LA242_0 <= REPEAT)||LA242_0==SEMI||(LA242_0 >= STORED && LA242_0 <= STRING)||LA242_0==TRY||(LA242_0 >= TkHexNum && LA242_0 <= TkIntNum)||LA242_0==VARIANT||(LA242_0 >= WHILE && LA242_0 <= WRITE)||LA242_0==200) ) { - alt242=1; - } - else if ( (LA242_0==UNTIL) ) { - int LA242_2 = input.LA(2); - if ( (synpred360_Delphi()) ) { - alt242=1; - } - } - switch (alt242) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:553:42: statementList - { - pushFollow(FOLLOW_statementList_in_repeatStatement15379); - statementList710=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList710.getTree()); - - } - break; - - } - - string_literal711=(Token)match(input,UNTIL,FOLLOW_UNTIL_in_repeatStatement15383); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal711_tree = (Object)adaptor.create(string_literal711); - adaptor.addChild(root_0, string_literal711_tree); - } - - pushFollow(FOLLOW_expression_in_repeatStatement15385); - expression712=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression712.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 135, repeatStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "repeatStatement" - - - public static class whileStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "whileStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:555:1: whileStatement : 'while' expression 'do' statement ; - public final DelphiParser.whileStatement_return whileStatement() throws RecognitionException { - DelphiParser.whileStatement_return retval = new DelphiParser.whileStatement_return(); - retval.start = input.LT(1); - int whileStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal713=null; - Token string_literal715=null; - ParserRuleReturnScope expression714 =null; - ParserRuleReturnScope statement716 =null; - - Object string_literal713_tree=null; - Object string_literal715_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 136) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:555:30: ( 'while' expression 'do' statement ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:555:32: 'while' expression 'do' statement - { - root_0 = (Object)adaptor.nil(); - - - string_literal713=(Token)match(input,WHILE,FOLLOW_WHILE_in_whileStatement15436); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal713_tree = (Object)adaptor.create(string_literal713); - adaptor.addChild(root_0, string_literal713_tree); - } - - pushFollow(FOLLOW_expression_in_whileStatement15438); - expression714=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression714.getTree()); - - string_literal715=(Token)match(input,DO,FOLLOW_DO_in_whileStatement15440); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal715_tree = (Object)adaptor.create(string_literal715); - adaptor.addChild(root_0, string_literal715_tree); - } - - pushFollow(FOLLOW_statement_in_whileStatement15442); - statement716=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement716.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 136, whileStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "whileStatement" - - - public static class forStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "forStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:557:1: forStatement : ( 'for' designator ':=' expression 'to' expression 'do' statement | 'for' designator ':=' expression 'downto' expression 'do' statement | 'for' designator 'in' expression 'do' statement ); - public final DelphiParser.forStatement_return forStatement() throws RecognitionException { - DelphiParser.forStatement_return retval = new DelphiParser.forStatement_return(); - retval.start = input.LT(1); - int forStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal717=null; - Token string_literal719=null; - Token string_literal721=null; - Token string_literal723=null; - Token string_literal725=null; - Token string_literal727=null; - Token string_literal729=null; - Token string_literal731=null; - Token string_literal733=null; - Token string_literal735=null; - Token string_literal737=null; - ParserRuleReturnScope designator718 =null; - ParserRuleReturnScope expression720 =null; - ParserRuleReturnScope expression722 =null; - ParserRuleReturnScope statement724 =null; - ParserRuleReturnScope designator726 =null; - ParserRuleReturnScope expression728 =null; - ParserRuleReturnScope expression730 =null; - ParserRuleReturnScope statement732 =null; - ParserRuleReturnScope designator734 =null; - ParserRuleReturnScope expression736 =null; - ParserRuleReturnScope statement738 =null; - - Object string_literal717_tree=null; - Object string_literal719_tree=null; - Object string_literal721_tree=null; - Object string_literal723_tree=null; - Object string_literal725_tree=null; - Object string_literal727_tree=null; - Object string_literal729_tree=null; - Object string_literal731_tree=null; - Object string_literal733_tree=null; - Object string_literal735_tree=null; - Object string_literal737_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 137) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:557:30: ( 'for' designator ':=' expression 'to' expression 'do' statement | 'for' designator ':=' expression 'downto' expression 'do' statement | 'for' designator 'in' expression 'do' statement ) - int alt243=3; - int LA243_0 = input.LA(1); - if ( (LA243_0==FOR) ) { - int LA243_1 = input.LA(2); - if ( (synpred361_Delphi()) ) { - alt243=1; - } - else if ( (synpred362_Delphi()) ) { - alt243=2; - } - else if ( (true) ) { - alt243=3; - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 243, 0, input); - throw nvae; - } - - switch (alt243) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:557:32: 'for' designator ':=' expression 'to' expression 'do' statement - { - root_0 = (Object)adaptor.nil(); - - - string_literal717=(Token)match(input,FOR,FOLLOW_FOR_in_forStatement15495); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal717_tree = (Object)adaptor.create(string_literal717); - adaptor.addChild(root_0, string_literal717_tree); - } - - pushFollow(FOLLOW_designator_in_forStatement15497); - designator718=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator718.getTree()); - - string_literal719=(Token)match(input,ASSIGN,FOLLOW_ASSIGN_in_forStatement15499); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal719_tree = (Object)adaptor.create(string_literal719); - adaptor.addChild(root_0, string_literal719_tree); - } - - pushFollow(FOLLOW_expression_in_forStatement15501); - expression720=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression720.getTree()); - - string_literal721=(Token)match(input,TO,FOLLOW_TO_in_forStatement15503); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal721_tree = (Object)adaptor.create(string_literal721); - adaptor.addChild(root_0, string_literal721_tree); - } - - pushFollow(FOLLOW_expression_in_forStatement15505); - expression722=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression722.getTree()); - - string_literal723=(Token)match(input,DO,FOLLOW_DO_in_forStatement15507); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal723_tree = (Object)adaptor.create(string_literal723); - adaptor.addChild(root_0, string_literal723_tree); - } - - pushFollow(FOLLOW_statement_in_forStatement15509); - statement724=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement724.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:558:32: 'for' designator ':=' expression 'downto' expression 'do' statement - { - root_0 = (Object)adaptor.nil(); - - - string_literal725=(Token)match(input,FOR,FOLLOW_FOR_in_forStatement15542); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal725_tree = (Object)adaptor.create(string_literal725); - adaptor.addChild(root_0, string_literal725_tree); - } - - pushFollow(FOLLOW_designator_in_forStatement15544); - designator726=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator726.getTree()); - - string_literal727=(Token)match(input,ASSIGN,FOLLOW_ASSIGN_in_forStatement15546); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal727_tree = (Object)adaptor.create(string_literal727); - adaptor.addChild(root_0, string_literal727_tree); - } - - pushFollow(FOLLOW_expression_in_forStatement15548); - expression728=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression728.getTree()); - - string_literal729=(Token)match(input,DOWNTO,FOLLOW_DOWNTO_in_forStatement15550); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal729_tree = (Object)adaptor.create(string_literal729); - adaptor.addChild(root_0, string_literal729_tree); - } - - pushFollow(FOLLOW_expression_in_forStatement15552); - expression730=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression730.getTree()); - - string_literal731=(Token)match(input,DO,FOLLOW_DO_in_forStatement15554); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal731_tree = (Object)adaptor.create(string_literal731); - adaptor.addChild(root_0, string_literal731_tree); - } - - pushFollow(FOLLOW_statement_in_forStatement15556); - statement732=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement732.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:559:32: 'for' designator 'in' expression 'do' statement - { - root_0 = (Object)adaptor.nil(); - - - string_literal733=(Token)match(input,FOR,FOLLOW_FOR_in_forStatement15589); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal733_tree = (Object)adaptor.create(string_literal733); - adaptor.addChild(root_0, string_literal733_tree); - } - - pushFollow(FOLLOW_designator_in_forStatement15591); - designator734=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator734.getTree()); - - string_literal735=(Token)match(input,IN,FOLLOW_IN_in_forStatement15593); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal735_tree = (Object)adaptor.create(string_literal735); - adaptor.addChild(root_0, string_literal735_tree); - } - - pushFollow(FOLLOW_expression_in_forStatement15595); - expression736=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression736.getTree()); - - string_literal737=(Token)match(input,DO,FOLLOW_DO_in_forStatement15597); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal737_tree = (Object)adaptor.create(string_literal737); - adaptor.addChild(root_0, string_literal737_tree); - } - - pushFollow(FOLLOW_statement_in_forStatement15599); - statement738=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement738.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 137, forStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "forStatement" - - - public static class withStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "withStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:561:1: withStatement : 'with' withItem 'do' statement ; - public final DelphiParser.withStatement_return withStatement() throws RecognitionException { - DelphiParser.withStatement_return retval = new DelphiParser.withStatement_return(); - retval.start = input.LT(1); - int withStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal739=null; - Token string_literal741=null; - ParserRuleReturnScope withItem740 =null; - ParserRuleReturnScope statement742 =null; - - Object string_literal739_tree=null; - Object string_literal741_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 138) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:561:30: ( 'with' withItem 'do' statement ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:561:32: 'with' withItem 'do' statement - { - root_0 = (Object)adaptor.nil(); - - - string_literal739=(Token)match(input,WITH,FOLLOW_WITH_in_withStatement15651); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal739_tree = (Object)adaptor.create(string_literal739); - adaptor.addChild(root_0, string_literal739_tree); - } - - pushFollow(FOLLOW_withItem_in_withStatement15653); - withItem740=withItem(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, withItem740.getTree()); - - string_literal741=(Token)match(input,DO,FOLLOW_DO_in_withStatement15655); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal741_tree = (Object)adaptor.create(string_literal741); - adaptor.addChild(root_0, string_literal741_tree); - } - - pushFollow(FOLLOW_statement_in_withStatement15657); - statement742=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement742.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 138, withStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "withStatement" - - - public static class withItem_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "withItem" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:563:1: withItem : ( designator 'as' designator | designator ( ',' designator )* ); - public final DelphiParser.withItem_return withItem() throws RecognitionException { - DelphiParser.withItem_return retval = new DelphiParser.withItem_return(); - retval.start = input.LT(1); - int withItem_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal744=null; - Token char_literal747=null; - ParserRuleReturnScope designator743 =null; - ParserRuleReturnScope designator745 =null; - ParserRuleReturnScope designator746 =null; - ParserRuleReturnScope designator748 =null; - - Object string_literal744_tree=null; - Object char_literal747_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 139) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:563:30: ( designator 'as' designator | designator ( ',' designator )* ) - int alt245=2; - switch ( input.LA(1) ) { - case INHERITED: - { - int LA245_1 = input.LA(2); - if ( (synpred363_Delphi()) ) { - alt245=1; - } - else if ( (true) ) { - alt245=2; - } - - } - break; - case TkIdentifier: - { - int LA245_2 = input.LA(2); - if ( (synpred363_Delphi()) ) { - alt245=1; - } - else if ( (true) ) { - alt245=2; - } - - } - break; - case 200: - { - int LA245_3 = input.LA(2); - if ( (synpred363_Delphi()) ) { - alt245=1; - } - else if ( (true) ) { - alt245=2; - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA245_4 = input.LA(2); - if ( (synpred363_Delphi()) ) { - alt245=1; - } - else if ( (true) ) { - alt245=2; - } - - } - break; - case POINTER2: - { - int LA245_5 = input.LA(2); - if ( (synpred363_Delphi()) ) { - alt245=1; - } - else if ( (true) ) { - alt245=2; - } - - } - break; - case AT2: - case DOT: - { - int LA245_6 = input.LA(2); - if ( (synpred363_Delphi()) ) { - alt245=1; - } - else if ( (true) ) { - alt245=2; - } - - } - break; - case LT: - { - int LA245_7 = input.LA(2); - if ( (synpred363_Delphi()) ) { - alt245=1; - } - else if ( (true) ) { - alt245=2; - } - - } - break; - case LBRACK: - { - int LA245_8 = input.LA(2); - if ( (synpred363_Delphi()) ) { - alt245=1; - } - else if ( (true) ) { - alt245=2; - } - - } - break; - case LPAREN: - { - int LA245_9 = input.LA(2); - if ( (synpred363_Delphi()) ) { - alt245=1; - } - else if ( (true) ) { - alt245=2; - } - - } - break; - case AS: - { - alt245=1; - } - break; - case COMMA: - case DO: - { - alt245=2; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 245, 0, input); - throw nvae; - } - switch (alt245) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:563:32: designator 'as' designator - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_designator_in_withItem15714); - designator743=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator743.getTree()); - - string_literal744=(Token)match(input,AS,FOLLOW_AS_in_withItem15716); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal744_tree = (Object)adaptor.create(string_literal744); - adaptor.addChild(root_0, string_literal744_tree); - } - - pushFollow(FOLLOW_designator_in_withItem15718); - designator745=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator745.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:564:32: designator ( ',' designator )* - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_designator_in_withItem15758); - designator746=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator746.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:564:43: ( ',' designator )* - loop244: - while (true) { - int alt244=2; - int LA244_0 = input.LA(1); - if ( (LA244_0==COMMA) ) { - alt244=1; - } - - switch (alt244) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:564:44: ',' designator - { - char_literal747=(Token)match(input,COMMA,FOLLOW_COMMA_in_withItem15761); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal747_tree = (Object)adaptor.create(char_literal747); - adaptor.addChild(root_0, char_literal747_tree); - } - - pushFollow(FOLLOW_designator_in_withItem15763); - designator748=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator748.getTree()); - - } - break; - - default : - break loop244; - } - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 139, withItem_StartIndex); } - - } - return retval; - } - // $ANTLR end "withItem" - - - public static class compoundStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "compoundStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:566:1: compoundStatement : 'begin' ( statementList )? 'end' -> ^( 'begin' ( statementList )? 'end' ) ; - public final DelphiParser.compoundStatement_return compoundStatement() throws RecognitionException { - DelphiParser.compoundStatement_return retval = new DelphiParser.compoundStatement_return(); - retval.start = input.LT(1); - int compoundStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal749=null; - Token string_literal751=null; - ParserRuleReturnScope statementList750 =null; - - Object string_literal749_tree=null; - Object string_literal751_tree=null; - RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); - RewriteRuleTokenStream stream_BEGIN=new RewriteRuleTokenStream(adaptor,"token BEGIN"); - RewriteRuleSubtreeStream stream_statementList=new RewriteRuleSubtreeStream(adaptor,"rule statementList"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 140) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:566:30: ( 'begin' ( statementList )? 'end' -> ^( 'begin' ( statementList )? 'end' ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:566:32: 'begin' ( statementList )? 'end' - { - string_literal749=(Token)match(input,BEGIN,FOLLOW_BEGIN_in_compoundStatement15813); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_BEGIN.add(string_literal749); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:566:40: ( statementList )? - int alt246=2; - int LA246_0 = input.LA(1); - if ( (LA246_0==ADD||LA246_0==ANSISTRING||LA246_0==ASM||(LA246_0 >= ASSIGN && LA246_0 <= AT2)||(LA246_0 >= BEGIN && LA246_0 <= CASE)||(LA246_0 >= CONTAINS && LA246_0 <= CONTINUE)||LA246_0==DEFAULT||LA246_0==DOT||LA246_0==EXIT||LA246_0==EXPORT||LA246_0==FINAL||LA246_0==FOR||LA246_0==GOTO||LA246_0==IF||LA246_0==IMPLEMENTS||(LA246_0 >= INDEX && LA246_0 <= INHERITED)||LA246_0==LBRACK||(LA246_0 >= LOCAL && LA246_0 <= MESSAGE)||LA246_0==NAME||LA246_0==OBJECT||LA246_0==OPERATOR||LA246_0==OUT||(LA246_0 >= POINTER && LA246_0 <= POINTER2)||LA246_0==RAISE||(LA246_0 >= READ && LA246_0 <= READONLY)||(LA246_0 >= REFERENCE && LA246_0 <= REGISTER)||(LA246_0 >= REMOVE && LA246_0 <= REPEAT)||LA246_0==SEMI||(LA246_0 >= STORED && LA246_0 <= STRING)||LA246_0==TRY||(LA246_0 >= TkHexNum && LA246_0 <= TkIntNum)||LA246_0==VARIANT||(LA246_0 >= WHILE && LA246_0 <= WRITE)||LA246_0==200) ) { - alt246=1; - } - else if ( (LA246_0==END) ) { - int LA246_2 = input.LA(2); - if ( (synpred365_Delphi()) ) { - alt246=1; - } - } - switch (alt246) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:566:41: statementList - { - pushFollow(FOLLOW_statementList_in_compoundStatement15816); - statementList750=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_statementList.add(statementList750.getTree()); - } - break; - - } - - string_literal751=(Token)match(input,END,FOLLOW_END_in_compoundStatement15820); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_END.add(string_literal751); - - // AST REWRITE - // elements: statementList, BEGIN, END - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 566:63: -> ^( 'begin' ( statementList )? 'end' ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:566:66: ^( 'begin' ( statementList )? 'end' ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_BEGIN.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:566:76: ( statementList )? - if ( stream_statementList.hasNext() ) { - adaptor.addChild(root_1, stream_statementList.nextTree()); - } - stream_statementList.reset(); - - adaptor.addChild(root_1, stream_END.nextNode()); - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 140, compoundStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "compoundStatement" - - - public static class statementList_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "statementList" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:1: statementList : ( statement )? ( ';' ( statement )? )* ; - public final DelphiParser.statementList_return statementList() throws RecognitionException { - DelphiParser.statementList_return retval = new DelphiParser.statementList_return(); - retval.start = input.LT(1); - int statementList_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal753=null; - ParserRuleReturnScope statement752 =null; - ParserRuleReturnScope statement754 =null; - - Object char_literal753_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 141) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:30: ( ( statement )? ( ';' ( statement )? )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:32: ( statement )? ( ';' ( statement )? )* - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:32: ( statement )? - int alt247=2; - switch ( input.LA(1) ) { - case ADD: - case ANSISTRING: - case ASM: - case ASSIGN: - case AT: - case AT2: - case BEGIN: - case BREAK: - case CASE: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case DOT: - case EXIT: - case EXPORT: - case FINAL: - case FOR: - case GOTO: - case IF: - case IMPLEMENTS: - case INDEX: - case INHERITED: - case LBRACK: - case LOCAL: - case LPAREN: - case LT: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case POINTER2: - case RAISE: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case REPEAT: - case STORED: - case STRICT: - case STRING: - case TRY: - case TkHexNum: - case TkIdentifier: - case TkIntNum: - case VARIANT: - case WHILE: - case WITH: - case WRITE: - case 200: - { - alt247=1; - } - break; - case SEMI: - { - int LA247_2 = input.LA(2); - if ( (synpred366_Delphi()) ) { - alt247=1; - } - } - break; - case FINALIZATION: - { - int LA247_3 = input.LA(2); - if ( (synpred366_Delphi()) ) { - alt247=1; - } - } - break; - case END: - { - int LA247_4 = input.LA(2); - if ( (synpred366_Delphi()) ) { - alt247=1; - } - } - break; - case EOF: - { - int LA247_5 = input.LA(2); - if ( (synpred366_Delphi()) ) { - alt247=1; - } - } - break; - case UNTIL: - { - int LA247_6 = input.LA(2); - if ( (synpred366_Delphi()) ) { - alt247=1; - } - } - break; - case EXCEPT: - { - int LA247_7 = input.LA(2); - if ( (synpred366_Delphi()) ) { - alt247=1; - } - } - break; - case FINALLY: - { - int LA247_8 = input.LA(2); - if ( (synpred366_Delphi()) ) { - alt247=1; - } - } - break; - } - switch (alt247) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:33: statement - { - pushFollow(FOLLOW_statement_in_statementList15886); - statement752=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement752.getTree()); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:45: ( ';' ( statement )? )* - loop249: - while (true) { - int alt249=2; - int LA249_0 = input.LA(1); - if ( (LA249_0==SEMI) ) { - int LA249_2 = input.LA(2); - if ( (synpred368_Delphi()) ) { - alt249=1; - } - - } - - switch (alt249) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:46: ';' ( statement )? - { - char_literal753=(Token)match(input,SEMI,FOLLOW_SEMI_in_statementList15891); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal753_tree = (Object)adaptor.create(char_literal753); - adaptor.addChild(root_0, char_literal753_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:50: ( statement )? - int alt248=2; - switch ( input.LA(1) ) { - case ADD: - case ANSISTRING: - case ASM: - case ASSIGN: - case AT: - case AT2: - case BEGIN: - case BREAK: - case CASE: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case DOT: - case EXIT: - case EXPORT: - case FINAL: - case FOR: - case GOTO: - case IF: - case IMPLEMENTS: - case INDEX: - case INHERITED: - case LBRACK: - case LOCAL: - case LPAREN: - case LT: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case POINTER2: - case RAISE: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case REPEAT: - case STORED: - case STRICT: - case STRING: - case TRY: - case TkHexNum: - case TkIdentifier: - case TkIntNum: - case VARIANT: - case WHILE: - case WITH: - case WRITE: - case 200: - { - alt248=1; - } - break; - case FINALIZATION: - { - int LA248_2 = input.LA(2); - if ( (synpred367_Delphi()) ) { - alt248=1; - } - } - break; - case END: - { - int LA248_3 = input.LA(2); - if ( (synpred367_Delphi()) ) { - alt248=1; - } - } - break; - case EOF: - { - int LA248_4 = input.LA(2); - if ( (synpred367_Delphi()) ) { - alt248=1; - } - } - break; - case SEMI: - { - int LA248_5 = input.LA(2); - if ( (synpred367_Delphi()) ) { - alt248=1; - } - } - break; - case UNTIL: - { - int LA248_6 = input.LA(2); - if ( (synpred367_Delphi()) ) { - alt248=1; - } - } - break; - case EXCEPT: - { - int LA248_7 = input.LA(2); - if ( (synpred367_Delphi()) ) { - alt248=1; - } - } - break; - case FINALLY: - { - int LA248_8 = input.LA(2); - if ( (synpred367_Delphi()) ) { - alt248=1; - } - } - break; - } - switch (alt248) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:51: statement - { - pushFollow(FOLLOW_statement_in_statementList15894); - statement754=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement754.getTree()); - - } - break; - - } - - } - break; - - default : - break loop249; - } - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 141, statementList_StartIndex); } - - } - return retval; - } - // $ANTLR end "statementList" - - - public static class simpleStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "simpleStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:570:1: simpleStatement : ( designator ':=' expression | designator | gotoStatement ); - public final DelphiParser.simpleStatement_return simpleStatement() throws RecognitionException { - DelphiParser.simpleStatement_return retval = new DelphiParser.simpleStatement_return(); - retval.start = input.LT(1); - int simpleStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal756=null; - ParserRuleReturnScope designator755 =null; - ParserRuleReturnScope expression757 =null; - ParserRuleReturnScope designator758 =null; - ParserRuleReturnScope gotoStatement759 =null; - - Object string_literal756_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 142) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:570:30: ( designator ':=' expression | designator | gotoStatement ) - int alt250=3; - switch ( input.LA(1) ) { - case INHERITED: - { - int LA250_1 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 1, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case TkIdentifier: - { - int LA250_2 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 2, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case 200: - { - int LA250_3 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 3, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case EXIT: - { - int LA250_4 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - else if ( (true) ) { - alt250=3; - } - - } - break; - case POINTER2: - { - int LA250_5 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 5, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case AT2: - { - int LA250_6 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 6, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case LT: - { - int LA250_7 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 7, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case LBRACK: - { - int LA250_8 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 8, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case LPAREN: - { - int LA250_9 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 9, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case ASSIGN: - { - alt250=1; - } - break; - case EOF: - case AND: - case AS: - case COLON: - case COMMA: - case ControlString: - case DIV: - case DOTDOT: - case ELSE: - case END: - case EQUAL: - case EXCEPT: - case FALSE: - case FINALIZATION: - case FINALLY: - case FUNCTION: - case GE: - case GT: - case IN: - case IS: - case LE: - case MINUS: - case MOD: - case NIL: - case NOT: - case NOT_EQUAL: - case ON: - case OR: - case PLUS: - case PROCEDURE: - case QuotedString: - case SEMI: - case SHL: - case SHR: - case SLASH: - case STAR: - case TRUE: - case TkAsmHexNum: - case TkHexNum: - case TkIntNum: - case TkRealNum: - case UNTIL: - case XOR: - case 201: - { - alt250=2; - } - break; - case DOT: - { - int LA250_17 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 17, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case GOTO: - { - alt250=3; - } - break; - case BREAK: - { - int LA250_42 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - else if ( (true) ) { - alt250=3; - } - - } - break; - case CONTINUE: - { - int LA250_43 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - else if ( (true) ) { - alt250=3; - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case CONTAINS: - case DEFAULT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA250_44 = input.LA(2); - if ( (synpred369_Delphi()) ) { - alt250=1; - } - else if ( (synpred370_Delphi()) ) { - alt250=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 250, 44, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 250, 0, input); - throw nvae; - } - switch (alt250) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:570:32: designator ':=' expression - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_designator_in_simpleStatement15948); - designator755=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator755.getTree()); - - string_literal756=(Token)match(input,ASSIGN,FOLLOW_ASSIGN_in_simpleStatement15950); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal756_tree = (Object)adaptor.create(string_literal756); - adaptor.addChild(root_0, string_literal756_tree); - } - - pushFollow(FOLLOW_expression_in_simpleStatement15952); - expression757=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression757.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:32: designator - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_designator_in_simpleStatement15985); - designator758=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator758.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:572:32: gotoStatement - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_gotoStatement_in_simpleStatement16019); - gotoStatement759=gotoStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, gotoStatement759.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 142, simpleStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "simpleStatement" - - - public static class gotoStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "gotoStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:574:1: gotoStatement : ( 'goto' label | 'exit' ( '(' expression ')' )? | 'break' | 'continue' ); - public final DelphiParser.gotoStatement_return gotoStatement() throws RecognitionException { - DelphiParser.gotoStatement_return retval = new DelphiParser.gotoStatement_return(); - retval.start = input.LT(1); - int gotoStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal760=null; - Token string_literal762=null; - Token char_literal763=null; - Token char_literal765=null; - Token string_literal766=null; - Token string_literal767=null; - ParserRuleReturnScope label761 =null; - ParserRuleReturnScope expression764 =null; - - Object string_literal760_tree=null; - Object string_literal762_tree=null; - Object char_literal763_tree=null; - Object char_literal765_tree=null; - Object string_literal766_tree=null; - Object string_literal767_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 143) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:574:30: ( 'goto' label | 'exit' ( '(' expression ')' )? | 'break' | 'continue' ) - int alt252=4; - switch ( input.LA(1) ) { - case GOTO: - { - alt252=1; - } - break; - case EXIT: - { - alt252=2; - } - break; - case BREAK: - { - alt252=3; - } - break; - case CONTINUE: - { - alt252=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 252, 0, input); - throw nvae; - } - switch (alt252) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:574:32: 'goto' label - { - root_0 = (Object)adaptor.nil(); - - - string_literal760=(Token)match(input,GOTO,FOLLOW_GOTO_in_gotoStatement16071); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal760_tree = (Object)adaptor.create(string_literal760); - adaptor.addChild(root_0, string_literal760_tree); - } - - pushFollow(FOLLOW_label_in_gotoStatement16073); - label761=label(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, label761.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:32: 'exit' ( '(' expression ')' )? - { - root_0 = (Object)adaptor.nil(); - - - string_literal762=(Token)match(input,EXIT,FOLLOW_EXIT_in_gotoStatement16106); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal762_tree = (Object)adaptor.create(string_literal762); - adaptor.addChild(root_0, string_literal762_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:39: ( '(' expression ')' )? - int alt251=2; - int LA251_0 = input.LA(1); - if ( (LA251_0==LPAREN) ) { - int LA251_1 = input.LA(2); - if ( (synpred372_Delphi()) ) { - alt251=1; - } - } - switch (alt251) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:40: '(' expression ')' - { - char_literal763=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_gotoStatement16109); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal763_tree = (Object)adaptor.create(char_literal763); - adaptor.addChild(root_0, char_literal763_tree); - } - - pushFollow(FOLLOW_expression_in_gotoStatement16111); - expression764=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression764.getTree()); - - char_literal765=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_gotoStatement16113); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal765_tree = (Object)adaptor.create(char_literal765); - adaptor.addChild(root_0, char_literal765_tree); - } - - } - break; - - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:576:32: 'break' - { - root_0 = (Object)adaptor.nil(); - - - string_literal766=(Token)match(input,BREAK,FOLLOW_BREAK_in_gotoStatement16148); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal766_tree = (Object)adaptor.create(string_literal766); - adaptor.addChild(root_0, string_literal766_tree); - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:577:32: 'continue' - { - root_0 = (Object)adaptor.nil(); - - - string_literal767=(Token)match(input,CONTINUE,FOLLOW_CONTINUE_in_gotoStatement16181); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal767_tree = (Object)adaptor.create(string_literal767); - adaptor.addChild(root_0, string_literal767_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 143, gotoStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "gotoStatement" - - - public static class constExpression_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "constExpression" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:582:1: constExpression : ( '(' recordConstExpression ( ';' recordConstExpression )* ')' | '(' constExpression ( ',' constExpression )* ')' | expression ); - public final DelphiParser.constExpression_return constExpression() throws RecognitionException { - DelphiParser.constExpression_return retval = new DelphiParser.constExpression_return(); - retval.start = input.LT(1); - int constExpression_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal768=null; - Token char_literal770=null; - Token char_literal772=null; - Token char_literal773=null; - Token char_literal775=null; - Token char_literal777=null; - ParserRuleReturnScope recordConstExpression769 =null; - ParserRuleReturnScope recordConstExpression771 =null; - ParserRuleReturnScope constExpression774 =null; - ParserRuleReturnScope constExpression776 =null; - ParserRuleReturnScope expression778 =null; - - Object char_literal768_tree=null; - Object char_literal770_tree=null; - Object char_literal772_tree=null; - Object char_literal773_tree=null; - Object char_literal775_tree=null; - Object char_literal777_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 144) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:582:30: ( '(' recordConstExpression ( ';' recordConstExpression )* ')' | '(' constExpression ( ',' constExpression )* ')' | expression ) - int alt255=3; - alt255 = dfa255.predict(input); - switch (alt255) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:582:32: '(' recordConstExpression ( ';' recordConstExpression )* ')' - { - root_0 = (Object)adaptor.nil(); - - - char_literal768=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_constExpression16234); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal768_tree = (Object)adaptor.create(char_literal768); - adaptor.addChild(root_0, char_literal768_tree); - } - - pushFollow(FOLLOW_recordConstExpression_in_constExpression16236); - recordConstExpression769=recordConstExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, recordConstExpression769.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:582:58: ( ';' recordConstExpression )* - loop253: - while (true) { - int alt253=2; - int LA253_0 = input.LA(1); - if ( (LA253_0==SEMI) ) { - alt253=1; - } - - switch (alt253) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:582:59: ';' recordConstExpression - { - char_literal770=(Token)match(input,SEMI,FOLLOW_SEMI_in_constExpression16239); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal770_tree = (Object)adaptor.create(char_literal770); - adaptor.addChild(root_0, char_literal770_tree); - } - - pushFollow(FOLLOW_recordConstExpression_in_constExpression16241); - recordConstExpression771=recordConstExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, recordConstExpression771.getTree()); - - } - break; - - default : - break loop253; - } - } - - char_literal772=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_constExpression16245); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal772_tree = (Object)adaptor.create(char_literal772); - adaptor.addChild(root_0, char_literal772_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:32: '(' constExpression ( ',' constExpression )* ')' - { - root_0 = (Object)adaptor.nil(); - - - char_literal773=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_constExpression16279); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal773_tree = (Object)adaptor.create(char_literal773); - adaptor.addChild(root_0, char_literal773_tree); - } - - pushFollow(FOLLOW_constExpression_in_constExpression16281); - constExpression774=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression774.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:52: ( ',' constExpression )* - loop254: - while (true) { - int alt254=2; - int LA254_0 = input.LA(1); - if ( (LA254_0==COMMA) ) { - alt254=1; - } - - switch (alt254) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:53: ',' constExpression - { - char_literal775=(Token)match(input,COMMA,FOLLOW_COMMA_in_constExpression16284); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal775_tree = (Object)adaptor.create(char_literal775); - adaptor.addChild(root_0, char_literal775_tree); - } - - pushFollow(FOLLOW_constExpression_in_constExpression16286); - constExpression776=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression776.getTree()); - - } - break; - - default : - break loop254; - } - } - - char_literal777=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_constExpression16290); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal777_tree = (Object)adaptor.create(char_literal777); - adaptor.addChild(root_0, char_literal777_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:584:32: expression - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_expression_in_constExpression16323); - expression778=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression778.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 144, constExpression_StartIndex); } - - } - return retval; - } - // $ANTLR end "constExpression" - - - public static class recordConstExpression_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "recordConstExpression" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:586:1: recordConstExpression : ident ':' constExpression ; - public final DelphiParser.recordConstExpression_return recordConstExpression() throws RecognitionException { - DelphiParser.recordConstExpression_return retval = new DelphiParser.recordConstExpression_return(); - retval.start = input.LT(1); - int recordConstExpression_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal780=null; - ParserRuleReturnScope ident779 =null; - ParserRuleReturnScope constExpression781 =null; - - Object char_literal780_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 145) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:586:30: ( ident ':' constExpression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:586:32: ident ':' constExpression - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_ident_in_recordConstExpression16367); - ident779=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident779.getTree()); - - char_literal780=(Token)match(input,COLON,FOLLOW_COLON_in_recordConstExpression16369); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal780_tree = (Object)adaptor.create(char_literal780); - adaptor.addChild(root_0, char_literal780_tree); - } - - pushFollow(FOLLOW_constExpression_in_recordConstExpression16371); - constExpression781=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression781.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 145, recordConstExpression_StartIndex); } - - } - return retval; - } - // $ANTLR end "recordConstExpression" - - - public static class tryStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "tryStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:1: tryStatement : ( 'try' ( statementList )? 'except' handlerList 'end' | 'try' ( statementList )? 'finally' ( statementList )? 'end' ); - public final DelphiParser.tryStatement_return tryStatement() throws RecognitionException { - DelphiParser.tryStatement_return retval = new DelphiParser.tryStatement_return(); - retval.start = input.LT(1); - int tryStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal782=null; - Token string_literal784=null; - Token string_literal786=null; - Token string_literal787=null; - Token string_literal789=null; - Token string_literal791=null; - ParserRuleReturnScope statementList783 =null; - ParserRuleReturnScope handlerList785 =null; - ParserRuleReturnScope statementList788 =null; - ParserRuleReturnScope statementList790 =null; - - Object string_literal782_tree=null; - Object string_literal784_tree=null; - Object string_literal786_tree=null; - Object string_literal787_tree=null; - Object string_literal789_tree=null; - Object string_literal791_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 146) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:30: ( 'try' ( statementList )? 'except' handlerList 'end' | 'try' ( statementList )? 'finally' ( statementList )? 'end' ) - int alt259=2; - int LA259_0 = input.LA(1); - if ( (LA259_0==TRY) ) { - int LA259_1 = input.LA(2); - if ( (synpred380_Delphi()) ) { - alt259=1; - } - else if ( (true) ) { - alt259=2; - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 259, 0, input); - throw nvae; - } - - switch (alt259) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:32: 'try' ( statementList )? 'except' handlerList 'end' - { - root_0 = (Object)adaptor.nil(); - - - string_literal782=(Token)match(input,TRY,FOLLOW_TRY_in_tryStatement16427); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal782_tree = (Object)adaptor.create(string_literal782); - adaptor.addChild(root_0, string_literal782_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:38: ( statementList )? - int alt256=2; - int LA256_0 = input.LA(1); - if ( (LA256_0==ADD||LA256_0==ANSISTRING||LA256_0==ASM||(LA256_0 >= ASSIGN && LA256_0 <= AT2)||(LA256_0 >= BEGIN && LA256_0 <= CASE)||(LA256_0 >= CONTAINS && LA256_0 <= CONTINUE)||LA256_0==DEFAULT||LA256_0==DOT||LA256_0==EXIT||LA256_0==EXPORT||LA256_0==FINAL||LA256_0==FOR||LA256_0==GOTO||LA256_0==IF||LA256_0==IMPLEMENTS||(LA256_0 >= INDEX && LA256_0 <= INHERITED)||LA256_0==LBRACK||(LA256_0 >= LOCAL && LA256_0 <= MESSAGE)||LA256_0==NAME||LA256_0==OBJECT||LA256_0==OPERATOR||LA256_0==OUT||(LA256_0 >= POINTER && LA256_0 <= POINTER2)||LA256_0==RAISE||(LA256_0 >= READ && LA256_0 <= READONLY)||(LA256_0 >= REFERENCE && LA256_0 <= REGISTER)||(LA256_0 >= REMOVE && LA256_0 <= REPEAT)||LA256_0==SEMI||(LA256_0 >= STORED && LA256_0 <= STRING)||LA256_0==TRY||(LA256_0 >= TkHexNum && LA256_0 <= TkIntNum)||LA256_0==VARIANT||(LA256_0 >= WHILE && LA256_0 <= WRITE)||LA256_0==200) ) { - alt256=1; - } - else if ( (LA256_0==EXCEPT) ) { - int LA256_2 = input.LA(2); - if ( (synpred379_Delphi()) ) { - alt256=1; - } - } - switch (alt256) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:39: statementList - { - pushFollow(FOLLOW_statementList_in_tryStatement16430); - statementList783=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList783.getTree()); - - } - break; - - } - - string_literal784=(Token)match(input,EXCEPT,FOLLOW_EXCEPT_in_tryStatement16434); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal784_tree = (Object)adaptor.create(string_literal784); - adaptor.addChild(root_0, string_literal784_tree); - } - - pushFollow(FOLLOW_handlerList_in_tryStatement16436); - handlerList785=handlerList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, handlerList785.getTree()); - - string_literal786=(Token)match(input,END,FOLLOW_END_in_tryStatement16438); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal786_tree = (Object)adaptor.create(string_literal786); - adaptor.addChild(root_0, string_literal786_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:592:32: 'try' ( statementList )? 'finally' ( statementList )? 'end' - { - root_0 = (Object)adaptor.nil(); - - - string_literal787=(Token)match(input,TRY,FOLLOW_TRY_in_tryStatement16471); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal787_tree = (Object)adaptor.create(string_literal787); - adaptor.addChild(root_0, string_literal787_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:592:38: ( statementList )? - int alt257=2; - int LA257_0 = input.LA(1); - if ( (LA257_0==ADD||LA257_0==ANSISTRING||LA257_0==ASM||(LA257_0 >= ASSIGN && LA257_0 <= AT2)||(LA257_0 >= BEGIN && LA257_0 <= CASE)||(LA257_0 >= CONTAINS && LA257_0 <= CONTINUE)||LA257_0==DEFAULT||LA257_0==DOT||LA257_0==EXIT||LA257_0==EXPORT||LA257_0==FINAL||LA257_0==FOR||LA257_0==GOTO||LA257_0==IF||LA257_0==IMPLEMENTS||(LA257_0 >= INDEX && LA257_0 <= INHERITED)||LA257_0==LBRACK||(LA257_0 >= LOCAL && LA257_0 <= MESSAGE)||LA257_0==NAME||LA257_0==OBJECT||LA257_0==OPERATOR||LA257_0==OUT||(LA257_0 >= POINTER && LA257_0 <= POINTER2)||LA257_0==RAISE||(LA257_0 >= READ && LA257_0 <= READONLY)||(LA257_0 >= REFERENCE && LA257_0 <= REGISTER)||(LA257_0 >= REMOVE && LA257_0 <= REPEAT)||LA257_0==SEMI||(LA257_0 >= STORED && LA257_0 <= STRING)||LA257_0==TRY||(LA257_0 >= TkHexNum && LA257_0 <= TkIntNum)||LA257_0==VARIANT||(LA257_0 >= WHILE && LA257_0 <= WRITE)||LA257_0==200) ) { - alt257=1; - } - else if ( (LA257_0==FINALLY) ) { - int LA257_2 = input.LA(2); - if ( (synpred381_Delphi()) ) { - alt257=1; - } - } - switch (alt257) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:592:39: statementList - { - pushFollow(FOLLOW_statementList_in_tryStatement16474); - statementList788=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList788.getTree()); - - } - break; - - } - - string_literal789=(Token)match(input,FINALLY,FOLLOW_FINALLY_in_tryStatement16478); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal789_tree = (Object)adaptor.create(string_literal789); - adaptor.addChild(root_0, string_literal789_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:592:65: ( statementList )? - int alt258=2; - int LA258_0 = input.LA(1); - if ( (LA258_0==ADD||LA258_0==ANSISTRING||LA258_0==ASM||(LA258_0 >= ASSIGN && LA258_0 <= AT2)||(LA258_0 >= BEGIN && LA258_0 <= CASE)||(LA258_0 >= CONTAINS && LA258_0 <= CONTINUE)||LA258_0==DEFAULT||LA258_0==DOT||LA258_0==EXIT||LA258_0==EXPORT||LA258_0==FINAL||LA258_0==FOR||LA258_0==GOTO||LA258_0==IF||LA258_0==IMPLEMENTS||(LA258_0 >= INDEX && LA258_0 <= INHERITED)||LA258_0==LBRACK||(LA258_0 >= LOCAL && LA258_0 <= MESSAGE)||LA258_0==NAME||LA258_0==OBJECT||LA258_0==OPERATOR||LA258_0==OUT||(LA258_0 >= POINTER && LA258_0 <= POINTER2)||LA258_0==RAISE||(LA258_0 >= READ && LA258_0 <= READONLY)||(LA258_0 >= REFERENCE && LA258_0 <= REGISTER)||(LA258_0 >= REMOVE && LA258_0 <= REPEAT)||LA258_0==SEMI||(LA258_0 >= STORED && LA258_0 <= STRING)||LA258_0==TRY||(LA258_0 >= TkHexNum && LA258_0 <= TkIntNum)||LA258_0==VARIANT||(LA258_0 >= WHILE && LA258_0 <= WRITE)||LA258_0==200) ) { - alt258=1; - } - else if ( (LA258_0==END) ) { - int LA258_2 = input.LA(2); - if ( (synpred382_Delphi()) ) { - alt258=1; - } - } - switch (alt258) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:592:66: statementList - { - pushFollow(FOLLOW_statementList_in_tryStatement16481); - statementList790=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList790.getTree()); - - } - break; - - } - - string_literal791=(Token)match(input,END,FOLLOW_END_in_tryStatement16485); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal791_tree = (Object)adaptor.create(string_literal791); - adaptor.addChild(root_0, string_literal791_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 146, tryStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "tryStatement" - - - public static class handlerList_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "handlerList" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:1: handlerList : ( ( handler )* ( 'else' statementList )? | statementList ); - public final DelphiParser.handlerList_return handlerList() throws RecognitionException { - DelphiParser.handlerList_return retval = new DelphiParser.handlerList_return(); - retval.start = input.LT(1); - int handlerList_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal793=null; - ParserRuleReturnScope handler792 =null; - ParserRuleReturnScope statementList794 =null; - ParserRuleReturnScope statementList795 =null; - - Object string_literal793_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 147) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:30: ( ( handler )* ( 'else' statementList )? | statementList ) - int alt262=2; - switch ( input.LA(1) ) { - case ELSE: - case ON: - { - alt262=1; - } - break; - case END: - { - int LA262_2 = input.LA(2); - if ( (synpred385_Delphi()) ) { - alt262=1; - } - else if ( (true) ) { - alt262=2; - } - - } - break; - case ADD: - case ANSISTRING: - case ASM: - case ASSIGN: - case AT: - case AT2: - case BEGIN: - case BREAK: - case CASE: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case DOT: - case EXIT: - case EXPORT: - case FINAL: - case FOR: - case GOTO: - case IF: - case IMPLEMENTS: - case INDEX: - case INHERITED: - case LBRACK: - case LOCAL: - case LPAREN: - case LT: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case POINTER2: - case RAISE: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case REPEAT: - case SEMI: - case STORED: - case STRICT: - case STRING: - case TRY: - case TkHexNum: - case TkIdentifier: - case TkIntNum: - case VARIANT: - case WHILE: - case WITH: - case WRITE: - case 200: - { - alt262=2; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 262, 0, input); - throw nvae; - } - switch (alt262) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:32: ( handler )* ( 'else' statementList )? - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:32: ( handler )* - loop260: - while (true) { - int alt260=2; - int LA260_0 = input.LA(1); - if ( (LA260_0==ON) ) { - alt260=1; - } - - switch (alt260) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:33: handler - { - pushFollow(FOLLOW_handler_in_handlerList16540); - handler792=handler(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, handler792.getTree()); - - } - break; - - default : - break loop260; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:43: ( 'else' statementList )? - int alt261=2; - int LA261_0 = input.LA(1); - if ( (LA261_0==ELSE) ) { - alt261=1; - } - switch (alt261) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:44: 'else' statementList - { - string_literal793=(Token)match(input,ELSE,FOLLOW_ELSE_in_handlerList16545); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal793_tree = (Object)adaptor.create(string_literal793); - adaptor.addChild(root_0, string_literal793_tree); - } - - pushFollow(FOLLOW_statementList_in_handlerList16547); - statementList794=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList794.getTree()); - - } - break; - - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:595:32: statementList - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_statementList_in_handlerList16582); - statementList795=statementList(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList795.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 147, handlerList_StartIndex); } - - } - return retval; - } - // $ANTLR end "handlerList" - - - public static class handler_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "handler" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:597:1: handler : 'on' ( handlerIdent )? typeId 'do' handlerStatement ; - public final DelphiParser.handler_return handler() throws RecognitionException { - DelphiParser.handler_return retval = new DelphiParser.handler_return(); - retval.start = input.LT(1); - int handler_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal796=null; - Token string_literal799=null; - ParserRuleReturnScope handlerIdent797 =null; - ParserRuleReturnScope typeId798 =null; - ParserRuleReturnScope handlerStatement800 =null; - - Object string_literal796_tree=null; - Object string_literal799_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 148) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:597:30: ( 'on' ( handlerIdent )? typeId 'do' handlerStatement ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:597:32: 'on' ( handlerIdent )? typeId 'do' handlerStatement - { - root_0 = (Object)adaptor.nil(); - - - string_literal796=(Token)match(input,ON,FOLLOW_ON_in_handler16640); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal796_tree = (Object)adaptor.create(string_literal796); - adaptor.addChild(root_0, string_literal796_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:597:37: ( handlerIdent )? - int alt263=2; - switch ( input.LA(1) ) { - case TkIdentifier: - { - int LA263_1 = input.LA(2); - if ( (LA263_1==COLON) ) { - alt263=1; - } - } - break; - case 200: - { - int LA263_2 = input.LA(2); - if ( (LA263_2==TkIdentifier) ) { - int LA263_6 = input.LA(3); - if ( (LA263_6==COLON) ) { - alt263=1; - } - } - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA263_3 = input.LA(2); - if ( (LA263_3==COLON) ) { - alt263=1; - } - } - break; - } - switch (alt263) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:597:38: handlerIdent - { - pushFollow(FOLLOW_handlerIdent_in_handler16643); - handlerIdent797=handlerIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, handlerIdent797.getTree()); - - } - break; - - } - - pushFollow(FOLLOW_typeId_in_handler16647); - typeId798=typeId(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId798.getTree()); - - string_literal799=(Token)match(input,DO,FOLLOW_DO_in_handler16649); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal799_tree = (Object)adaptor.create(string_literal799); - adaptor.addChild(root_0, string_literal799_tree); - } - - pushFollow(FOLLOW_handlerStatement_in_handler16651); - handlerStatement800=handlerStatement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, handlerStatement800.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 148, handler_StartIndex); } - - } - return retval; - } - // $ANTLR end "handler" - - - public static class handlerIdent_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "handlerIdent" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:599:1: handlerIdent : ident ':' ; - public final DelphiParser.handlerIdent_return handlerIdent() throws RecognitionException { - DelphiParser.handlerIdent_return retval = new DelphiParser.handlerIdent_return(); - retval.start = input.LT(1); - int handlerIdent_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal802=null; - ParserRuleReturnScope ident801 =null; - - Object char_literal802_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 149) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:599:30: ( ident ':' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:599:32: ident ':' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_ident_in_handlerIdent16706); - ident801=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident801.getTree()); - - char_literal802=(Token)match(input,COLON,FOLLOW_COLON_in_handlerIdent16708); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal802_tree = (Object)adaptor.create(char_literal802); - adaptor.addChild(root_0, char_literal802_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 149, handlerIdent_StartIndex); } - - } - return retval; - } - // $ANTLR end "handlerIdent" - - - public static class handlerStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "handlerStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:1: handlerStatement : ( statement ( ';' )? | ';' ); - public final DelphiParser.handlerStatement_return handlerStatement() throws RecognitionException { - DelphiParser.handlerStatement_return retval = new DelphiParser.handlerStatement_return(); - retval.start = input.LT(1); - int handlerStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal804=null; - Token char_literal805=null; - ParserRuleReturnScope statement803 =null; - - Object char_literal804_tree=null; - Object char_literal805_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 150) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:30: ( statement ( ';' )? | ';' ) - int alt265=2; - int LA265_0 = input.LA(1); - if ( (LA265_0==EOF||LA265_0==ADD||LA265_0==ANSISTRING||LA265_0==ASM||(LA265_0 >= ASSIGN && LA265_0 <= AT2)||(LA265_0 >= BEGIN && LA265_0 <= CASE)||(LA265_0 >= CONTAINS && LA265_0 <= CONTINUE)||LA265_0==DEFAULT||LA265_0==DOT||(LA265_0 >= ELSE && LA265_0 <= END)||LA265_0==EXIT||LA265_0==EXPORT||LA265_0==FINAL||LA265_0==FOR||LA265_0==GOTO||LA265_0==IF||LA265_0==IMPLEMENTS||(LA265_0 >= INDEX && LA265_0 <= INHERITED)||LA265_0==LBRACK||(LA265_0 >= LOCAL && LA265_0 <= MESSAGE)||LA265_0==NAME||LA265_0==OBJECT||(LA265_0 >= ON && LA265_0 <= OPERATOR)||LA265_0==OUT||(LA265_0 >= POINTER && LA265_0 <= POINTER2)||LA265_0==RAISE||(LA265_0 >= READ && LA265_0 <= READONLY)||(LA265_0 >= REFERENCE && LA265_0 <= REGISTER)||(LA265_0 >= REMOVE && LA265_0 <= REPEAT)||(LA265_0 >= STORED && LA265_0 <= STRING)||LA265_0==TRY||(LA265_0 >= TkHexNum && LA265_0 <= TkIntNum)||LA265_0==VARIANT||(LA265_0 >= WHILE && LA265_0 <= WRITE)||LA265_0==200) ) { - alt265=1; - } - else if ( (LA265_0==SEMI) ) { - int LA265_2 = input.LA(2); - if ( (synpred388_Delphi()) ) { - alt265=1; - } - else if ( (true) ) { - alt265=2; - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 265, 0, input); - throw nvae; - } - - switch (alt265) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:32: statement ( ';' )? - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_statement_in_handlerStatement16757); - statement803=statement(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, statement803.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:42: ( ';' )? - int alt264=2; - int LA264_0 = input.LA(1); - if ( (LA264_0==SEMI) ) { - alt264=1; - } - switch (alt264) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:43: ';' - { - char_literal804=(Token)match(input,SEMI,FOLLOW_SEMI_in_handlerStatement16760); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal804_tree = (Object)adaptor.create(char_literal804); - adaptor.addChild(root_0, char_literal804_tree); - } - - } - break; - - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:602:32: ';' - { - root_0 = (Object)adaptor.nil(); - - - char_literal805=(Token)match(input,SEMI,FOLLOW_SEMI_in_handlerStatement16795); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal805_tree = (Object)adaptor.create(char_literal805); - adaptor.addChild(root_0, char_literal805_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 150, handlerStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "handlerStatement" - - - public static class raiseStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "raiseStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:1: raiseStatement : 'raise' ( designator )? ( AT designator )? ; - public final DelphiParser.raiseStatement_return raiseStatement() throws RecognitionException { - DelphiParser.raiseStatement_return retval = new DelphiParser.raiseStatement_return(); - retval.start = input.LT(1); - int raiseStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal806=null; - Token AT808=null; - ParserRuleReturnScope designator807 =null; - ParserRuleReturnScope designator809 =null; - - Object string_literal806_tree=null; - Object AT808_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 151) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:30: ( 'raise' ( designator )? ( AT designator )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:32: 'raise' ( designator )? ( AT designator )? - { - root_0 = (Object)adaptor.nil(); - - - string_literal806=(Token)match(input,RAISE,FOLLOW_RAISE_in_raiseStatement16846); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal806_tree = (Object)adaptor.create(string_literal806); - adaptor.addChild(root_0, string_literal806_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:40: ( designator )? - int alt266=2; - switch ( input.LA(1) ) { - case INHERITED: - { - int LA266_1 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case TkIdentifier: - { - int LA266_2 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case 200: - { - int LA266_3 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case AT: - { - int LA266_4 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case POINTER2: - { - int LA266_5 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case AT2: - { - int LA266_6 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case LT: - { - int LA266_7 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case LBRACK: - { - int LA266_8 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case LPAREN: - { - int LA266_9 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case ADD: - case ANSISTRING: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA266_10 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case ELSE: - { - int LA266_11 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case EOF: - { - int LA266_12 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case SEMI: - { - int LA266_13 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case END: - { - int LA266_14 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case PROCEDURE: - { - int LA266_15 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case FUNCTION: - { - int LA266_16 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case DOT: - { - int LA266_17 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case 201: - { - int LA266_18 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case NOT: - { - int LA266_19 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case PLUS: - { - int LA266_20 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case MINUS: - { - int LA266_21 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case TkHexNum: - case TkIntNum: - { - int LA266_22 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case TkRealNum: - { - int LA266_23 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case TkAsmHexNum: - { - int LA266_24 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case TRUE: - { - int LA266_25 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case FALSE: - { - int LA266_26 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case NIL: - { - int LA266_27 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case ControlString: - { - int LA266_28 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case QuotedString: - { - int LA266_29 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case AND: - case AS: - case DIV: - case MOD: - case OR: - case SHL: - case SHR: - case SLASH: - case STAR: - case XOR: - { - int LA266_30 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case EQUAL: - { - int LA266_31 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case GE: - case GT: - case IN: - case IS: - case LE: - case NOT_EQUAL: - { - int LA266_32 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case DOTDOT: - { - int LA266_33 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case COMMA: - { - int LA266_34 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case COLON: - { - int LA266_35 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case FINALIZATION: - { - int LA266_36 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case UNTIL: - { - int LA266_37 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case EXCEPT: - { - int LA266_38 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case FINALLY: - { - int LA266_39 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - case ON: - { - int LA266_40 = input.LA(2); - if ( (synpred389_Delphi()) ) { - alt266=1; - } - } - break; - } - switch (alt266) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:41: designator - { - pushFollow(FOLLOW_designator_in_raiseStatement16849); - designator807=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator807.getTree()); - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:54: ( AT designator )? - int alt267=2; - int LA267_0 = input.LA(1); - if ( (LA267_0==AT) ) { - int LA267_1 = input.LA(2); - if ( (synpred390_Delphi()) ) { - alt267=1; - } - } - switch (alt267) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:55: AT designator - { - AT808=(Token)match(input,AT,FOLLOW_AT_in_raiseStatement16854); if (state.failed) return retval; - if ( state.backtracking==0 ) { - AT808_tree = (Object)adaptor.create(AT808); - adaptor.addChild(root_0, AT808_tree); - } - - pushFollow(FOLLOW_designator_in_raiseStatement16856); - designator809=designator(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, designator809.getTree()); - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 151, raiseStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "raiseStatement" - - - public static class assemblerStatement_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "assemblerStatement" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:609:1: assemblerStatement : 'asm' (~ ( 'end' ) )* 'end' ; - public final DelphiParser.assemblerStatement_return assemblerStatement() throws RecognitionException { - DelphiParser.assemblerStatement_return retval = new DelphiParser.assemblerStatement_return(); - retval.start = input.LT(1); - int assemblerStatement_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal810=null; - Token set811=null; - Token string_literal812=null; - - Object string_literal810_tree=null; - Object set811_tree=null; - Object string_literal812_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 152) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:609:30: ( 'asm' (~ ( 'end' ) )* 'end' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:609:32: 'asm' (~ ( 'end' ) )* 'end' - { - root_0 = (Object)adaptor.nil(); - - - string_literal810=(Token)match(input,ASM,FOLLOW_ASM_in_assemblerStatement16909); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal810_tree = (Object)adaptor.create(string_literal810); - adaptor.addChild(root_0, string_literal810_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:609:38: (~ ( 'end' ) )* - loop268: - while (true) { - int alt268=2; - int LA268_0 = input.LA(1); - if ( ((LA268_0 >= ABSOLUTE && LA268_0 <= ELSE)||(LA268_0 >= EQUAL && LA268_0 <= 201)) ) { - alt268=1; - } - - switch (alt268) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - set811=input.LT(1); - if ( (input.LA(1) >= ABSOLUTE && input.LA(1) <= ELSE)||(input.LA(1) >= EQUAL && input.LA(1) <= 201) ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set811)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - break; - - default : - break loop268; - } - } - - string_literal812=(Token)match(input,END,FOLLOW_END_in_assemblerStatement16917); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal812_tree = (Object)adaptor.create(string_literal812); - adaptor.addChild(root_0, string_literal812_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 152, assemblerStatement_StartIndex); } - - } - return retval; - } - // $ANTLR end "assemblerStatement" - - - public static class methodDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "methodDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:614:1: methodDirective : ( reintroduceDirective | overloadDirective | bindingDirective | abstractDirective | inlineDirective | callConvention | hintingDirective ';' | oldCallConventionDirective | dispIDDirective ); - public final DelphiParser.methodDirective_return methodDirective() throws RecognitionException { - DelphiParser.methodDirective_return retval = new DelphiParser.methodDirective_return(); - retval.start = input.LT(1); - int methodDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal820=null; - ParserRuleReturnScope reintroduceDirective813 =null; - ParserRuleReturnScope overloadDirective814 =null; - ParserRuleReturnScope bindingDirective815 =null; - ParserRuleReturnScope abstractDirective816 =null; - ParserRuleReturnScope inlineDirective817 =null; - ParserRuleReturnScope callConvention818 =null; - ParserRuleReturnScope hintingDirective819 =null; - ParserRuleReturnScope oldCallConventionDirective821 =null; - ParserRuleReturnScope dispIDDirective822 =null; - - Object char_literal820_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 153) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:614:30: ( reintroduceDirective | overloadDirective | bindingDirective | abstractDirective | inlineDirective | callConvention | hintingDirective ';' | oldCallConventionDirective | dispIDDirective ) - int alt269=9; - switch ( input.LA(1) ) { - case REINTRODUCE: - { - alt269=1; - } - break; - case OVERLOAD: - { - alt269=2; - } - break; - case DYNAMIC: - case MESSAGE: - case OVERRIDE: - case STATIC: - case VIRTUAL: - { - alt269=3; - } - break; - case ABSTRACT: - case FINAL: - { - alt269=4; - } - break; - case ASSEMBLER: - case INLINE: - { - alt269=5; - } - break; - case CDECL: - case EXPORT: - case PASCAL: - case REGISTER: - case SAFECALL: - case STDCALL: - { - alt269=6; - } - break; - case DEPRECATED: - case EXPERIMENTAL: - case LIBRARY: - case PLATFORM: - { - alt269=7; - } - break; - case FAR: - case LOCAL: - case NEAR: - { - alt269=8; - } - break; - case DISPID: - { - alt269=9; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 269, 0, input); - throw nvae; - } - switch (alt269) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:614:32: reintroduceDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_reintroduceDirective_in_methodDirective16990); - reintroduceDirective813=reintroduceDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, reintroduceDirective813.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:32: overloadDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_overloadDirective_in_methodDirective17032); - overloadDirective814=overloadDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, overloadDirective814.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:32: bindingDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_bindingDirective_in_methodDirective17077); - bindingDirective815=bindingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, bindingDirective815.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:617:32: abstractDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_abstractDirective_in_methodDirective17123); - abstractDirective816=abstractDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, abstractDirective816.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:32: inlineDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_inlineDirective_in_methodDirective17168); - inlineDirective817=inlineDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, inlineDirective817.getTree()); - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:619:32: callConvention - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_callConvention_in_methodDirective17215); - callConvention818=callConvention(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, callConvention818.getTree()); - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:620:32: hintingDirective ';' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_hintingDirective_in_methodDirective17263); - hintingDirective819=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, hintingDirective819.getTree()); - - char_literal820=(Token)match(input,SEMI,FOLLOW_SEMI_in_methodDirective17265); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal820_tree = (Object)adaptor.create(char_literal820); - adaptor.addChild(root_0, char_literal820_tree); - } - - } - break; - case 8 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:621:32: oldCallConventionDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_oldCallConventionDirective_in_methodDirective17307); - oldCallConventionDirective821=oldCallConventionDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, oldCallConventionDirective821.getTree()); - - } - break; - case 9 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:622:32: dispIDDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_dispIDDirective_in_methodDirective17343); - dispIDDirective822=dispIDDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, dispIDDirective822.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 153, methodDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "methodDirective" - - - public static class functionDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "functionDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:624:1: functionDirective : ( overloadDirective | inlineDirective | callConvention | oldCallConventionDirective | hintingDirective ';' | ( callConventionNoSemi )? externalDirective | 'unsafe' ';' ); - public final DelphiParser.functionDirective_return functionDirective() throws RecognitionException { - DelphiParser.functionDirective_return retval = new DelphiParser.functionDirective_return(); - retval.start = input.LT(1); - int functionDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal828=null; - Token string_literal831=null; - Token char_literal832=null; - ParserRuleReturnScope overloadDirective823 =null; - ParserRuleReturnScope inlineDirective824 =null; - ParserRuleReturnScope callConvention825 =null; - ParserRuleReturnScope oldCallConventionDirective826 =null; - ParserRuleReturnScope hintingDirective827 =null; - ParserRuleReturnScope callConventionNoSemi829 =null; - ParserRuleReturnScope externalDirective830 =null; - - Object char_literal828_tree=null; - Object string_literal831_tree=null; - Object char_literal832_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 154) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:624:30: ( overloadDirective | inlineDirective | callConvention | oldCallConventionDirective | hintingDirective ';' | ( callConventionNoSemi )? externalDirective | 'unsafe' ';' ) - int alt271=7; - switch ( input.LA(1) ) { - case OVERLOAD: - { - alt271=1; - } - break; - case ASSEMBLER: - case INLINE: - { - alt271=2; - } - break; - case CDECL: - { - int LA271_3 = input.LA(2); - if ( (LA271_3==SEMI) ) { - alt271=3; - } - else if ( (LA271_3==EXTERNAL||LA271_3==VARARGS) ) { - alt271=6; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 271, 3, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case PASCAL: - { - int LA271_4 = input.LA(2); - if ( (LA271_4==SEMI) ) { - alt271=3; - } - else if ( (LA271_4==EXTERNAL||LA271_4==VARARGS) ) { - alt271=6; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 271, 4, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case REGISTER: - { - int LA271_5 = input.LA(2); - if ( (LA271_5==SEMI) ) { - alt271=3; - } - else if ( (LA271_5==EXTERNAL||LA271_5==VARARGS) ) { - alt271=6; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 271, 5, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case SAFECALL: - { - int LA271_6 = input.LA(2); - if ( (LA271_6==SEMI) ) { - alt271=3; - } - else if ( (LA271_6==EXTERNAL||LA271_6==VARARGS) ) { - alt271=6; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 271, 6, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case STDCALL: - { - int LA271_7 = input.LA(2); - if ( (LA271_7==SEMI) ) { - alt271=3; - } - else if ( (LA271_7==EXTERNAL||LA271_7==VARARGS) ) { - alt271=6; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 271, 7, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case EXPORT: - { - int LA271_8 = input.LA(2); - if ( (LA271_8==SEMI) ) { - alt271=3; - } - else if ( (LA271_8==EXTERNAL||LA271_8==VARARGS) ) { - alt271=6; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 271, 8, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case FAR: - case LOCAL: - case NEAR: - { - alt271=4; - } - break; - case DEPRECATED: - case EXPERIMENTAL: - case LIBRARY: - case PLATFORM: - { - alt271=5; - } - break; - case EXTERNAL: - case VARARGS: - { - alt271=6; - } - break; - case UNSAFE: - { - alt271=7; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 271, 0, input); - throw nvae; - } - switch (alt271) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:624:32: overloadDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_overloadDirective_in_functionDirective17391); - overloadDirective823=overloadDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, overloadDirective823.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:32: inlineDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_inlineDirective_in_functionDirective17434); - inlineDirective824=inlineDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, inlineDirective824.getTree()); - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:626:32: callConvention - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_callConvention_in_functionDirective17479); - callConvention825=callConvention(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, callConvention825.getTree()); - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:627:32: oldCallConventionDirective - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_oldCallConventionDirective_in_functionDirective17525); - oldCallConventionDirective826=oldCallConventionDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, oldCallConventionDirective826.getTree()); - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:32: hintingDirective ';' - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_hintingDirective_in_functionDirective17559); - hintingDirective827=hintingDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, hintingDirective827.getTree()); - - char_literal828=(Token)match(input,SEMI,FOLLOW_SEMI_in_functionDirective17561); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal828_tree = (Object)adaptor.create(char_literal828); - adaptor.addChild(root_0, char_literal828_tree); - } - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:629:32: ( callConventionNoSemi )? externalDirective - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:629:32: ( callConventionNoSemi )? - int alt270=2; - int LA270_0 = input.LA(1); - if ( (LA270_0==CDECL||LA270_0==EXPORT||LA270_0==PASCAL||LA270_0==REGISTER||LA270_0==SAFECALL||LA270_0==STDCALL) ) { - alt270=1; - } - switch (alt270) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:629:33: callConventionNoSemi - { - pushFollow(FOLLOW_callConventionNoSemi_in_functionDirective17602); - callConventionNoSemi829=callConventionNoSemi(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, callConventionNoSemi829.getTree()); - - } - break; - - } - - pushFollow(FOLLOW_externalDirective_in_functionDirective17606); - externalDirective830=externalDirective(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, externalDirective830.getTree()); - - } - break; - case 7 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:630:32: 'unsafe' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal831=(Token)match(input,UNSAFE,FOLLOW_UNSAFE_in_functionDirective17649); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal831_tree = (Object)adaptor.create(string_literal831); - adaptor.addChild(root_0, string_literal831_tree); - } - - char_literal832=(Token)match(input,SEMI,FOLLOW_SEMI_in_functionDirective17651); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal832_tree = (Object)adaptor.create(char_literal832); - adaptor.addChild(root_0, char_literal832_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 154, functionDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "functionDirective" - - - public static class reintroduceDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "reintroduceDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:632:1: reintroduceDirective : 'reintroduce' ';' ; - public final DelphiParser.reintroduceDirective_return reintroduceDirective() throws RecognitionException { - DelphiParser.reintroduceDirective_return retval = new DelphiParser.reintroduceDirective_return(); - retval.start = input.LT(1); - int reintroduceDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal833=null; - Token char_literal834=null; - - Object string_literal833_tree=null; - Object char_literal834_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 155) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:632:30: ( 'reintroduce' ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:632:32: 'reintroduce' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal833=(Token)match(input,REINTRODUCE,FOLLOW_REINTRODUCE_in_reintroduceDirective17711); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal833_tree = (Object)adaptor.create(string_literal833); - adaptor.addChild(root_0, string_literal833_tree); - } - - char_literal834=(Token)match(input,SEMI,FOLLOW_SEMI_in_reintroduceDirective17713); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal834_tree = (Object)adaptor.create(char_literal834); - adaptor.addChild(root_0, char_literal834_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 155, reintroduceDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "reintroduceDirective" - - - public static class overloadDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "overloadDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:634:1: overloadDirective : 'overload' ( ';' )? ; - public final DelphiParser.overloadDirective_return overloadDirective() throws RecognitionException { - DelphiParser.overloadDirective_return retval = new DelphiParser.overloadDirective_return(); - retval.start = input.LT(1); - int overloadDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal835=null; - Token char_literal836=null; - - Object string_literal835_tree=null; - Object char_literal836_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 156) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:634:30: ( 'overload' ( ';' )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:634:32: 'overload' ( ';' )? - { - root_0 = (Object)adaptor.nil(); - - - string_literal835=(Token)match(input,OVERLOAD,FOLLOW_OVERLOAD_in_overloadDirective17761); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal835_tree = (Object)adaptor.create(string_literal835); - adaptor.addChild(root_0, string_literal835_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:634:43: ( ';' )? - int alt272=2; - int LA272_0 = input.LA(1); - if ( (LA272_0==SEMI) ) { - int LA272_1 = input.LA(2); - if ( (synpred408_Delphi()) ) { - alt272=1; - } - } - switch (alt272) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:634:44: ';' - { - char_literal836=(Token)match(input,SEMI,FOLLOW_SEMI_in_overloadDirective17764); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal836_tree = (Object)adaptor.create(char_literal836); - adaptor.addChild(root_0, char_literal836_tree); - } - - } - break; - - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 156, overloadDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "overloadDirective" - - - public static class bindingDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "bindingDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:636:1: bindingDirective : ( 'message' expression ';' | 'static' ';' | 'dynamic' ';' | 'override' ';' | 'virtual' ';' ); - public final DelphiParser.bindingDirective_return bindingDirective() throws RecognitionException { - DelphiParser.bindingDirective_return retval = new DelphiParser.bindingDirective_return(); - retval.start = input.LT(1); - int bindingDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal837=null; - Token char_literal839=null; - Token string_literal840=null; - Token char_literal841=null; - Token string_literal842=null; - Token char_literal843=null; - Token string_literal844=null; - Token char_literal845=null; - Token string_literal846=null; - Token char_literal847=null; - ParserRuleReturnScope expression838 =null; - - Object string_literal837_tree=null; - Object char_literal839_tree=null; - Object string_literal840_tree=null; - Object char_literal841_tree=null; - Object string_literal842_tree=null; - Object char_literal843_tree=null; - Object string_literal844_tree=null; - Object char_literal845_tree=null; - Object string_literal846_tree=null; - Object char_literal847_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 157) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:636:30: ( 'message' expression ';' | 'static' ';' | 'dynamic' ';' | 'override' ';' | 'virtual' ';' ) - int alt273=5; - switch ( input.LA(1) ) { - case MESSAGE: - { - alt273=1; - } - break; - case STATIC: - { - alt273=2; - } - break; - case DYNAMIC: - { - alt273=3; - } - break; - case OVERRIDE: - { - alt273=4; - } - break; - case VIRTUAL: - { - alt273=5; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 273, 0, input); - throw nvae; - } - switch (alt273) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:636:32: 'message' expression ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal837=(Token)match(input,MESSAGE,FOLLOW_MESSAGE_in_bindingDirective17819); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal837_tree = (Object)adaptor.create(string_literal837); - adaptor.addChild(root_0, string_literal837_tree); - } - - pushFollow(FOLLOW_expression_in_bindingDirective17821); - expression838=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression838.getTree()); - - char_literal839=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective17823); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal839_tree = (Object)adaptor.create(char_literal839); - adaptor.addChild(root_0, char_literal839_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:637:32: 'static' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal840=(Token)match(input,STATIC,FOLLOW_STATIC_in_bindingDirective17856); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal840_tree = (Object)adaptor.create(string_literal840); - adaptor.addChild(root_0, string_literal840_tree); - } - - char_literal841=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective17858); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal841_tree = (Object)adaptor.create(char_literal841); - adaptor.addChild(root_0, char_literal841_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:638:32: 'dynamic' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal842=(Token)match(input,DYNAMIC,FOLLOW_DYNAMIC_in_bindingDirective17891); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal842_tree = (Object)adaptor.create(string_literal842); - adaptor.addChild(root_0, string_literal842_tree); - } - - char_literal843=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective17893); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal843_tree = (Object)adaptor.create(char_literal843); - adaptor.addChild(root_0, char_literal843_tree); - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:639:32: 'override' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal844=(Token)match(input,OVERRIDE,FOLLOW_OVERRIDE_in_bindingDirective17926); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal844_tree = (Object)adaptor.create(string_literal844); - adaptor.addChild(root_0, string_literal844_tree); - } - - char_literal845=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective17928); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal845_tree = (Object)adaptor.create(char_literal845); - adaptor.addChild(root_0, char_literal845_tree); - } - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:640:32: 'virtual' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal846=(Token)match(input,VIRTUAL,FOLLOW_VIRTUAL_in_bindingDirective17961); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal846_tree = (Object)adaptor.create(string_literal846); - adaptor.addChild(root_0, string_literal846_tree); - } - - char_literal847=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective17963); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal847_tree = (Object)adaptor.create(char_literal847); - adaptor.addChild(root_0, char_literal847_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 157, bindingDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "bindingDirective" - - - public static class abstractDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "abstractDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:642:1: abstractDirective : ( 'abstract' ';' | 'final' ';' ); - public final DelphiParser.abstractDirective_return abstractDirective() throws RecognitionException { - DelphiParser.abstractDirective_return retval = new DelphiParser.abstractDirective_return(); - retval.start = input.LT(1); - int abstractDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal848=null; - Token char_literal849=null; - Token string_literal850=null; - Token char_literal851=null; - - Object string_literal848_tree=null; - Object char_literal849_tree=null; - Object string_literal850_tree=null; - Object char_literal851_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 158) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:642:30: ( 'abstract' ';' | 'final' ';' ) - int alt274=2; - int LA274_0 = input.LA(1); - if ( (LA274_0==ABSTRACT) ) { - alt274=1; - } - else if ( (LA274_0==FINAL) ) { - alt274=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 274, 0, input); - throw nvae; - } - - switch (alt274) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:642:32: 'abstract' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal848=(Token)match(input,ABSTRACT,FOLLOW_ABSTRACT_in_abstractDirective18011); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal848_tree = (Object)adaptor.create(string_literal848); - adaptor.addChild(root_0, string_literal848_tree); - } - - char_literal849=(Token)match(input,SEMI,FOLLOW_SEMI_in_abstractDirective18013); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal849_tree = (Object)adaptor.create(char_literal849); - adaptor.addChild(root_0, char_literal849_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:643:32: 'final' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal850=(Token)match(input,FINAL,FOLLOW_FINAL_in_abstractDirective18046); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal850_tree = (Object)adaptor.create(string_literal850); - adaptor.addChild(root_0, string_literal850_tree); - } - - char_literal851=(Token)match(input,SEMI,FOLLOW_SEMI_in_abstractDirective18048); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal851_tree = (Object)adaptor.create(char_literal851); - adaptor.addChild(root_0, char_literal851_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 158, abstractDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "abstractDirective" - - - public static class inlineDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "inlineDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:645:1: inlineDirective : ( 'inline' ';' | 'assembler' ';' ); - public final DelphiParser.inlineDirective_return inlineDirective() throws RecognitionException { - DelphiParser.inlineDirective_return retval = new DelphiParser.inlineDirective_return(); - retval.start = input.LT(1); - int inlineDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal852=null; - Token char_literal853=null; - Token string_literal854=null; - Token char_literal855=null; - - Object string_literal852_tree=null; - Object char_literal853_tree=null; - Object string_literal854_tree=null; - Object char_literal855_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 159) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:645:30: ( 'inline' ';' | 'assembler' ';' ) - int alt275=2; - int LA275_0 = input.LA(1); - if ( (LA275_0==INLINE) ) { - alt275=1; - } - else if ( (LA275_0==ASSEMBLER) ) { - alt275=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 275, 0, input); - throw nvae; - } - - switch (alt275) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:645:32: 'inline' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal852=(Token)match(input,INLINE,FOLLOW_INLINE_in_inlineDirective18098); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal852_tree = (Object)adaptor.create(string_literal852); - adaptor.addChild(root_0, string_literal852_tree); - } - - char_literal853=(Token)match(input,SEMI,FOLLOW_SEMI_in_inlineDirective18100); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal853_tree = (Object)adaptor.create(char_literal853); - adaptor.addChild(root_0, char_literal853_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:646:32: 'assembler' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal854=(Token)match(input,ASSEMBLER,FOLLOW_ASSEMBLER_in_inlineDirective18133); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal854_tree = (Object)adaptor.create(string_literal854); - adaptor.addChild(root_0, string_literal854_tree); - } - - char_literal855=(Token)match(input,SEMI,FOLLOW_SEMI_in_inlineDirective18135); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal855_tree = (Object)adaptor.create(char_literal855); - adaptor.addChild(root_0, char_literal855_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 159, inlineDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "inlineDirective" - - - public static class callConvention_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "callConvention" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:648:1: callConvention : ( 'cdecl' ';' | 'pascal' ';' | 'register' ';' | 'safecall' ';' | 'stdcall' ';' | 'export' ';' ); - public final DelphiParser.callConvention_return callConvention() throws RecognitionException { - DelphiParser.callConvention_return retval = new DelphiParser.callConvention_return(); - retval.start = input.LT(1); - int callConvention_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal856=null; - Token char_literal857=null; - Token string_literal858=null; - Token char_literal859=null; - Token string_literal860=null; - Token char_literal861=null; - Token string_literal862=null; - Token char_literal863=null; - Token string_literal864=null; - Token char_literal865=null; - Token string_literal866=null; - Token char_literal867=null; - - Object string_literal856_tree=null; - Object char_literal857_tree=null; - Object string_literal858_tree=null; - Object char_literal859_tree=null; - Object string_literal860_tree=null; - Object char_literal861_tree=null; - Object string_literal862_tree=null; - Object char_literal863_tree=null; - Object string_literal864_tree=null; - Object char_literal865_tree=null; - Object string_literal866_tree=null; - Object char_literal867_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 160) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:648:30: ( 'cdecl' ';' | 'pascal' ';' | 'register' ';' | 'safecall' ';' | 'stdcall' ';' | 'export' ';' ) - int alt276=6; - switch ( input.LA(1) ) { - case CDECL: - { - alt276=1; - } - break; - case PASCAL: - { - alt276=2; - } - break; - case REGISTER: - { - alt276=3; - } - break; - case SAFECALL: - { - alt276=4; - } - break; - case STDCALL: - { - alt276=5; - } - break; - case EXPORT: - { - alt276=6; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 276, 0, input); - throw nvae; - } - switch (alt276) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:648:32: 'cdecl' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal856=(Token)match(input,CDECL,FOLLOW_CDECL_in_callConvention18187); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal856_tree = (Object)adaptor.create(string_literal856); - adaptor.addChild(root_0, string_literal856_tree); - } - - char_literal857=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention18189); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal857_tree = (Object)adaptor.create(char_literal857); - adaptor.addChild(root_0, char_literal857_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:649:32: 'pascal' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal858=(Token)match(input,PASCAL,FOLLOW_PASCAL_in_callConvention18226); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal858_tree = (Object)adaptor.create(string_literal858); - adaptor.addChild(root_0, string_literal858_tree); - } - - char_literal859=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention18228); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal859_tree = (Object)adaptor.create(char_literal859); - adaptor.addChild(root_0, char_literal859_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:650:32: 'register' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal860=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_callConvention18264); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal860_tree = (Object)adaptor.create(string_literal860); - adaptor.addChild(root_0, string_literal860_tree); - } - - char_literal861=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention18266); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal861_tree = (Object)adaptor.create(char_literal861); - adaptor.addChild(root_0, char_literal861_tree); - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:651:32: 'safecall' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal862=(Token)match(input,SAFECALL,FOLLOW_SAFECALL_in_callConvention18300); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal862_tree = (Object)adaptor.create(string_literal862); - adaptor.addChild(root_0, string_literal862_tree); - } - - char_literal863=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention18302); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal863_tree = (Object)adaptor.create(char_literal863); - adaptor.addChild(root_0, char_literal863_tree); - } - - } - break; - case 5 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:652:32: 'stdcall' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal864=(Token)match(input,STDCALL,FOLLOW_STDCALL_in_callConvention18336); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal864_tree = (Object)adaptor.create(string_literal864); - adaptor.addChild(root_0, string_literal864_tree); - } - - char_literal865=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention18338); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal865_tree = (Object)adaptor.create(char_literal865); - adaptor.addChild(root_0, char_literal865_tree); - } - - } - break; - case 6 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:653:32: 'export' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal866=(Token)match(input,EXPORT,FOLLOW_EXPORT_in_callConvention18373); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal866_tree = (Object)adaptor.create(string_literal866); - adaptor.addChild(root_0, string_literal866_tree); - } - - char_literal867=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention18375); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal867_tree = (Object)adaptor.create(char_literal867); - adaptor.addChild(root_0, char_literal867_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 160, callConvention_StartIndex); } - - } - return retval; - } - // $ANTLR end "callConvention" - - - public static class callConventionNoSemi_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "callConventionNoSemi" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:655:1: callConventionNoSemi : ( 'cdecl' | 'pascal' | 'register' | 'safecall' | 'stdcall' | 'export' ); - public final DelphiParser.callConventionNoSemi_return callConventionNoSemi() throws RecognitionException { - DelphiParser.callConventionNoSemi_return retval = new DelphiParser.callConventionNoSemi_return(); - retval.start = input.LT(1); - int callConventionNoSemi_StartIndex = input.index(); - - Object root_0 = null; - - Token set868=null; - - Object set868_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 161) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:655:30: ( 'cdecl' | 'pascal' | 'register' | 'safecall' | 'stdcall' | 'export' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set868=input.LT(1); - if ( input.LA(1)==CDECL||input.LA(1)==EXPORT||input.LA(1)==PASCAL||input.LA(1)==REGISTER||input.LA(1)==SAFECALL||input.LA(1)==STDCALL ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set868)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 161, callConventionNoSemi_StartIndex); } - - } - return retval; - } - // $ANTLR end "callConventionNoSemi" - - - public static class oldCallConventionDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "oldCallConventionDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:662:1: oldCallConventionDirective : ( 'far' ';' | 'local' ';' | 'near' ';' ); - public final DelphiParser.oldCallConventionDirective_return oldCallConventionDirective() throws RecognitionException { - DelphiParser.oldCallConventionDirective_return retval = new DelphiParser.oldCallConventionDirective_return(); - retval.start = input.LT(1); - int oldCallConventionDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal869=null; - Token char_literal870=null; - Token string_literal871=null; - Token char_literal872=null; - Token string_literal873=null; - Token char_literal874=null; - - Object string_literal869_tree=null; - Object char_literal870_tree=null; - Object string_literal871_tree=null; - Object char_literal872_tree=null; - Object string_literal873_tree=null; - Object char_literal874_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 162) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:662:30: ( 'far' ';' | 'local' ';' | 'near' ';' ) - int alt277=3; - switch ( input.LA(1) ) { - case FAR: - { - alt277=1; - } - break; - case LOCAL: - { - alt277=2; - } - break; - case NEAR: - { - alt277=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 277, 0, input); - throw nvae; - } - switch (alt277) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:662:32: 'far' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal869=(Token)match(input,FAR,FOLLOW_FAR_in_oldCallConventionDirective18641); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal869_tree = (Object)adaptor.create(string_literal869); - adaptor.addChild(root_0, string_literal869_tree); - } - - char_literal870=(Token)match(input,SEMI,FOLLOW_SEMI_in_oldCallConventionDirective18643); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal870_tree = (Object)adaptor.create(char_literal870); - adaptor.addChild(root_0, char_literal870_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:663:32: 'local' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal871=(Token)match(input,LOCAL,FOLLOW_LOCAL_in_oldCallConventionDirective18682); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal871_tree = (Object)adaptor.create(string_literal871); - adaptor.addChild(root_0, string_literal871_tree); - } - - char_literal872=(Token)match(input,SEMI,FOLLOW_SEMI_in_oldCallConventionDirective18684); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal872_tree = (Object)adaptor.create(char_literal872); - adaptor.addChild(root_0, char_literal872_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:664:32: 'near' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal873=(Token)match(input,NEAR,FOLLOW_NEAR_in_oldCallConventionDirective18721); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal873_tree = (Object)adaptor.create(string_literal873); - adaptor.addChild(root_0, string_literal873_tree); - } - - char_literal874=(Token)match(input,SEMI,FOLLOW_SEMI_in_oldCallConventionDirective18723); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal874_tree = (Object)adaptor.create(char_literal874); - adaptor.addChild(root_0, char_literal874_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 162, oldCallConventionDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "oldCallConventionDirective" - - - public static class hintingDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "hintingDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:666:1: hintingDirective : ( 'deprecated' ( stringFactor )? | 'experimental' | 'platform' | 'library' ); - public final DelphiParser.hintingDirective_return hintingDirective() throws RecognitionException { - DelphiParser.hintingDirective_return retval = new DelphiParser.hintingDirective_return(); - retval.start = input.LT(1); - int hintingDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal875=null; - Token string_literal877=null; - Token string_literal878=null; - Token string_literal879=null; - ParserRuleReturnScope stringFactor876 =null; - - Object string_literal875_tree=null; - Object string_literal877_tree=null; - Object string_literal878_tree=null; - Object string_literal879_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 163) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:666:30: ( 'deprecated' ( stringFactor )? | 'experimental' | 'platform' | 'library' ) - int alt279=4; - switch ( input.LA(1) ) { - case DEPRECATED: - { - alt279=1; - } - break; - case EXPERIMENTAL: - { - alt279=2; - } - break; - case PLATFORM: - { - alt279=3; - } - break; - case LIBRARY: - { - alt279=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 279, 0, input); - throw nvae; - } - switch (alt279) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:666:32: 'deprecated' ( stringFactor )? - { - root_0 = (Object)adaptor.nil(); - - - string_literal875=(Token)match(input,DEPRECATED,FOLLOW_DEPRECATED_in_hintingDirective18777); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal875_tree = (Object)adaptor.create(string_literal875); - adaptor.addChild(root_0, string_literal875_tree); - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:666:45: ( stringFactor )? - int alt278=2; - int LA278_0 = input.LA(1); - if ( (LA278_0==ControlString||LA278_0==QuotedString) ) { - alt278=1; - } - switch (alt278) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:666:46: stringFactor - { - pushFollow(FOLLOW_stringFactor_in_hintingDirective18780); - stringFactor876=stringFactor(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, stringFactor876.getTree()); - - } - break; - - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:667:32: 'experimental' - { - root_0 = (Object)adaptor.nil(); - - - string_literal877=(Token)match(input,EXPERIMENTAL,FOLLOW_EXPERIMENTAL_in_hintingDirective18815); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal877_tree = (Object)adaptor.create(string_literal877); - adaptor.addChild(root_0, string_literal877_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:668:32: 'platform' - { - root_0 = (Object)adaptor.nil(); - - - string_literal878=(Token)match(input,PLATFORM,FOLLOW_PLATFORM_in_hintingDirective18850); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal878_tree = (Object)adaptor.create(string_literal878); - adaptor.addChild(root_0, string_literal878_tree); - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:669:32: 'library' - { - root_0 = (Object)adaptor.nil(); - - - string_literal879=(Token)match(input,LIBRARY,FOLLOW_LIBRARY_in_hintingDirective18883); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal879_tree = (Object)adaptor.create(string_literal879); - adaptor.addChild(root_0, string_literal879_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 163, hintingDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "hintingDirective" - - - public static class externalDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "externalDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:671:1: externalDirective : ( 'varargs' ';' | 'external' ';' | 'external' constExpression ( externalSpecifier )* ';' ); - public final DelphiParser.externalDirective_return externalDirective() throws RecognitionException { - DelphiParser.externalDirective_return retval = new DelphiParser.externalDirective_return(); - retval.start = input.LT(1); - int externalDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal880=null; - Token char_literal881=null; - Token string_literal882=null; - Token char_literal883=null; - Token string_literal884=null; - Token char_literal887=null; - ParserRuleReturnScope constExpression885 =null; - ParserRuleReturnScope externalSpecifier886 =null; - - Object string_literal880_tree=null; - Object char_literal881_tree=null; - Object string_literal882_tree=null; - Object char_literal883_tree=null; - Object string_literal884_tree=null; - Object char_literal887_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 164) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:671:30: ( 'varargs' ';' | 'external' ';' | 'external' constExpression ( externalSpecifier )* ';' ) - int alt281=3; - int LA281_0 = input.LA(1); - if ( (LA281_0==VARARGS) ) { - alt281=1; - } - else if ( (LA281_0==EXTERNAL) ) { - int LA281_2 = input.LA(2); - if ( (LA281_2==SEMI) ) { - int LA281_3 = input.LA(3); - if ( (synpred432_Delphi()) ) { - alt281=2; - } - else if ( (true) ) { - alt281=3; - } - - } - else if ( ((LA281_2 >= ADD && LA281_2 <= ANSISTRING)||LA281_2==AS||(LA281_2 >= AT && LA281_2 <= AT2)||LA281_2==BREAK||(LA281_2 >= CONTAINS && LA281_2 <= ControlString)||LA281_2==DEFAULT||LA281_2==DIV||LA281_2==DOT||LA281_2==EQUAL||LA281_2==EXIT||LA281_2==EXPORT||LA281_2==FALSE||LA281_2==FINAL||(LA281_2 >= FUNCTION && LA281_2 <= GE)||LA281_2==GT||(LA281_2 >= IMPLEMENTS && LA281_2 <= INHERITED)||LA281_2==IS||LA281_2==LBRACK||LA281_2==LE||(LA281_2 >= LOCAL && LA281_2 <= NAME)||LA281_2==NIL||(LA281_2 >= NOT && LA281_2 <= OBJECT)||(LA281_2 >= OPERATOR && LA281_2 <= OUT)||(LA281_2 >= PLUS && LA281_2 <= POINTER2)||LA281_2==PROCEDURE||LA281_2==QuotedString||(LA281_2 >= READ && LA281_2 <= READONLY)||(LA281_2 >= REFERENCE && LA281_2 <= REGISTER)||LA281_2==REMOVE||(LA281_2 >= SHL && LA281_2 <= STAR)||(LA281_2 >= STORED && LA281_2 <= STRING)||LA281_2==TRUE||LA281_2==TkAsmHexNum||(LA281_2 >= TkHexNum && LA281_2 <= TkIntNum)||LA281_2==TkRealNum||LA281_2==VARIANT||LA281_2==WRITE||(LA281_2 >= XOR && LA281_2 <= 201)) ) { - alt281=3; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 281, 2, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 281, 0, input); - throw nvae; - } - - switch (alt281) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:671:32: 'varargs' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal880=(Token)match(input,VARARGS,FOLLOW_VARARGS_in_externalDirective18931); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal880_tree = (Object)adaptor.create(string_literal880); - adaptor.addChild(root_0, string_literal880_tree); - } - - char_literal881=(Token)match(input,SEMI,FOLLOW_SEMI_in_externalDirective18933); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal881_tree = (Object)adaptor.create(char_literal881); - adaptor.addChild(root_0, char_literal881_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:672:32: 'external' ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal882=(Token)match(input,EXTERNAL,FOLLOW_EXTERNAL_in_externalDirective18969); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal882_tree = (Object)adaptor.create(string_literal882); - adaptor.addChild(root_0, string_literal882_tree); - } - - char_literal883=(Token)match(input,SEMI,FOLLOW_SEMI_in_externalDirective18971); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal883_tree = (Object)adaptor.create(char_literal883); - adaptor.addChild(root_0, char_literal883_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:673:32: 'external' constExpression ( externalSpecifier )* ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal884=(Token)match(input,EXTERNAL,FOLLOW_EXTERNAL_in_externalDirective19004); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal884_tree = (Object)adaptor.create(string_literal884); - adaptor.addChild(root_0, string_literal884_tree); - } - - pushFollow(FOLLOW_constExpression_in_externalDirective19006); - constExpression885=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression885.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:673:59: ( externalSpecifier )* - loop280: - while (true) { - int alt280=2; - int LA280_0 = input.LA(1); - if ( (LA280_0==INDEX||LA280_0==NAME) ) { - alt280=1; - } - - switch (alt280) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:673:60: externalSpecifier - { - pushFollow(FOLLOW_externalSpecifier_in_externalDirective19009); - externalSpecifier886=externalSpecifier(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, externalSpecifier886.getTree()); - - } - break; - - default : - break loop280; - } - } - - char_literal887=(Token)match(input,SEMI,FOLLOW_SEMI_in_externalDirective19013); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal887_tree = (Object)adaptor.create(char_literal887); - adaptor.addChild(root_0, char_literal887_tree); - } - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 164, externalDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "externalDirective" - - - public static class externalSpecifier_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "externalSpecifier" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:675:1: externalSpecifier : ( 'name' constExpression | 'index' constExpression ); - public final DelphiParser.externalSpecifier_return externalSpecifier() throws RecognitionException { - DelphiParser.externalSpecifier_return retval = new DelphiParser.externalSpecifier_return(); - retval.start = input.LT(1); - int externalSpecifier_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal888=null; - Token string_literal890=null; - ParserRuleReturnScope constExpression889 =null; - ParserRuleReturnScope constExpression891 =null; - - Object string_literal888_tree=null; - Object string_literal890_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 165) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:675:30: ( 'name' constExpression | 'index' constExpression ) - int alt282=2; - int LA282_0 = input.LA(1); - if ( (LA282_0==NAME) ) { - alt282=1; - } - else if ( (LA282_0==INDEX) ) { - alt282=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 282, 0, input); - throw nvae; - } - - switch (alt282) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:675:32: 'name' constExpression - { - root_0 = (Object)adaptor.nil(); - - - string_literal888=(Token)match(input,NAME,FOLLOW_NAME_in_externalSpecifier19062); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal888_tree = (Object)adaptor.create(string_literal888); - adaptor.addChild(root_0, string_literal888_tree); - } - - pushFollow(FOLLOW_constExpression_in_externalSpecifier19064); - constExpression889=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression889.getTree()); - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:676:32: 'index' constExpression - { - root_0 = (Object)adaptor.nil(); - - - string_literal890=(Token)match(input,INDEX,FOLLOW_INDEX_in_externalSpecifier19097); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal890_tree = (Object)adaptor.create(string_literal890); - adaptor.addChild(root_0, string_literal890_tree); - } - - pushFollow(FOLLOW_constExpression_in_externalSpecifier19099); - constExpression891=constExpression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression891.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 165, externalSpecifier_StartIndex); } - - } - return retval; - } - // $ANTLR end "externalSpecifier" - - - public static class dispIDDirective_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "dispIDDirective" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:678:1: dispIDDirective : 'dispid' expression ';' ; - public final DelphiParser.dispIDDirective_return dispIDDirective() throws RecognitionException { - DelphiParser.dispIDDirective_return retval = new DelphiParser.dispIDDirective_return(); - retval.start = input.LT(1); - int dispIDDirective_StartIndex = input.index(); - - Object root_0 = null; - - Token string_literal892=null; - Token char_literal894=null; - ParserRuleReturnScope expression893 =null; - - Object string_literal892_tree=null; - Object char_literal894_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 166) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:678:30: ( 'dispid' expression ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:678:32: 'dispid' expression ';' - { - root_0 = (Object)adaptor.nil(); - - - string_literal892=(Token)match(input,DISPID,FOLLOW_DISPID_in_dispIDDirective19152); if (state.failed) return retval; - if ( state.backtracking==0 ) { - string_literal892_tree = (Object)adaptor.create(string_literal892); - adaptor.addChild(root_0, string_literal892_tree); - } - - pushFollow(FOLLOW_expression_in_dispIDDirective19154); - expression893=expression(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, expression893.getTree()); - - char_literal894=(Token)match(input,SEMI,FOLLOW_SEMI_in_dispIDDirective19156); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal894_tree = (Object)adaptor.create(char_literal894); - adaptor.addChild(root_0, char_literal894_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 166, dispIDDirective_StartIndex); } - - } - return retval; - } - // $ANTLR end "dispIDDirective" - - - public static class ident_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "ident" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:683:1: ident : ( TkIdentifier | '&' TkIdentifier | usedKeywordsAsNames ); - public final DelphiParser.ident_return ident() throws RecognitionException { - DelphiParser.ident_return retval = new DelphiParser.ident_return(); - retval.start = input.LT(1); - int ident_StartIndex = input.index(); - - Object root_0 = null; - - Token TkIdentifier895=null; - Token char_literal896=null; - Token TkIdentifier897=null; - ParserRuleReturnScope usedKeywordsAsNames898 =null; - - Object TkIdentifier895_tree=null; - Object char_literal896_tree=null; - Object TkIdentifier897_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 167) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:683:30: ( TkIdentifier | '&' TkIdentifier | usedKeywordsAsNames ) - int alt283=3; - switch ( input.LA(1) ) { - case TkIdentifier: - { - alt283=1; - } - break; - case 200: - { - alt283=2; - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - alt283=3; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 283, 0, input); - throw nvae; - } - switch (alt283) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:683:32: TkIdentifier - { - root_0 = (Object)adaptor.nil(); - - - TkIdentifier895=(Token)match(input,TkIdentifier,FOLLOW_TkIdentifier_in_ident19219); if (state.failed) return retval; - if ( state.backtracking==0 ) { - TkIdentifier895_tree = (Object)adaptor.create(TkIdentifier895); - adaptor.addChild(root_0, TkIdentifier895_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:684:32: '&' TkIdentifier - { - root_0 = (Object)adaptor.nil(); - - - char_literal896=(Token)match(input,200,FOLLOW_200_in_ident19252); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal896_tree = (Object)adaptor.create(char_literal896); - adaptor.addChild(root_0, char_literal896_tree); - } - - TkIdentifier897=(Token)match(input,TkIdentifier,FOLLOW_TkIdentifier_in_ident19254); if (state.failed) return retval; - if ( state.backtracking==0 ) { - TkIdentifier897_tree = (Object)adaptor.create(TkIdentifier897); - adaptor.addChild(root_0, TkIdentifier897_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:685:32: usedKeywordsAsNames - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_usedKeywordsAsNames_in_ident19287); - usedKeywordsAsNames898=usedKeywordsAsNames(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, usedKeywordsAsNames898.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 167, ident_StartIndex); } - - } - return retval; - } - // $ANTLR end "ident" - - - public static class usedKeywordsAsNames_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "usedKeywordsAsNames" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:687:1: usedKeywordsAsNames : ( ( NAME | READONLY | ADD | AT | MESSAGE | POINTER | INDEX | DEFAULT | STRING | CONTINUE ) | ( READ | WRITE | REGISTER | VARIANT | OPERATOR | REMOVE | LOCAL | REFERENCE | CONTAINS | FINAL ) | ( BREAK | EXIT | STRICT | OUT | OBJECT | EXPORT | ANSISTRING | IMPLEMENTS | STORED ) ); - public final DelphiParser.usedKeywordsAsNames_return usedKeywordsAsNames() throws RecognitionException { - DelphiParser.usedKeywordsAsNames_return retval = new DelphiParser.usedKeywordsAsNames_return(); - retval.start = input.LT(1); - int usedKeywordsAsNames_StartIndex = input.index(); - - Object root_0 = null; - - Token set899=null; - - Object set899_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 168) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:687:30: ( ( NAME | READONLY | ADD | AT | MESSAGE | POINTER | INDEX | DEFAULT | STRING | CONTINUE ) | ( READ | WRITE | REGISTER | VARIANT | OPERATOR | REMOVE | LOCAL | REFERENCE | CONTAINS | FINAL ) | ( BREAK | EXIT | STRICT | OUT | OBJECT | EXPORT | ANSISTRING | IMPLEMENTS | STORED ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set899=input.LT(1); - if ( input.LA(1)==ADD||input.LA(1)==ANSISTRING||input.LA(1)==AT||input.LA(1)==BREAK||(input.LA(1) >= CONTAINS && input.LA(1) <= CONTINUE)||input.LA(1)==DEFAULT||input.LA(1)==EXIT||input.LA(1)==EXPORT||input.LA(1)==FINAL||input.LA(1)==IMPLEMENTS||input.LA(1)==INDEX||input.LA(1)==LOCAL||input.LA(1)==MESSAGE||input.LA(1)==NAME||input.LA(1)==OBJECT||input.LA(1)==OPERATOR||input.LA(1)==OUT||input.LA(1)==POINTER||(input.LA(1) >= READ && input.LA(1) <= READONLY)||(input.LA(1) >= REFERENCE && input.LA(1) <= REGISTER)||input.LA(1)==REMOVE||(input.LA(1) >= STORED && input.LA(1) <= STRING)||input.LA(1)==VARIANT||input.LA(1)==WRITE ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set899)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 168, usedKeywordsAsNames_StartIndex); } - - } - return retval; - } - // $ANTLR end "usedKeywordsAsNames" - - - public static class identList_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "identList" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:691:1: identList : ident ( ',' ident )* -> ^( ident ( ident )* ) ; - public final DelphiParser.identList_return identList() throws RecognitionException { - DelphiParser.identList_return retval = new DelphiParser.identList_return(); - retval.start = input.LT(1); - int identList_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal901=null; - ParserRuleReturnScope ident900 =null; - ParserRuleReturnScope ident902 =null; - - Object char_literal901_tree=null; - RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); - RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 169) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:691:30: ( ident ( ',' ident )* -> ^( ident ( ident )* ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:691:32: ident ( ',' ident )* - { - pushFollow(FOLLOW_ident_in_identList19565); - ident900=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident900.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:691:38: ( ',' ident )* - loop284: - while (true) { - int alt284=2; - int LA284_0 = input.LA(1); - if ( (LA284_0==COMMA) ) { - alt284=1; - } - - switch (alt284) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:691:39: ',' ident - { - char_literal901=(Token)match(input,COMMA,FOLLOW_COMMA_in_identList19568); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COMMA.add(char_literal901); - - pushFollow(FOLLOW_ident_in_identList19570); - ident902=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident902.getTree()); - } - break; - - default : - break loop284; - } - } - - // AST REWRITE - // elements: ident, ident - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 691:51: -> ^( ident ( ident )* ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:691:54: ^( ident ( ident )* ) - { - Object root_1 = (Object)adaptor.nil(); - root_1 = (Object)adaptor.becomeRoot(stream_ident.nextNode(), root_1); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:691:62: ( ident )* - while ( stream_ident.hasNext() ) { - adaptor.addChild(root_1, stream_ident.nextTree()); - } - stream_ident.reset(); - - adaptor.addChild(root_0, root_1); - } - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 169, identList_StartIndex); } - - } - return retval; - } - // $ANTLR end "identList" - - - public static class identListFlat_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "identListFlat" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:693:1: identListFlat : ident ( ',' ident )* -> ident ( ident )* ; - public final DelphiParser.identListFlat_return identListFlat() throws RecognitionException { - DelphiParser.identListFlat_return retval = new DelphiParser.identListFlat_return(); - retval.start = input.LT(1); - int identListFlat_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal904=null; - ParserRuleReturnScope ident903 =null; - ParserRuleReturnScope ident905 =null; - - Object char_literal904_tree=null; - RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); - RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 170) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:693:30: ( ident ( ',' ident )* -> ident ( ident )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:693:32: ident ( ',' ident )* - { - pushFollow(FOLLOW_ident_in_identListFlat19635); - ident903=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident903.getTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:693:38: ( ',' ident )* - loop285: - while (true) { - int alt285=2; - int LA285_0 = input.LA(1); - if ( (LA285_0==COMMA) ) { - alt285=1; - } - - switch (alt285) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:693:39: ',' ident - { - char_literal904=(Token)match(input,COMMA,FOLLOW_COMMA_in_identListFlat19638); if (state.failed) return retval; - if ( state.backtracking==0 ) stream_COMMA.add(char_literal904); - - pushFollow(FOLLOW_ident_in_identListFlat19640); - ident905=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) stream_ident.add(ident905.getTree()); - } - break; - - default : - break loop285; - } - } - - // AST REWRITE - // elements: ident, ident - // token labels: - // rule labels: retval - // token list labels: - // rule list labels: - // wildcard labels: - if ( state.backtracking==0 ) { - retval.tree = root_0; - RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); - - root_0 = (Object)adaptor.nil(); - // 693:51: -> ident ( ident )* - { - adaptor.addChild(root_0, stream_ident.nextTree()); - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:693:60: ( ident )* - while ( stream_ident.hasNext() ) { - adaptor.addChild(root_0, stream_ident.nextTree()); - } - stream_ident.reset(); - - } - - - retval.tree = root_0; - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 170, identListFlat_StartIndex); } - - } - return retval; - } - // $ANTLR end "identListFlat" - - - public static class label_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "label" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:695:1: label : ( TkIdentifier | TkIntNum | TkHexNum | usedKeywordsAsNames ); - public final DelphiParser.label_return label() throws RecognitionException { - DelphiParser.label_return retval = new DelphiParser.label_return(); - retval.start = input.LT(1); - int label_StartIndex = input.index(); - - Object root_0 = null; - - Token TkIdentifier906=null; - Token TkIntNum907=null; - Token TkHexNum908=null; - ParserRuleReturnScope usedKeywordsAsNames909 =null; - - Object TkIdentifier906_tree=null; - Object TkIntNum907_tree=null; - Object TkHexNum908_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 171) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:695:30: ( TkIdentifier | TkIntNum | TkHexNum | usedKeywordsAsNames ) - int alt286=4; - switch ( input.LA(1) ) { - case TkIdentifier: - { - alt286=1; - } - break; - case TkIntNum: - { - alt286=2; - } - break; - case TkHexNum: - { - alt286=3; - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - alt286=4; - } - break; - default: - if (state.backtracking>0) {state.failed=true; return retval;} - NoViableAltException nvae = - new NoViableAltException("", 286, 0, input); - throw nvae; - } - switch (alt286) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:695:32: TkIdentifier - { - root_0 = (Object)adaptor.nil(); - - - TkIdentifier906=(Token)match(input,TkIdentifier,FOLLOW_TkIdentifier_in_label19714); if (state.failed) return retval; - if ( state.backtracking==0 ) { - TkIdentifier906_tree = (Object)adaptor.create(TkIdentifier906); - adaptor.addChild(root_0, TkIdentifier906_tree); - } - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:696:32: TkIntNum - { - root_0 = (Object)adaptor.nil(); - - - TkIntNum907=(Token)match(input,TkIntNum,FOLLOW_TkIntNum_in_label19747); if (state.failed) return retval; - if ( state.backtracking==0 ) { - TkIntNum907_tree = (Object)adaptor.create(TkIntNum907); - adaptor.addChild(root_0, TkIntNum907_tree); - } - - } - break; - case 3 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:697:32: TkHexNum - { - root_0 = (Object)adaptor.nil(); - - - TkHexNum908=(Token)match(input,TkHexNum,FOLLOW_TkHexNum_in_label19780); if (state.failed) return retval; - if ( state.backtracking==0 ) { - TkHexNum908_tree = (Object)adaptor.create(TkHexNum908); - adaptor.addChild(root_0, TkHexNum908_tree); - } - - } - break; - case 4 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:698:32: usedKeywordsAsNames - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_usedKeywordsAsNames_in_label19813); - usedKeywordsAsNames909=usedKeywordsAsNames(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, usedKeywordsAsNames909.getTree()); - - } - break; - - } - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 171, label_StartIndex); } - - } - return retval; - } - // $ANTLR end "label" - - - public static class intNum_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "intNum" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:700:1: intNum : ( TkIntNum | TkHexNum ); - public final DelphiParser.intNum_return intNum() throws RecognitionException { - DelphiParser.intNum_return retval = new DelphiParser.intNum_return(); - retval.start = input.LT(1); - int intNum_StartIndex = input.index(); - - Object root_0 = null; - - Token set910=null; - - Object set910_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 172) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:700:30: ( TkIntNum | TkHexNum ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: - { - root_0 = (Object)adaptor.nil(); - - - set910=input.LT(1); - if ( input.LA(1)==TkHexNum||input.LA(1)==TkIntNum ) { - input.consume(); - if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set910)); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return retval;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 172, intNum_StartIndex); } - - } - return retval; - } - // $ANTLR end "intNum" - - - public static class realNum_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "realNum" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:703:1: realNum : TkRealNum ; - public final DelphiParser.realNum_return realNum() throws RecognitionException { - DelphiParser.realNum_return retval = new DelphiParser.realNum_return(); - retval.start = input.LT(1); - int realNum_StartIndex = input.index(); - - Object root_0 = null; - - Token TkRealNum911=null; - - Object TkRealNum911_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 173) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:703:30: ( TkRealNum ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:703:32: TkRealNum - { - root_0 = (Object)adaptor.nil(); - - - TkRealNum911=(Token)match(input,TkRealNum,FOLLOW_TkRealNum_in_realNum19963); if (state.failed) return retval; - if ( state.backtracking==0 ) { - TkRealNum911_tree = (Object)adaptor.create(TkRealNum911); - adaptor.addChild(root_0, TkRealNum911_tree); - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 173, realNum_StartIndex); } - - } - return retval; - } - // $ANTLR end "realNum" - - - public static class namespacedQualifiedIdent_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "namespacedQualifiedIdent" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:705:1: namespacedQualifiedIdent : ( namespaceName '.' )? qualifiedIdent ; - public final DelphiParser.namespacedQualifiedIdent_return namespacedQualifiedIdent() throws RecognitionException { - DelphiParser.namespacedQualifiedIdent_return retval = new DelphiParser.namespacedQualifiedIdent_return(); - retval.start = input.LT(1); - int namespacedQualifiedIdent_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal913=null; - ParserRuleReturnScope namespaceName912 =null; - ParserRuleReturnScope qualifiedIdent914 =null; - - Object char_literal913_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 174) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:705:30: ( ( namespaceName '.' )? qualifiedIdent ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:705:32: ( namespaceName '.' )? qualifiedIdent - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:705:32: ( namespaceName '.' )? - int alt287=2; - switch ( input.LA(1) ) { - case TkIdentifier: - { - int LA287_1 = input.LA(2); - if ( (LA287_1==DOT) ) { - int LA287_4 = input.LA(3); - if ( (synpred471_Delphi()) ) { - alt287=1; - } - } - } - break; - case 200: - { - int LA287_2 = input.LA(2); - if ( (LA287_2==TkIdentifier) ) { - int LA287_6 = input.LA(3); - if ( (LA287_6==DOT) ) { - int LA287_9 = input.LA(4); - if ( (synpred471_Delphi()) ) { - alt287=1; - } - } - } - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA287_3 = input.LA(2); - if ( (LA287_3==DOT) ) { - int LA287_7 = input.LA(3); - if ( (synpred471_Delphi()) ) { - alt287=1; - } - } - } - break; - } - switch (alt287) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:705:33: namespaceName '.' - { - pushFollow(FOLLOW_namespaceName_in_namespacedQualifiedIdent20005); - namespaceName912=namespaceName(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, namespaceName912.getTree()); - - char_literal913=(Token)match(input,DOT,FOLLOW_DOT_in_namespacedQualifiedIdent20007); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal913_tree = (Object)adaptor.create(char_literal913); - adaptor.addChild(root_0, char_literal913_tree); - } - - } - break; - - } - - pushFollow(FOLLOW_qualifiedIdent_in_namespacedQualifiedIdent20011); - qualifiedIdent914=qualifiedIdent(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, qualifiedIdent914.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 174, namespacedQualifiedIdent_StartIndex); } - - } - return retval; - } - // $ANTLR end "namespacedQualifiedIdent" - - - public static class namespaceName_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "namespaceName" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:707:1: namespaceName : ident ( '.' ident )* ; - public final DelphiParser.namespaceName_return namespaceName() throws RecognitionException { - DelphiParser.namespaceName_return retval = new DelphiParser.namespaceName_return(); - retval.start = input.LT(1); - int namespaceName_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal916=null; - ParserRuleReturnScope ident915 =null; - ParserRuleReturnScope ident917 =null; - - Object char_literal916_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 175) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:707:30: ( ident ( '.' ident )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:707:32: ident ( '.' ident )* - { - root_0 = (Object)adaptor.nil(); - - - pushFollow(FOLLOW_ident_in_namespaceName20063); - ident915=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident915.getTree()); - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:707:38: ( '.' ident )* - loop288: - while (true) { - int alt288=2; - alt288 = dfa288.predict(input); - switch (alt288) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:707:39: '.' ident - { - char_literal916=(Token)match(input,DOT,FOLLOW_DOT_in_namespaceName20066); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal916_tree = (Object)adaptor.create(char_literal916); - adaptor.addChild(root_0, char_literal916_tree); - } - - pushFollow(FOLLOW_ident_in_namespaceName20068); - ident917=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident917.getTree()); - - } - break; - - default : - break loop288; - } - } - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 175, namespaceName_StartIndex); } - - } - return retval; - } - // $ANTLR end "namespaceName" - - - public static class qualifiedIdent_return extends ParserRuleReturnScope { - Object tree; - @Override - public Object getTree() { return tree; } - }; - - - // $ANTLR start "qualifiedIdent" - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:1: qualifiedIdent : ( ident '.' )* ident ; - public final DelphiParser.qualifiedIdent_return qualifiedIdent() throws RecognitionException { - DelphiParser.qualifiedIdent_return retval = new DelphiParser.qualifiedIdent_return(); - retval.start = input.LT(1); - int qualifiedIdent_StartIndex = input.index(); - - Object root_0 = null; - - Token char_literal919=null; - ParserRuleReturnScope ident918 =null; - ParserRuleReturnScope ident920 =null; - - Object char_literal919_tree=null; - - try { - if ( state.backtracking>0 && alreadyParsedRule(input, 176) ) { return retval; } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:30: ( ( ident '.' )* ident ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:33: ( ident '.' )* ident - { - root_0 = (Object)adaptor.nil(); - - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:33: ( ident '.' )* - loop289: - while (true) { - int alt289=2; - switch ( input.LA(1) ) { - case TkIdentifier: - { - int LA289_1 = input.LA(2); - if ( (LA289_1==DOT) ) { - switch ( input.LA(3) ) { - case TkIdentifier: - { - int LA289_7 = input.LA(4); - if ( (synpred473_Delphi()) ) { - alt289=1; - } - - } - break; - case 200: - { - int LA289_8 = input.LA(4); - if ( (LA289_8==TkIdentifier) ) { - int LA289_11 = input.LA(5); - if ( (synpred473_Delphi()) ) { - alt289=1; - } - - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA289_9 = input.LA(4); - if ( (synpred473_Delphi()) ) { - alt289=1; - } - - } - break; - } - } - - } - break; - case 200: - { - int LA289_2 = input.LA(2); - if ( (LA289_2==TkIdentifier) ) { - int LA289_6 = input.LA(3); - if ( (LA289_6==DOT) ) { - switch ( input.LA(4) ) { - case TkIdentifier: - { - int LA289_7 = input.LA(5); - if ( (synpred473_Delphi()) ) { - alt289=1; - } - - } - break; - case 200: - { - int LA289_8 = input.LA(5); - if ( (LA289_8==TkIdentifier) ) { - int LA289_11 = input.LA(6); - if ( (synpred473_Delphi()) ) { - alt289=1; - } - - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA289_9 = input.LA(5); - if ( (synpred473_Delphi()) ) { - alt289=1; - } - - } - break; - } - } - - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA289_3 = input.LA(2); - if ( (LA289_3==DOT) ) { - switch ( input.LA(3) ) { - case TkIdentifier: - { - int LA289_7 = input.LA(4); - if ( (synpred473_Delphi()) ) { - alt289=1; - } - - } - break; - case 200: - { - int LA289_8 = input.LA(4); - if ( (LA289_8==TkIdentifier) ) { - int LA289_11 = input.LA(5); - if ( (synpred473_Delphi()) ) { - alt289=1; - } - - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA289_9 = input.LA(4); - if ( (synpred473_Delphi()) ) { - alt289=1; - } - - } - break; - } - } - - } - break; - } - switch (alt289) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:34: ident '.' - { - pushFollow(FOLLOW_ident_in_qualifiedIdent20123); - ident918=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident918.getTree()); - - char_literal919=(Token)match(input,DOT,FOLLOW_DOT_in_qualifiedIdent20125); if (state.failed) return retval; - if ( state.backtracking==0 ) { - char_literal919_tree = (Object)adaptor.create(char_literal919); - adaptor.addChild(root_0, char_literal919_tree); - } - - } - break; - - default : - break loop289; - } - } - - pushFollow(FOLLOW_ident_in_qualifiedIdent20130); - ident920=ident(); - state._fsp--; - if (state.failed) return retval; - if ( state.backtracking==0 ) adaptor.addChild(root_0, ident920.getTree()); - - } - - retval.stop = input.LT(-1); - - if ( state.backtracking==0 ) { - retval.tree = (Object)adaptor.rulePostProcessing(root_0); - adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); - } - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); - } - finally { - // do for sure before leaving - if ( state.backtracking>0 ) { memoize(input, 176, qualifiedIdent_StartIndex); } - - } - return retval; - } - // $ANTLR end "qualifiedIdent" - - // $ANTLR start synpred23_Delphi - public final void synpred23_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:33: ( declSection ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:33: declSection - { - pushFollow(FOLLOW_declSection_in_synpred23_Delphi1584); - declSection(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred23_Delphi - - // $ANTLR start synpred24_Delphi - public final void synpred24_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:48: ( blockBody ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:48: blockBody - { - pushFollow(FOLLOW_blockBody_in_synpred24_Delphi1589); - blockBody(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred24_Delphi - - // $ANTLR start synpred30_Delphi - public final void synpred30_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:32: ( exportedProcHeading ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:32: exportedProcHeading - { - pushFollow(FOLLOW_exportedProcHeading_in_synpred30_Delphi1866); - exportedProcHeading(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred30_Delphi - - // $ANTLR start synpred31_Delphi - public final void synpred31_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:136:32: ( methodDecl ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:136:32: methodDecl - { - pushFollow(FOLLOW_methodDecl_in_synpred31_Delphi1899); - methodDecl(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred31_Delphi - - // $ANTLR start synpred32_Delphi - public final void synpred32_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:137:32: ( procDecl ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:137:32: procDecl - { - pushFollow(FOLLOW_procDecl_in_synpred32_Delphi1932); - procDecl(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred32_Delphi - - // $ANTLR start synpred36_Delphi - public final void synpred36_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:143:32: ( exportedProcHeading ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:143:32: exportedProcHeading - { - pushFollow(FOLLOW_exportedProcHeading_in_synpred36_Delphi2116); - exportedProcHeading(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred36_Delphi - - // $ANTLR start synpred38_Delphi - public final void synpred38_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:145:32: ( procDecl ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:145:32: procDecl - { - pushFollow(FOLLOW_procDecl_in_synpred38_Delphi2182); - procDecl(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred38_Delphi - - // $ANTLR start synpred40_Delphi - public final void synpred40_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:42: ( constDeclaration ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:42: constDeclaration - { - pushFollow(FOLLOW_constDeclaration_in_synpred40_Delphi2331); - constDeclaration(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred40_Delphi - - // $ANTLR start synpred42_Delphi - public final void synpred42_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:155:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred42_Delphi2486); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred42_Delphi - - // $ANTLR start synpred45_Delphi - public final void synpred45_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:157:56: ( typeDeclaration ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:157:56: typeDeclaration - { - pushFollow(FOLLOW_typeDeclaration_in_synpred45_Delphi2580); - typeDeclaration(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred45_Delphi - - // $ANTLR start synpred46_Delphi - public final void synpred46_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:159:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred46_Delphi2646); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred46_Delphi - - // $ANTLR start synpred48_Delphi - public final void synpred48_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:161:55: ( varDeclaration ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:161:55: varDeclaration - { - pushFollow(FOLLOW_varDeclaration_in_synpred48_Delphi2743); - varDeclaration(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred48_Delphi - - // $ANTLR start synpred50_Delphi - public final void synpred50_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred50_Delphi2903); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred50_Delphi - - // $ANTLR start synpred53_Delphi - public final void synpred53_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:32: ( 'absolute' ident ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:32: 'absolute' ident - { - match(input,ABSOLUTE,FOLLOW_ABSOLUTE_in_synpred53_Delphi2995); if (state.failed) return; - - pushFollow(FOLLOW_ident_in_synpred53_Delphi2997); - ident(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred53_Delphi - - // $ANTLR start synpred54_Delphi - public final void synpred54_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:170:32: ( 'absolute' constExpression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:170:32: 'absolute' constExpression - { - match(input,ABSOLUTE,FOLLOW_ABSOLUTE_in_synpred54_Delphi3030); if (state.failed) return; - - pushFollow(FOLLOW_constExpression_in_synpred54_Delphi3032); - constExpression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred54_Delphi - - // $ANTLR start synpred61_Delphi - public final void synpred61_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:32: ( strucType ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:32: strucType - { - pushFollow(FOLLOW_strucType_in_synpred61_Delphi3277); - strucType(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred61_Delphi - - // $ANTLR start synpred62_Delphi - public final void synpred62_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:181:32: ( pointerType ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:181:32: pointerType - { - pushFollow(FOLLOW_pointerType_in_synpred62_Delphi3310); - pointerType(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred62_Delphi - - // $ANTLR start synpred63_Delphi - public final void synpred63_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:182:32: ( stringType ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:182:32: stringType - { - pushFollow(FOLLOW_stringType_in_synpred63_Delphi3343); - stringType(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred63_Delphi - - // $ANTLR start synpred64_Delphi - public final void synpred64_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:183:32: ( procedureType ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:183:32: procedureType - { - pushFollow(FOLLOW_procedureType_in_synpred64_Delphi3376); - procedureType(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred64_Delphi - - // $ANTLR start synpred65_Delphi - public final void synpred65_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:184:32: ( variantType ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:184:32: variantType - { - pushFollow(FOLLOW_variantType_in_synpred65_Delphi3409); - variantType(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred65_Delphi - - // $ANTLR start synpred67_Delphi - public final void synpred67_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:50: ( genericPostfix ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:50: genericPostfix - { - pushFollow(FOLLOW_genericPostfix_in_synpred67_Delphi3450); - genericPostfix(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred67_Delphi - - // $ANTLR start synpred68_Delphi - public final void synpred68_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:32: ( ( 'type' )? typeId ( genericPostfix )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:32: ( 'type' )? typeId ( genericPostfix )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:32: ( 'type' )? - int alt292=2; - int LA292_0 = input.LA(1); - if ( (LA292_0==TYPE) ) { - alt292=1; - } - switch (alt292) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:33: 'type' - { - match(input,TYPE,FOLLOW_TYPE_in_synpred68_Delphi3443); if (state.failed) return; - - } - break; - - } - - pushFollow(FOLLOW_typeId_in_synpred68_Delphi3447); - typeId(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:49: ( genericPostfix )? - int alt293=2; - int LA293_0 = input.LA(1); - if ( (LA293_0==LT) ) { - alt293=1; - } - switch (alt293) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:185:50: genericPostfix - { - pushFollow(FOLLOW_genericPostfix_in_synpred68_Delphi3450); - genericPostfix(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - } - - } - // $ANTLR end synpred68_Delphi - - // $ANTLR start synpred78_Delphi - public final void synpred78_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:204:32: ( 'const' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:204:32: 'const' - { - match(input,CONST,FOLLOW_CONST_in_synpred78_Delphi4002); if (state.failed) return; - - } - - } - // $ANTLR end synpred78_Delphi - - // $ANTLR start synpred79_Delphi - public final void synpred79_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:210:40: ( 'of' typeDecl ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:210:40: 'of' typeDecl - { - match(input,OF,FOLLOW_OF_in_synpred79_Delphi4174); if (state.failed) return; - - pushFollow(FOLLOW_typeDecl_in_synpred79_Delphi4176); - typeDecl(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred79_Delphi - - // $ANTLR start synpred81_Delphi - public final void synpred81_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:42: ( '[' expression ']' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:42: '[' expression ']' - { - match(input,LBRACK,FOLLOW_LBRACK_in_synpred81_Delphi4325); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred81_Delphi4327); - expression(); - state._fsp--; - if (state.failed) return; - - match(input,RBRACK,FOLLOW_RBRACK_in_synpred81_Delphi4329); if (state.failed) return; - - } - - } - // $ANTLR end synpred81_Delphi - - // $ANTLR start synpred84_Delphi - public final void synpred84_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:216:54: ( codePageNumber ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:216:54: codePageNumber - { - pushFollow(FOLLOW_codePageNumber_in_synpred84_Delphi4376); - codePageNumber(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred84_Delphi - - // $ANTLR start synpred85_Delphi - public final void synpred85_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:220:32: ( methodType ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:220:32: methodType - { - pushFollow(FOLLOW_methodType_in_synpred85_Delphi4485); - methodType(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred85_Delphi - - // $ANTLR start synpred86_Delphi - public final void synpred86_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:32: ( simpleProcedureType ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:32: simpleProcedureType - { - pushFollow(FOLLOW_simpleProcedureType_in_synpred86_Delphi4518); - simpleProcedureType(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred86_Delphi - - // $ANTLR start synpred88_Delphi - public final void synpred88_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:55: ( ( ';' )? callConventionNoSemi ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:55: ( ';' )? callConventionNoSemi - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:55: ( ';' )? - int alt299=2; - int LA299_0 = input.LA(1); - if ( (LA299_0==SEMI) ) { - alt299=1; - } - switch (alt299) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:56: ';' - { - match(input,SEMI,FOLLOW_SEMI_in_synpred88_Delphi4661); if (state.failed) return; - - } - break; - - } - - pushFollow(FOLLOW_callConventionNoSemi_in_synpred88_Delphi4665); - callConventionNoSemi(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred88_Delphi - - // $ANTLR start synpred90_Delphi - public final void synpred90_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:74: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:230:74: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred90_Delphi4773); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred90_Delphi - - // $ANTLR start synpred92_Delphi - public final void synpred92_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:45: ( formalParameterSection ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:45: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_synpred92_Delphi4828); - formalParameterSection(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred92_Delphi - - // $ANTLR start synpred93_Delphi - public final void synpred93_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:235:32: ( ident ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:235:32: ident - { - pushFollow(FOLLOW_ident_in_synpred93_Delphi4940); - ident(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred93_Delphi - - // $ANTLR start synpred94_Delphi - public final void synpred94_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:236:32: ( subRangeType ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:236:32: subRangeType - { - pushFollow(FOLLOW_subRangeType_in_synpred94_Delphi4973); - subRangeType(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred94_Delphi - - // $ANTLR start synpred95_Delphi - public final void synpred95_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:49: ( '..' constExpression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:49: '..' constExpression - { - match(input,DOTDOT,FOLLOW_DOTDOT_in_synpred95_Delphi5062); if (state.failed) return; - - pushFollow(FOLLOW_constExpression_in_synpred95_Delphi5064); - constExpression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred95_Delphi - - // $ANTLR start synpred100_Delphi - public final void synpred100_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:32: ( simpleGenericDefinition ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:32: simpleGenericDefinition - { - pushFollow(FOLLOW_simpleGenericDefinition_in_synpred100_Delphi5321); - simpleGenericDefinition(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred100_Delphi - - // $ANTLR start synpred101_Delphi - public final void synpred101_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:251:32: ( complexGenericDefinition ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:251:32: complexGenericDefinition - { - pushFollow(FOLLOW_complexGenericDefinition_in_synpred101_Delphi5354); - complexGenericDefinition(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred101_Delphi - - // $ANTLR start synpred113_Delphi - public final void synpred113_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:272:32: ( classTypeTypeDecl ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:272:32: classTypeTypeDecl - { - pushFollow(FOLLOW_classTypeTypeDecl_in_synpred113_Delphi5879); - classTypeTypeDecl(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred113_Delphi - - // $ANTLR start synpred114_Delphi - public final void synpred114_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:273:32: ( classTypeDecl ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:273:32: classTypeDecl - { - pushFollow(FOLLOW_classTypeDecl_in_synpred114_Delphi5912); - classTypeDecl(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred114_Delphi - - // $ANTLR start synpred122_Delphi - public final void synpred122_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:32: ( 'class' ( classState )? ( classParent )? ( classItem )* 'end' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:32: 'class' ( classState )? ( classParent )? ( classItem )* 'end' - { - match(input,CLASS,FOLLOW_CLASS_in_synpred122_Delphi6237); if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:40: ( classState )? - int alt305=2; - int LA305_0 = input.LA(1); - if ( (LA305_0==ABSTRACT||LA305_0==SEALED) ) { - alt305=1; - } - switch (alt305) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:41: classState - { - pushFollow(FOLLOW_classState_in_synpred122_Delphi6240); - classState(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:54: ( classParent )? - int alt306=2; - int LA306_0 = input.LA(1); - if ( (LA306_0==LPAREN) ) { - alt306=1; - } - switch (alt306) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:55: classParent - { - pushFollow(FOLLOW_classParent_in_synpred122_Delphi6245); - classParent(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:69: ( classItem )* - loop307: - while (true) { - int alt307=2; - int LA307_0 = input.LA(1); - if ( (LA307_0==ADD||LA307_0==ANSISTRING||LA307_0==AT||LA307_0==AUTOMATED||LA307_0==BREAK||LA307_0==CLASS||(LA307_0 >= CONST && LA307_0 <= CONTINUE)||LA307_0==DEFAULT||LA307_0==DESTRUCTOR||LA307_0==EXIT||LA307_0==EXPORT||LA307_0==FINAL||LA307_0==FUNCTION||LA307_0==IMPLEMENTS||LA307_0==INDEX||LA307_0==LBRACK||LA307_0==LOCAL||LA307_0==MESSAGE||LA307_0==NAME||LA307_0==OBJECT||LA307_0==OPERATOR||LA307_0==OUT||LA307_0==POINTER||(LA307_0 >= PRIVATE && LA307_0 <= PROCEDURE)||(LA307_0 >= PROPERTY && LA307_0 <= PUBLISHED)||(LA307_0 >= READ && LA307_0 <= READONLY)||(LA307_0 >= REFERENCE && LA307_0 <= REGISTER)||LA307_0==REMOVE||LA307_0==RESOURCESTRING||(LA307_0 >= STORED && LA307_0 <= STRING)||LA307_0==THREADVAR||LA307_0==TYPE||LA307_0==TkIdentifier||LA307_0==VAR||LA307_0==VARIANT||LA307_0==WRITE||LA307_0==200) ) { - alt307=1; - } - - switch (alt307) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:70: classItem - { - pushFollow(FOLLOW_classItem_in_synpred122_Delphi6250); - classItem(); - state._fsp--; - if (state.failed) return; - - } - break; - - default : - break loop307; - } - } - - match(input,END,FOLLOW_END_in_synpred122_Delphi6254); if (state.failed) return; - - } - - } - // $ANTLR end synpred122_Delphi - - // $ANTLR start synpred123_Delphi - public final void synpred123_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:283:41: ( classParent ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:283:41: classParent - { - pushFollow(FOLLOW_classParent_in_synpred123_Delphi6308); - classParent(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred123_Delphi - - // $ANTLR start synpred126_Delphi - public final void synpred126_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:290:32: ( visibility ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:290:32: visibility - { - pushFollow(FOLLOW_visibility_in_synpred126_Delphi6544); - visibility(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred126_Delphi - - // $ANTLR start synpred127_Delphi - public final void synpred127_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:291:32: ( classMethod ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:291:32: classMethod - { - pushFollow(FOLLOW_classMethod_in_synpred127_Delphi6577); - classMethod(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred127_Delphi - - // $ANTLR start synpred128_Delphi - public final void synpred128_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:292:32: ( classField ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:292:32: classField - { - pushFollow(FOLLOW_classField_in_synpred128_Delphi6610); - classField(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred128_Delphi - - // $ANTLR start synpred129_Delphi - public final void synpred129_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:293:32: ( classProperty ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:293:32: classProperty - { - pushFollow(FOLLOW_classProperty_in_synpred129_Delphi6643); - classProperty(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred129_Delphi - - // $ANTLR start synpred136_Delphi - public final void synpred136_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:301:32: ( classMethod ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:301:32: classMethod - { - pushFollow(FOLLOW_classMethod_in_synpred136_Delphi6913); - classMethod(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred136_Delphi - - // $ANTLR start synpred137_Delphi - public final void synpred137_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:302:32: ( classProperty ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:302:32: classProperty - { - pushFollow(FOLLOW_classProperty_in_synpred137_Delphi6946); - classProperty(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred137_Delphi - - // $ANTLR start synpred142_Delphi - public final void synpred142_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:32: ( interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:32: interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' - { - pushFollow(FOLLOW_interfaceKey_in_synpred142_Delphi7032); - interfaceKey(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:45: ( classParent )? - int alt308=2; - int LA308_0 = input.LA(1); - if ( (LA308_0==LPAREN) ) { - alt308=1; - } - switch (alt308) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:46: classParent - { - pushFollow(FOLLOW_classParent_in_synpred142_Delphi7035); - classParent(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:60: ( interfaceGuid )? - int alt309=2; - int LA309_0 = input.LA(1); - if ( (LA309_0==LBRACK) ) { - int LA309_1 = input.LA(2); - if ( (LA309_1==QuotedString) ) { - alt309=1; - } - } - switch (alt309) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:61: interfaceGuid - { - pushFollow(FOLLOW_interfaceGuid_in_synpred142_Delphi7040); - interfaceGuid(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:77: ( interfaceItem )* - loop310: - while (true) { - int alt310=2; - int LA310_0 = input.LA(1); - if ( (LA310_0==CLASS||LA310_0==CONSTRUCTOR||LA310_0==DESTRUCTOR||LA310_0==FUNCTION||LA310_0==LBRACK||LA310_0==OPERATOR||LA310_0==PROCEDURE||LA310_0==PROPERTY) ) { - alt310=1; - } - - switch (alt310) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:78: interfaceItem - { - pushFollow(FOLLOW_interfaceItem_in_synpred142_Delphi7045); - interfaceItem(); - state._fsp--; - if (state.failed) return; - - } - break; - - default : - break loop310; - } - } - - match(input,END,FOLLOW_END_in_synpred142_Delphi7049); if (state.failed) return; - - } - - } - // $ANTLR end synpred142_Delphi - - // $ANTLR start synpred143_Delphi - public final void synpred143_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:307:46: ( classParent ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:307:46: classParent - { - pushFollow(FOLLOW_classParent_in_synpred143_Delphi7143); - classParent(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred143_Delphi - - // $ANTLR start synpred145_Delphi - public final void synpred145_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:315:32: ( classMethod ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:315:32: classMethod - { - pushFollow(FOLLOW_classMethod_in_synpred145_Delphi7386); - classMethod(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred145_Delphi - - // $ANTLR start synpred146_Delphi - public final void synpred146_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:316:33: ( 'class' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:316:33: 'class' - { - match(input,CLASS,FOLLOW_CLASS_in_synpred146_Delphi7420); if (state.failed) return; - - } - - } - // $ANTLR end synpred146_Delphi - - // $ANTLR start synpred149_Delphi - public final void synpred149_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:320:32: ( visibility ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:320:32: visibility - { - pushFollow(FOLLOW_visibility_in_synpred149_Delphi7560); - visibility(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred149_Delphi - - // $ANTLR start synpred150_Delphi - public final void synpred150_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:321:32: ( classMethod ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:321:32: classMethod - { - pushFollow(FOLLOW_classMethod_in_synpred150_Delphi7593); - classMethod(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred150_Delphi - - // $ANTLR start synpred151_Delphi - public final void synpred151_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:324:32: ( simpleRecord ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:324:32: simpleRecord - { - pushFollow(FOLLOW_simpleRecord_in_synpred151_Delphi7681); - simpleRecord(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred151_Delphi - - // $ANTLR start synpred152_Delphi - public final void synpred152_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:42: ( recordField ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:42: recordField - { - pushFollow(FOLLOW_recordField_in_synpred152_Delphi7770); - recordField(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred152_Delphi - - // $ANTLR start synpred155_Delphi - public final void synpred155_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:32: ( visibility ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:32: visibility - { - pushFollow(FOLLOW_visibility_in_synpred155_Delphi7920); - visibility(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred155_Delphi - - // $ANTLR start synpred156_Delphi - public final void synpred156_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:332:32: ( classMethod ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:332:32: classMethod - { - pushFollow(FOLLOW_classMethod_in_synpred156_Delphi7958); - classMethod(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred156_Delphi - - // $ANTLR start synpred157_Delphi - public final void synpred157_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:333:32: ( classProperty ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:333:32: classProperty - { - pushFollow(FOLLOW_classProperty_in_synpred157_Delphi7991); - classProperty(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred157_Delphi - - // $ANTLR start synpred160_Delphi - public final void synpred160_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:32: ( recordField ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:32: recordField - { - pushFollow(FOLLOW_recordField_in_synpred160_Delphi8090); - recordField(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred160_Delphi - - // $ANTLR start synpred174_Delphi - public final void synpred174_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:32: ( classMethod ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:32: classMethod - { - pushFollow(FOLLOW_classMethod_in_synpred174_Delphi8628); - classMethod(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred174_Delphi - - // $ANTLR start synpred175_Delphi - public final void synpred175_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred175_Delphi8716); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred175_Delphi - - // $ANTLR start synpred180_Delphi - public final void synpred180_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:32: ( ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:32: ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:32: ( customAttribute )? - int alt311=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt311=1; - } - break; - case CLASS: - { - int LA311_2 = input.LA(2); - if ( (synpred175_Delphi()) ) { - alt311=1; - } - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case PROCEDURE: - { - int LA311_3 = input.LA(2); - if ( (synpred175_Delphi()) ) { - alt311=1; - } - } - break; - } - switch (alt311) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred180_Delphi8716); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:51: ( 'class' )? - int alt312=2; - int LA312_0 = input.LA(1); - if ( (LA312_0==CLASS) ) { - alt312=1; - } - switch (alt312) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:52: 'class' - { - match(input,CLASS,FOLLOW_CLASS_in_synpred180_Delphi8721); if (state.failed) return; - - } - break; - - } - - pushFollow(FOLLOW_methodKey_in_synpred180_Delphi8725); - methodKey(); - state._fsp--; - if (state.failed) return; - - pushFollow(FOLLOW_ident_in_synpred180_Delphi8727); - ident(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:78: ( genericDefinition )? - int alt313=2; - int LA313_0 = input.LA(1); - if ( (LA313_0==LT) ) { - alt313=1; - } - switch (alt313) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:79: genericDefinition - { - pushFollow(FOLLOW_genericDefinition_in_synpred180_Delphi8730); - genericDefinition(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:99: ( formalParameterSection )? - int alt314=2; - int LA314_0 = input.LA(1); - if ( (LA314_0==LPAREN) ) { - alt314=1; - } - switch (alt314) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:100: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_synpred180_Delphi8735); - formalParameterSection(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - match(input,SEMI,FOLLOW_SEMI_in_synpred180_Delphi8739); if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:129: ( methodDirective )* - loop315: - while (true) { - int alt315=2; - int LA315_0 = input.LA(1); - if ( (LA315_0==ABSTRACT||LA315_0==ASSEMBLER||LA315_0==CDECL||LA315_0==DEPRECATED||LA315_0==DISPID||LA315_0==DYNAMIC||(LA315_0 >= EXPERIMENTAL && LA315_0 <= EXPORT)||LA315_0==FAR||LA315_0==FINAL||LA315_0==INLINE||(LA315_0 >= LIBRARY && LA315_0 <= LOCAL)||LA315_0==MESSAGE||LA315_0==NEAR||(LA315_0 >= OVERLOAD && LA315_0 <= OVERRIDE)||(LA315_0 >= PASCAL && LA315_0 <= PLATFORM)||(LA315_0 >= REGISTER && LA315_0 <= REINTRODUCE)||LA315_0==SAFECALL||(LA315_0 >= STATIC && LA315_0 <= STDCALL)||LA315_0==VIRTUAL) ) { - alt315=1; - } - - switch (alt315) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:355:130: methodDirective - { - pushFollow(FOLLOW_methodDirective_in_synpred180_Delphi8742); - methodDirective(); - state._fsp--; - if (state.failed) return; - - } - break; - - default : - break loop315; - } - } - - } - - } - // $ANTLR end synpred180_Delphi - - // $ANTLR start synpred181_Delphi - public final void synpred181_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred181_Delphi8850); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred181_Delphi - - // $ANTLR start synpred185_Delphi - public final void synpred185_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:131: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:131: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred185_Delphi8876); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred185_Delphi - - // $ANTLR start synpred187_Delphi - public final void synpred187_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:32: ( ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:32: ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:32: ( customAttribute )? - int alt316=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt316=1; - } - break; - case CLASS: - { - int LA316_2 = input.LA(2); - if ( (synpred181_Delphi()) ) { - alt316=1; - } - } - break; - case FUNCTION: - { - int LA316_3 = input.LA(2); - if ( (synpred181_Delphi()) ) { - alt316=1; - } - } - break; - } - switch (alt316) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred187_Delphi8850); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:51: ( 'class' )? - int alt317=2; - int LA317_0 = input.LA(1); - if ( (LA317_0==CLASS) ) { - alt317=1; - } - switch (alt317) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:52: 'class' - { - match(input,CLASS,FOLLOW_CLASS_in_synpred187_Delphi8855); if (state.failed) return; - - } - break; - - } - - match(input,FUNCTION,FOLLOW_FUNCTION_in_synpred187_Delphi8859); if (state.failed) return; - - pushFollow(FOLLOW_ident_in_synpred187_Delphi8861); - ident(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:79: ( genericDefinition )? - int alt318=2; - int LA318_0 = input.LA(1); - if ( (LA318_0==LT) ) { - alt318=1; - } - switch (alt318) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:80: genericDefinition - { - pushFollow(FOLLOW_genericDefinition_in_synpred187_Delphi8864); - genericDefinition(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:100: ( formalParameterSection )? - int alt319=2; - int LA319_0 = input.LA(1); - if ( (LA319_0==LPAREN) ) { - alt319=1; - } - switch (alt319) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:101: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_synpred187_Delphi8869); - formalParameterSection(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - match(input,COLON,FOLLOW_COLON_in_synpred187_Delphi8873); if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:130: ( customAttribute )? - int alt320=2; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA320_1 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case PACKED: - { - int LA320_2 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case ARRAY: - { - int LA320_3 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case SET: - { - int LA320_4 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case FILE: - { - int LA320_5 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case CLASS: - { - int LA320_6 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case DISPINTERFACE: - case INTERFACE: - { - int LA320_7 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case OBJECT: - { - int LA320_8 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case RECORD: - { - int LA320_9 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case POINTER2: - { - int LA320_10 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case POINTER: - { - int LA320_11 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case STRING: - { - int LA320_12 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case TYPE: - { - int LA320_13 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case ANSISTRING: - { - int LA320_14 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case FUNCTION: - { - int LA320_15 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case PROCEDURE: - { - int LA320_16 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case REFERENCE: - { - int LA320_17 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case VARIANT: - { - int LA320_18 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case TkIdentifier: - { - int LA320_19 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case 200: - { - int LA320_20 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case ADD: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OPERATOR: - case OUT: - case READ: - case READONLY: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case WRITE: - { - int LA320_21 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case LPAREN: - { - int LA320_22 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case AT2: - { - int LA320_23 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case 201: - { - int LA320_24 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case NOT: - { - int LA320_25 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case PLUS: - { - int LA320_26 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case MINUS: - { - int LA320_27 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case TkHexNum: - case TkIntNum: - { - int LA320_28 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case TkRealNum: - { - int LA320_29 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case TkAsmHexNum: - { - int LA320_30 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case TRUE: - { - int LA320_31 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case FALSE: - { - int LA320_32 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case NIL: - { - int LA320_33 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case ControlString: - { - int LA320_34 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case QuotedString: - { - int LA320_35 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case INHERITED: - { - int LA320_36 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case DOT: - { - int LA320_37 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case LT: - { - int LA320_38 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case AND: - case AS: - case DIV: - case MOD: - case OR: - case SHL: - case SHR: - case SLASH: - case STAR: - case XOR: - { - int LA320_39 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case EQUAL: - { - int LA320_40 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case GE: - case GT: - case IN: - case IS: - case LE: - case NOT_EQUAL: - { - int LA320_41 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case DOTDOT: - { - int LA320_42 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - case SEMI: - { - int LA320_43 = input.LA(2); - if ( (synpred185_Delphi()) ) { - alt320=1; - } - } - break; - } - switch (alt320) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:131: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred187_Delphi8876); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - pushFollow(FOLLOW_typeDecl_in_synpred187_Delphi8880); - typeDecl(); - state._fsp--; - if (state.failed) return; - - match(input,SEMI,FOLLOW_SEMI_in_synpred187_Delphi8882); if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:162: ( methodDirective )* - loop321: - while (true) { - int alt321=2; - int LA321_0 = input.LA(1); - if ( (LA321_0==ABSTRACT||LA321_0==ASSEMBLER||LA321_0==CDECL||LA321_0==DEPRECATED||LA321_0==DISPID||LA321_0==DYNAMIC||(LA321_0 >= EXPERIMENTAL && LA321_0 <= EXPORT)||LA321_0==FAR||LA321_0==FINAL||LA321_0==INLINE||(LA321_0 >= LIBRARY && LA321_0 <= LOCAL)||LA321_0==MESSAGE||LA321_0==NEAR||(LA321_0 >= OVERLOAD && LA321_0 <= OVERRIDE)||(LA321_0 >= PASCAL && LA321_0 <= PLATFORM)||(LA321_0 >= REGISTER && LA321_0 <= REINTRODUCE)||LA321_0==SAFECALL||(LA321_0 >= STATIC && LA321_0 <= STDCALL)||LA321_0==VIRTUAL) ) { - alt321=1; - } - - switch (alt321) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:357:163: methodDirective - { - pushFollow(FOLLOW_methodDirective_in_synpred187_Delphi8885); - methodDirective(); - state._fsp--; - if (state.failed) return; - - } - break; - - default : - break loop321; - } - } - - } - - } - // $ANTLR end synpred187_Delphi - - // $ANTLR start synpred188_Delphi - public final void synpred188_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred188_Delphi9002); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred188_Delphi - - // $ANTLR start synpred192_Delphi - public final void synpred192_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:131: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:131: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred192_Delphi9028); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred192_Delphi - - // $ANTLR start synpred193_Delphi - public final void synpred193_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:362:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:362:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred193_Delphi9163); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred193_Delphi - - // $ANTLR start synpred195_Delphi - public final void synpred195_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred195_Delphi9283); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred195_Delphi - - // $ANTLR start synpred202_Delphi - public final void synpred202_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:52: ( ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:52: ';' - { - match(input,SEMI,FOLLOW_SEMI_in_synpred202_Delphi9543); if (state.failed) return; - - } - - } - // $ANTLR end synpred202_Delphi - - // $ANTLR start synpred206_Delphi - public final void synpred206_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:377:32: ( 'default' expression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:377:32: 'default' expression - { - match(input,DEFAULT,FOLLOW_DEFAULT_in_synpred206_Delphi9694); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred206_Delphi9696); - expression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred206_Delphi - - // $ANTLR start synpred207_Delphi - public final void synpred207_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:378:32: ( 'default' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:378:32: 'default' - { - match(input,DEFAULT,FOLLOW_DEFAULT_in_synpred207_Delphi9729); if (state.failed) return; - - } - - } - // $ANTLR end synpred207_Delphi - - // $ANTLR start synpred210_Delphi - public final void synpred210_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:383:32: ( 'default' expression ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:383:32: 'default' expression ';' - { - match(input,DEFAULT,FOLLOW_DEFAULT_in_synpred210_Delphi9894); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred210_Delphi9896); - expression(); - state._fsp--; - if (state.failed) return; - - match(input,SEMI,FOLLOW_SEMI_in_synpred210_Delphi9898); if (state.failed) return; - - } - - } - // $ANTLR end synpred210_Delphi - - // $ANTLR start synpred211_Delphi - public final void synpred211_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:384:32: ( 'default' ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:384:32: 'default' ';' - { - match(input,DEFAULT,FOLLOW_DEFAULT_in_synpred211_Delphi9931); if (state.failed) return; - - match(input,SEMI,FOLLOW_SEMI_in_synpred211_Delphi9933); if (state.failed) return; - - } - - } - // $ANTLR end synpred211_Delphi - - // $ANTLR start synpred224_Delphi - public final void synpred224_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:81: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:81: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred224_Delphi10516); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred224_Delphi - - // $ANTLR start synpred225_Delphi - public final void synpred225_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:113: ( functionDirective ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:406:113: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_synpred225_Delphi10525); - functionDirective(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred225_Delphi - - // $ANTLR start synpred228_Delphi - public final void synpred228_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:80: ( functionDirective ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:80: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_synpred228_Delphi10572); - functionDirective(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred228_Delphi - - // $ANTLR start synpred229_Delphi - public final void synpred229_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:55: ( methodDirective ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:55: methodDirective - { - pushFollow(FOLLOW_methodDirective_in_synpred229_Delphi10634); - methodDirective(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred229_Delphi - - // $ANTLR start synpred230_Delphi - public final void synpred230_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:74: ( methodBody ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:74: methodBody - { - pushFollow(FOLLOW_methodBody_in_synpred230_Delphi10639); - methodBody(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred230_Delphi - - // $ANTLR start synpred231_Delphi - public final void synpred231_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred231_Delphi10699); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred231_Delphi - - // $ANTLR start synpred234_Delphi - public final void synpred234_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:32: ( ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:32: ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:32: ( customAttribute )? - int alt328=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt328=1; - } - break; - case CLASS: - { - int LA328_2 = input.LA(2); - if ( (synpred231_Delphi()) ) { - alt328=1; - } - } - break; - case CONSTRUCTOR: - case DESTRUCTOR: - case PROCEDURE: - { - int LA328_3 = input.LA(2); - if ( (synpred231_Delphi()) ) { - alt328=1; - } - } - break; - } - switch (alt328) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred234_Delphi10699); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:51: ( 'class' )? - int alt329=2; - int LA329_0 = input.LA(1); - if ( (LA329_0==CLASS) ) { - alt329=1; - } - switch (alt329) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:52: 'class' - { - match(input,CLASS,FOLLOW_CLASS_in_synpred234_Delphi10704); if (state.failed) return; - - } - break; - - } - - pushFollow(FOLLOW_methodKey_in_synpred234_Delphi10709); - methodKey(); - state._fsp--; - if (state.failed) return; - - pushFollow(FOLLOW_methodName_in_synpred234_Delphi10711); - methodName(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:84: ( formalParameterSection )? - int alt330=2; - int LA330_0 = input.LA(1); - if ( (LA330_0==LPAREN) ) { - alt330=1; - } - switch (alt330) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:85: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_synpred234_Delphi10714); - formalParameterSection(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - } - - } - // $ANTLR end synpred234_Delphi - - // $ANTLR start synpred235_Delphi - public final void synpred235_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred235_Delphi10812); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred235_Delphi - - // $ANTLR start synpred238_Delphi - public final void synpred238_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:116: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:116: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred238_Delphi10834); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred238_Delphi - - // $ANTLR start synpred240_Delphi - public final void synpred240_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:32: ( ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:32: ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:32: ( customAttribute )? - int alt332=2; - switch ( input.LA(1) ) { - case LBRACK: - { - alt332=1; - } - break; - case CLASS: - { - int LA332_2 = input.LA(2); - if ( (synpred235_Delphi()) ) { - alt332=1; - } - } - break; - case FUNCTION: - { - int LA332_3 = input.LA(2); - if ( (synpred235_Delphi()) ) { - alt332=1; - } - } - break; - } - switch (alt332) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred240_Delphi10812); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:51: ( 'class' )? - int alt333=2; - int LA333_0 = input.LA(1); - if ( (LA333_0==CLASS) ) { - alt333=1; - } - switch (alt333) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:52: 'class' - { - match(input,CLASS,FOLLOW_CLASS_in_synpred240_Delphi10817); if (state.failed) return; - - } - break; - - } - - match(input,FUNCTION,FOLLOW_FUNCTION_in_synpred240_Delphi10821); if (state.failed) return; - - pushFollow(FOLLOW_methodName_in_synpred240_Delphi10823); - methodName(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:84: ( formalParameterSection )? - int alt334=2; - int LA334_0 = input.LA(1); - if ( (LA334_0==LPAREN) ) { - alt334=1; - } - switch (alt334) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:85: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_synpred240_Delphi10826); - formalParameterSection(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:110: ( ':' ( customAttribute )? typeDecl )? - int alt336=2; - int LA336_0 = input.LA(1); - if ( (LA336_0==COLON) ) { - alt336=1; - } - switch (alt336) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:111: ':' ( customAttribute )? typeDecl - { - match(input,COLON,FOLLOW_COLON_in_synpred240_Delphi10831); if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:115: ( customAttribute )? - int alt335=2; - switch ( input.LA(1) ) { - case LBRACK: - { - int LA335_1 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case PACKED: - { - int LA335_2 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case ARRAY: - { - int LA335_3 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case SET: - { - int LA335_4 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case FILE: - { - int LA335_5 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case CLASS: - { - int LA335_6 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case DISPINTERFACE: - case INTERFACE: - { - int LA335_7 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case OBJECT: - { - int LA335_8 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case RECORD: - { - int LA335_9 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case POINTER2: - { - int LA335_10 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case POINTER: - { - int LA335_11 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case STRING: - { - int LA335_12 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case TYPE: - { - int LA335_13 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case ANSISTRING: - { - int LA335_14 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case FUNCTION: - { - int LA335_15 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case PROCEDURE: - { - int LA335_16 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case REFERENCE: - { - int LA335_17 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case VARIANT: - { - int LA335_18 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case TkIdentifier: - { - int LA335_19 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case 200: - { - int LA335_20 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case ADD: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OPERATOR: - case OUT: - case READ: - case READONLY: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case WRITE: - { - int LA335_21 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case LPAREN: - { - int LA335_22 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case AT2: - { - int LA335_23 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case 201: - { - int LA335_24 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case NOT: - { - int LA335_25 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case PLUS: - { - int LA335_26 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case MINUS: - { - int LA335_27 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case TkHexNum: - case TkIntNum: - { - int LA335_28 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case TkRealNum: - { - int LA335_29 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case TkAsmHexNum: - { - int LA335_30 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case TRUE: - { - int LA335_31 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case FALSE: - { - int LA335_32 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case NIL: - { - int LA335_33 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case ControlString: - { - int LA335_34 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case QuotedString: - { - int LA335_35 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case INHERITED: - { - int LA335_36 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case DOT: - { - int LA335_37 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case LT: - { - int LA335_38 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case AND: - case AS: - case DIV: - case MOD: - case OR: - case SHL: - case SHR: - case SLASH: - case STAR: - case XOR: - { - int LA335_39 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case EQUAL: - { - int LA335_40 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case GE: - case GT: - case IN: - case IS: - case LE: - case NOT_EQUAL: - { - int LA335_41 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case DOTDOT: - { - int LA335_42 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - case EOF: - { - int LA335_43 = input.LA(2); - if ( (synpred238_Delphi()) ) { - alt335=1; - } - } - break; - } - switch (alt335) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:413:116: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred240_Delphi10834); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - pushFollow(FOLLOW_typeDecl_in_synpred240_Delphi10838); - typeDecl(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - } - - } - // $ANTLR end synpred240_Delphi - - // $ANTLR start synpred241_Delphi - public final void synpred241_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred241_Delphi10947); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred241_Delphi - - // $ANTLR start synpred243_Delphi - public final void synpred243_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:113: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:415:113: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred243_Delphi10966); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred243_Delphi - - // $ANTLR start synpred251_Delphi - public final void synpred251_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:53: ( functionDirective ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:53: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_synpred251_Delphi11307); - functionDirective(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred251_Delphi - - // $ANTLR start synpred252_Delphi - public final void synpred252_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:74: ( procBody ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:74: procBody - { - pushFollow(FOLLOW_procBody_in_synpred252_Delphi11312); - procBody(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred252_Delphi - - // $ANTLR start synpred253_Delphi - public final void synpred253_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred253_Delphi11378); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred253_Delphi - - // $ANTLR start synpred255_Delphi - public final void synpred255_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:32: ( ( customAttribute )? 'procedure' ident ( formalParameterSection )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:32: ( customAttribute )? 'procedure' ident ( formalParameterSection )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:32: ( customAttribute )? - int alt339=2; - int LA339_0 = input.LA(1); - if ( (LA339_0==LBRACK) ) { - alt339=1; - } - else if ( (LA339_0==PROCEDURE) ) { - int LA339_2 = input.LA(2); - if ( (synpred253_Delphi()) ) { - alt339=1; - } - } - switch (alt339) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred255_Delphi11378); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - match(input,PROCEDURE,FOLLOW_PROCEDURE_in_synpred255_Delphi11382); if (state.failed) return; - - pushFollow(FOLLOW_ident_in_synpred255_Delphi11384); - ident(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:69: ( formalParameterSection )? - int alt340=2; - int LA340_0 = input.LA(1); - if ( (LA340_0==LPAREN) ) { - alt340=1; - } - switch (alt340) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:70: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_synpred255_Delphi11387); - formalParameterSection(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - } - - } - // $ANTLR end synpred255_Delphi - - // $ANTLR start synpred256_Delphi - public final void synpred256_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:428:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:428:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred256_Delphi11487); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred256_Delphi - - // $ANTLR start synpred260_Delphi - public final void synpred260_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:33: ( customAttribute ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:435:33: customAttribute - { - pushFollow(FOLLOW_customAttribute_in_synpred260_Delphi11729); - customAttribute(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred260_Delphi - - // $ANTLR start synpred266_Delphi - public final void synpred266_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:444:47: ( functionDirective ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:444:47: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_synpred266_Delphi12041); - functionDirective(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred266_Delphi - - // $ANTLR start synpred268_Delphi - public final void synpred268_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:44: ( 'name' expression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:44: 'name' expression - { - match(input,NAME,FOLLOW_NAME_in_synpred268_Delphi12082); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred268_Delphi12084); - expression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred268_Delphi - - // $ANTLR start synpred269_Delphi - public final void synpred269_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:64: ( 'index' expression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:64: 'index' expression - { - match(input,INDEX,FOLLOW_INDEX_in_synpred269_Delphi12088); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred269_Delphi12090); - expression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred269_Delphi - - // $ANTLR start synpred270_Delphi - public final void synpred270_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:86: ( functionDirective ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:86: functionDirective - { - pushFollow(FOLLOW_functionDirective_in_synpred270_Delphi12095); - functionDirective(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred270_Delphi - - // $ANTLR start synpred272_Delphi - public final void synpred272_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:453:33: ( customAttributeDecl ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:453:33: customAttributeDecl - { - pushFollow(FOLLOW_customAttributeDecl_in_synpred272_Delphi12233); - customAttributeDecl(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred272_Delphi - - // $ANTLR start synpred273_Delphi - public final void synpred273_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:67: ( expressionList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:67: expressionList - { - pushFollow(FOLLOW_expressionList_in_synpred273_Delphi12289); - expressionList(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred273_Delphi - - // $ANTLR start synpred275_Delphi - public final void synpred275_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:461:32: ( anonymousExpression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:461:32: anonymousExpression - { - pushFollow(FOLLOW_anonymousExpression_in_synpred275_Delphi12381); - anonymousExpression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred275_Delphi - - // $ANTLR start synpred276_Delphi - public final void synpred276_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:462:50: ( relOp simpleExpression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:462:50: relOp simpleExpression - { - pushFollow(FOLLOW_relOp_in_synpred276_Delphi12425); - relOp(); - state._fsp--; - if (state.failed) return; - - pushFollow(FOLLOW_simpleExpression_in_synpred276_Delphi12427); - simpleExpression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred276_Delphi - - // $ANTLR start synpred277_Delphi - public final void synpred277_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:462:76: ( '=' expression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:462:76: '=' expression - { - match(input,EQUAL,FOLLOW_EQUAL_in_synpred277_Delphi12432); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred277_Delphi12434); - expression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred277_Delphi - - // $ANTLR start synpred278_Delphi - public final void synpred278_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:464:45: ( formalParameterSection ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:464:45: formalParameterSection - { - pushFollow(FOLLOW_formalParameterSection_in_synpred278_Delphi12488); - formalParameterSection(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred278_Delphi - - // $ANTLR start synpred281_Delphi - public final void synpred281_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:40: ( operator factor ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:40: operator factor - { - pushFollow(FOLLOW_operator_in_synpred281_Delphi12588); - operator(); - state._fsp--; - if (state.failed) return; - - pushFollow(FOLLOW_factor_in_synpred281_Delphi12590); - factor(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred281_Delphi - - // $ANTLR start synpred282_Delphi - public final void synpred282_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:469:32: ( '@' factor ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:469:32: '@' factor - { - match(input,AT2,FOLLOW_AT2_in_synpred282_Delphi12651); if (state.failed) return; - - pushFollow(FOLLOW_factor_in_synpred282_Delphi12653); - factor(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred282_Delphi - - // $ANTLR start synpred283_Delphi - public final void synpred283_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:470:32: ( '@@' factor ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:470:32: '@@' factor - { - match(input,201,FOLLOW_201_in_synpred283_Delphi12686); if (state.failed) return; - - pushFollow(FOLLOW_factor_in_synpred283_Delphi12688); - factor(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred283_Delphi - - // $ANTLR start synpred284_Delphi - public final void synpred284_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:471:32: ( 'not' factor ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:471:32: 'not' factor - { - match(input,NOT,FOLLOW_NOT_in_synpred284_Delphi12728); if (state.failed) return; - - pushFollow(FOLLOW_factor_in_synpred284_Delphi12730); - factor(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred284_Delphi - - // $ANTLR start synpred285_Delphi - public final void synpred285_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:472:32: ( '+' factor ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:472:32: '+' factor - { - match(input,PLUS,FOLLOW_PLUS_in_synpred285_Delphi12763); if (state.failed) return; - - pushFollow(FOLLOW_factor_in_synpred285_Delphi12765); - factor(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred285_Delphi - - // $ANTLR start synpred286_Delphi - public final void synpred286_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:32: ( '-' factor ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:32: '-' factor - { - match(input,MINUS,FOLLOW_MINUS_in_synpred286_Delphi12798); if (state.failed) return; - - pushFollow(FOLLOW_factor_in_synpred286_Delphi12800); - factor(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred286_Delphi - - // $ANTLR start synpred287_Delphi - public final void synpred287_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:474:32: ( '^' ident ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:474:32: '^' ident - { - match(input,POINTER2,FOLLOW_POINTER2_in_synpred287_Delphi12833); if (state.failed) return; - - pushFollow(FOLLOW_ident_in_synpred287_Delphi12835); - ident(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred287_Delphi - - // $ANTLR start synpred288_Delphi - public final void synpred288_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:32: ( intNum ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:32: intNum - { - pushFollow(FOLLOW_intNum_in_synpred288_Delphi12879); - intNum(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred288_Delphi - - // $ANTLR start synpred289_Delphi - public final void synpred289_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:476:32: ( realNum ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:476:32: realNum - { - pushFollow(FOLLOW_realNum_in_synpred289_Delphi12912); - realNum(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred289_Delphi - - // $ANTLR start synpred290_Delphi - public final void synpred290_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:477:32: ( TkAsmHexNum ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:477:32: TkAsmHexNum - { - match(input,TkAsmHexNum,FOLLOW_TkAsmHexNum_in_synpred290_Delphi12945); if (state.failed) return; - - } - - } - // $ANTLR end synpred290_Delphi - - // $ANTLR start synpred291_Delphi - public final void synpred291_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:32: ( 'true' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:32: 'true' - { - match(input,TRUE,FOLLOW_TRUE_in_synpred291_Delphi12988); if (state.failed) return; - - } - - } - // $ANTLR end synpred291_Delphi - - // $ANTLR start synpred292_Delphi - public final void synpred292_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:479:32: ( 'false' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:479:32: 'false' - { - match(input,FALSE,FOLLOW_FALSE_in_synpred292_Delphi13021); if (state.failed) return; - - } - - } - // $ANTLR end synpred292_Delphi - - // $ANTLR start synpred293_Delphi - public final void synpred293_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:480:32: ( 'nil' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:480:32: 'nil' - { - match(input,NIL,FOLLOW_NIL_in_synpred293_Delphi13054); if (state.failed) return; - - } - - } - // $ANTLR end synpred293_Delphi - - // $ANTLR start synpred294_Delphi - public final void synpred294_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:52: ( '^' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:52: '^' - { - match(input,POINTER2,FOLLOW_POINTER2_in_synpred294_Delphi13094); if (state.failed) return; - - } - - } - // $ANTLR end synpred294_Delphi - - // $ANTLR start synpred295_Delphi - public final void synpred295_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:59: ( '.' expression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:59: '.' expression - { - match(input,DOT,FOLLOW_DOT_in_synpred295_Delphi13099); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred295_Delphi13101); - expression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred295_Delphi - - // $ANTLR start synpred296_Delphi - public final void synpred296_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:32: ( '(' expression ')' ( '^' )? ( '.' expression )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:32: '(' expression ')' ( '^' )? ( '.' expression )? - { - match(input,LPAREN,FOLLOW_LPAREN_in_synpred296_Delphi13087); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred296_Delphi13089); - expression(); - state._fsp--; - if (state.failed) return; - - match(input,RPAREN,FOLLOW_RPAREN_in_synpred296_Delphi13091); if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:51: ( '^' )? - int alt346=2; - int LA346_0 = input.LA(1); - if ( (LA346_0==POINTER2) ) { - alt346=1; - } - switch (alt346) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:52: '^' - { - match(input,POINTER2,FOLLOW_POINTER2_in_synpred296_Delphi13094); if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:58: ( '.' expression )? - int alt347=2; - int LA347_0 = input.LA(1); - if ( (LA347_0==DOT) ) { - alt347=1; - } - switch (alt347) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:59: '.' expression - { - match(input,DOT,FOLLOW_DOT_in_synpred296_Delphi13099); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred296_Delphi13101); - expression(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - } - - } - // $ANTLR end synpred296_Delphi - - // $ANTLR start synpred297_Delphi - public final void synpred297_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:482:32: ( stringFactor ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:482:32: stringFactor - { - pushFollow(FOLLOW_stringFactor_in_synpred297_Delphi13144); - stringFactor(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred297_Delphi - - // $ANTLR start synpred298_Delphi - public final void synpred298_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:483:32: ( setSection ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:483:32: setSection - { - pushFollow(FOLLOW_setSection_in_synpred298_Delphi13177); - setSection(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred298_Delphi - - // $ANTLR start synpred299_Delphi - public final void synpred299_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:484:32: ( designator ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:484:32: designator - { - pushFollow(FOLLOW_designator_in_synpred299_Delphi13210); - designator(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred299_Delphi - - // $ANTLR start synpred300_Delphi - public final void synpred300_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:47: ( QuotedString ControlString ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:47: QuotedString ControlString - { - match(input,QuotedString,FOLLOW_QuotedString_in_synpred300_Delphi13305); if (state.failed) return; - - match(input,ControlString,FOLLOW_ControlString_in_synpred300_Delphi13307); if (state.failed) return; - - } - - } - // $ANTLR end synpred300_Delphi - - // $ANTLR start synpred301_Delphi - public final void synpred301_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:77: ( QuotedString ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:77: QuotedString - { - match(input,QuotedString,FOLLOW_QuotedString_in_synpred301_Delphi13312); if (state.failed) return; - - } - - } - // $ANTLR end synpred301_Delphi - - // $ANTLR start synpred303_Delphi - public final void synpred303_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:46: ( ControlString QuotedString ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:46: ControlString QuotedString - { - match(input,ControlString,FOLLOW_ControlString_in_synpred303_Delphi13350); if (state.failed) return; - - match(input,QuotedString,FOLLOW_QuotedString_in_synpred303_Delphi13352); if (state.failed) return; - - } - - } - // $ANTLR end synpred303_Delphi - - // $ANTLR start synpred304_Delphi - public final void synpred304_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:76: ( ControlString ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:76: ControlString - { - match(input,ControlString,FOLLOW_ControlString_in_synpred304_Delphi13357); if (state.failed) return; - - } - - } - // $ANTLR end synpred304_Delphi - - // $ANTLR start synpred307_Delphi - public final void synpred307_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:37: ( expression ( ( ',' | '..' ) expression )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:37: expression ( ( ',' | '..' ) expression )* - { - pushFollow(FOLLOW_expression_in_synpred307_Delphi13417); - expression(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:48: ( ( ',' | '..' ) expression )* - loop350: - while (true) { - int alt350=2; - int LA350_0 = input.LA(1); - if ( (LA350_0==COMMA||LA350_0==DOTDOT) ) { - alt350=1; - } - - switch (alt350) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:49: ( ',' | '..' ) expression - { - if ( input.LA(1)==COMMA||input.LA(1)==DOTDOT ) { - input.consume(); - state.errorRecovery=false; - state.failed=false; - } - else { - if (state.backtracking>0) {state.failed=true; return;} - MismatchedSetException mse = new MismatchedSetException(null,input); - throw mse; - } - pushFollow(FOLLOW_expression_in_synpred307_Delphi13428); - expression(); - state._fsp--; - if (state.failed) return; - - } - break; - - default : - break loop350; - } - } - - } - - } - // $ANTLR end synpred307_Delphi - - // $ANTLR start synpred308_Delphi - public final void synpred308_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:33: ( 'inherited' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:33: 'inherited' - { - match(input,INHERITED,FOLLOW_INHERITED_in_synpred308_Delphi13491); if (state.failed) return; - - } - - } - // $ANTLR end synpred308_Delphi - - // $ANTLR start synpred309_Delphi - public final void synpred309_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:50: ( namespacedQualifiedIdent ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:50: namespacedQualifiedIdent - { - pushFollow(FOLLOW_namespacedQualifiedIdent_in_synpred309_Delphi13498); - namespacedQualifiedIdent(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred309_Delphi - - // $ANTLR start synpred310_Delphi - public final void synpred310_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:49: ( ( namespacedQualifiedIdent | typeId ) ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:49: ( namespacedQualifiedIdent | typeId ) - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:49: ( namespacedQualifiedIdent | typeId ) - int alt351=2; - switch ( input.LA(1) ) { - case TkIdentifier: - { - int LA351_1 = input.LA(2); - if ( (synpred309_Delphi()) ) { - alt351=1; - } - else if ( (true) ) { - alt351=2; - } - - } - break; - case 200: - { - int LA351_2 = input.LA(2); - if ( (LA351_2==TkIdentifier) ) { - int LA351_6 = input.LA(3); - if ( (synpred309_Delphi()) ) { - alt351=1; - } - else if ( (true) ) { - alt351=2; - } - - } - - else { - if (state.backtracking>0) {state.failed=true; return;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 351, 2, input); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - - } - break; - case ADD: - case ANSISTRING: - case AT: - case BREAK: - case CONTAINS: - case CONTINUE: - case DEFAULT: - case EXIT: - case EXPORT: - case FINAL: - case IMPLEMENTS: - case INDEX: - case LOCAL: - case MESSAGE: - case NAME: - case OBJECT: - case OPERATOR: - case OUT: - case POINTER: - case READ: - case READONLY: - case REFERENCE: - case REGISTER: - case REMOVE: - case STORED: - case STRICT: - case STRING: - case VARIANT: - case WRITE: - { - int LA351_3 = input.LA(2); - if ( (synpred309_Delphi()) ) { - alt351=1; - } - else if ( (true) ) { - alt351=2; - } - - } - break; - default: - if (state.backtracking>0) {state.failed=true; return;} - NoViableAltException nvae = - new NoViableAltException("", 351, 0, input); - throw nvae; - } - switch (alt351) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:50: namespacedQualifiedIdent - { - pushFollow(FOLLOW_namespacedQualifiedIdent_in_synpred310_Delphi13498); - namespacedQualifiedIdent(); - state._fsp--; - if (state.failed) return; - - } - break; - case 2 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:77: typeId - { - pushFollow(FOLLOW_typeId_in_synpred310_Delphi13502); - typeId(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - } - - } - // $ANTLR end synpred310_Delphi - - // $ANTLR start synpred311_Delphi - public final void synpred311_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:89: ( designatorItem ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:89: designatorItem - { - pushFollow(FOLLOW_designatorItem_in_synpred311_Delphi13509); - designatorItem(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred311_Delphi - - // $ANTLR start synpred321_Delphi - public final void synpred321_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:37: ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:37: expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* - { - pushFollow(FOLLOW_expression_in_synpred321_Delphi13743); - expression(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:48: ( colonConstruct )? - int alt354=2; - int LA354_0 = input.LA(1); - if ( (LA354_0==COLON) ) { - alt354=1; - } - switch (alt354) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:49: colonConstruct - { - pushFollow(FOLLOW_colonConstruct_in_synpred321_Delphi13746); - colonConstruct(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:66: ( ',' expression ( colonConstruct )? )* - loop356: - while (true) { - int alt356=2; - int LA356_0 = input.LA(1); - if ( (LA356_0==COMMA) ) { - alt356=1; - } - - switch (alt356) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:67: ',' expression ( colonConstruct )? - { - match(input,COMMA,FOLLOW_COMMA_in_synpred321_Delphi13751); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred321_Delphi13753); - expression(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:82: ( colonConstruct )? - int alt355=2; - int LA355_0 = input.LA(1); - if ( (LA355_0==COLON) ) { - alt355=1; - } - switch (alt355) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:83: colonConstruct - { - pushFollow(FOLLOW_colonConstruct_in_synpred321_Delphi13756); - colonConstruct(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - } - break; - - default : - break loop356; - } - } - - } - - } - // $ANTLR end synpred321_Delphi - - // $ANTLR start synpred352_Delphi - public final void synpred352_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:542:32: ( label ':' statement ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:542:32: label ':' statement - { - pushFollow(FOLLOW_label_in_synpred352_Delphi15010); - label(); - state._fsp--; - if (state.failed) return; - - match(input,COLON,FOLLOW_COLON_in_synpred352_Delphi15012); if (state.failed) return; - - pushFollow(FOLLOW_statement_in_synpred352_Delphi15014); - statement(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred352_Delphi - - // $ANTLR start synpred353_Delphi - public final void synpred353_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:545:66: ( 'else' statement ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:545:66: 'else' statement - { - match(input,ELSE,FOLLOW_ELSE_in_synpred353_Delphi15110); if (state.failed) return; - - pushFollow(FOLLOW_statement_in_synpred353_Delphi15112); - statement(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred353_Delphi - - // $ANTLR start synpred360_Delphi - public final void synpred360_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:553:42: ( statementList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:553:42: statementList - { - pushFollow(FOLLOW_statementList_in_synpred360_Delphi15379); - statementList(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred360_Delphi - - // $ANTLR start synpred361_Delphi - public final void synpred361_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:557:32: ( 'for' designator ':=' expression 'to' expression 'do' statement ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:557:32: 'for' designator ':=' expression 'to' expression 'do' statement - { - match(input,FOR,FOLLOW_FOR_in_synpred361_Delphi15495); if (state.failed) return; - - pushFollow(FOLLOW_designator_in_synpred361_Delphi15497); - designator(); - state._fsp--; - if (state.failed) return; - - match(input,ASSIGN,FOLLOW_ASSIGN_in_synpred361_Delphi15499); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred361_Delphi15501); - expression(); - state._fsp--; - if (state.failed) return; - - match(input,TO,FOLLOW_TO_in_synpred361_Delphi15503); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred361_Delphi15505); - expression(); - state._fsp--; - if (state.failed) return; - - match(input,DO,FOLLOW_DO_in_synpred361_Delphi15507); if (state.failed) return; - - pushFollow(FOLLOW_statement_in_synpred361_Delphi15509); - statement(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred361_Delphi - - // $ANTLR start synpred362_Delphi - public final void synpred362_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:558:32: ( 'for' designator ':=' expression 'downto' expression 'do' statement ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:558:32: 'for' designator ':=' expression 'downto' expression 'do' statement - { - match(input,FOR,FOLLOW_FOR_in_synpred362_Delphi15542); if (state.failed) return; - - pushFollow(FOLLOW_designator_in_synpred362_Delphi15544); - designator(); - state._fsp--; - if (state.failed) return; - - match(input,ASSIGN,FOLLOW_ASSIGN_in_synpred362_Delphi15546); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred362_Delphi15548); - expression(); - state._fsp--; - if (state.failed) return; - - match(input,DOWNTO,FOLLOW_DOWNTO_in_synpred362_Delphi15550); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred362_Delphi15552); - expression(); - state._fsp--; - if (state.failed) return; - - match(input,DO,FOLLOW_DO_in_synpred362_Delphi15554); if (state.failed) return; - - pushFollow(FOLLOW_statement_in_synpred362_Delphi15556); - statement(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred362_Delphi - - // $ANTLR start synpred363_Delphi - public final void synpred363_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:563:32: ( designator 'as' designator ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:563:32: designator 'as' designator - { - pushFollow(FOLLOW_designator_in_synpred363_Delphi15714); - designator(); - state._fsp--; - if (state.failed) return; - - match(input,AS,FOLLOW_AS_in_synpred363_Delphi15716); if (state.failed) return; - - pushFollow(FOLLOW_designator_in_synpred363_Delphi15718); - designator(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred363_Delphi - - // $ANTLR start synpred365_Delphi - public final void synpred365_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:566:41: ( statementList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:566:41: statementList - { - pushFollow(FOLLOW_statementList_in_synpred365_Delphi15816); - statementList(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred365_Delphi - - // $ANTLR start synpred366_Delphi - public final void synpred366_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:33: ( statement ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:33: statement - { - pushFollow(FOLLOW_statement_in_synpred366_Delphi15886); - statement(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred366_Delphi - - // $ANTLR start synpred367_Delphi - public final void synpred367_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:51: ( statement ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:51: statement - { - pushFollow(FOLLOW_statement_in_synpred367_Delphi15894); - statement(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred367_Delphi - - // $ANTLR start synpred368_Delphi - public final void synpred368_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:46: ( ';' ( statement )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:46: ';' ( statement )? - { - match(input,SEMI,FOLLOW_SEMI_in_synpred368_Delphi15891); if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:50: ( statement )? - int alt358=2; - int LA358_0 = input.LA(1); - if ( (LA358_0==ADD||LA358_0==ANSISTRING||LA358_0==ASM||(LA358_0 >= ASSIGN && LA358_0 <= AT2)||(LA358_0 >= BEGIN && LA358_0 <= CASE)||(LA358_0 >= CONTAINS && LA358_0 <= CONTINUE)||LA358_0==DEFAULT||LA358_0==DOT||LA358_0==EXIT||LA358_0==EXPORT||LA358_0==FINAL||LA358_0==FOR||LA358_0==GOTO||LA358_0==IF||LA358_0==IMPLEMENTS||(LA358_0 >= INDEX && LA358_0 <= INHERITED)||LA358_0==LBRACK||(LA358_0 >= LOCAL && LA358_0 <= MESSAGE)||LA358_0==NAME||LA358_0==OBJECT||LA358_0==OPERATOR||LA358_0==OUT||(LA358_0 >= POINTER && LA358_0 <= POINTER2)||LA358_0==RAISE||(LA358_0 >= READ && LA358_0 <= READONLY)||(LA358_0 >= REFERENCE && LA358_0 <= REGISTER)||(LA358_0 >= REMOVE && LA358_0 <= REPEAT)||(LA358_0 >= STORED && LA358_0 <= STRING)||LA358_0==TRY||(LA358_0 >= TkHexNum && LA358_0 <= TkIntNum)||LA358_0==VARIANT||(LA358_0 >= WHILE && LA358_0 <= WRITE)||LA358_0==200) ) { - alt358=1; - } - else if ( (LA358_0==EOF) ) { - int LA358_2 = input.LA(2); - if ( (synpred367_Delphi()) ) { - alt358=1; - } - } - switch (alt358) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:568:51: statement - { - pushFollow(FOLLOW_statement_in_synpred368_Delphi15894); - statement(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - } - - } - // $ANTLR end synpred368_Delphi - - // $ANTLR start synpred369_Delphi - public final void synpred369_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:570:32: ( designator ':=' expression ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:570:32: designator ':=' expression - { - pushFollow(FOLLOW_designator_in_synpred369_Delphi15948); - designator(); - state._fsp--; - if (state.failed) return; - - match(input,ASSIGN,FOLLOW_ASSIGN_in_synpred369_Delphi15950); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred369_Delphi15952); - expression(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred369_Delphi - - // $ANTLR start synpred370_Delphi - public final void synpred370_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:32: ( designator ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:32: designator - { - pushFollow(FOLLOW_designator_in_synpred370_Delphi15985); - designator(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred370_Delphi - - // $ANTLR start synpred372_Delphi - public final void synpred372_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:40: ( '(' expression ')' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:40: '(' expression ')' - { - match(input,LPAREN,FOLLOW_LPAREN_in_synpred372_Delphi16109); if (state.failed) return; - - pushFollow(FOLLOW_expression_in_synpred372_Delphi16111); - expression(); - state._fsp--; - if (state.failed) return; - - match(input,RPAREN,FOLLOW_RPAREN_in_synpred372_Delphi16113); if (state.failed) return; - - } - - } - // $ANTLR end synpred372_Delphi - - // $ANTLR start synpred376_Delphi - public final void synpred376_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:582:32: ( '(' recordConstExpression ( ';' recordConstExpression )* ')' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:582:32: '(' recordConstExpression ( ';' recordConstExpression )* ')' - { - match(input,LPAREN,FOLLOW_LPAREN_in_synpred376_Delphi16234); if (state.failed) return; - - pushFollow(FOLLOW_recordConstExpression_in_synpred376_Delphi16236); - recordConstExpression(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:582:58: ( ';' recordConstExpression )* - loop360: - while (true) { - int alt360=2; - int LA360_0 = input.LA(1); - if ( (LA360_0==SEMI) ) { - alt360=1; - } - - switch (alt360) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:582:59: ';' recordConstExpression - { - match(input,SEMI,FOLLOW_SEMI_in_synpred376_Delphi16239); if (state.failed) return; - - pushFollow(FOLLOW_recordConstExpression_in_synpred376_Delphi16241); - recordConstExpression(); - state._fsp--; - if (state.failed) return; - - } - break; - - default : - break loop360; - } - } - - match(input,RPAREN,FOLLOW_RPAREN_in_synpred376_Delphi16245); if (state.failed) return; - - } - - } - // $ANTLR end synpred376_Delphi - - // $ANTLR start synpred378_Delphi - public final void synpred378_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:32: ( '(' constExpression ( ',' constExpression )* ')' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:32: '(' constExpression ( ',' constExpression )* ')' - { - match(input,LPAREN,FOLLOW_LPAREN_in_synpred378_Delphi16279); if (state.failed) return; - - pushFollow(FOLLOW_constExpression_in_synpred378_Delphi16281); - constExpression(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:52: ( ',' constExpression )* - loop361: - while (true) { - int alt361=2; - int LA361_0 = input.LA(1); - if ( (LA361_0==COMMA) ) { - alt361=1; - } - - switch (alt361) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:53: ',' constExpression - { - match(input,COMMA,FOLLOW_COMMA_in_synpred378_Delphi16284); if (state.failed) return; - - pushFollow(FOLLOW_constExpression_in_synpred378_Delphi16286); - constExpression(); - state._fsp--; - if (state.failed) return; - - } - break; - - default : - break loop361; - } - } - - match(input,RPAREN,FOLLOW_RPAREN_in_synpred378_Delphi16290); if (state.failed) return; - - } - - } - // $ANTLR end synpred378_Delphi - - // $ANTLR start synpred379_Delphi - public final void synpred379_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:39: ( statementList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:39: statementList - { - pushFollow(FOLLOW_statementList_in_synpred379_Delphi16430); - statementList(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred379_Delphi - - // $ANTLR start synpred380_Delphi - public final void synpred380_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:32: ( 'try' ( statementList )? 'except' handlerList 'end' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:32: 'try' ( statementList )? 'except' handlerList 'end' - { - match(input,TRY,FOLLOW_TRY_in_synpred380_Delphi16427); if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:38: ( statementList )? - int alt362=2; - int LA362_0 = input.LA(1); - if ( (LA362_0==ADD||LA362_0==ANSISTRING||LA362_0==ASM||(LA362_0 >= ASSIGN && LA362_0 <= AT2)||(LA362_0 >= BEGIN && LA362_0 <= CASE)||(LA362_0 >= CONTAINS && LA362_0 <= CONTINUE)||LA362_0==DEFAULT||LA362_0==DOT||LA362_0==EXIT||LA362_0==EXPORT||LA362_0==FINAL||LA362_0==FOR||LA362_0==GOTO||LA362_0==IF||LA362_0==IMPLEMENTS||(LA362_0 >= INDEX && LA362_0 <= INHERITED)||LA362_0==LBRACK||(LA362_0 >= LOCAL && LA362_0 <= MESSAGE)||LA362_0==NAME||LA362_0==OBJECT||LA362_0==OPERATOR||LA362_0==OUT||(LA362_0 >= POINTER && LA362_0 <= POINTER2)||LA362_0==RAISE||(LA362_0 >= READ && LA362_0 <= READONLY)||(LA362_0 >= REFERENCE && LA362_0 <= REGISTER)||(LA362_0 >= REMOVE && LA362_0 <= REPEAT)||LA362_0==SEMI||(LA362_0 >= STORED && LA362_0 <= STRING)||LA362_0==TRY||(LA362_0 >= TkHexNum && LA362_0 <= TkIntNum)||LA362_0==VARIANT||(LA362_0 >= WHILE && LA362_0 <= WRITE)||LA362_0==200) ) { - alt362=1; - } - else if ( (LA362_0==EXCEPT) ) { - int LA362_2 = input.LA(2); - if ( (synpred379_Delphi()) ) { - alt362=1; - } - } - switch (alt362) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:39: statementList - { - pushFollow(FOLLOW_statementList_in_synpred380_Delphi16430); - statementList(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - match(input,EXCEPT,FOLLOW_EXCEPT_in_synpred380_Delphi16434); if (state.failed) return; - - pushFollow(FOLLOW_handlerList_in_synpred380_Delphi16436); - handlerList(); - state._fsp--; - if (state.failed) return; - - match(input,END,FOLLOW_END_in_synpred380_Delphi16438); if (state.failed) return; - - } - - } - // $ANTLR end synpred380_Delphi - - // $ANTLR start synpred381_Delphi - public final void synpred381_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:592:39: ( statementList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:592:39: statementList - { - pushFollow(FOLLOW_statementList_in_synpred381_Delphi16474); - statementList(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred381_Delphi - - // $ANTLR start synpred382_Delphi - public final void synpred382_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:592:66: ( statementList ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:592:66: statementList - { - pushFollow(FOLLOW_statementList_in_synpred382_Delphi16481); - statementList(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred382_Delphi - - // $ANTLR start synpred385_Delphi - public final void synpred385_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:32: ( ( handler )* ( 'else' statementList )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:32: ( handler )* ( 'else' statementList )? - { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:32: ( handler )* - loop363: - while (true) { - int alt363=2; - int LA363_0 = input.LA(1); - if ( (LA363_0==ON) ) { - alt363=1; - } - - switch (alt363) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:33: handler - { - pushFollow(FOLLOW_handler_in_synpred385_Delphi16540); - handler(); - state._fsp--; - if (state.failed) return; - - } - break; - - default : - break loop363; - } - } - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:43: ( 'else' statementList )? - int alt364=2; - int LA364_0 = input.LA(1); - if ( (LA364_0==ELSE) ) { - alt364=1; - } - switch (alt364) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:44: 'else' statementList - { - match(input,ELSE,FOLLOW_ELSE_in_synpred385_Delphi16545); if (state.failed) return; - - pushFollow(FOLLOW_statementList_in_synpred385_Delphi16547); - statementList(); - state._fsp--; - if (state.failed) return; - - } - break; - - } - - } - - } - // $ANTLR end synpred385_Delphi - - // $ANTLR start synpred388_Delphi - public final void synpred388_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:32: ( statement ( ';' )? ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:32: statement ( ';' )? - { - pushFollow(FOLLOW_statement_in_synpred388_Delphi16757); - statement(); - state._fsp--; - if (state.failed) return; - - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:42: ( ';' )? - int alt365=2; - int LA365_0 = input.LA(1); - if ( (LA365_0==SEMI) ) { - alt365=1; - } - switch (alt365) { - case 1 : - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:43: ';' - { - match(input,SEMI,FOLLOW_SEMI_in_synpred388_Delphi16760); if (state.failed) return; - - } - break; - - } - - } - - } - // $ANTLR end synpred388_Delphi - - // $ANTLR start synpred389_Delphi - public final void synpred389_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:41: ( designator ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:41: designator - { - pushFollow(FOLLOW_designator_in_synpred389_Delphi16849); - designator(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred389_Delphi - - // $ANTLR start synpred390_Delphi - public final void synpred390_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:55: ( AT designator ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:604:55: AT designator - { - match(input,AT,FOLLOW_AT_in_synpred390_Delphi16854); if (state.failed) return; - - pushFollow(FOLLOW_designator_in_synpred390_Delphi16856); - designator(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred390_Delphi - - // $ANTLR start synpred408_Delphi - public final void synpred408_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:634:44: ( ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:634:44: ';' - { - match(input,SEMI,FOLLOW_SEMI_in_synpred408_Delphi17764); if (state.failed) return; - - } - - } - // $ANTLR end synpred408_Delphi - - // $ANTLR start synpred432_Delphi - public final void synpred432_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:672:32: ( 'external' ';' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:672:32: 'external' ';' - { - match(input,EXTERNAL,FOLLOW_EXTERNAL_in_synpred432_Delphi18969); if (state.failed) return; - - match(input,SEMI,FOLLOW_SEMI_in_synpred432_Delphi18971); if (state.failed) return; - - } - - } - // $ANTLR end synpred432_Delphi - - // $ANTLR start synpred471_Delphi - public final void synpred471_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:705:33: ( namespaceName '.' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:705:33: namespaceName '.' - { - pushFollow(FOLLOW_namespaceName_in_synpred471_Delphi20005); - namespaceName(); - state._fsp--; - if (state.failed) return; - - match(input,DOT,FOLLOW_DOT_in_synpred471_Delphi20007); if (state.failed) return; - - } - - } - // $ANTLR end synpred471_Delphi - - // $ANTLR start synpred472_Delphi - public final void synpred472_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:707:39: ( '.' ident ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:707:39: '.' ident - { - match(input,DOT,FOLLOW_DOT_in_synpred472_Delphi20066); if (state.failed) return; - - pushFollow(FOLLOW_ident_in_synpred472_Delphi20068); - ident(); - state._fsp--; - if (state.failed) return; - - } - - } - // $ANTLR end synpred472_Delphi - - // $ANTLR start synpred473_Delphi - public final void synpred473_Delphi_fragment() throws RecognitionException { - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:34: ( ident '.' ) - // org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:34: ident '.' - { - pushFollow(FOLLOW_ident_in_synpred473_Delphi20123); - ident(); - state._fsp--; - if (state.failed) return; - - match(input,DOT,FOLLOW_DOT_in_synpred473_Delphi20125); if (state.failed) return; - - } - - } - // $ANTLR end synpred473_Delphi - - // Delegated rules - - public final boolean synpred390_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred390_Delphi_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 synpred353_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred353_Delphi_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 synpred352_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred352_Delphi_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 synpred31_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred31_Delphi_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 synpred32_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred32_Delphi_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 synpred36_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred36_Delphi_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 synpred30_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred30_Delphi_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 synpred260_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred260_Delphi_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 synpred299_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred299_Delphi_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 synpred129_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred129_Delphi_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 synpred297_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred297_Delphi_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 synpred310_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred310_Delphi_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 synpred296_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred296_Delphi_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 synpred298_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred298_Delphi_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 synpred311_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred311_Delphi_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 synpred408_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred408_Delphi_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 synpred269_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred269_Delphi_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 synpred293_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred293_Delphi_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 synpred160_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred160_Delphi_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 synpred295_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred295_Delphi_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 synpred123_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred123_Delphi_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 synpred127_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred127_Delphi_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 synpred256_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred256_Delphi_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 synpred79_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred79_Delphi_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 synpred252_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred252_Delphi_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 synpred68_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred68_Delphi_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 synpred64_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred64_Delphi_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 synpred385_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred385_Delphi_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 synpred389_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred389_Delphi_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 synpred361_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred361_Delphi_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 synpred40_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred40_Delphi_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 synpred225_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred225_Delphi_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 synpred229_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred229_Delphi_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 synpred42_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred42_Delphi_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 synpred24_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred24_Delphi_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 synpred363_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred363_Delphi_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 synpred382_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred382_Delphi_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 synpred61_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred61_Delphi_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 synpred62_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred62_Delphi_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 synpred211_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred211_Delphi_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 synpred210_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred210_Delphi_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 synpred251_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred251_Delphi_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 synpred175_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred175_Delphi_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 synpred157_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred157_Delphi_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 synpred84_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred84_Delphi_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 synpred472_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred472_Delphi_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 synpred473_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred473_Delphi_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 synpred270_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred270_Delphi_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 synpred273_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred273_Delphi_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 synpred309_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred309_Delphi_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 synpred301_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred301_Delphi_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 synpred136_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred136_Delphi_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 synpred291_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred291_Delphi_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 synpred288_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred288_Delphi_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 synpred289_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred289_Delphi_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 synpred150_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred150_Delphi_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 synpred277_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred277_Delphi_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 synpred292_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred292_Delphi_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 synpred432_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred432_Delphi_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 synpred128_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred128_Delphi_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 synpred266_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred266_Delphi_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 synpred255_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred255_Delphi_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 synpred113_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred113_Delphi_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 synpred379_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred379_Delphi_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 synpred65_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred65_Delphi_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 synpred54_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred54_Delphi_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 synpred368_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred368_Delphi_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 synpred360_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred360_Delphi_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 synpred50_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred50_Delphi_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 synpred372_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred372_Delphi_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 synpred202_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred202_Delphi_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 synpred188_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred188_Delphi_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 synpred187_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred187_Delphi_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 synpred240_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred240_Delphi_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 synpred206_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred206_Delphi_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 synpred207_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred207_Delphi_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 synpred149_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred149_Delphi_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 synpred94_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred94_Delphi_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 synpred90_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred90_Delphi_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 synpred92_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred92_Delphi_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 synpred93_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred93_Delphi_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 synpred95_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred95_Delphi_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 synpred145_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred145_Delphi_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 synpred281_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred281_Delphi_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 synpred143_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred143_Delphi_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 synpred283_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred283_Delphi_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 synpred146_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred146_Delphi_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 synpred282_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred282_Delphi_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 synpred284_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred284_Delphi_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 synpred142_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred142_Delphi_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 synpred285_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred285_Delphi_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 synpred276_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred276_Delphi_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 synpred300_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred300_Delphi_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 synpred151_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred151_Delphi_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 synpred278_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred278_Delphi_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 synpred86_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred86_Delphi_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 synpred88_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred88_Delphi_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 synpred114_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred114_Delphi_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 synpred101_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred101_Delphi_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 synpred378_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred378_Delphi_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 synpred234_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred234_Delphi_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 synpred180_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred180_Delphi_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 synpred241_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred241_Delphi_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 synpred243_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred243_Delphi_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 synpred367_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred367_Delphi_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 synpred46_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred46_Delphi_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 synpred376_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred376_Delphi_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 synpred53_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred53_Delphi_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 synpred238_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred238_Delphi_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 synpred193_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred193_Delphi_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 synpred195_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred195_Delphi_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 synpred230_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred230_Delphi_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 synpred365_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred365_Delphi_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 synpred370_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred370_Delphi_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 synpred369_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred369_Delphi_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 synpred48_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred48_Delphi_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 synpred380_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred380_Delphi_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 synpred362_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred362_Delphi_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 synpred381_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred381_Delphi_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 synpred81_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred81_Delphi_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 synpred23_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred23_Delphi_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 synpred304_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred304_Delphi_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 synpred155_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred155_Delphi_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 synpred321_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred321_Delphi_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 synpred156_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred156_Delphi_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 synpred272_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred272_Delphi_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 synpred308_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred308_Delphi_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 synpred137_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred137_Delphi_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 synpred290_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred290_Delphi_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 synpred303_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred303_Delphi_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 synpred307_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred307_Delphi_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 synpred286_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred286_Delphi_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 synpred287_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred287_Delphi_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 synpred268_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred268_Delphi_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 synpred294_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred294_Delphi_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 synpred122_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred122_Delphi_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 synpred126_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred126_Delphi_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 synpred152_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred152_Delphi_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 synpred275_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred275_Delphi_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 synpred78_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred78_Delphi_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 synpred471_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred471_Delphi_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 synpred85_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred85_Delphi_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 synpred253_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred253_Delphi_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 synpred174_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred174_Delphi_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 synpred100_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred100_Delphi_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 synpred192_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred192_Delphi_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 synpred235_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred235_Delphi_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 synpred181_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred181_Delphi_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 synpred38_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred38_Delphi_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 synpred67_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred67_Delphi_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 synpred185_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred185_Delphi_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 synpred63_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred63_Delphi_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 synpred388_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred388_Delphi_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 synpred45_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred45_Delphi_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 synpred224_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred224_Delphi_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 synpred231_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred231_Delphi_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 synpred366_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred366_Delphi_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 synpred228_Delphi() { - state.backtracking++; - int start = input.mark(); - try { - synpred228_Delphi_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 DFA26 dfa26 = new DFA26(this); - protected DFA30 dfa30 = new DFA30(this); - protected DFA33 dfa33 = new DFA33(this); - protected DFA46 dfa46 = new DFA46(this); - protected DFA53 dfa53 = new DFA53(this); - protected DFA57 dfa57 = new DFA57(this); - protected DFA65 dfa65 = new DFA65(this); - protected DFA66 dfa66 = new DFA66(this); - protected DFA68 dfa68 = new DFA68(this); - protected DFA74 dfa74 = new DFA74(this); - protected DFA88 dfa88 = new DFA88(this); - protected DFA100 dfa100 = new DFA100(this); - protected DFA108 dfa108 = new DFA108(this); - protected DFA162 dfa162 = new DFA162(this); - protected DFA164 dfa164 = new DFA164(this); - protected DFA166 dfa166 = new DFA166(this); - protected DFA183 dfa183 = new DFA183(this); - protected DFA185 dfa185 = new DFA185(this); - protected DFA198 dfa198 = new DFA198(this); - protected DFA208 dfa208 = new DFA208(this); - protected DFA214 dfa214 = new DFA214(this); - protected DFA225 dfa225 = new DFA225(this); - protected DFA255 dfa255 = new DFA255(this); - protected DFA288 dfa288 = new DFA288(this); - static final String DFA26_eotS = - "\145\uffff"; - static final String DFA26_eofS = - "\1\1\144\uffff"; - static final String DFA26_minS = - "\1\4\11\uffff\1\0\6\uffff\1\0\6\uffff\3\0\2\uffff\2\0\1\uffff\1\0\5\uffff"+ - "\1\0\2\uffff\1\0\1\uffff\1\0\11\uffff\1\0\27\uffff\3\0\13\uffff\1\0\5"+ - "\uffff\1\0\3\uffff"; - static final String DFA26_maxS = - "\1\u00c9\11\uffff\1\0\6\uffff\1\0\6\uffff\3\0\2\uffff\2\0\1\uffff\1\0"+ - "\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\11\uffff\1\0\27\uffff\3\0\13\uffff"+ - "\1\0\5\uffff\1\0\3\uffff"; - static final String DFA26_acceptS = - "\1\uffff\1\2\142\uffff\1\1"; - static final String DFA26_specialS = - "\12\uffff\1\0\6\uffff\1\1\6\uffff\1\2\1\3\1\4\2\uffff\1\5\1\6\1\uffff"+ - "\1\7\5\uffff\1\10\2\uffff\1\11\1\uffff\1\12\11\uffff\1\13\27\uffff\1\14"+ - "\1\15\1\16\13\uffff\1\17\5\uffff\1\20\3\uffff}>"; - static final String[] DFA26_transitionS = { - "\1\1\1\uffff\1\141\1\1\1\141\1\uffff\3\1\2\uffff\1\141\2\1\1\uffff\1"+ - "\1\1\141\5\1\1\uffff\2\1\2\141\1\1\1\uffff\1\36\3\1\1\uffff\5\1\5\uffff"+ - "\4\1\1\141\1\1\1\51\4\1\1\uffff\1\141\2\1\2\uffff\2\1\1\uffff\1\1\4\uffff"+ - "\1\1\1\40\1\1\1\65\3\1\1\uffff\2\1\1\12\2\uffff\2\1\1\53\2\1\1\141\2"+ - "\1\1\21\5\1\1\141\2\1\1\133\1\1\1\141\1\1\3\uffff\3\1\1\141\3\1\1\uffff"+ - "\5\1\1\uffff\1\1\2\uffff\1\30\1\32\1\uffff\1\141\1\46\1\uffff\1\141\2"+ - "\uffff\4\1\1\uffff\1\1\1\uffff\4\1\1\uffff\1\1\1\35\1\117\1\141\4\1\1"+ - "\uffff\1\1\2\uffff\1\1\14\uffff\1\1\1\115\1\1\3\uffff\1\1\6\uffff\2\1"+ - "\2\uffff\2\1\1\141\3\uffff\1\31\1\1\1\uffff\1\1\1\116\1\1", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\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[] DFA26_eot = DFA.unpackEncodedString(DFA26_eotS); - static final short[] DFA26_eof = DFA.unpackEncodedString(DFA26_eofS); - static final char[] DFA26_min = DFA.unpackEncodedStringToUnsignedChars(DFA26_minS); - static final char[] DFA26_max = DFA.unpackEncodedStringToUnsignedChars(DFA26_maxS); - static final short[] DFA26_accept = DFA.unpackEncodedString(DFA26_acceptS); - static final short[] DFA26_special = DFA.unpackEncodedString(DFA26_specialS); - static final short[][] DFA26_transition; - - static { - int numStates = DFA26_transitionS.length; - DFA26_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA26_17 = input.LA(1); - - int index26_17 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_17); - if ( s>=0 ) return s; - break; - - case 2 : - int LA26_24 = input.LA(1); - - int index26_24 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_24); - if ( s>=0 ) return s; - break; - - case 3 : - int LA26_25 = input.LA(1); - - int index26_25 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_25); - if ( s>=0 ) return s; - break; - - case 4 : - int LA26_26 = input.LA(1); - - int index26_26 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_26); - if ( s>=0 ) return s; - break; - - case 5 : - int LA26_29 = input.LA(1); - - int index26_29 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_29); - if ( s>=0 ) return s; - break; - - case 6 : - int LA26_30 = input.LA(1); - - int index26_30 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_30); - if ( s>=0 ) return s; - break; - - case 7 : - int LA26_32 = input.LA(1); - - int index26_32 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_32); - if ( s>=0 ) return s; - break; - - case 8 : - int LA26_38 = input.LA(1); - - int index26_38 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_38); - if ( s>=0 ) return s; - break; - - case 9 : - int LA26_41 = input.LA(1); - - int index26_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_41); - if ( s>=0 ) return s; - break; - - case 10 : - int LA26_43 = input.LA(1); - - int index26_43 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_43); - if ( s>=0 ) return s; - break; - - case 11 : - int LA26_53 = input.LA(1); - - int index26_53 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_53); - if ( s>=0 ) return s; - break; - - case 12 : - int LA26_77 = input.LA(1); - - int index26_77 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_77); - if ( s>=0 ) return s; - break; - - case 13 : - int LA26_78 = input.LA(1); - - int index26_78 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_78); - if ( s>=0 ) return s; - break; - - case 14 : - int LA26_79 = input.LA(1); - - int index26_79 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_79); - if ( s>=0 ) return s; - break; - - case 15 : - int LA26_91 = input.LA(1); - - int index26_91 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_91); - if ( s>=0 ) return s; - break; - - case 16 : - int LA26_97 = input.LA(1); - - int index26_97 = input.index(); - input.rewind(); - s = -1; - if ( (synpred40_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index26_97); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 26, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA30_eotS = - "\145\uffff"; - static final String DFA30_eofS = - "\1\1\144\uffff"; - static final String DFA30_minS = - "\1\4\11\uffff\1\0\6\uffff\1\0\6\uffff\3\0\2\uffff\2\0\1\uffff\1\0\5\uffff"+ - "\1\0\2\uffff\1\0\1\uffff\1\0\11\uffff\1\0\27\uffff\3\0\13\uffff\1\0\5"+ - "\uffff\1\0\3\uffff"; - static final String DFA30_maxS = - "\1\u00c9\11\uffff\1\0\6\uffff\1\0\6\uffff\3\0\2\uffff\2\0\1\uffff\1\0"+ - "\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\11\uffff\1\0\27\uffff\3\0\13\uffff"+ - "\1\0\5\uffff\1\0\3\uffff"; - static final String DFA30_acceptS = - "\1\uffff\1\2\142\uffff\1\1"; - static final String DFA30_specialS = - "\12\uffff\1\0\6\uffff\1\1\6\uffff\1\2\1\3\1\4\2\uffff\1\5\1\6\1\uffff"+ - "\1\7\5\uffff\1\10\2\uffff\1\11\1\uffff\1\12\11\uffff\1\13\27\uffff\1\14"+ - "\1\15\1\16\13\uffff\1\17\5\uffff\1\20\3\uffff}>"; - static final String[] DFA30_transitionS = { - "\1\1\1\uffff\1\141\1\1\1\141\1\uffff\3\1\2\uffff\1\141\2\1\1\uffff\1"+ - "\1\1\141\5\1\1\uffff\2\1\2\141\1\1\1\uffff\1\36\3\1\1\uffff\5\1\5\uffff"+ - "\4\1\1\141\1\1\1\51\4\1\1\uffff\1\141\2\1\2\uffff\2\1\1\uffff\1\1\4\uffff"+ - "\1\1\1\40\1\1\1\65\3\1\1\uffff\2\1\1\12\2\uffff\2\1\1\53\2\1\1\141\2"+ - "\1\1\21\5\1\1\141\2\1\1\133\1\1\1\141\1\1\3\uffff\3\1\1\141\3\1\1\uffff"+ - "\5\1\1\uffff\1\1\2\uffff\1\30\1\32\1\uffff\1\141\1\46\1\uffff\1\141\2"+ - "\uffff\4\1\1\uffff\1\1\1\uffff\4\1\1\uffff\1\1\1\35\1\117\1\141\4\1\1"+ - "\uffff\1\1\2\uffff\1\1\14\uffff\1\1\1\115\1\1\3\uffff\1\1\6\uffff\2\1"+ - "\2\uffff\2\1\1\141\3\uffff\1\31\1\1\1\uffff\1\1\1\116\1\1", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\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[] DFA30_eot = DFA.unpackEncodedString(DFA30_eotS); - static final short[] DFA30_eof = DFA.unpackEncodedString(DFA30_eofS); - static final char[] DFA30_min = DFA.unpackEncodedStringToUnsignedChars(DFA30_minS); - static final char[] DFA30_max = DFA.unpackEncodedStringToUnsignedChars(DFA30_maxS); - static final short[] DFA30_accept = DFA.unpackEncodedString(DFA30_acceptS); - static final short[] DFA30_special = DFA.unpackEncodedString(DFA30_specialS); - static final short[][] DFA30_transition; - - static { - int numStates = DFA30_transitionS.length; - DFA30_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA30_17 = input.LA(1); - - int index30_17 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_17); - if ( s>=0 ) return s; - break; - - case 2 : - int LA30_24 = input.LA(1); - - int index30_24 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_24); - if ( s>=0 ) return s; - break; - - case 3 : - int LA30_25 = input.LA(1); - - int index30_25 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_25); - if ( s>=0 ) return s; - break; - - case 4 : - int LA30_26 = input.LA(1); - - int index30_26 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_26); - if ( s>=0 ) return s; - break; - - case 5 : - int LA30_29 = input.LA(1); - - int index30_29 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_29); - if ( s>=0 ) return s; - break; - - case 6 : - int LA30_30 = input.LA(1); - - int index30_30 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_30); - if ( s>=0 ) return s; - break; - - case 7 : - int LA30_32 = input.LA(1); - - int index30_32 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_32); - if ( s>=0 ) return s; - break; - - case 8 : - int LA30_38 = input.LA(1); - - int index30_38 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_38); - if ( s>=0 ) return s; - break; - - case 9 : - int LA30_41 = input.LA(1); - - int index30_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_41); - if ( s>=0 ) return s; - break; - - case 10 : - int LA30_43 = input.LA(1); - - int index30_43 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_43); - if ( s>=0 ) return s; - break; - - case 11 : - int LA30_53 = input.LA(1); - - int index30_53 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_53); - if ( s>=0 ) return s; - break; - - case 12 : - int LA30_77 = input.LA(1); - - int index30_77 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_77); - if ( s>=0 ) return s; - break; - - case 13 : - int LA30_78 = input.LA(1); - - int index30_78 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_78); - if ( s>=0 ) return s; - break; - - case 14 : - int LA30_79 = input.LA(1); - - int index30_79 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_79); - if ( s>=0 ) return s; - break; - - case 15 : - int LA30_91 = input.LA(1); - - int index30_91 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_91); - if ( s>=0 ) return s; - break; - - case 16 : - int LA30_97 = input.LA(1); - - int index30_97 = input.index(); - input.rewind(); - s = -1; - if ( (synpred45_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index30_97); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 30, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA33_eotS = - "\145\uffff"; - static final String DFA33_eofS = - "\1\1\144\uffff"; - static final String DFA33_minS = - "\1\4\11\uffff\1\0\6\uffff\1\0\6\uffff\3\0\2\uffff\2\0\1\uffff\1\0\5\uffff"+ - "\1\0\2\uffff\1\0\1\uffff\1\0\11\uffff\1\0\27\uffff\3\0\13\uffff\1\0\5"+ - "\uffff\1\0\3\uffff"; - static final String DFA33_maxS = - "\1\u00c9\11\uffff\1\0\6\uffff\1\0\6\uffff\3\0\2\uffff\2\0\1\uffff\1\0"+ - "\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\11\uffff\1\0\27\uffff\3\0\13\uffff"+ - "\1\0\5\uffff\1\0\3\uffff"; - static final String DFA33_acceptS = - "\1\uffff\1\2\142\uffff\1\1"; - static final String DFA33_specialS = - "\12\uffff\1\0\6\uffff\1\1\6\uffff\1\2\1\3\1\4\2\uffff\1\5\1\6\1\uffff"+ - "\1\7\5\uffff\1\10\2\uffff\1\11\1\uffff\1\12\11\uffff\1\13\27\uffff\1\14"+ - "\1\15\1\16\13\uffff\1\17\5\uffff\1\20\3\uffff}>"; - static final String[] DFA33_transitionS = { - "\1\1\1\uffff\1\141\1\1\1\141\1\uffff\3\1\2\uffff\1\141\2\1\1\uffff\1"+ - "\1\1\141\5\1\1\uffff\2\1\2\141\1\1\1\uffff\1\36\3\1\1\uffff\5\1\5\uffff"+ - "\4\1\1\141\1\1\1\51\4\1\1\uffff\1\141\2\1\2\uffff\2\1\1\uffff\1\1\4\uffff"+ - "\1\1\1\40\1\1\1\65\3\1\1\uffff\2\1\1\12\2\uffff\2\1\1\53\2\1\1\141\2"+ - "\1\1\21\5\1\1\141\2\1\1\133\1\1\1\141\1\1\3\uffff\3\1\1\141\3\1\1\uffff"+ - "\5\1\1\uffff\1\1\2\uffff\1\30\1\32\1\uffff\1\141\1\46\1\uffff\1\141\2"+ - "\uffff\4\1\1\uffff\1\1\1\uffff\4\1\1\uffff\1\1\1\35\1\117\1\141\4\1\1"+ - "\uffff\1\1\2\uffff\1\1\14\uffff\1\1\1\115\1\1\3\uffff\1\1\6\uffff\2\1"+ - "\2\uffff\2\1\1\141\3\uffff\1\31\1\1\1\uffff\1\1\1\116\1\1", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\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[] DFA33_eot = DFA.unpackEncodedString(DFA33_eotS); - static final short[] DFA33_eof = DFA.unpackEncodedString(DFA33_eofS); - static final char[] DFA33_min = DFA.unpackEncodedStringToUnsignedChars(DFA33_minS); - static final char[] DFA33_max = DFA.unpackEncodedStringToUnsignedChars(DFA33_maxS); - static final short[] DFA33_accept = DFA.unpackEncodedString(DFA33_acceptS); - static final short[] DFA33_special = DFA.unpackEncodedString(DFA33_specialS); - static final short[][] DFA33_transition; - - static { - int numStates = DFA33_transitionS.length; - DFA33_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA33_17 = input.LA(1); - - int index33_17 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_17); - if ( s>=0 ) return s; - break; - - case 2 : - int LA33_24 = input.LA(1); - - int index33_24 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_24); - if ( s>=0 ) return s; - break; - - case 3 : - int LA33_25 = input.LA(1); - - int index33_25 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_25); - if ( s>=0 ) return s; - break; - - case 4 : - int LA33_26 = input.LA(1); - - int index33_26 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_26); - if ( s>=0 ) return s; - break; - - case 5 : - int LA33_29 = input.LA(1); - - int index33_29 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_29); - if ( s>=0 ) return s; - break; - - case 6 : - int LA33_30 = input.LA(1); - - int index33_30 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_30); - if ( s>=0 ) return s; - break; - - case 7 : - int LA33_32 = input.LA(1); - - int index33_32 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_32); - if ( s>=0 ) return s; - break; - - case 8 : - int LA33_38 = input.LA(1); - - int index33_38 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_38); - if ( s>=0 ) return s; - break; - - case 9 : - int LA33_41 = input.LA(1); - - int index33_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_41); - if ( s>=0 ) return s; - break; - - case 10 : - int LA33_43 = input.LA(1); - - int index33_43 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_43); - if ( s>=0 ) return s; - break; - - case 11 : - int LA33_53 = input.LA(1); - - int index33_53 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_53); - if ( s>=0 ) return s; - break; - - case 12 : - int LA33_77 = input.LA(1); - - int index33_77 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_77); - if ( s>=0 ) return s; - break; - - case 13 : - int LA33_78 = input.LA(1); - - int index33_78 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_78); - if ( s>=0 ) return s; - break; - - case 14 : - int LA33_79 = input.LA(1); - - int index33_79 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_79); - if ( s>=0 ) return s; - break; - - case 15 : - int LA33_91 = input.LA(1); - - int index33_91 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_91); - if ( s>=0 ) return s; - break; - - case 16 : - int LA33_97 = input.LA(1); - - int index33_97 = input.index(); - input.rewind(); - s = -1; - if ( (synpred48_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index33_97); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 33, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA46_eotS = - "\165\uffff"; - static final String DFA46_eofS = - "\1\25\164\uffff"; - static final String DFA46_minS = - "\1\4\4\uffff\1\0\1\uffff\1\0\1\uffff\14\0\36\uffff\1\0\3\uffff\1\0\6\uffff"+ - "\1\0\13\uffff\1\0\1\uffff\3\0\2\uffff\2\0\1\uffff\1\0\5\uffff\1\0\2\uffff"+ - "\1\0\6\uffff\1\0\20\uffff"; - static final String DFA46_maxS = - "\1\u00c9\4\uffff\1\0\1\uffff\1\0\1\uffff\14\0\36\uffff\1\0\3\uffff\1\0"+ - "\6\uffff\1\0\13\uffff\1\0\1\uffff\3\0\2\uffff\2\0\1\uffff\1\0\5\uffff"+ - "\1\0\2\uffff\1\0\6\uffff\1\0\20\uffff"; - static final String DFA46_acceptS = - "\1\uffff\1\1\23\uffff\1\7\132\uffff\1\6\1\2\1\3\1\4\1\5"; - static final String DFA46_specialS = - "\5\uffff\1\0\1\uffff\1\1\1\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+ - "\1\13\1\14\1\15\36\uffff\1\16\3\uffff\1\17\6\uffff\1\20\13\uffff\1\21"+ - "\1\uffff\1\22\1\23\1\24\2\uffff\1\25\1\26\1\uffff\1\27\5\uffff\1\30\2"+ - "\uffff\1\31\6\uffff\1\32\20\uffff}>"; - static final String[] DFA46_transitionS = { - "\1\25\1\uffff\1\144\1\25\1\15\1\1\3\25\2\uffff\1\144\2\25\1\uffff\1\25"+ - "\1\144\2\25\1\5\2\25\1\uffff\2\25\2\144\1\25\1\uffff\1\121\3\25\1\1\5"+ - "\25\5\uffff\4\25\1\144\1\25\1\132\4\25\1\1\1\144\2\25\2\uffff\1\16\1"+ - "\25\1\uffff\1\25\4\uffff\1\25\1\122\1\25\1\135\3\25\1\1\3\25\2\uffff"+ - "\2\25\1\124\2\25\1\144\2\25\1\76\5\25\1\7\2\25\1\67\1\25\1\144\1\25\2"+ - "\uffff\1\1\3\25\1\12\1\11\1\25\1\17\1\uffff\5\25\1\uffff\1\25\2\uffff"+ - "\1\112\1\115\1\1\1\20\1\24\1\uffff\1\144\2\uffff\4\25\1\uffff\1\25\1"+ - "\1\4\25\1\uffff\1\25\1\116\1\63\1\13\4\25\1\uffff\1\14\2\uffff\1\25\14"+ - "\uffff\1\25\1\22\1\25\3\uffff\1\25\6\uffff\2\25\2\uffff\2\25\1\21\3\uffff"+ - "\1\114\1\25\1\uffff\1\25\1\23\1\25", - "", - "", - "", - "", - "\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", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - - static final short[] DFA46_eot = DFA.unpackEncodedString(DFA46_eotS); - static final short[] DFA46_eof = DFA.unpackEncodedString(DFA46_eofS); - static final char[] DFA46_min = DFA.unpackEncodedStringToUnsignedChars(DFA46_minS); - static final char[] DFA46_max = DFA.unpackEncodedStringToUnsignedChars(DFA46_maxS); - static final short[] DFA46_accept = DFA.unpackEncodedString(DFA46_acceptS); - static final short[] DFA46_special = DFA.unpackEncodedString(DFA46_specialS); - static final short[][] DFA46_transition; - - static { - int numStates = DFA46_transitionS.length; - DFA46_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA46_7 = input.LA(1); - - int index46_7 = input.index(); - input.rewind(); - s = -1; - if ( (synpred61_Delphi()) ) {s = 1;} - else if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_7); - if ( s>=0 ) return s; - break; - - case 2 : - int LA46_9 = input.LA(1); - - int index46_9 = input.index(); - input.rewind(); - s = -1; - if ( (synpred62_Delphi()) ) {s = 113;} - else if ( (true) ) {s = 21;} - - input.seek(index46_9); - if ( s>=0 ) return s; - break; - - case 3 : - int LA46_10 = input.LA(1); - - int index46_10 = input.index(); - input.rewind(); - s = -1; - if ( (synpred62_Delphi()) ) {s = 113;} - else if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_10); - if ( s>=0 ) return s; - break; - - case 4 : - int LA46_11 = input.LA(1); - - int index46_11 = input.index(); - input.rewind(); - s = -1; - if ( (synpred63_Delphi()) ) {s = 114;} - else if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_11); - if ( s>=0 ) return s; - break; - - case 5 : - int LA46_12 = input.LA(1); - - int index46_12 = input.index(); - input.rewind(); - s = -1; - if ( (synpred63_Delphi()) ) {s = 114;} - else if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_12); - if ( s>=0 ) return s; - break; - - case 6 : - int LA46_13 = input.LA(1); - - int index46_13 = input.index(); - input.rewind(); - s = -1; - if ( (synpred63_Delphi()) ) {s = 114;} - else if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_13); - if ( s>=0 ) return s; - break; - - case 7 : - int LA46_14 = input.LA(1); - - int index46_14 = input.index(); - input.rewind(); - s = -1; - if ( (synpred64_Delphi()) ) {s = 115;} - else if ( (true) ) {s = 21;} - - input.seek(index46_14); - if ( s>=0 ) return s; - break; - - case 8 : - int LA46_15 = input.LA(1); - - int index46_15 = input.index(); - input.rewind(); - s = -1; - if ( (synpred64_Delphi()) ) {s = 115;} - else if ( (true) ) {s = 21;} - - input.seek(index46_15); - if ( s>=0 ) return s; - break; - - case 9 : - int LA46_16 = input.LA(1); - - int index46_16 = input.index(); - input.rewind(); - s = -1; - if ( (synpred64_Delphi()) ) {s = 115;} - else if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_16); - if ( s>=0 ) return s; - break; - - case 10 : - int LA46_17 = input.LA(1); - - int index46_17 = input.index(); - input.rewind(); - s = -1; - if ( (synpred65_Delphi()) ) {s = 116;} - else if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_17); - if ( s>=0 ) return s; - break; - - case 11 : - int LA46_18 = input.LA(1); - - int index46_18 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_18); - if ( s>=0 ) return s; - break; - - case 12 : - int LA46_19 = input.LA(1); - - int index46_19 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_19); - if ( s>=0 ) return s; - break; - - case 13 : - int LA46_20 = input.LA(1); - - int index46_20 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_20); - if ( s>=0 ) return s; - break; - - case 14 : - int LA46_51 = input.LA(1); - - int index46_51 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_51); - if ( s>=0 ) return s; - break; - - case 15 : - int LA46_55 = input.LA(1); - - int index46_55 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_55); - if ( s>=0 ) return s; - break; - - case 16 : - int LA46_62 = input.LA(1); - - int index46_62 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_62); - if ( s>=0 ) return s; - break; - - case 17 : - int LA46_74 = input.LA(1); - - int index46_74 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_74); - if ( s>=0 ) return s; - break; - - case 18 : - int LA46_76 = input.LA(1); - - int index46_76 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_76); - if ( s>=0 ) return s; - break; - - case 19 : - int LA46_77 = input.LA(1); - - int index46_77 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_77); - if ( s>=0 ) return s; - break; - - case 20 : - int LA46_78 = input.LA(1); - - int index46_78 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_78); - if ( s>=0 ) return s; - break; - - case 21 : - int LA46_81 = input.LA(1); - - int index46_81 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_81); - if ( s>=0 ) return s; - break; - - case 22 : - int LA46_82 = input.LA(1); - - int index46_82 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_82); - if ( s>=0 ) return s; - break; - - case 23 : - int LA46_84 = input.LA(1); - - int index46_84 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_84); - if ( s>=0 ) return s; - break; - - case 24 : - int LA46_90 = input.LA(1); - - int index46_90 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_90); - if ( s>=0 ) return s; - break; - - case 25 : - int LA46_93 = input.LA(1); - - int index46_93 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_93); - if ( s>=0 ) return s; - break; - - case 26 : - int LA46_100 = input.LA(1); - - int index46_100 = input.index(); - input.rewind(); - s = -1; - if ( (synpred68_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 21;} - - input.seek(index46_100); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 46, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA53_eotS = - "\14\uffff"; - static final String DFA53_eofS = - "\1\uffff\1\6\1\uffff\1\6\3\uffff\2\6\1\uffff\2\6"; - static final String DFA53_minS = - "\1\6\1\7\1\u00ae\1\7\1\uffff\1\6\1\uffff\2\7\1\u00ae\2\7"; - static final String DFA53_maxS = - "\1\u00c9\1\u00c7\1\u00ae\1\u00c7\1\uffff\1\u00c8\1\uffff\2\u00c7\1\u00ae"+ - "\2\u00c7"; - static final String DFA53_acceptS = - "\4\uffff\1\2\1\uffff\1\1\5\uffff"; - static final String DFA53_specialS = - "\14\uffff}>"; - static final String[] DFA53_transitionS = { - "\1\3\1\4\1\3\1\uffff\1\4\4\uffff\1\3\1\4\3\uffff\1\3\10\uffff\2\3\1\4"+ - "\1\uffff\1\3\4\uffff\1\4\1\uffff\2\4\10\uffff\1\4\1\uffff\1\3\1\uffff"+ - "\1\3\2\uffff\1\4\2\uffff\1\3\4\uffff\2\4\1\uffff\1\4\5\uffff\1\3\1\4"+ - "\1\3\1\4\3\uffff\1\4\1\uffff\1\4\2\uffff\1\4\1\uffff\1\3\2\4\1\3\2\4"+ - "\1\3\1\uffff\1\4\1\uffff\2\4\1\3\2\uffff\1\3\1\4\1\3\6\uffff\1\4\1\3"+ - "\1\4\1\uffff\1\4\5\uffff\1\4\4\uffff\2\3\1\uffff\2\3\1\uffff\1\3\11\uffff"+ - "\4\4\2\uffff\3\3\3\uffff\1\4\4\uffff\1\4\14\uffff\1\4\1\1\1\4\3\uffff"+ - "\1\4\14\uffff\1\3\3\uffff\1\3\2\uffff\1\4\1\2\1\4", - "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\6\14\uffff\1\4\1\uffff\1\5\1"+ - "\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1\uffff"+ - "\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1\4\7\uffff"+ - "\1\4\1\uffff\1\4\11\uffff\1\6\22\uffff\4\4\64\uffff\1\4", - "\1\7", - "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\6\14\uffff\1\4\1\uffff\1\5\1"+ - "\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1\uffff"+ - "\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1\4\7\uffff"+ - "\1\4\1\uffff\1\4\11\uffff\1\6\22\uffff\4\4\64\uffff\1\4", - "", - "\1\12\1\uffff\1\12\6\uffff\1\12\4\uffff\1\12\10\uffff\2\12\2\uffff\1"+ - "\12\22\uffff\1\12\1\uffff\1\12\5\uffff\1\12\15\uffff\1\12\1\uffff\1\12"+ - "\13\uffff\1\12\2\uffff\1\12\2\uffff\1\12\5\uffff\1\12\2\uffff\1\12\1"+ - "\uffff\1\12\7\uffff\1\12\15\uffff\2\12\1\uffff\2\12\1\uffff\1\12\17\uffff"+ - "\3\12\26\uffff\1\10\21\uffff\1\12\3\uffff\1\12\3\uffff\1\11", - "", - "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\6\14\uffff\1\4\1\uffff\1\5\1"+ - "\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1\uffff"+ - "\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1\4\7\uffff"+ - "\1\4\1\uffff\1\4\11\uffff\1\6\22\uffff\4\4\64\uffff\1\4", - "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\6\14\uffff\1\4\1\uffff\1\5\1"+ - "\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1\uffff"+ - "\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1\4\7\uffff"+ - "\1\4\1\uffff\1\4\11\uffff\1\6\22\uffff\4\4\64\uffff\1\4", - "\1\13", - "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\6\14\uffff\1\4\1\uffff\1\5\1"+ - "\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1\uffff"+ - "\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1\4\7\uffff"+ - "\1\4\1\uffff\1\4\11\uffff\1\6\22\uffff\4\4\64\uffff\1\4", - "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\6\14\uffff\1\4\1\uffff\1\5\1"+ - "\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1\uffff"+ - "\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1\4\7\uffff"+ - "\1\4\1\uffff\1\4\11\uffff\1\6\22\uffff\4\4\64\uffff\1\4" - }; - - static final short[] DFA53_eot = DFA.unpackEncodedString(DFA53_eotS); - static final short[] DFA53_eof = DFA.unpackEncodedString(DFA53_eofS); - static final char[] DFA53_min = DFA.unpackEncodedStringToUnsignedChars(DFA53_minS); - static final char[] DFA53_max = DFA.unpackEncodedStringToUnsignedChars(DFA53_maxS); - static final short[] DFA53_accept = DFA.unpackEncodedString(DFA53_acceptS); - static final short[] DFA53_special = DFA.unpackEncodedString(DFA53_specialS); - static final short[][] DFA53_transition; - - static { - int numStates = DFA53_transitionS.length; - DFA53_transition = new short[numStates][]; - for (int i=0; i"; - static final String[] DFA57_transitionS = { - "\1\2\1\uffff\3\2\1\uffff\3\2\2\uffff\3\2\1\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\4\2\1\uffff\5\2\5\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\2\2\1\1\2\uffff\25\2\3\uffff\7\2\1\uffff\5\2\1\uffff\1\2"+ - "\2\uffff\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff"+ - "\4\2\1\uffff\10\2\1\uffff\1\2\2\uffff\1\2\14\uffff\3\2\3\uffff\1\2\6"+ - "\uffff\2\2\2\uffff\3\2\3\uffff\2\2\1\uffff\3\2", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - - static final short[] DFA57_eot = DFA.unpackEncodedString(DFA57_eotS); - static final short[] DFA57_eof = DFA.unpackEncodedString(DFA57_eofS); - static final char[] DFA57_min = DFA.unpackEncodedStringToUnsignedChars(DFA57_minS); - static final char[] DFA57_max = DFA.unpackEncodedStringToUnsignedChars(DFA57_maxS); - static final short[] DFA57_accept = DFA.unpackEncodedString(DFA57_acceptS); - static final short[] DFA57_special = DFA.unpackEncodedString(DFA57_specialS); - static final short[][] DFA57_transition; - - static { - int numStates = DFA57_transitionS.length; - DFA57_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 57, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA65_eotS = - "\162\uffff"; - static final String DFA65_eofS = - "\1\64\161\uffff"; - static final String DFA65_minS = - "\1\4\157\0\2\uffff"; - static final String DFA65_maxS = - "\1\u00c9\157\0\2\uffff"; - static final String DFA65_acceptS = - "\160\uffff\1\1\1\2"; - static final String DFA65_specialS = - "\1\uffff\1\0\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\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\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\63\1\64\1\65\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\104"+ - "\1\105\1\106\1\107\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\126\1\127\1\130\1\131\1\132\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\151\1\152\1\153\1\154\1\155\1\156\2\uffff}>"; - static final String[] DFA65_transitionS = { - "\1\63\1\uffff\1\144\1\47\1\16\1\3\1\47\1\111\1\127\2\uffff\1\144\1\27"+ - "\1\74\1\uffff\1\110\1\144\1\103\1\56\1\6\1\145\1\65\1\uffff\1\100\1\75"+ - "\2\144\1\42\1\uffff\1\121\1\57\1\75\1\120\1\7\1\47\1\155\1\45\1\52\1"+ - "\157\5\uffff\1\147\1\102\1\50\1\152\1\144\1\60\1\132\1\107\1\140\1\40"+ - "\1\134\1\5\1\144\1\150\1\153\2\uffff\1\17\1\66\1\uffff\1\51\4\uffff\1"+ - "\143\1\122\1\66\1\135\1\44\1\142\1\126\1\7\1\66\1\106\1\1\2\uffff\1\66"+ - "\1\62\1\124\1\26\1\46\1\144\1\33\1\47\1\76\1\136\1\41\1\123\1\31\1\66"+ - "\1\10\1\53\1\154\1\67\1\47\1\144\1\125\2\uffff\1\2\1\130\1\61\1\32\1"+ - "\13\1\12\1\71\1\20\1\uffff\1\77\1\70\1\72\1\73\1\43\1\uffff\1\105\2\uffff"+ - "\1\112\1\115\1\11\1\21\1\25\1\uffff\1\144\2\uffff\1\113\1\100\1\104\1"+ - "\131\1\uffff\1\54\1\4\4\47\1\uffff\1\133\1\116\1\55\1\14\1\146\1\101"+ - "\1\156\1\37\1\uffff\1\15\2\uffff\1\36\14\uffff\1\34\1\23\1\34\3\uffff"+ - "\1\35\6\uffff\1\141\1\151\2\uffff\1\101\1\137\1\22\3\uffff\1\114\1\117"+ - "\1\uffff\1\47\1\24\1\30", - "\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", - "\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", - "\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", - "\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", - "\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[] DFA65_eot = DFA.unpackEncodedString(DFA65_eotS); - static final short[] DFA65_eof = DFA.unpackEncodedString(DFA65_eofS); - static final char[] DFA65_min = DFA.unpackEncodedStringToUnsignedChars(DFA65_minS); - static final char[] DFA65_max = DFA.unpackEncodedStringToUnsignedChars(DFA65_maxS); - static final short[] DFA65_accept = DFA.unpackEncodedString(DFA65_acceptS); - static final short[] DFA65_special = DFA.unpackEncodedString(DFA65_specialS); - static final short[][] DFA65_transition; - - static { - int numStates = DFA65_transitionS.length; - DFA65_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA65_2 = input.LA(1); - - int index65_2 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_2); - if ( s>=0 ) return s; - break; - - case 2 : - int LA65_3 = input.LA(1); - - int index65_3 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_3); - if ( s>=0 ) return s; - break; - - case 3 : - int LA65_4 = input.LA(1); - - int index65_4 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_4); - if ( s>=0 ) return s; - break; - - case 4 : - int LA65_5 = input.LA(1); - - int index65_5 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_5); - if ( s>=0 ) return s; - break; - - case 5 : - int LA65_6 = input.LA(1); - - int index65_6 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_6); - if ( s>=0 ) return s; - break; - - case 6 : - int LA65_7 = input.LA(1); - - int index65_7 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_7); - if ( s>=0 ) return s; - break; - - case 7 : - int LA65_8 = input.LA(1); - - int index65_8 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_8); - if ( s>=0 ) return s; - break; - - case 8 : - int LA65_9 = input.LA(1); - - int index65_9 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_9); - if ( s>=0 ) return s; - break; - - case 9 : - int LA65_10 = input.LA(1); - - int index65_10 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_10); - if ( s>=0 ) return s; - break; - - case 10 : - int LA65_11 = input.LA(1); - - int index65_11 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_11); - if ( s>=0 ) return s; - break; - - case 11 : - int LA65_12 = input.LA(1); - - int index65_12 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_12); - if ( s>=0 ) return s; - break; - - case 12 : - int LA65_13 = input.LA(1); - - int index65_13 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_13); - if ( s>=0 ) return s; - break; - - case 13 : - int LA65_14 = input.LA(1); - - int index65_14 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_14); - if ( s>=0 ) return s; - break; - - case 14 : - int LA65_15 = input.LA(1); - - int index65_15 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_15); - if ( s>=0 ) return s; - break; - - case 15 : - int LA65_16 = input.LA(1); - - int index65_16 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_16); - if ( s>=0 ) return s; - break; - - case 16 : - int LA65_17 = input.LA(1); - - int index65_17 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_17); - if ( s>=0 ) return s; - break; - - case 17 : - int LA65_18 = input.LA(1); - - int index65_18 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_18); - if ( s>=0 ) return s; - break; - - case 18 : - int LA65_19 = input.LA(1); - - int index65_19 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_19); - if ( s>=0 ) return s; - break; - - case 19 : - int LA65_20 = input.LA(1); - - int index65_20 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_20); - if ( s>=0 ) return s; - break; - - case 20 : - int LA65_21 = input.LA(1); - - int index65_21 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_21); - if ( s>=0 ) return s; - break; - - case 21 : - int LA65_22 = input.LA(1); - - int index65_22 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_22); - if ( s>=0 ) return s; - break; - - case 22 : - int LA65_23 = input.LA(1); - - int index65_23 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_23); - if ( s>=0 ) return s; - break; - - case 23 : - int LA65_24 = input.LA(1); - - int index65_24 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_24); - if ( s>=0 ) return s; - break; - - case 24 : - int LA65_25 = input.LA(1); - - int index65_25 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_25); - if ( s>=0 ) return s; - break; - - case 25 : - int LA65_26 = input.LA(1); - - int index65_26 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_26); - if ( s>=0 ) return s; - break; - - case 26 : - int LA65_27 = input.LA(1); - - int index65_27 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_27); - if ( s>=0 ) return s; - break; - - case 27 : - int LA65_28 = input.LA(1); - - int index65_28 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_28); - if ( s>=0 ) return s; - break; - - case 28 : - int LA65_29 = input.LA(1); - - int index65_29 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_29); - if ( s>=0 ) return s; - break; - - case 29 : - int LA65_30 = input.LA(1); - - int index65_30 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_30); - if ( s>=0 ) return s; - break; - - case 30 : - int LA65_31 = input.LA(1); - - int index65_31 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_31); - if ( s>=0 ) return s; - break; - - case 31 : - int LA65_32 = input.LA(1); - - int index65_32 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_32); - if ( s>=0 ) return s; - break; - - case 32 : - int LA65_33 = input.LA(1); - - int index65_33 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_33); - if ( s>=0 ) return s; - break; - - case 33 : - int LA65_34 = input.LA(1); - - int index65_34 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_34); - if ( s>=0 ) return s; - break; - - case 34 : - int LA65_35 = input.LA(1); - - int index65_35 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_35); - if ( s>=0 ) return s; - break; - - case 35 : - int LA65_36 = input.LA(1); - - int index65_36 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_36); - if ( s>=0 ) return s; - break; - - case 36 : - int LA65_37 = input.LA(1); - - int index65_37 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_37); - if ( s>=0 ) return s; - break; - - case 37 : - int LA65_38 = input.LA(1); - - int index65_38 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_38); - if ( s>=0 ) return s; - break; - - case 38 : - int LA65_39 = input.LA(1); - - int index65_39 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_39); - if ( s>=0 ) return s; - break; - - case 39 : - int LA65_40 = input.LA(1); - - int index65_40 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_40); - if ( s>=0 ) return s; - break; - - case 40 : - int LA65_41 = input.LA(1); - - int index65_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_41); - if ( s>=0 ) return s; - break; - - case 41 : - int LA65_42 = input.LA(1); - - int index65_42 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_42); - if ( s>=0 ) return s; - break; - - case 42 : - int LA65_43 = input.LA(1); - - int index65_43 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_43); - if ( s>=0 ) return s; - break; - - case 43 : - int LA65_44 = input.LA(1); - - int index65_44 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_44); - if ( s>=0 ) return s; - break; - - case 44 : - int LA65_45 = input.LA(1); - - int index65_45 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_45); - if ( s>=0 ) return s; - break; - - case 45 : - int LA65_46 = input.LA(1); - - int index65_46 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_46); - if ( s>=0 ) return s; - break; - - case 46 : - int LA65_47 = input.LA(1); - - int index65_47 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_47); - if ( s>=0 ) return s; - break; - - case 47 : - int LA65_48 = input.LA(1); - - int index65_48 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_48); - if ( s>=0 ) return s; - break; - - case 48 : - int LA65_49 = input.LA(1); - - int index65_49 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_49); - if ( s>=0 ) return s; - break; - - case 49 : - int LA65_50 = input.LA(1); - - int index65_50 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_50); - if ( s>=0 ) return s; - break; - - case 50 : - int LA65_51 = input.LA(1); - - int index65_51 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_51); - if ( s>=0 ) return s; - break; - - case 51 : - int LA65_52 = input.LA(1); - - int index65_52 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_52); - if ( s>=0 ) return s; - break; - - case 52 : - int LA65_53 = input.LA(1); - - int index65_53 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_53); - if ( s>=0 ) return s; - break; - - case 53 : - int LA65_54 = input.LA(1); - - int index65_54 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_54); - if ( s>=0 ) return s; - break; - - case 54 : - int LA65_55 = input.LA(1); - - int index65_55 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_55); - if ( s>=0 ) return s; - break; - - case 55 : - int LA65_56 = input.LA(1); - - int index65_56 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_56); - if ( s>=0 ) return s; - break; - - case 56 : - int LA65_57 = input.LA(1); - - int index65_57 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_57); - if ( s>=0 ) return s; - break; - - case 57 : - int LA65_58 = input.LA(1); - - int index65_58 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_58); - if ( s>=0 ) return s; - break; - - case 58 : - int LA65_59 = input.LA(1); - - int index65_59 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_59); - if ( s>=0 ) return s; - break; - - case 59 : - int LA65_60 = input.LA(1); - - int index65_60 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_60); - if ( s>=0 ) return s; - break; - - case 60 : - int LA65_61 = input.LA(1); - - int index65_61 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_61); - if ( s>=0 ) return s; - break; - - case 61 : - int LA65_62 = input.LA(1); - - int index65_62 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_62); - if ( s>=0 ) return s; - break; - - case 62 : - int LA65_63 = input.LA(1); - - int index65_63 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_63); - if ( s>=0 ) return s; - break; - - case 63 : - int LA65_64 = input.LA(1); - - int index65_64 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_64); - if ( s>=0 ) return s; - break; - - case 64 : - int LA65_65 = input.LA(1); - - int index65_65 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_65); - if ( s>=0 ) return s; - break; - - case 65 : - int LA65_66 = input.LA(1); - - int index65_66 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_66); - if ( s>=0 ) return s; - break; - - case 66 : - int LA65_67 = input.LA(1); - - int index65_67 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_67); - if ( s>=0 ) return s; - break; - - case 67 : - int LA65_68 = input.LA(1); - - int index65_68 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_68); - if ( s>=0 ) return s; - break; - - case 68 : - int LA65_69 = input.LA(1); - - int index65_69 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_69); - if ( s>=0 ) return s; - break; - - case 69 : - int LA65_70 = input.LA(1); - - int index65_70 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_70); - if ( s>=0 ) return s; - break; - - case 70 : - int LA65_71 = input.LA(1); - - int index65_71 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_71); - if ( s>=0 ) return s; - break; - - case 71 : - int LA65_72 = input.LA(1); - - int index65_72 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_72); - if ( s>=0 ) return s; - break; - - case 72 : - int LA65_73 = input.LA(1); - - int index65_73 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_73); - if ( s>=0 ) return s; - break; - - case 73 : - int LA65_74 = input.LA(1); - - int index65_74 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_74); - if ( s>=0 ) return s; - break; - - case 74 : - int LA65_75 = input.LA(1); - - int index65_75 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_75); - if ( s>=0 ) return s; - break; - - case 75 : - int LA65_76 = input.LA(1); - - int index65_76 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_76); - if ( s>=0 ) return s; - break; - - case 76 : - int LA65_77 = input.LA(1); - - int index65_77 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_77); - if ( s>=0 ) return s; - break; - - case 77 : - int LA65_78 = input.LA(1); - - int index65_78 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_78); - if ( s>=0 ) return s; - break; - - case 78 : - int LA65_79 = input.LA(1); - - int index65_79 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_79); - if ( s>=0 ) return s; - break; - - case 79 : - int LA65_80 = input.LA(1); - - int index65_80 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_80); - if ( s>=0 ) return s; - break; - - case 80 : - int LA65_81 = input.LA(1); - - int index65_81 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_81); - if ( s>=0 ) return s; - break; - - case 81 : - int LA65_82 = input.LA(1); - - int index65_82 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_82); - if ( s>=0 ) return s; - break; - - case 82 : - int LA65_83 = input.LA(1); - - int index65_83 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_83); - if ( s>=0 ) return s; - break; - - case 83 : - int LA65_84 = input.LA(1); - - int index65_84 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_84); - if ( s>=0 ) return s; - break; - - case 84 : - int LA65_85 = input.LA(1); - - int index65_85 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_85); - if ( s>=0 ) return s; - break; - - case 85 : - int LA65_86 = input.LA(1); - - int index65_86 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_86); - if ( s>=0 ) return s; - break; - - case 86 : - int LA65_87 = input.LA(1); - - int index65_87 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_87); - if ( s>=0 ) return s; - break; - - case 87 : - int LA65_88 = input.LA(1); - - int index65_88 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_88); - if ( s>=0 ) return s; - break; - - case 88 : - int LA65_89 = input.LA(1); - - int index65_89 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_89); - if ( s>=0 ) return s; - break; - - case 89 : - int LA65_90 = input.LA(1); - - int index65_90 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_90); - if ( s>=0 ) return s; - break; - - case 90 : - int LA65_91 = input.LA(1); - - int index65_91 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_91); - if ( s>=0 ) return s; - break; - - case 91 : - int LA65_92 = input.LA(1); - - int index65_92 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_92); - if ( s>=0 ) return s; - break; - - case 92 : - int LA65_93 = input.LA(1); - - int index65_93 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_93); - if ( s>=0 ) return s; - break; - - case 93 : - int LA65_94 = input.LA(1); - - int index65_94 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_94); - if ( s>=0 ) return s; - break; - - case 94 : - int LA65_95 = input.LA(1); - - int index65_95 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_95); - if ( s>=0 ) return s; - break; - - case 95 : - int LA65_96 = input.LA(1); - - int index65_96 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_96); - if ( s>=0 ) return s; - break; - - case 96 : - int LA65_97 = input.LA(1); - - int index65_97 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_97); - if ( s>=0 ) return s; - break; - - case 97 : - int LA65_98 = input.LA(1); - - int index65_98 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_98); - if ( s>=0 ) return s; - break; - - case 98 : - int LA65_99 = input.LA(1); - - int index65_99 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_99); - if ( s>=0 ) return s; - break; - - case 99 : - int LA65_100 = input.LA(1); - - int index65_100 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_100); - if ( s>=0 ) return s; - break; - - case 100 : - int LA65_101 = input.LA(1); - - int index65_101 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_101); - if ( s>=0 ) return s; - break; - - case 101 : - int LA65_102 = input.LA(1); - - int index65_102 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_102); - if ( s>=0 ) return s; - break; - - case 102 : - int LA65_103 = input.LA(1); - - int index65_103 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_103); - if ( s>=0 ) return s; - break; - - case 103 : - int LA65_104 = input.LA(1); - - int index65_104 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_104); - if ( s>=0 ) return s; - break; - - case 104 : - int LA65_105 = input.LA(1); - - int index65_105 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_105); - if ( s>=0 ) return s; - break; - - case 105 : - int LA65_106 = input.LA(1); - - int index65_106 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_106); - if ( s>=0 ) return s; - break; - - case 106 : - int LA65_107 = input.LA(1); - - int index65_107 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_107); - if ( s>=0 ) return s; - break; - - case 107 : - int LA65_108 = input.LA(1); - - int index65_108 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_108); - if ( s>=0 ) return s; - break; - - case 108 : - int LA65_109 = input.LA(1); - - int index65_109 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_109); - if ( s>=0 ) return s; - break; - - case 109 : - int LA65_110 = input.LA(1); - - int index65_110 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_110); - if ( s>=0 ) return s; - break; - - case 110 : - int LA65_111 = input.LA(1); - - int index65_111 = input.index(); - input.rewind(); - s = -1; - if ( (synpred90_Delphi()) ) {s = 112;} - else if ( (true) ) {s = 113;} - - input.seek(index65_111); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 65, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA66_eotS = - "\145\uffff"; - static final String DFA66_eofS = - "\1\2\144\uffff"; - static final String DFA66_minS = - "\1\4\1\0\143\uffff"; - static final String DFA66_maxS = - "\1\u00c9\1\0\143\uffff"; - static final String DFA66_acceptS = - "\2\uffff\1\2\141\uffff\1\1"; - static final String DFA66_specialS = - "\1\uffff\1\0\143\uffff}>"; - static final String[] DFA66_transitionS = { - "\1\2\1\uffff\3\2\1\uffff\3\2\2\uffff\3\2\1\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\4\2\1\uffff\5\2\5\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\1\2\2\uffff\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff"+ - "\4\2\1\uffff\10\2\1\uffff\1\2\2\uffff\1\2\14\uffff\3\2\3\uffff\1\2\6"+ - "\uffff\2\2\2\uffff\3\2\3\uffff\2\2\1\uffff\3\2", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - - static final short[] DFA66_eot = DFA.unpackEncodedString(DFA66_eotS); - static final short[] DFA66_eof = DFA.unpackEncodedString(DFA66_eofS); - static final char[] DFA66_min = DFA.unpackEncodedStringToUnsignedChars(DFA66_minS); - static final char[] DFA66_max = DFA.unpackEncodedStringToUnsignedChars(DFA66_maxS); - static final short[] DFA66_accept = DFA.unpackEncodedString(DFA66_acceptS); - static final short[] DFA66_special = DFA.unpackEncodedString(DFA66_specialS); - static final short[][] DFA66_transition; - - static { - int numStates = DFA66_transitionS.length; - DFA66_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 66, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA68_eotS = - "\146\uffff"; - static final String DFA68_eofS = - "\1\5\145\uffff"; - static final String DFA68_minS = - "\1\4\4\0\40\uffff\1\0\3\uffff\1\0\7\uffff\1\0\14\uffff\1\0\1\uffff\3\0"+ - "\2\uffff\2\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\6\uffff\1\0\15\uffff"; - static final String DFA68_maxS = - "\1\u00c9\4\0\40\uffff\1\0\3\uffff\1\0\7\uffff\1\0\14\uffff\1\0\1\uffff"+ - "\3\0\2\uffff\2\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\6\uffff\1\0\15\uffff"; - static final String DFA68_acceptS = - "\5\uffff\1\2\136\uffff\1\1\1\3"; - static final String DFA68_specialS = - "\1\uffff\1\0\1\1\1\2\1\3\40\uffff\1\4\3\uffff\1\5\7\uffff\1\6\14\uffff"+ - "\1\7\1\uffff\1\10\1\11\1\12\2\uffff\1\13\1\14\1\uffff\1\15\5\uffff\1\16"+ - "\2\uffff\1\17\6\uffff\1\20\15\uffff}>"; - static final String[] DFA68_transitionS = { - "\1\5\1\uffff\1\130\1\5\1\130\1\uffff\3\5\2\uffff\1\130\2\5\1\uffff\1"+ - "\5\1\130\5\5\1\uffff\2\5\2\130\1\5\1\uffff\1\105\3\5\1\uffff\5\5\5\uffff"+ - "\4\5\1\130\1\5\1\116\4\5\1\uffff\1\130\2\5\2\uffff\2\5\1\uffff\1\5\4"+ - "\uffff\1\5\1\106\1\5\1\121\3\5\1\uffff\3\5\2\uffff\2\5\1\110\1\4\1\5"+ - "\1\130\2\5\1\61\5\5\1\130\2\5\1\51\1\5\1\130\1\5\3\uffff\3\5\1\130\3"+ - "\5\1\uffff\5\5\1\uffff\1\5\2\uffff\1\76\1\101\1\uffff\1\130\1\3\1\uffff"+ - "\1\130\2\uffff\4\5\1\uffff\1\5\1\uffff\4\5\1\uffff\1\5\1\102\1\45\1\130"+ - "\4\5\1\uffff\1\5\2\uffff\1\5\14\uffff\1\5\1\1\1\5\3\uffff\1\5\6\uffff"+ - "\2\5\2\uffff\2\5\1\130\3\uffff\1\100\1\5\1\uffff\1\5\1\2\1\5", - "\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[] DFA68_eot = DFA.unpackEncodedString(DFA68_eotS); - static final short[] DFA68_eof = DFA.unpackEncodedString(DFA68_eofS); - static final char[] DFA68_min = DFA.unpackEncodedStringToUnsignedChars(DFA68_minS); - static final char[] DFA68_max = DFA.unpackEncodedStringToUnsignedChars(DFA68_maxS); - static final short[] DFA68_accept = DFA.unpackEncodedString(DFA68_acceptS); - static final short[] DFA68_special = DFA.unpackEncodedString(DFA68_specialS); - static final short[][] DFA68_transition; - - static { - int numStates = DFA68_transitionS.length; - DFA68_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA68_2 = input.LA(1); - - int index68_2 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_2); - if ( s>=0 ) return s; - break; - - case 2 : - int LA68_3 = input.LA(1); - - int index68_3 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_3); - if ( s>=0 ) return s; - break; - - case 3 : - int LA68_4 = input.LA(1); - - int index68_4 = input.index(); - input.rewind(); - s = -1; - if ( (synpred94_Delphi()) ) {s = 5;} - else if ( (true) ) {s = 101;} - - input.seek(index68_4); - if ( s>=0 ) return s; - break; - - case 4 : - int LA68_37 = input.LA(1); - - int index68_37 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_37); - if ( s>=0 ) return s; - break; - - case 5 : - int LA68_41 = input.LA(1); - - int index68_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_41); - if ( s>=0 ) return s; - break; - - case 6 : - int LA68_49 = input.LA(1); - - int index68_49 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_49); - if ( s>=0 ) return s; - break; - - case 7 : - int LA68_62 = input.LA(1); - - int index68_62 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_62); - if ( s>=0 ) return s; - break; - - case 8 : - int LA68_64 = input.LA(1); - - int index68_64 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_64); - if ( s>=0 ) return s; - break; - - case 9 : - int LA68_65 = input.LA(1); - - int index68_65 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_65); - if ( s>=0 ) return s; - break; - - case 10 : - int LA68_66 = input.LA(1); - - int index68_66 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_66); - if ( s>=0 ) return s; - break; - - case 11 : - int LA68_69 = input.LA(1); - - int index68_69 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_69); - if ( s>=0 ) return s; - break; - - case 12 : - int LA68_70 = input.LA(1); - - int index68_70 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_70); - if ( s>=0 ) return s; - break; - - case 13 : - int LA68_72 = input.LA(1); - - int index68_72 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_72); - if ( s>=0 ) return s; - break; - - case 14 : - int LA68_78 = input.LA(1); - - int index68_78 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_78); - if ( s>=0 ) return s; - break; - - case 15 : - int LA68_81 = input.LA(1); - - int index68_81 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_81); - if ( s>=0 ) return s; - break; - - case 16 : - int LA68_88 = input.LA(1); - - int index68_88 = input.index(); - input.rewind(); - s = -1; - if ( (synpred93_Delphi()) ) {s = 100;} - else if ( (synpred94_Delphi()) ) {s = 5;} - - input.seek(index68_88); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 68, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA74_eotS = - "\22\uffff"; - static final String DFA74_eofS = - "\22\uffff"; - static final String DFA74_minS = - "\1\132\1\6\1\30\1\u00ae\1\30\1\6\1\0\2\uffff\1\30\1\0\1\31\1\u00ae\1\31"+ - "\1\uffff\2\0\1\31"; - static final String DFA74_maxS = - "\1\132\1\u00c8\1\u008d\1\u00ae\1\u008d\1\u00c8\1\0\2\uffff\1\u008d\1\0"+ - "\1\132\1\u00ae\1\132\1\uffff\2\0\1\132"; - static final String DFA74_acceptS = - "\7\uffff\1\2\1\3\5\uffff\1\1\3\uffff"; - static final String DFA74_specialS = - "\6\uffff\1\1\3\uffff\1\2\4\uffff\1\3\1\0\1\uffff}>"; - static final String[] DFA74_transitionS = { - "\1\1", - "\1\4\1\uffff\1\4\6\uffff\1\4\4\uffff\1\4\10\uffff\2\4\2\uffff\1\4\22"+ - "\uffff\1\4\1\uffff\1\4\5\uffff\1\4\15\uffff\1\4\1\uffff\1\4\13\uffff"+ - "\1\4\2\uffff\1\4\2\uffff\1\4\5\uffff\1\4\2\uffff\1\4\1\uffff\1\4\7\uffff"+ - "\1\4\15\uffff\2\4\1\uffff\2\4\1\uffff\1\4\17\uffff\3\4\26\uffff\1\2\21"+ - "\uffff\1\4\3\uffff\1\4\3\uffff\1\3", - "\1\10\1\5\16\uffff\1\7\33\uffff\1\6\25\uffff\1\7\62\uffff\1\10", - "\1\11", - "\1\10\1\5\16\uffff\1\7\33\uffff\1\12\25\uffff\1\7\62\uffff\1\10", - "\1\15\1\uffff\1\15\6\uffff\1\15\4\uffff\1\15\10\uffff\2\15\2\uffff\1"+ - "\15\22\uffff\1\15\1\uffff\1\15\5\uffff\1\15\15\uffff\1\15\1\uffff\1\15"+ - "\13\uffff\1\15\2\uffff\1\15\2\uffff\1\15\5\uffff\1\15\2\uffff\1\15\1"+ - "\uffff\1\15\7\uffff\1\15\15\uffff\2\15\1\uffff\2\15\1\uffff\1\15\17\uffff"+ - "\3\15\26\uffff\1\13\21\uffff\1\15\3\uffff\1\15\3\uffff\1\14", - "\1\uffff", - "", - "", - "\1\10\1\5\16\uffff\1\7\33\uffff\1\17\25\uffff\1\7\62\uffff\1\10", - "\1\uffff", - "\1\5\16\uffff\1\7\33\uffff\1\20\25\uffff\1\7", - "\1\21", - "\1\5\16\uffff\1\7\33\uffff\1\20\25\uffff\1\7", - "", - "\1\uffff", - "\1\uffff", - "\1\5\16\uffff\1\7\33\uffff\1\20\25\uffff\1\7" - }; - - static final short[] DFA74_eot = DFA.unpackEncodedString(DFA74_eotS); - static final short[] DFA74_eof = DFA.unpackEncodedString(DFA74_eofS); - static final char[] DFA74_min = DFA.unpackEncodedStringToUnsignedChars(DFA74_minS); - static final char[] DFA74_max = DFA.unpackEncodedStringToUnsignedChars(DFA74_maxS); - static final short[] DFA74_accept = DFA.unpackEncodedString(DFA74_acceptS); - static final short[] DFA74_special = DFA.unpackEncodedString(DFA74_specialS); - static final short[][] DFA74_transition; - - static { - int numStates = DFA74_transitionS.length; - DFA74_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA74_6 = input.LA(1); - - int index74_6 = input.index(); - input.rewind(); - s = -1; - if ( (synpred100_Delphi()) ) {s = 14;} - else if ( (synpred101_Delphi()) ) {s = 7;} - else if ( (true) ) {s = 8;} - - input.seek(index74_6); - if ( s>=0 ) return s; - break; - - case 2 : - int LA74_10 = input.LA(1); - - int index74_10 = input.index(); - input.rewind(); - s = -1; - if ( (synpred100_Delphi()) ) {s = 14;} - else if ( (synpred101_Delphi()) ) {s = 7;} - else if ( (true) ) {s = 8;} - - input.seek(index74_10); - if ( s>=0 ) return s; - break; - - case 3 : - int LA74_15 = input.LA(1); - - int index74_15 = input.index(); - input.rewind(); - s = -1; - if ( (synpred100_Delphi()) ) {s = 14;} - else if ( (synpred101_Delphi()) ) {s = 7;} - else if ( (true) ) {s = 8;} - - input.seek(index74_15); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 74, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA88_eotS = - "\u00b1\uffff"; - static final String DFA88_eofS = - "\1\2\u00b0\uffff"; - static final String DFA88_minS = - "\1\4\1\6\1\uffff\1\7\1\u00ae\1\7\3\6\1\0\1\7\1\0\1\7\1\u00ae\2\7\1\u00ae"+ - "\2\7\1\u00ae\1\7\1\uffff\2\0\1\7\1\0\1\6\1\7\3\6\1\7\2\6\1\0\1\7\2\0\1"+ - "\7\1\u00ae\1\7\1\0\1\7\1\u00ae\1\7\1\30\1\u00ae\1\30\1\7\1\u00ae\2\7\1"+ - "\u00ae\2\7\1\u00ae\1\7\1\0\3\6\1\7\1\6\2\7\1\6\1\7\1\30\2\6\1\7\1\0\1"+ - "\7\1\0\1\6\1\7\3\6\1\7\1\0\1\7\1\u00ae\2\7\1\u00ae\2\7\1\u00ae\1\7\1\0"+ - "\1\31\1\u00ae\1\31\1\7\1\u00ae\1\7\2\0\1\7\1\u00ae\1\7\1\0\1\7\1\u00ae"+ - "\1\7\1\30\1\u00ae\1\30\1\7\1\u00ae\1\7\1\6\1\7\1\6\4\7\1\31\1\6\1\7\3"+ - "\6\1\7\1\6\2\7\1\6\1\7\1\30\2\6\1\7\1\0\1\7\1\u00ae\1\7\2\0\1\7\1\u00ae"+ - "\2\7\1\u00ae\2\7\1\u00ae\1\7\1\0\1\31\1\u00ae\1\31\1\7\1\u00ae\1\7\1\0"+ - "\1\6\1\7\1\6\1\7\1\6\4\7\1\31\1\6\1\7\1\0\1\7\1\u00ae\1\7\1\0\1\6\1\7"; - static final String DFA88_maxS = - "\2\u00c9\1\uffff\1\u00c7\1\u00ae\1\u00c7\1\u00c8\2\u00c9\1\0\1\u00c7\1"+ - "\0\1\u00c7\1\u00ae\2\u00c7\1\u00ae\2\u00c7\1\u00ae\1\u00c7\1\uffff\2\0"+ - "\1\u00c7\1\0\1\u00c9\1\u00c7\2\u00c8\1\u00c9\1\u00c7\1\u00c8\1\u00c9\1"+ - "\0\1\u00c7\2\0\1\u00c7\1\u00ae\1\u00c7\1\0\1\u00c7\1\u00ae\1\u00c7\1\u008d"+ - "\1\u00ae\1\u008d\1\u00c7\1\u00ae\2\u00c7\1\u00ae\2\u00c7\1\u00ae\1\u00c7"+ - "\1\0\1\u00c9\1\u00c8\1\u00c9\1\u00c7\1\u00c9\2\u00c7\1\u00c8\1\u00c7\1"+ - "\u008d\2\u00c9\1\u00c7\1\0\1\u00c7\1\0\1\u00c9\1\u00c7\2\u00c8\1\u00c9"+ - "\1\u00c7\1\0\1\u00c7\1\u00ae\2\u00c7\1\u00ae\2\u00c7\1\u00ae\1\u00c7\1"+ - "\0\1\132\1\u00ae\1\132\1\u00c7\1\u00ae\1\u00c7\2\0\1\u00c7\1\u00ae\1\u00c7"+ - "\1\0\1\u00c7\1\u00ae\1\u00c7\1\u008d\1\u00ae\1\u008d\1\u00c7\1\u00ae\1"+ - "\u00c7\1\u00c9\1\u00c7\1\u00c9\4\u00c7\1\132\1\u00c9\1\u00c7\1\u00c9\1"+ - "\u00c8\1\u00c9\1\u00c7\1\u00c9\2\u00c7\1\u00c8\1\u00c7\1\u008d\2\u00c9"+ - "\1\u00c7\1\0\1\u00c7\1\u00ae\1\u00c7\2\0\1\u00c7\1\u00ae\2\u00c7\1\u00ae"+ - "\2\u00c7\1\u00ae\1\u00c7\1\0\1\132\1\u00ae\1\132\1\u00c7\1\u00ae\1\u00c7"+ - "\1\0\1\u00c9\1\u00c7\1\u00c9\1\u00c7\1\u00c9\4\u00c7\1\132\1\u00c9\1\u00c7"+ - "\1\0\1\u00c7\1\u00ae\1\u00c7\1\0\1\u00c9\1\u00c7"; - static final String DFA88_acceptS = - "\2\uffff\1\2\22\uffff\1\1\u009b\uffff"; - static final String DFA88_specialS = - "\11\uffff\1\1\1\uffff\1\0\12\uffff\1\3\1\4\1\uffff\1\5\10\uffff\1\13\1"+ - "\uffff\1\15\1\6\3\uffff\1\10\17\uffff\1\17\15\uffff\1\21\1\uffff\1\12"+ - "\6\uffff\1\11\11\uffff\1\7\6\uffff\1\22\1\23\3\uffff\1\27\40\uffff\1\2"+ - "\3\uffff\1\24\1\26\11\uffff\1\25\6\uffff\1\14\14\uffff\1\20\3\uffff\1"+ - "\16\2\uffff}>"; - static final String[] DFA88_transitionS = { - "\1\2\1\uffff\3\2\1\uffff\3\2\2\uffff\3\2\1\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\4\2\1\uffff\5\2\5\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\1\2\2\uffff\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff"+ - "\4\2\1\uffff\10\2\1\uffff\1\2\2\uffff\1\2\14\uffff\3\2\3\uffff\1\2\6"+ - "\uffff\2\2\2\uffff\3\2\3\uffff\2\2\1\uffff\3\2", - "\1\5\1\2\1\5\1\uffff\1\2\4\uffff\1\5\1\2\3\uffff\1\5\3\uffff\2\2\3\uffff"+ - "\2\5\1\2\1\uffff\1\5\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\5"+ - "\1\uffff\1\5\2\uffff\1\2\2\uffff\1\5\4\uffff\2\2\1\uffff\1\2\5\uffff"+ - "\1\5\1\2\1\5\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\5\2\2"+ - "\1\5\2\2\1\5\1\uffff\1\2\1\uffff\2\2\1\5\2\uffff\1\5\1\2\1\5\6\uffff"+ - "\1\2\1\5\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\5\1\uffff\2\5\1\uffff"+ - "\1\5\4\uffff\1\2\4\uffff\4\2\2\uffff\3\5\3\uffff\1\2\4\uffff\1\2\14\uffff"+ - "\1\2\1\3\1\2\3\uffff\1\2\14\uffff\1\5\3\uffff\1\5\2\uffff\1\2\1\4\1\2", - "", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\11\4\uffff\4\2\64\uffff\1\2", - "\1\12", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\13\4\uffff\4\2\64\uffff\1\2", - "\1\16\1\uffff\1\16\6\uffff\1\16\4\uffff\1\16\10\uffff\2\16\2\uffff\1"+ - "\16\22\uffff\1\16\1\uffff\1\16\5\uffff\1\16\15\uffff\1\16\1\uffff\1\16"+ - "\13\uffff\1\16\2\uffff\1\16\2\uffff\1\16\5\uffff\1\16\2\uffff\1\16\1"+ - "\uffff\1\16\7\uffff\1\16\15\uffff\2\16\1\uffff\2\16\1\uffff\1\16\17\uffff"+ - "\3\16\26\uffff\1\14\21\uffff\1\16\3\uffff\1\16\3\uffff\1\15", - "\1\21\1\2\1\21\1\uffff\1\2\4\uffff\1\21\1\2\3\uffff\1\21\3\uffff\2\2"+ - "\3\uffff\2\21\1\2\1\uffff\1\21\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1"+ - "\uffff\1\21\1\uffff\1\21\2\uffff\1\2\2\uffff\1\21\15\uffff\1\21\1\uffff"+ - "\1\21\1\2\5\uffff\1\2\4\uffff\1\21\2\2\1\21\2\2\1\21\1\uffff\1\2\1\uffff"+ - "\1\2\1\uffff\1\21\2\uffff\1\21\1\2\1\21\6\uffff\1\2\1\21\1\2\7\uffff"+ - "\1\2\4\uffff\2\21\1\uffff\2\21\1\uffff\1\21\4\uffff\1\2\4\uffff\4\2\2"+ - "\uffff\3\21\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\17\1\2\3\uffff\1\2"+ - "\14\uffff\1\21\3\uffff\1\21\2\uffff\1\2\1\20\1\2", - "\1\24\1\2\1\24\1\uffff\1\2\4\uffff\1\24\1\2\3\uffff\1\24\3\uffff\2\2"+ - "\3\uffff\2\24\1\2\1\uffff\1\24\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1"+ - "\uffff\1\24\1\uffff\1\24\2\uffff\1\2\2\uffff\1\24\4\uffff\2\2\1\uffff"+ - "\1\2\5\uffff\1\24\1\2\1\24\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1"+ - "\uffff\1\24\2\2\1\24\2\2\1\24\1\uffff\1\2\1\uffff\2\2\1\24\2\uffff\1"+ - "\24\1\2\1\24\6\uffff\1\2\1\24\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\24"+ - "\1\uffff\2\24\1\uffff\1\24\4\uffff\1\2\4\uffff\4\2\2\uffff\3\24\3\uffff"+ - "\1\2\4\uffff\1\2\14\uffff\1\2\1\22\1\2\3\uffff\1\2\14\uffff\1\24\3\uffff"+ - "\1\24\2\uffff\1\2\1\23\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\26\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\27\4\uffff\4\2\64\uffff\1\2", - "\1\30", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\31\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\36\1\32\14\uffff\1\2\1\uffff"+ - "\1\34\11\uffff\1\2\21\uffff\1\33\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\37", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\36\1\32\14\uffff\1\2\1\uffff"+ - "\1\34\11\uffff\1\2\21\uffff\1\33\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\42\4\uffff\4\2\64\uffff\1\2", - "\1\43", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\44\4\uffff\4\2\64\uffff\1\2", - "", - "\1\uffff", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\45\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\50\1\2\1\50\1\uffff\1\2\4\uffff\1\50\1\2\3\uffff\1\50\3\uffff\2\2"+ - "\3\uffff\2\50\1\2\1\uffff\1\50\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1"+ - "\uffff\1\50\1\uffff\1\50\2\uffff\1\2\2\uffff\1\50\4\uffff\2\2\1\uffff"+ - "\1\2\5\uffff\1\50\1\2\1\50\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1"+ - "\uffff\1\50\2\2\1\50\2\2\1\50\1\uffff\1\2\1\uffff\2\2\1\50\2\uffff\1"+ - "\50\1\2\1\50\6\uffff\1\2\1\50\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\50"+ - "\1\uffff\2\50\1\uffff\1\50\4\uffff\1\2\4\uffff\4\2\2\uffff\3\50\3\uffff"+ - "\1\2\4\uffff\1\2\14\uffff\1\2\1\46\1\2\3\uffff\1\2\14\uffff\1\50\3\uffff"+ - "\1\50\2\uffff\1\2\1\47\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2\7\uffff"+ - "\1\2\1\uffff\1\2\27\uffff\1\51\4\uffff\4\2\64\uffff\1\2", - "\1\54\1\uffff\1\54\6\uffff\1\54\4\uffff\1\54\10\uffff\2\54\2\uffff\1"+ - "\54\22\uffff\1\54\1\uffff\1\54\5\uffff\1\54\15\uffff\1\54\1\uffff\1\54"+ - "\13\uffff\1\54\2\uffff\1\54\2\uffff\1\54\5\uffff\1\54\2\uffff\1\54\1"+ - "\uffff\1\54\7\uffff\1\54\15\uffff\2\54\1\uffff\2\54\1\uffff\1\54\17\uffff"+ - "\3\54\26\uffff\1\52\21\uffff\1\54\3\uffff\1\54\3\uffff\1\53", - "\1\57\1\uffff\1\57\6\uffff\1\57\4\uffff\1\57\10\uffff\2\57\2\uffff\1"+ - "\57\22\uffff\1\57\1\uffff\1\57\5\uffff\1\57\15\uffff\1\57\1\uffff\1\57"+ - "\13\uffff\1\57\2\uffff\1\57\2\uffff\1\57\5\uffff\1\57\2\uffff\1\57\1"+ - "\uffff\1\57\7\uffff\1\57\15\uffff\2\57\1\uffff\2\57\1\uffff\1\57\17\uffff"+ - "\3\57\26\uffff\1\55\21\uffff\1\57\3\uffff\1\57\3\uffff\1\56", - "\1\62\1\2\1\62\1\uffff\1\2\4\uffff\1\62\1\2\3\uffff\1\62\2\uffff\1\25"+ - "\2\2\2\uffff\1\25\2\62\1\2\1\uffff\1\62\4\uffff\1\2\1\uffff\1\2\11\uffff"+ - "\1\2\1\uffff\1\62\1\uffff\1\62\2\uffff\1\2\2\uffff\1\62\4\uffff\2\2\1"+ - "\uffff\1\2\5\uffff\1\62\1\2\1\62\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff"+ - "\1\2\1\uffff\1\62\2\2\1\62\2\2\1\62\1\uffff\1\2\1\uffff\2\2\1\62\2\uffff"+ - "\1\62\1\2\1\62\6\uffff\1\2\1\62\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2"+ - "\62\1\25\2\62\1\uffff\1\62\4\uffff\1\2\4\uffff\4\2\2\uffff\3\62\3\uffff"+ - "\1\2\4\uffff\1\2\14\uffff\1\2\1\60\1\2\3\uffff\1\2\14\uffff\1\62\3\uffff"+ - "\1\62\2\uffff\1\2\1\61\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\36\1\32\14\uffff\1\2\1\uffff"+ - "\1\34\11\uffff\1\2\21\uffff\1\33\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\65\1\uffff\1\65\6\uffff\1\65\4\uffff\1\65\10\uffff\2\65\2\uffff\1"+ - "\65\22\uffff\1\65\1\uffff\1\65\5\uffff\1\65\15\uffff\1\65\1\uffff\1\65"+ - "\13\uffff\1\65\2\uffff\1\65\2\uffff\1\65\5\uffff\1\65\2\uffff\1\65\1"+ - "\uffff\1\65\7\uffff\1\65\15\uffff\2\65\1\uffff\2\65\1\uffff\1\65\17\uffff"+ - "\3\65\26\uffff\1\63\21\uffff\1\65\3\uffff\1\65\3\uffff\1\64", - "\1\70\1\2\1\70\1\uffff\1\2\4\uffff\1\70\1\2\3\uffff\1\70\3\uffff\2\2"+ - "\3\uffff\2\70\1\2\1\uffff\1\70\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1"+ - "\uffff\1\70\1\uffff\1\70\2\uffff\1\2\2\uffff\1\70\15\uffff\1\70\1\uffff"+ - "\1\70\1\2\5\uffff\1\2\4\uffff\1\70\2\2\1\70\2\2\1\70\1\uffff\1\2\1\uffff"+ - "\1\2\1\uffff\1\70\2\uffff\1\70\1\2\1\70\6\uffff\1\2\1\70\1\2\7\uffff"+ - "\1\2\4\uffff\2\70\1\uffff\2\70\1\uffff\1\70\4\uffff\1\2\4\uffff\4\2\2"+ - "\uffff\3\70\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\66\1\2\3\uffff\1\2"+ - "\14\uffff\1\70\3\uffff\1\70\2\uffff\1\2\1\67\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\71\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\32\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\72\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\75", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\32\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\72\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\34\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\100", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\34\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\2\1\101\16\uffff\1\2\33\uffff\1\102\25\uffff\1\2\62\uffff\1\2", - "\1\103", - "\1\2\1\101\16\uffff\1\2\33\uffff\1\102\25\uffff\1\2\62\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\105\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\106", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\105\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\107\4\uffff\4\2\64\uffff\1\2", - "\1\110", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\111\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\116\1\112\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\113\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\117", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\116\1\112\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\113\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\2\5\uffff\4\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3\2\2\uffff"+ - "\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\1\120\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3"+ - "\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\123\1\uffff\1\123\6\uffff\1\123\4\uffff\1\123\10\uffff\2\123\2\uffff"+ - "\1\123\22\uffff\1\123\1\uffff\1\123\5\uffff\1\123\15\uffff\1\123\1\uffff"+ - "\1\123\13\uffff\1\123\2\uffff\1\123\2\uffff\1\123\5\uffff\1\123\2\uffff"+ - "\1\123\1\uffff\1\123\7\uffff\1\123\15\uffff\2\123\1\uffff\2\123\1\uffff"+ - "\1\123\17\uffff\3\123\26\uffff\1\121\21\uffff\1\123\3\uffff\1\123\3\uffff"+ - "\1\122", - "\1\126\1\2\1\126\1\uffff\1\2\4\uffff\1\126\1\2\3\uffff\1\126\3\uffff"+ - "\2\2\3\uffff\2\126\1\2\1\uffff\1\126\4\uffff\1\2\1\uffff\1\2\11\uffff"+ - "\1\2\1\uffff\1\126\1\uffff\1\126\2\uffff\1\2\2\uffff\1\126\15\uffff\1"+ - "\126\1\uffff\1\126\1\2\5\uffff\1\2\4\uffff\1\126\2\2\1\126\2\2\1\126"+ - "\1\uffff\1\2\1\uffff\1\2\1\uffff\1\126\2\uffff\1\126\1\2\1\126\6\uffff"+ - "\1\2\1\126\1\2\7\uffff\1\2\4\uffff\2\126\1\uffff\2\126\1\uffff\1\126"+ - "\4\uffff\1\2\4\uffff\4\2\2\uffff\3\126\3\uffff\1\2\4\uffff\1\2\14\uffff"+ - "\1\2\1\124\1\2\3\uffff\1\2\14\uffff\1\126\3\uffff\1\126\2\uffff\1\2\1"+ - "\125\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\32\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\72\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\131\1\2\1\131\1\uffff\1\2\4\uffff\1\131\1\2\3\uffff\1\131\3\uffff"+ - "\2\2\3\uffff\2\131\1\2\1\uffff\1\131\4\uffff\1\2\1\uffff\1\2\11\uffff"+ - "\1\2\1\uffff\1\131\1\uffff\1\131\2\uffff\1\2\2\uffff\1\131\4\uffff\2"+ - "\2\1\uffff\1\2\5\uffff\1\131\1\2\1\131\1\2\3\uffff\1\2\1\uffff\1\2\2"+ - "\uffff\1\2\1\uffff\1\131\2\2\1\131\2\2\1\131\1\uffff\1\2\1\uffff\2\2"+ - "\1\131\2\uffff\1\131\1\2\1\131\6\uffff\1\2\1\131\1\2\1\uffff\1\2\5\uffff"+ - "\1\2\4\uffff\2\131\1\uffff\2\131\1\uffff\1\131\4\uffff\1\2\4\uffff\4"+ - "\2\2\uffff\3\131\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\127\1\2\3\uffff"+ - "\1\2\14\uffff\1\131\3\uffff\1\131\2\uffff\1\2\1\130\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2\7\uffff"+ - "\1\2\1\uffff\1\2\27\uffff\1\132\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\34\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\135\1\uffff\1\135\6\uffff\1\135\4\uffff\1\135\10\uffff\2\135\2\uffff"+ - "\1\135\22\uffff\1\135\1\uffff\1\135\5\uffff\1\135\15\uffff\1\135\1\uffff"+ - "\1\135\13\uffff\1\135\2\uffff\1\135\2\uffff\1\135\5\uffff\1\135\2\uffff"+ - "\1\135\1\uffff\1\135\7\uffff\1\135\15\uffff\2\135\1\uffff\2\135\1\uffff"+ - "\1\135\17\uffff\3\135\26\uffff\1\133\21\uffff\1\135\3\uffff\1\135\3\uffff"+ - "\1\134", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2\12"+ - "\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\2\1\101\16\uffff\1\2\33\uffff\1\102\25\uffff\1\2\62\uffff\1\2", - "\1\140\1\2\1\140\1\uffff\1\2\4\uffff\1\140\1\2\3\uffff\1\140\2\uffff"+ - "\1\25\2\2\2\uffff\1\25\2\140\1\2\1\uffff\1\140\4\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\1\uffff\1\140\1\uffff\1\140\2\uffff\1\2\2\uffff\1\140"+ - "\4\uffff\2\2\1\uffff\1\2\5\uffff\1\140\1\2\1\140\1\2\3\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\1\uffff\1\140\2\2\1\140\2\2\1\140\1\uffff\1\2\1\uffff"+ - "\2\2\1\140\2\uffff\1\140\1\2\1\140\6\uffff\1\2\1\140\1\2\1\uffff\1\2"+ - "\5\uffff\1\2\4\uffff\2\140\1\25\2\140\1\uffff\1\140\4\uffff\1\2\4\uffff"+ - "\4\2\2\uffff\3\140\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\136\1\2\3\uffff"+ - "\1\2\14\uffff\1\140\3\uffff\1\140\2\uffff\1\2\1\137\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\15\uffff\1\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\2\uffff\3\2\6\uffff\3\2\7\uffff"+ - "\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff\1\141\4\uffff\4\2\2"+ - "\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3\uffff\1\2\14\uffff"+ - "\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\105\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\142\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\145\1\2\1\145\1\uffff\1\2\4\uffff\1\145\1\2\3\uffff\1\145\3\uffff"+ - "\2\2\3\uffff\2\145\1\2\1\uffff\1\145\4\uffff\1\2\1\uffff\1\2\11\uffff"+ - "\1\2\1\uffff\1\145\1\uffff\1\145\2\uffff\1\2\2\uffff\1\145\4\uffff\2"+ - "\2\1\uffff\1\2\5\uffff\1\145\1\2\1\145\1\2\3\uffff\1\2\1\uffff\1\2\2"+ - "\uffff\1\2\1\uffff\1\145\2\2\1\145\2\2\1\145\1\uffff\1\2\1\uffff\2\2"+ - "\1\145\2\uffff\1\145\1\2\1\145\6\uffff\1\2\1\145\1\2\1\uffff\1\2\5\uffff"+ - "\1\2\4\uffff\2\145\1\uffff\2\145\1\uffff\1\145\4\uffff\1\2\4\uffff\4"+ - "\2\2\uffff\3\145\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\143\1\2\3\uffff"+ - "\1\2\14\uffff\1\145\3\uffff\1\145\2\uffff\1\2\1\144\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2\7\uffff"+ - "\1\2\1\uffff\1\2\27\uffff\1\146\4\uffff\4\2\64\uffff\1\2", - "\1\151\1\uffff\1\151\6\uffff\1\151\4\uffff\1\151\10\uffff\2\151\2\uffff"+ - "\1\151\22\uffff\1\151\1\uffff\1\151\5\uffff\1\151\15\uffff\1\151\1\uffff"+ - "\1\151\13\uffff\1\151\2\uffff\1\151\2\uffff\1\151\5\uffff\1\151\2\uffff"+ - "\1\151\1\uffff\1\151\7\uffff\1\151\15\uffff\2\151\1\uffff\2\151\1\uffff"+ - "\1\151\17\uffff\3\151\26\uffff\1\147\21\uffff\1\151\3\uffff\1\151\3\uffff"+ - "\1\150", - "\1\154\1\uffff\1\154\6\uffff\1\154\4\uffff\1\154\10\uffff\2\154\2\uffff"+ - "\1\154\22\uffff\1\154\1\uffff\1\154\5\uffff\1\154\15\uffff\1\154\1\uffff"+ - "\1\154\13\uffff\1\154\2\uffff\1\154\2\uffff\1\154\5\uffff\1\154\2\uffff"+ - "\1\154\1\uffff\1\154\7\uffff\1\154\15\uffff\2\154\1\uffff\2\154\1\uffff"+ - "\1\154\17\uffff\3\154\26\uffff\1\152\21\uffff\1\154\3\uffff\1\154\3\uffff"+ - "\1\153", - "\1\157\1\2\1\157\1\uffff\1\2\4\uffff\1\157\1\2\3\uffff\1\157\2\uffff"+ - "\1\25\2\2\2\uffff\1\25\2\157\1\2\1\uffff\1\157\4\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\1\uffff\1\157\1\uffff\1\157\2\uffff\1\2\2\uffff\1\157"+ - "\4\uffff\2\2\1\uffff\1\2\5\uffff\1\157\1\2\1\157\1\2\3\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\1\uffff\1\157\2\2\1\157\2\2\1\157\1\uffff\1\2\1\uffff"+ - "\2\2\1\157\2\uffff\1\157\1\2\1\157\6\uffff\1\2\1\157\1\2\1\uffff\1\2"+ - "\5\uffff\1\2\4\uffff\2\157\1\25\2\157\1\uffff\1\157\4\uffff\1\2\4\uffff"+ - "\4\2\2\uffff\3\157\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\155\1\2\3\uffff"+ - "\1\2\14\uffff\1\157\3\uffff\1\157\2\uffff\1\2\1\156\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\116\1\112\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\113\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\161", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\163\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\164", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\163\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\165", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\101\16\uffff\1\2\33\uffff\1\166\25\uffff\1\2", - "\1\167", - "\1\101\16\uffff\1\2\33\uffff\1\166\25\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\170\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\171", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\170\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\112\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\172\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1\2"+ - "\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\175", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\112\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\172\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1\2"+ - "\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\u0080", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\2\1\u0081\16\uffff\1\2\33\uffff\1\u0082\25\uffff\1\2\62\uffff\1\2", - "\1\u0083", - "\1\2\1\u0081\16\uffff\1\2\33\uffff\1\u0082\25\uffff\1\2\62\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u0085\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\u0086", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u0085\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\2\5\uffff\4\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3\2\2\uffff"+ - "\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\1\u0087\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2"+ - "\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\u008a\1\2\1\u008a\1\uffff\1\2\4\uffff\1\u008a\1\2\3\uffff\1\u008a"+ - "\3\uffff\2\2\3\uffff\2\u008a\1\2\1\uffff\1\u008a\4\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\1\uffff\1\u008a\1\uffff\1\u008a\2\uffff\1\2\2\uffff"+ - "\1\u008a\4\uffff\2\2\1\uffff\1\2\5\uffff\1\u008a\1\2\1\u008a\1\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\u008a\2\2\1\u008a\2\2\1\u008a"+ - "\1\uffff\1\2\1\uffff\2\2\1\u008a\2\uffff\1\u008a\1\2\1\u008a\6\uffff"+ - "\1\2\1\u008a\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\u008a\1\uffff\2\u008a"+ - "\1\uffff\1\u008a\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u008a\3\uffff\1\2"+ - "\4\uffff\1\2\14\uffff\1\2\1\u0088\1\2\3\uffff\1\2\14\uffff\1\u008a\3"+ - "\uffff\1\u008a\2\uffff\1\2\1\u0089\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1"+ - "\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\163\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2\12"+ - "\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\101\16\uffff\1\2\33\uffff\1\166\25\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\15\uffff\1\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\2\uffff\3\2\6\uffff\3\2\7\uffff"+ - "\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff\1\u008b\4\uffff\4\2"+ - "\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3\uffff\1\2\14\uffff"+ - "\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\170\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\2\5\uffff\4\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3\2\2\uffff"+ - "\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\1\u008c\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2"+ - "\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\u008f\1\uffff\1\u008f\6\uffff\1\u008f\4\uffff\1\u008f\10\uffff\2"+ - "\u008f\2\uffff\1\u008f\22\uffff\1\u008f\1\uffff\1\u008f\5\uffff\1\u008f"+ - "\15\uffff\1\u008f\1\uffff\1\u008f\13\uffff\1\u008f\2\uffff\1\u008f\2"+ - "\uffff\1\u008f\5\uffff\1\u008f\2\uffff\1\u008f\1\uffff\1\u008f\7\uffff"+ - "\1\u008f\15\uffff\2\u008f\1\uffff\2\u008f\1\uffff\1\u008f\17\uffff\3"+ - "\u008f\26\uffff\1\u008d\21\uffff\1\u008f\3\uffff\1\u008f\3\uffff\1\u008e", - "\1\u0092\1\2\1\u0092\1\uffff\1\2\4\uffff\1\u0092\1\2\3\uffff\1\u0092"+ - "\3\uffff\2\2\3\uffff\2\u0092\1\2\1\uffff\1\u0092\4\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\1\uffff\1\u0092\1\uffff\1\u0092\2\uffff\1\2\2\uffff"+ - "\1\u0092\15\uffff\1\u0092\1\uffff\1\u0092\1\2\5\uffff\1\2\4\uffff\1\u0092"+ - "\2\2\1\u0092\2\2\1\u0092\1\uffff\1\2\1\uffff\1\2\1\uffff\1\u0092\2\uffff"+ - "\1\u0092\1\2\1\u0092\6\uffff\1\2\1\u0092\1\2\7\uffff\1\2\4\uffff\2\u0092"+ - "\1\uffff\2\u0092\1\uffff\1\u0092\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u0092"+ - "\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\u0090\1\2\3\uffff\1\2\14\uffff"+ - "\1\u0092\3\uffff\1\u0092\2\uffff\1\2\1\u0091\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\112\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\172\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1\2"+ - "\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u0095\1\2\1\u0095\1\uffff\1\2\4\uffff\1\u0095\1\2\3\uffff\1\u0095"+ - "\3\uffff\2\2\3\uffff\2\u0095\1\2\1\uffff\1\u0095\4\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\1\uffff\1\u0095\1\uffff\1\u0095\2\uffff\1\2\2\uffff"+ - "\1\u0095\4\uffff\2\2\1\uffff\1\2\5\uffff\1\u0095\1\2\1\u0095\1\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\u0095\2\2\1\u0095\2\2\1\u0095"+ - "\1\uffff\1\2\1\uffff\2\2\1\u0095\2\uffff\1\u0095\1\2\1\u0095\6\uffff"+ - "\1\2\1\u0095\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\u0095\1\uffff\2\u0095"+ - "\1\uffff\1\u0095\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u0095\3\uffff\1\2"+ - "\4\uffff\1\2\14\uffff\1\2\1\u0093\1\2\3\uffff\1\2\14\uffff\1\u0095\3"+ - "\uffff\1\u0095\2\uffff\1\2\1\u0094\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2\7\uffff"+ - "\1\2\1\uffff\1\2\27\uffff\1\u0096\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\u0099\1\uffff\1\u0099\6\uffff\1\u0099\4\uffff\1\u0099\10\uffff\2"+ - "\u0099\2\uffff\1\u0099\22\uffff\1\u0099\1\uffff\1\u0099\5\uffff\1\u0099"+ - "\15\uffff\1\u0099\1\uffff\1\u0099\13\uffff\1\u0099\2\uffff\1\u0099\2"+ - "\uffff\1\u0099\5\uffff\1\u0099\2\uffff\1\u0099\1\uffff\1\u0099\7\uffff"+ - "\1\u0099\15\uffff\2\u0099\1\uffff\2\u0099\1\uffff\1\u0099\17\uffff\3"+ - "\u0099\26\uffff\1\u0097\21\uffff\1\u0099\3\uffff\1\u0099\3\uffff\1\u0098", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\2\1\u0081\16\uffff\1\2\33\uffff\1\u0082\25\uffff\1\2\62\uffff\1\2", - "\1\u009c\1\2\1\u009c\1\uffff\1\2\4\uffff\1\u009c\1\2\3\uffff\1\u009c"+ - "\2\uffff\1\25\2\2\2\uffff\1\25\2\u009c\1\2\1\uffff\1\u009c\4\uffff\1"+ - "\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\u009c\1\uffff\1\u009c\2\uffff\1"+ - "\2\2\uffff\1\u009c\4\uffff\2\2\1\uffff\1\2\5\uffff\1\u009c\1\2\1\u009c"+ - "\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\u009c\2\2\1\u009c"+ - "\2\2\1\u009c\1\uffff\1\2\1\uffff\2\2\1\u009c\2\uffff\1\u009c\1\2\1\u009c"+ - "\6\uffff\1\2\1\u009c\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\u009c\1\25"+ - "\2\u009c\1\uffff\1\u009c\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u009c\3\uffff"+ - "\1\2\4\uffff\1\2\14\uffff\1\2\1\u009a\1\2\3\uffff\1\2\14\uffff\1\u009c"+ - "\3\uffff\1\u009c\2\uffff\1\2\1\u009b\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\15\uffff\1\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\2\uffff\3\2\6\uffff\3\2\7\uffff"+ - "\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff\1\u009d\4\uffff\4\2"+ - "\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3\uffff\1\2\14\uffff"+ - "\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u0085\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u009e\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\u009f", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u009e\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u00a1", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\u00a3\16\uffff\1\2\5\uffff\2\2\1\uffff\2"+ - "\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\u00a4", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\u00a3\16\uffff\1\2\5\uffff\2\2\1\uffff\2"+ - "\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u00a5", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\uffff", - "\1\u0081\16\uffff\1\2\33\uffff\1\u00a6\25\uffff\1\2", - "\1\u00a7", - "\1\u0081\16\uffff\1\2\33\uffff\1\u00a6\25\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a8\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\u00a9", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a8\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\76\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\160\5\uffff\4\2\3"+ - "\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3"+ - "\2\2\uffff\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff"+ - "\1\2\4\uffff\1\2\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff"+ - "\3\2\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u009e\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\2\5\uffff\4\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3\2\2\uffff"+ - "\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\1\u00aa\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2"+ - "\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u00ad\1\2\1\u00ad\1\uffff\1\2\4\uffff\1\u00ad\1\2\3\uffff\1\u00ad"+ - "\3\uffff\2\2\3\uffff\2\u00ad\1\2\1\uffff\1\u00ad\4\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\1\uffff\1\u00ad\1\uffff\1\u00ad\2\uffff\1\2\2\uffff"+ - "\1\u00ad\4\uffff\2\2\1\uffff\1\2\5\uffff\1\u00ad\1\2\1\u00ad\1\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\u00ad\2\2\1\u00ad\2\2\1\u00ad"+ - "\1\uffff\1\2\1\uffff\2\2\1\u00ad\2\uffff\1\u00ad\1\2\1\u00ad\6\uffff"+ - "\1\2\1\u00ad\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\u00ad\1\uffff\2\u00ad"+ - "\1\uffff\1\u00ad\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u00ad\3\uffff\1\2"+ - "\4\uffff\1\2\14\uffff\1\2\1\u00ab\1\2\3\uffff\1\2\14\uffff\1\u00ad\3"+ - "\uffff\1\u00ad\2\uffff\1\2\1\u00ac\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\u00a3\16\uffff\1\2\5\uffff\2\2\1\uffff\2"+ - "\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u0081\16\uffff\1\2\33\uffff\1\u00a6\25\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\15\uffff\1\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\2\uffff\3\2\6\uffff\3\2\7\uffff"+ - "\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff\1\u00ae\4\uffff\4\2"+ - "\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3\uffff\1\2\14\uffff"+ - "\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a8\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00af\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\u00b0", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00af\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\176\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\u00a0\5\uffff\4\2"+ - "\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff"+ - "\3\2\2\uffff\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff"+ - "\1\2\4\uffff\1\2\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff"+ - "\3\2\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00af\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2" - }; - - static final short[] DFA88_eot = DFA.unpackEncodedString(DFA88_eotS); - static final short[] DFA88_eof = DFA.unpackEncodedString(DFA88_eofS); - static final char[] DFA88_min = DFA.unpackEncodedStringToUnsignedChars(DFA88_minS); - static final char[] DFA88_max = DFA.unpackEncodedStringToUnsignedChars(DFA88_maxS); - static final short[] DFA88_accept = DFA.unpackEncodedString(DFA88_acceptS); - static final short[] DFA88_special = DFA.unpackEncodedString(DFA88_specialS); - static final short[][] DFA88_transition; - - static { - int numStates = DFA88_transitionS.length; - DFA88_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA88_9 = input.LA(1); - - int index88_9 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_9); - if ( s>=0 ) return s; - break; - - case 2 : - int LA88_135 = input.LA(1); - - int index88_135 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_135); - if ( s>=0 ) return s; - break; - - case 3 : - int LA88_22 = input.LA(1); - - int index88_22 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_22); - if ( s>=0 ) return s; - break; - - case 4 : - int LA88_23 = input.LA(1); - - int index88_23 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_23); - if ( s>=0 ) return s; - break; - - case 5 : - int LA88_25 = input.LA(1); - - int index88_25 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_25); - if ( s>=0 ) return s; - break; - - case 6 : - int LA88_37 = input.LA(1); - - int index88_37 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_37); - if ( s>=0 ) return s; - break; - - case 7 : - int LA88_90 = input.LA(1); - - int index88_90 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_90); - if ( s>=0 ) return s; - break; - - case 8 : - int LA88_41 = input.LA(1); - - int index88_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_41); - if ( s>=0 ) return s; - break; - - case 9 : - int LA88_80 = input.LA(1); - - int index88_80 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_80); - if ( s>=0 ) return s; - break; - - case 10 : - int LA88_73 = input.LA(1); - - int index88_73 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_73); - if ( s>=0 ) return s; - break; - - case 11 : - int LA88_34 = input.LA(1); - - int index88_34 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_34); - if ( s>=0 ) return s; - break; - - case 12 : - int LA88_157 = input.LA(1); - - int index88_157 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_157); - if ( s>=0 ) return s; - break; - - case 13 : - int LA88_36 = input.LA(1); - - int index88_36 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_36); - if ( s>=0 ) return s; - break; - - case 14 : - int LA88_174 = input.LA(1); - - int index88_174 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_174); - if ( s>=0 ) return s; - break; - - case 15 : - int LA88_57 = input.LA(1); - - int index88_57 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_57); - if ( s>=0 ) return s; - break; - - case 16 : - int LA88_170 = input.LA(1); - - int index88_170 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_170); - if ( s>=0 ) return s; - break; - - case 17 : - int LA88_71 = input.LA(1); - - int index88_71 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_71); - if ( s>=0 ) return s; - break; - - case 18 : - int LA88_97 = input.LA(1); - - int index88_97 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_97); - if ( s>=0 ) return s; - break; - - case 19 : - int LA88_98 = input.LA(1); - - int index88_98 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_98); - if ( s>=0 ) return s; - break; - - case 20 : - int LA88_139 = input.LA(1); - - int index88_139 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_139); - if ( s>=0 ) return s; - break; - - case 21 : - int LA88_150 = input.LA(1); - - int index88_150 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_150); - if ( s>=0 ) return s; - break; - - case 22 : - int LA88_140 = input.LA(1); - - int index88_140 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_140); - if ( s>=0 ) return s; - break; - - case 23 : - int LA88_102 = input.LA(1); - - int index88_102 = input.index(); - input.rewind(); - s = -1; - if ( (synpred123_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index88_102); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 88, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA100_eotS = - "\u00b1\uffff"; - static final String DFA100_eofS = - "\1\2\u00b0\uffff"; - static final String DFA100_minS = - "\1\4\1\6\1\uffff\1\7\1\u00ae\1\7\3\6\1\0\1\7\1\0\1\7\1\u00ae\2\7\1\u00ae"+ - "\2\7\1\u00ae\1\7\1\uffff\2\0\1\7\1\0\1\6\1\7\3\6\1\7\2\6\1\0\1\7\2\0\1"+ - "\7\1\u00ae\1\7\1\0\1\7\1\u00ae\1\7\1\30\1\u00ae\1\30\1\7\1\u00ae\2\7\1"+ - "\u00ae\2\7\1\u00ae\1\7\1\0\3\6\1\7\1\6\2\7\1\6\1\7\1\30\2\6\1\7\1\0\1"+ - "\7\1\0\1\6\1\7\3\6\1\7\1\0\1\7\1\u00ae\2\7\1\u00ae\2\7\1\u00ae\1\7\1\0"+ - "\1\31\1\u00ae\1\31\1\7\1\u00ae\1\7\2\0\1\7\1\u00ae\1\7\1\0\1\7\1\u00ae"+ - "\1\7\1\30\1\u00ae\1\30\1\7\1\u00ae\1\7\1\6\1\7\1\6\4\7\1\31\1\6\1\7\3"+ - "\6\1\7\1\6\2\7\1\6\1\7\1\30\2\6\1\7\1\0\1\7\1\u00ae\1\7\2\0\1\7\1\u00ae"+ - "\2\7\1\u00ae\2\7\1\u00ae\1\7\1\0\1\31\1\u00ae\1\31\1\7\1\u00ae\1\7\1\0"+ - "\1\6\1\7\1\6\1\7\1\6\4\7\1\31\1\6\1\7\1\0\1\7\1\u00ae\1\7\1\0\1\6\1\7"; - static final String DFA100_maxS = - "\2\u00c9\1\uffff\1\u00c7\1\u00ae\1\u00c7\1\u00c8\2\u00c9\1\0\1\u00c7\1"+ - "\0\1\u00c7\1\u00ae\2\u00c7\1\u00ae\2\u00c7\1\u00ae\1\u00c7\1\uffff\2\0"+ - "\1\u00c7\1\0\1\u00c9\1\u00c7\2\u00c8\1\u00c9\1\u00c7\1\u00c8\1\u00c9\1"+ - "\0\1\u00c7\2\0\1\u00c7\1\u00ae\1\u00c7\1\0\1\u00c7\1\u00ae\1\u00c7\1\u008d"+ - "\1\u00ae\1\u008d\1\u00c7\1\u00ae\2\u00c7\1\u00ae\2\u00c7\1\u00ae\1\u00c7"+ - "\1\0\1\u00c9\1\u00c8\1\u00c9\1\u00c7\1\u00c9\2\u00c7\1\u00c8\1\u00c7\1"+ - "\u008d\2\u00c9\1\u00c7\1\0\1\u00c7\1\0\1\u00c9\1\u00c7\2\u00c8\1\u00c9"+ - "\1\u00c7\1\0\1\u00c7\1\u00ae\2\u00c7\1\u00ae\2\u00c7\1\u00ae\1\u00c7\1"+ - "\0\1\132\1\u00ae\1\132\1\u00c7\1\u00ae\1\u00c7\2\0\1\u00c7\1\u00ae\1\u00c7"+ - "\1\0\1\u00c7\1\u00ae\1\u00c7\1\u008d\1\u00ae\1\u008d\1\u00c7\1\u00ae\1"+ - "\u00c7\1\u00c9\1\u00c7\1\u00c9\4\u00c7\1\132\1\u00c9\1\u00c7\1\u00c9\1"+ - "\u00c8\1\u00c9\1\u00c7\1\u00c9\2\u00c7\1\u00c8\1\u00c7\1\u008d\2\u00c9"+ - "\1\u00c7\1\0\1\u00c7\1\u00ae\1\u00c7\2\0\1\u00c7\1\u00ae\2\u00c7\1\u00ae"+ - "\2\u00c7\1\u00ae\1\u00c7\1\0\1\132\1\u00ae\1\132\1\u00c7\1\u00ae\1\u00c7"+ - "\1\0\1\u00c9\1\u00c7\1\u00c9\1\u00c7\1\u00c9\4\u00c7\1\132\1\u00c9\1\u00c7"+ - "\1\0\1\u00c7\1\u00ae\1\u00c7\1\0\1\u00c9\1\u00c7"; - static final String DFA100_acceptS = - "\2\uffff\1\2\22\uffff\1\1\u009b\uffff"; - static final String DFA100_specialS = - "\11\uffff\1\1\1\uffff\1\2\12\uffff\1\3\1\4\1\uffff\1\5\10\uffff\1\13\1"+ - "\uffff\1\14\1\6\3\uffff\1\0\17\uffff\1\15\15\uffff\1\16\1\uffff\1\23\6"+ - "\uffff\1\7\11\uffff\1\11\6\uffff\1\12\1\25\3\uffff\1\26\40\uffff\1\10"+ - "\3\uffff\1\27\1\17\11\uffff\1\24\6\uffff\1\20\14\uffff\1\22\3\uffff\1"+ - "\21\2\uffff}>"; - static final String[] DFA100_transitionS = { - "\1\2\1\uffff\3\2\1\uffff\3\2\2\uffff\3\2\1\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\4\2\1\uffff\5\2\5\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\1\2\2\uffff\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff"+ - "\4\2\1\uffff\10\2\1\uffff\1\2\2\uffff\1\2\14\uffff\3\2\3\uffff\1\2\6"+ - "\uffff\2\2\2\uffff\3\2\3\uffff\2\2\1\uffff\3\2", - "\1\5\1\2\1\5\1\uffff\1\2\4\uffff\1\5\1\2\3\uffff\1\5\3\uffff\2\2\3\uffff"+ - "\2\5\1\2\1\uffff\1\5\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\5"+ - "\1\uffff\1\5\2\uffff\1\2\2\uffff\1\5\4\uffff\2\2\1\uffff\1\2\5\uffff"+ - "\1\5\1\2\1\5\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\5\2\2"+ - "\1\5\2\2\1\5\1\uffff\1\2\1\uffff\2\2\1\5\2\uffff\1\5\1\2\1\5\6\uffff"+ - "\1\2\1\5\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\5\1\uffff\2\5\1\uffff"+ - "\1\5\4\uffff\1\2\4\uffff\4\2\2\uffff\3\5\3\uffff\1\2\4\uffff\1\2\14\uffff"+ - "\1\2\1\3\1\2\3\uffff\1\2\14\uffff\1\5\3\uffff\1\5\2\uffff\1\2\1\4\1\2", - "", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\11\4\uffff\4\2\64\uffff\1\2", - "\1\12", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\13\4\uffff\4\2\64\uffff\1\2", - "\1\16\1\uffff\1\16\6\uffff\1\16\4\uffff\1\16\10\uffff\2\16\2\uffff\1"+ - "\16\22\uffff\1\16\1\uffff\1\16\5\uffff\1\16\15\uffff\1\16\1\uffff\1\16"+ - "\13\uffff\1\16\2\uffff\1\16\2\uffff\1\16\5\uffff\1\16\2\uffff\1\16\1"+ - "\uffff\1\16\7\uffff\1\16\15\uffff\2\16\1\uffff\2\16\1\uffff\1\16\17\uffff"+ - "\3\16\26\uffff\1\14\21\uffff\1\16\3\uffff\1\16\3\uffff\1\15", - "\1\21\1\2\1\21\1\uffff\1\2\4\uffff\1\21\1\2\3\uffff\1\21\3\uffff\2\2"+ - "\3\uffff\2\21\1\2\1\uffff\1\21\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1"+ - "\uffff\1\21\1\uffff\1\21\2\uffff\1\2\2\uffff\1\21\15\uffff\1\21\1\uffff"+ - "\1\21\1\2\5\uffff\1\2\4\uffff\1\21\2\2\1\21\2\2\1\21\1\uffff\1\2\1\uffff"+ - "\1\2\1\uffff\1\21\2\uffff\1\21\1\2\1\21\6\uffff\1\2\1\21\1\2\7\uffff"+ - "\1\2\4\uffff\2\21\1\uffff\2\21\1\uffff\1\21\4\uffff\1\2\4\uffff\4\2\2"+ - "\uffff\3\21\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\17\1\2\3\uffff\1\2"+ - "\14\uffff\1\21\3\uffff\1\21\2\uffff\1\2\1\20\1\2", - "\1\24\1\2\1\24\1\uffff\1\2\4\uffff\1\24\1\2\3\uffff\1\24\3\uffff\2\2"+ - "\3\uffff\2\24\1\2\1\uffff\1\24\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1"+ - "\uffff\1\24\1\uffff\1\24\2\uffff\1\2\2\uffff\1\24\4\uffff\2\2\1\uffff"+ - "\1\2\5\uffff\1\24\1\2\1\24\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1"+ - "\uffff\1\24\2\2\1\24\2\2\1\24\1\uffff\1\2\1\uffff\2\2\1\24\2\uffff\1"+ - "\24\1\2\1\24\6\uffff\1\2\1\24\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\24"+ - "\1\uffff\2\24\1\uffff\1\24\4\uffff\1\2\4\uffff\4\2\2\uffff\3\24\3\uffff"+ - "\1\2\4\uffff\1\2\14\uffff\1\2\1\22\1\2\3\uffff\1\2\14\uffff\1\24\3\uffff"+ - "\1\24\2\uffff\1\2\1\23\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\26\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\27\4\uffff\4\2\64\uffff\1\2", - "\1\30", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\31\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\36\1\32\14\uffff\1\2\1\uffff"+ - "\1\34\11\uffff\1\2\21\uffff\1\33\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\37", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\36\1\32\14\uffff\1\2\1\uffff"+ - "\1\34\11\uffff\1\2\21\uffff\1\33\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\42\4\uffff\4\2\64\uffff\1\2", - "\1\43", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\44\4\uffff\4\2\64\uffff\1\2", - "", - "\1\uffff", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\6\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\7\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\45\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\50\1\2\1\50\1\uffff\1\2\4\uffff\1\50\1\2\3\uffff\1\50\3\uffff\2\2"+ - "\3\uffff\2\50\1\2\1\uffff\1\50\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1"+ - "\uffff\1\50\1\uffff\1\50\2\uffff\1\2\2\uffff\1\50\4\uffff\2\2\1\uffff"+ - "\1\2\5\uffff\1\50\1\2\1\50\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1"+ - "\uffff\1\50\2\2\1\50\2\2\1\50\1\uffff\1\2\1\uffff\2\2\1\50\2\uffff\1"+ - "\50\1\2\1\50\6\uffff\1\2\1\50\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\50"+ - "\1\uffff\2\50\1\uffff\1\50\4\uffff\1\2\4\uffff\4\2\2\uffff\3\50\3\uffff"+ - "\1\2\4\uffff\1\2\14\uffff\1\2\1\46\1\2\3\uffff\1\2\14\uffff\1\50\3\uffff"+ - "\1\50\2\uffff\1\2\1\47\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2\7\uffff"+ - "\1\2\1\uffff\1\2\27\uffff\1\51\4\uffff\4\2\64\uffff\1\2", - "\1\54\1\uffff\1\54\6\uffff\1\54\4\uffff\1\54\10\uffff\2\54\2\uffff\1"+ - "\54\22\uffff\1\54\1\uffff\1\54\5\uffff\1\54\15\uffff\1\54\1\uffff\1\54"+ - "\13\uffff\1\54\2\uffff\1\54\2\uffff\1\54\5\uffff\1\54\2\uffff\1\54\1"+ - "\uffff\1\54\7\uffff\1\54\15\uffff\2\54\1\uffff\2\54\1\uffff\1\54\17\uffff"+ - "\3\54\26\uffff\1\52\21\uffff\1\54\3\uffff\1\54\3\uffff\1\53", - "\1\57\1\uffff\1\57\6\uffff\1\57\4\uffff\1\57\10\uffff\2\57\2\uffff\1"+ - "\57\22\uffff\1\57\1\uffff\1\57\5\uffff\1\57\15\uffff\1\57\1\uffff\1\57"+ - "\13\uffff\1\57\2\uffff\1\57\2\uffff\1\57\5\uffff\1\57\2\uffff\1\57\1"+ - "\uffff\1\57\7\uffff\1\57\15\uffff\2\57\1\uffff\2\57\1\uffff\1\57\17\uffff"+ - "\3\57\26\uffff\1\55\21\uffff\1\57\3\uffff\1\57\3\uffff\1\56", - "\1\62\1\2\1\62\1\uffff\1\2\4\uffff\1\62\1\2\3\uffff\1\62\2\uffff\1\25"+ - "\2\2\2\uffff\1\25\2\62\1\2\1\uffff\1\62\4\uffff\1\2\1\uffff\1\2\11\uffff"+ - "\1\2\1\uffff\1\62\1\uffff\1\62\2\uffff\1\2\2\uffff\1\62\4\uffff\2\2\1"+ - "\uffff\1\2\5\uffff\1\62\1\2\1\62\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff"+ - "\1\2\1\uffff\1\62\2\2\1\62\2\2\1\62\1\uffff\1\2\1\uffff\2\2\1\62\2\uffff"+ - "\1\62\1\2\1\62\6\uffff\1\2\1\62\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2"+ - "\62\1\25\2\62\1\uffff\1\62\4\uffff\1\2\4\uffff\4\2\2\uffff\3\62\3\uffff"+ - "\1\2\4\uffff\1\2\14\uffff\1\2\1\60\1\2\3\uffff\1\2\14\uffff\1\62\3\uffff"+ - "\1\62\2\uffff\1\2\1\61\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\36\1\32\14\uffff\1\2\1\uffff"+ - "\1\34\11\uffff\1\2\21\uffff\1\33\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\65\1\uffff\1\65\6\uffff\1\65\4\uffff\1\65\10\uffff\2\65\2\uffff\1"+ - "\65\22\uffff\1\65\1\uffff\1\65\5\uffff\1\65\15\uffff\1\65\1\uffff\1\65"+ - "\13\uffff\1\65\2\uffff\1\65\2\uffff\1\65\5\uffff\1\65\2\uffff\1\65\1"+ - "\uffff\1\65\7\uffff\1\65\15\uffff\2\65\1\uffff\2\65\1\uffff\1\65\17\uffff"+ - "\3\65\26\uffff\1\63\21\uffff\1\65\3\uffff\1\65\3\uffff\1\64", - "\1\70\1\2\1\70\1\uffff\1\2\4\uffff\1\70\1\2\3\uffff\1\70\3\uffff\2\2"+ - "\3\uffff\2\70\1\2\1\uffff\1\70\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1"+ - "\uffff\1\70\1\uffff\1\70\2\uffff\1\2\2\uffff\1\70\15\uffff\1\70\1\uffff"+ - "\1\70\1\2\5\uffff\1\2\4\uffff\1\70\2\2\1\70\2\2\1\70\1\uffff\1\2\1\uffff"+ - "\1\2\1\uffff\1\70\2\uffff\1\70\1\2\1\70\6\uffff\1\2\1\70\1\2\7\uffff"+ - "\1\2\4\uffff\2\70\1\uffff\2\70\1\uffff\1\70\4\uffff\1\2\4\uffff\4\2\2"+ - "\uffff\3\70\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\66\1\2\3\uffff\1\2"+ - "\14\uffff\1\70\3\uffff\1\70\2\uffff\1\2\1\67\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\71\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\32\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\72\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\75", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\32\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\72\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\34\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\100", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\34\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\2\1\101\16\uffff\1\2\33\uffff\1\102\25\uffff\1\2\62\uffff\1\2", - "\1\103", - "\1\2\1\101\16\uffff\1\2\33\uffff\1\102\25\uffff\1\2\62\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\105\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\106", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\105\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\107\4\uffff\4\2\64\uffff\1\2", - "\1\110", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\111\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\116\1\112\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\113\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\117", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\116\1\112\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\113\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\2\5\uffff\4\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3\2\2\uffff"+ - "\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\1\120\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3"+ - "\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\123\1\uffff\1\123\6\uffff\1\123\4\uffff\1\123\10\uffff\2\123\2\uffff"+ - "\1\123\22\uffff\1\123\1\uffff\1\123\5\uffff\1\123\15\uffff\1\123\1\uffff"+ - "\1\123\13\uffff\1\123\2\uffff\1\123\2\uffff\1\123\5\uffff\1\123\2\uffff"+ - "\1\123\1\uffff\1\123\7\uffff\1\123\15\uffff\2\123\1\uffff\2\123\1\uffff"+ - "\1\123\17\uffff\3\123\26\uffff\1\121\21\uffff\1\123\3\uffff\1\123\3\uffff"+ - "\1\122", - "\1\126\1\2\1\126\1\uffff\1\2\4\uffff\1\126\1\2\3\uffff\1\126\3\uffff"+ - "\2\2\3\uffff\2\126\1\2\1\uffff\1\126\4\uffff\1\2\1\uffff\1\2\11\uffff"+ - "\1\2\1\uffff\1\126\1\uffff\1\126\2\uffff\1\2\2\uffff\1\126\15\uffff\1"+ - "\126\1\uffff\1\126\1\2\5\uffff\1\2\4\uffff\1\126\2\2\1\126\2\2\1\126"+ - "\1\uffff\1\2\1\uffff\1\2\1\uffff\1\126\2\uffff\1\126\1\2\1\126\6\uffff"+ - "\1\2\1\126\1\2\7\uffff\1\2\4\uffff\2\126\1\uffff\2\126\1\uffff\1\126"+ - "\4\uffff\1\2\4\uffff\4\2\2\uffff\3\126\3\uffff\1\2\4\uffff\1\2\14\uffff"+ - "\1\2\1\124\1\2\3\uffff\1\2\14\uffff\1\126\3\uffff\1\126\2\uffff\1\2\1"+ - "\125\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\32\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\72\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\131\1\2\1\131\1\uffff\1\2\4\uffff\1\131\1\2\3\uffff\1\131\3\uffff"+ - "\2\2\3\uffff\2\131\1\2\1\uffff\1\131\4\uffff\1\2\1\uffff\1\2\11\uffff"+ - "\1\2\1\uffff\1\131\1\uffff\1\131\2\uffff\1\2\2\uffff\1\131\4\uffff\2"+ - "\2\1\uffff\1\2\5\uffff\1\131\1\2\1\131\1\2\3\uffff\1\2\1\uffff\1\2\2"+ - "\uffff\1\2\1\uffff\1\131\2\2\1\131\2\2\1\131\1\uffff\1\2\1\uffff\2\2"+ - "\1\131\2\uffff\1\131\1\2\1\131\6\uffff\1\2\1\131\1\2\1\uffff\1\2\5\uffff"+ - "\1\2\4\uffff\2\131\1\uffff\2\131\1\uffff\1\131\4\uffff\1\2\4\uffff\4"+ - "\2\2\uffff\3\131\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\127\1\2\3\uffff"+ - "\1\2\14\uffff\1\131\3\uffff\1\131\2\uffff\1\2\1\130\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2\7\uffff"+ - "\1\2\1\uffff\1\2\27\uffff\1\132\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\34\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\1\2\1\35\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\135\1\uffff\1\135\6\uffff\1\135\4\uffff\1\135\10\uffff\2\135\2\uffff"+ - "\1\135\22\uffff\1\135\1\uffff\1\135\5\uffff\1\135\15\uffff\1\135\1\uffff"+ - "\1\135\13\uffff\1\135\2\uffff\1\135\2\uffff\1\135\5\uffff\1\135\2\uffff"+ - "\1\135\1\uffff\1\135\7\uffff\1\135\15\uffff\2\135\1\uffff\2\135\1\uffff"+ - "\1\135\17\uffff\3\135\26\uffff\1\133\21\uffff\1\135\3\uffff\1\135\3\uffff"+ - "\1\134", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2\12"+ - "\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\2\1\101\16\uffff\1\2\33\uffff\1\102\25\uffff\1\2\62\uffff\1\2", - "\1\140\1\2\1\140\1\uffff\1\2\4\uffff\1\140\1\2\3\uffff\1\140\2\uffff"+ - "\1\25\2\2\2\uffff\1\25\2\140\1\2\1\uffff\1\140\4\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\1\uffff\1\140\1\uffff\1\140\2\uffff\1\2\2\uffff\1\140"+ - "\4\uffff\2\2\1\uffff\1\2\5\uffff\1\140\1\2\1\140\1\2\3\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\1\uffff\1\140\2\2\1\140\2\2\1\140\1\uffff\1\2\1\uffff"+ - "\2\2\1\140\2\uffff\1\140\1\2\1\140\6\uffff\1\2\1\140\1\2\1\uffff\1\2"+ - "\5\uffff\1\2\4\uffff\2\140\1\25\2\140\1\uffff\1\140\4\uffff\1\2\4\uffff"+ - "\4\2\2\uffff\3\140\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\136\1\2\3\uffff"+ - "\1\2\14\uffff\1\140\3\uffff\1\140\2\uffff\1\2\1\137\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\15\uffff\1\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\2\uffff\3\2\6\uffff\3\2\7\uffff"+ - "\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff\1\141\4\uffff\4\2\2"+ - "\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3\uffff\1\2\14\uffff"+ - "\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\105\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\40\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\1\41\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2"+ - "\7\uffff\1\2\1\uffff\1\2\27\uffff\1\142\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\145\1\2\1\145\1\uffff\1\2\4\uffff\1\145\1\2\3\uffff\1\145\3\uffff"+ - "\2\2\3\uffff\2\145\1\2\1\uffff\1\145\4\uffff\1\2\1\uffff\1\2\11\uffff"+ - "\1\2\1\uffff\1\145\1\uffff\1\145\2\uffff\1\2\2\uffff\1\145\4\uffff\2"+ - "\2\1\uffff\1\2\5\uffff\1\145\1\2\1\145\1\2\3\uffff\1\2\1\uffff\1\2\2"+ - "\uffff\1\2\1\uffff\1\145\2\2\1\145\2\2\1\145\1\uffff\1\2\1\uffff\2\2"+ - "\1\145\2\uffff\1\145\1\2\1\145\6\uffff\1\2\1\145\1\2\1\uffff\1\2\5\uffff"+ - "\1\2\4\uffff\2\145\1\uffff\2\145\1\uffff\1\145\4\uffff\1\2\4\uffff\4"+ - "\2\2\uffff\3\145\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\143\1\2\3\uffff"+ - "\1\2\14\uffff\1\145\3\uffff\1\145\2\uffff\1\2\1\144\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2\7\uffff"+ - "\1\2\1\uffff\1\2\27\uffff\1\146\4\uffff\4\2\64\uffff\1\2", - "\1\151\1\uffff\1\151\6\uffff\1\151\4\uffff\1\151\10\uffff\2\151\2\uffff"+ - "\1\151\22\uffff\1\151\1\uffff\1\151\5\uffff\1\151\15\uffff\1\151\1\uffff"+ - "\1\151\13\uffff\1\151\2\uffff\1\151\2\uffff\1\151\5\uffff\1\151\2\uffff"+ - "\1\151\1\uffff\1\151\7\uffff\1\151\15\uffff\2\151\1\uffff\2\151\1\uffff"+ - "\1\151\17\uffff\3\151\26\uffff\1\147\21\uffff\1\151\3\uffff\1\151\3\uffff"+ - "\1\150", - "\1\154\1\uffff\1\154\6\uffff\1\154\4\uffff\1\154\10\uffff\2\154\2\uffff"+ - "\1\154\22\uffff\1\154\1\uffff\1\154\5\uffff\1\154\15\uffff\1\154\1\uffff"+ - "\1\154\13\uffff\1\154\2\uffff\1\154\2\uffff\1\154\5\uffff\1\154\2\uffff"+ - "\1\154\1\uffff\1\154\7\uffff\1\154\15\uffff\2\154\1\uffff\2\154\1\uffff"+ - "\1\154\17\uffff\3\154\26\uffff\1\152\21\uffff\1\154\3\uffff\1\154\3\uffff"+ - "\1\153", - "\1\157\1\2\1\157\1\uffff\1\2\4\uffff\1\157\1\2\3\uffff\1\157\2\uffff"+ - "\1\25\2\2\2\uffff\1\25\2\157\1\2\1\uffff\1\157\4\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\1\uffff\1\157\1\uffff\1\157\2\uffff\1\2\2\uffff\1\157"+ - "\4\uffff\2\2\1\uffff\1\2\5\uffff\1\157\1\2\1\157\1\2\3\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\1\uffff\1\157\2\2\1\157\2\2\1\157\1\uffff\1\2\1\uffff"+ - "\2\2\1\157\2\uffff\1\157\1\2\1\157\6\uffff\1\2\1\157\1\2\1\uffff\1\2"+ - "\5\uffff\1\2\4\uffff\2\157\1\25\2\157\1\uffff\1\157\4\uffff\1\2\4\uffff"+ - "\4\2\2\uffff\3\157\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\155\1\2\3\uffff"+ - "\1\2\14\uffff\1\157\3\uffff\1\157\2\uffff\1\2\1\156\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\116\1\112\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\113\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1"+ - "\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\161", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\163\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\164", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\163\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\165", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\101\16\uffff\1\2\33\uffff\1\166\25\uffff\1\2", - "\1\167", - "\1\101\16\uffff\1\2\33\uffff\1\166\25\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\170\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\171", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\170\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\112\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\172\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1\2"+ - "\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\175", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\112\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\172\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1\2"+ - "\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\u0080", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\2\1\u0081\16\uffff\1\2\33\uffff\1\u0082\25\uffff\1\2\62\uffff\1\2", - "\1\u0083", - "\1\2\1\u0081\16\uffff\1\2\33\uffff\1\u0082\25\uffff\1\2\62\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u0085\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\u0086", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u0085\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\2\5\uffff\4\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3\2\2\uffff"+ - "\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\1\u0087\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2"+ - "\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\u008a\1\2\1\u008a\1\uffff\1\2\4\uffff\1\u008a\1\2\3\uffff\1\u008a"+ - "\3\uffff\2\2\3\uffff\2\u008a\1\2\1\uffff\1\u008a\4\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\1\uffff\1\u008a\1\uffff\1\u008a\2\uffff\1\2\2\uffff"+ - "\1\u008a\4\uffff\2\2\1\uffff\1\2\5\uffff\1\u008a\1\2\1\u008a\1\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\u008a\2\2\1\u008a\2\2\1\u008a"+ - "\1\uffff\1\2\1\uffff\2\2\1\u008a\2\uffff\1\u008a\1\2\1\u008a\6\uffff"+ - "\1\2\1\u008a\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\u008a\1\uffff\2\u008a"+ - "\1\uffff\1\u008a\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u008a\3\uffff\1\2"+ - "\4\uffff\1\2\14\uffff\1\2\1\u0088\1\2\3\uffff\1\2\14\uffff\1\u008a\3"+ - "\uffff\1\u008a\2\uffff\1\2\1\u0089\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1"+ - "\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\163\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\73\11\uffff\1\2\17\uffff\1\2\1\uffff\1\160\6\uffff\1\2\5\uffff\1\2\1"+ - "\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\74\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\76\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\21\uffff\1\77\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2\12"+ - "\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\101\16\uffff\1\2\33\uffff\1\166\25\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\15\uffff\1\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\2\uffff\3\2\6\uffff\3\2\7\uffff"+ - "\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff\1\u008b\4\uffff\4\2"+ - "\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3\uffff\1\2\14\uffff"+ - "\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\104\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\170\6\uffff\1\2\5\uffff\1\2"+ - "\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\2\5\uffff\4\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3\2\2\uffff"+ - "\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\1\u008c\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2"+ - "\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\u008f\1\uffff\1\u008f\6\uffff\1\u008f\4\uffff\1\u008f\10\uffff\2"+ - "\u008f\2\uffff\1\u008f\22\uffff\1\u008f\1\uffff\1\u008f\5\uffff\1\u008f"+ - "\15\uffff\1\u008f\1\uffff\1\u008f\13\uffff\1\u008f\2\uffff\1\u008f\2"+ - "\uffff\1\u008f\5\uffff\1\u008f\2\uffff\1\u008f\1\uffff\1\u008f\7\uffff"+ - "\1\u008f\15\uffff\2\u008f\1\uffff\2\u008f\1\uffff\1\u008f\17\uffff\3"+ - "\u008f\26\uffff\1\u008d\21\uffff\1\u008f\3\uffff\1\u008f\3\uffff\1\u008e", - "\1\u0092\1\2\1\u0092\1\uffff\1\2\4\uffff\1\u0092\1\2\3\uffff\1\u0092"+ - "\3\uffff\2\2\3\uffff\2\u0092\1\2\1\uffff\1\u0092\4\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\1\uffff\1\u0092\1\uffff\1\u0092\2\uffff\1\2\2\uffff"+ - "\1\u0092\15\uffff\1\u0092\1\uffff\1\u0092\1\2\5\uffff\1\2\4\uffff\1\u0092"+ - "\2\2\1\u0092\2\2\1\u0092\1\uffff\1\2\1\uffff\1\2\1\uffff\1\u0092\2\uffff"+ - "\1\u0092\1\2\1\u0092\6\uffff\1\2\1\u0092\1\2\7\uffff\1\2\4\uffff\2\u0092"+ - "\1\uffff\2\u0092\1\uffff\1\u0092\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u0092"+ - "\3\uffff\1\2\4\uffff\1\2\14\uffff\1\2\1\u0090\1\2\3\uffff\1\2\14\uffff"+ - "\1\u0092\3\uffff\1\u0092\2\uffff\1\2\1\u0091\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\112\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\172\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1\2"+ - "\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u0095\1\2\1\u0095\1\uffff\1\2\4\uffff\1\u0095\1\2\3\uffff\1\u0095"+ - "\3\uffff\2\2\3\uffff\2\u0095\1\2\1\uffff\1\u0095\4\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\1\uffff\1\u0095\1\uffff\1\u0095\2\uffff\1\2\2\uffff"+ - "\1\u0095\4\uffff\2\2\1\uffff\1\2\5\uffff\1\u0095\1\2\1\u0095\1\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\u0095\2\2\1\u0095\2\2\1\u0095"+ - "\1\uffff\1\2\1\uffff\2\2\1\u0095\2\uffff\1\u0095\1\2\1\u0095\6\uffff"+ - "\1\2\1\u0095\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\u0095\1\uffff\2\u0095"+ - "\1\uffff\1\u0095\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u0095\3\uffff\1\2"+ - "\4\uffff\1\2\14\uffff\1\2\1\u0093\1\2\3\uffff\1\2\14\uffff\1\u0095\3"+ - "\uffff\1\u0095\2\uffff\1\2\1\u0094\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\10\14\uffff\1\2\1\uffff\1"+ - "\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\2\6\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff\1\2\7\uffff"+ - "\1\2\1\uffff\1\2\27\uffff\1\u0096\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\114\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\1\2\1\115\1\uffff"+ - "\2\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64"+ - "\uffff\1\2", - "\1\u0099\1\uffff\1\u0099\6\uffff\1\u0099\4\uffff\1\u0099\10\uffff\2"+ - "\u0099\2\uffff\1\u0099\22\uffff\1\u0099\1\uffff\1\u0099\5\uffff\1\u0099"+ - "\15\uffff\1\u0099\1\uffff\1\u0099\13\uffff\1\u0099\2\uffff\1\u0099\2"+ - "\uffff\1\u0099\5\uffff\1\u0099\2\uffff\1\u0099\1\uffff\1\u0099\7\uffff"+ - "\1\u0099\15\uffff\2\u0099\1\uffff\2\u0099\1\uffff\1\u0099\17\uffff\3"+ - "\u0099\26\uffff\1\u0097\21\uffff\1\u0099\3\uffff\1\u0099\3\uffff\1\u0098", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\2\1\u0081\16\uffff\1\2\33\uffff\1\u0082\25\uffff\1\2\62\uffff\1\2", - "\1\u009c\1\2\1\u009c\1\uffff\1\2\4\uffff\1\u009c\1\2\3\uffff\1\u009c"+ - "\2\uffff\1\25\2\2\2\uffff\1\25\2\u009c\1\2\1\uffff\1\u009c\4\uffff\1"+ - "\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\u009c\1\uffff\1\u009c\2\uffff\1"+ - "\2\2\uffff\1\u009c\4\uffff\2\2\1\uffff\1\2\5\uffff\1\u009c\1\2\1\u009c"+ - "\1\2\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\u009c\2\2\1\u009c"+ - "\2\2\1\u009c\1\uffff\1\2\1\uffff\2\2\1\u009c\2\uffff\1\u009c\1\2\1\u009c"+ - "\6\uffff\1\2\1\u009c\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\u009c\1\25"+ - "\2\u009c\1\uffff\1\u009c\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u009c\3\uffff"+ - "\1\2\4\uffff\1\2\14\uffff\1\2\1\u009a\1\2\3\uffff\1\2\14\uffff\1\u009c"+ - "\3\uffff\1\u009c\2\uffff\1\2\1\u009b\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\15\uffff\1\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\2\uffff\3\2\6\uffff\3\2\7\uffff"+ - "\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff\1\u009d\4\uffff\4\2"+ - "\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3\uffff\1\2\14\uffff"+ - "\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u0085\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u009e\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\u009f", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u009e\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u00a1", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\u00a3\16\uffff\1\2\5\uffff\2\2\1\uffff\2"+ - "\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\u00a4", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\u00a3\16\uffff\1\2\5\uffff\2\2\1\uffff\2"+ - "\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u00a5", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\uffff", - "\1\u0081\16\uffff\1\2\33\uffff\1\u00a6\25\uffff\1\2", - "\1\u00a7", - "\1\u0081\16\uffff\1\2\33\uffff\1\u00a6\25\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a8\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\u00a9", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a8\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\76\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\160\5\uffff\4\2\3"+ - "\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3"+ - "\2\2\uffff\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff"+ - "\1\2\4\uffff\1\2\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff"+ - "\3\2\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\162\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u009e\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\2\5\uffff\4\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff\3\2\2\uffff"+ - "\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\1\u00aa\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2"+ - "\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u00ad\1\2\1\u00ad\1\uffff\1\2\4\uffff\1\u00ad\1\2\3\uffff\1\u00ad"+ - "\3\uffff\2\2\3\uffff\2\u00ad\1\2\1\uffff\1\u00ad\4\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\1\uffff\1\u00ad\1\uffff\1\u00ad\2\uffff\1\2\2\uffff"+ - "\1\u00ad\4\uffff\2\2\1\uffff\1\2\5\uffff\1\u00ad\1\2\1\u00ad\1\2\3\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\u00ad\2\2\1\u00ad\2\2\1\u00ad"+ - "\1\uffff\1\2\1\uffff\2\2\1\u00ad\2\uffff\1\u00ad\1\2\1\u00ad\6\uffff"+ - "\1\2\1\u00ad\1\2\1\uffff\1\2\5\uffff\1\2\4\uffff\2\u00ad\1\uffff\2\u00ad"+ - "\1\uffff\1\u00ad\4\uffff\1\2\4\uffff\4\2\2\uffff\3\u00ad\3\uffff\1\2"+ - "\4\uffff\1\2\14\uffff\1\2\1\u00ab\1\2\3\uffff\1\2\14\uffff\1\u00ad\3"+ - "\uffff\1\u00ad\2\uffff\1\2\1\u00ac\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\u00a3\16\uffff\1\2\5\uffff\2\2\1\uffff\2"+ - "\2\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\4\2\64\uffff\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\173\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a0\6\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\1\2\2\uffff\1\2\2\uffff\1\2\1\174\1\uffff\2\2\5\uffff\1"+ - "\2\4\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\176\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\21\uffff\1\177\16\uffff\1\2\5\uffff\2\2\1\uffff\2\2"+ - "\12\uffff\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff"+ - "\1\2", - "\1\u0081\16\uffff\1\2\33\uffff\1\u00a6\25\uffff\1\2", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\10\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\15\uffff\1\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\2\uffff\3\2\6\uffff\3\2\7\uffff"+ - "\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff\1\2\4\uffff\1\u00ae\4\uffff\4\2"+ - "\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff\3\2\3\uffff\1\2\14\uffff"+ - "\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u0084\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00a8\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\2\uffff\1\25\1\uffff\4\2\64"+ - "\uffff\1\2", - "\1\uffff", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00af\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\u00b0", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00af\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2", - "\1\uffff", - "\3\2\1\uffff\1\2\4\uffff\2\2\3\uffff\1\2\3\uffff\1\2\1\176\3\uffff\3"+ - "\2\1\uffff\1\2\4\uffff\1\2\1\uffff\1\2\11\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\1\uffff\1\u00a0\5\uffff\4\2"+ - "\3\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\7\2\1\uffff\1\2\1\uffff"+ - "\3\2\2\uffff\3\2\6\uffff\3\2\7\uffff\1\2\4\uffff\2\2\1\uffff\2\2\1\uffff"+ - "\1\2\4\uffff\1\2\4\uffff\4\2\2\uffff\3\2\3\uffff\1\2\4\uffff\1\2\14\uffff"+ - "\3\2\3\uffff\1\2\14\uffff\1\2\3\uffff\1\2\2\uffff\3\2", - "\1\2\2\uffff\1\2\5\uffff\1\2\7\uffff\1\2\1\u00a2\14\uffff\1\2\1\uffff"+ - "\1\2\11\uffff\1\2\17\uffff\1\2\1\uffff\1\u00af\6\uffff\1\2\5\uffff\1"+ - "\2\1\uffff\1\2\2\uffff\1\2\2\uffff\2\2\1\uffff\2\2\5\uffff\1\2\4\uffff"+ - "\1\2\7\uffff\1\2\1\uffff\1\2\27\uffff\1\2\4\uffff\4\2\64\uffff\1\2" - }; - - static final short[] DFA100_eot = DFA.unpackEncodedString(DFA100_eotS); - static final short[] DFA100_eof = DFA.unpackEncodedString(DFA100_eofS); - static final char[] DFA100_min = DFA.unpackEncodedStringToUnsignedChars(DFA100_minS); - static final char[] DFA100_max = DFA.unpackEncodedStringToUnsignedChars(DFA100_maxS); - static final short[] DFA100_accept = DFA.unpackEncodedString(DFA100_acceptS); - static final short[] DFA100_special = DFA.unpackEncodedString(DFA100_specialS); - static final short[][] DFA100_transition; - - static { - int numStates = DFA100_transitionS.length; - DFA100_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA100_9 = input.LA(1); - - int index100_9 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_9); - if ( s>=0 ) return s; - break; - - case 2 : - int LA100_11 = input.LA(1); - - int index100_11 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_11); - if ( s>=0 ) return s; - break; - - case 3 : - int LA100_22 = input.LA(1); - - int index100_22 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_22); - if ( s>=0 ) return s; - break; - - case 4 : - int LA100_23 = input.LA(1); - - int index100_23 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_23); - if ( s>=0 ) return s; - break; - - case 5 : - int LA100_25 = input.LA(1); - - int index100_25 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_25); - if ( s>=0 ) return s; - break; - - case 6 : - int LA100_37 = input.LA(1); - - int index100_37 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_37); - if ( s>=0 ) return s; - break; - - case 7 : - int LA100_80 = input.LA(1); - - int index100_80 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_80); - if ( s>=0 ) return s; - break; - - case 8 : - int LA100_135 = input.LA(1); - - int index100_135 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_135); - if ( s>=0 ) return s; - break; - - case 9 : - int LA100_90 = input.LA(1); - - int index100_90 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_90); - if ( s>=0 ) return s; - break; - - case 10 : - int LA100_97 = input.LA(1); - - int index100_97 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_97); - if ( s>=0 ) return s; - break; - - case 11 : - int LA100_34 = input.LA(1); - - int index100_34 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_34); - if ( s>=0 ) return s; - break; - - case 12 : - int LA100_36 = input.LA(1); - - int index100_36 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_36); - if ( s>=0 ) return s; - break; - - case 13 : - int LA100_57 = input.LA(1); - - int index100_57 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_57); - if ( s>=0 ) return s; - break; - - case 14 : - int LA100_71 = input.LA(1); - - int index100_71 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_71); - if ( s>=0 ) return s; - break; - - case 15 : - int LA100_140 = input.LA(1); - - int index100_140 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_140); - if ( s>=0 ) return s; - break; - - case 16 : - int LA100_157 = input.LA(1); - - int index100_157 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_157); - if ( s>=0 ) return s; - break; - - case 17 : - int LA100_174 = input.LA(1); - - int index100_174 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_174); - if ( s>=0 ) return s; - break; - - case 18 : - int LA100_170 = input.LA(1); - - int index100_170 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_170); - if ( s>=0 ) return s; - break; - - case 19 : - int LA100_73 = input.LA(1); - - int index100_73 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_73); - if ( s>=0 ) return s; - break; - - case 20 : - int LA100_150 = input.LA(1); - - int index100_150 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_150); - if ( s>=0 ) return s; - break; - - case 21 : - int LA100_98 = input.LA(1); - - int index100_98 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_98); - if ( s>=0 ) return s; - break; - - case 22 : - int LA100_102 = input.LA(1); - - int index100_102 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_102); - if ( s>=0 ) return s; - break; - - case 23 : - int LA100_139 = input.LA(1); - - int index100_139 = input.index(); - input.rewind(); - s = -1; - if ( (synpred143_Delphi()) ) {s = 21;} - else if ( (true) ) {s = 2;} - - input.seek(index100_139); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 100, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA108_eotS = - "\26\uffff"; - static final String DFA108_eofS = - "\26\uffff"; - static final String DFA108_minS = - "\1\6\1\30\1\uffff\1\6\1\30\1\u00ae\1\30\1\6\3\0\1\30\1\0\1\30\1\u00ae"+ - "\1\30\1\uffff\2\0\1\30\2\0"; - static final String DFA108_maxS = - "\1\u00c8\1\167\1\uffff\1\u00c8\1\31\1\u00ae\1\31\1\u00c8\3\0\1\31\1\0"+ - "\1\31\1\u00ae\1\31\1\uffff\2\0\1\31\2\0"; - static final String DFA108_acceptS = - "\2\uffff\1\2\15\uffff\1\1\5\uffff"; - static final String DFA108_specialS = - "\10\uffff\1\0\1\1\1\2\1\uffff\1\3\4\uffff\1\4\1\5\1\uffff\1\6\1\7}>"; - static final String[] DFA108_transitionS = { - "\1\6\1\uffff\1\6\6\uffff\1\6\1\uffff\1\2\2\uffff\1\6\2\uffff\1\2\3\uffff"+ - "\2\2\2\6\2\uffff\1\6\1\uffff\1\2\15\uffff\1\2\2\uffff\1\6\1\uffff\1\6"+ - "\5\uffff\1\6\4\uffff\1\2\10\uffff\1\6\1\uffff\1\6\6\uffff\1\2\4\uffff"+ - "\1\6\2\uffff\1\6\2\uffff\1\6\5\uffff\1\6\2\uffff\1\3\1\uffff\1\6\7\uffff"+ - "\1\6\1\uffff\2\2\1\uffff\4\2\5\uffff\2\6\1\uffff\2\6\1\uffff\1\6\3\uffff"+ - "\1\2\13\uffff\1\6\1\1\1\6\1\uffff\1\2\3\uffff\1\2\20\uffff\1\4\17\uffff"+ - "\1\2\1\uffff\1\6\3\uffff\1\6\3\uffff\1\5", - "\1\10\1\7\131\uffff\1\2\3\uffff\1\2", - "", - "\1\2\1\uffff\1\2\6\uffff\1\2\4\uffff\1\2\3\uffff\1\11\1\7\3\uffff\2"+ - "\2\2\uffff\1\2\22\uffff\1\2\1\uffff\1\2\5\uffff\1\2\15\uffff\1\2\1\uffff"+ - "\1\2\13\uffff\1\2\2\uffff\1\2\2\uffff\1\2\5\uffff\1\2\2\uffff\1\2\1\uffff"+ - "\1\2\7\uffff\1\2\15\uffff\2\2\1\uffff\2\2\1\uffff\1\2\17\uffff\3\2\26"+ - "\uffff\1\2\21\uffff\1\2\3\uffff\1\2\3\uffff\1\2", - "\1\12\1\7", - "\1\13", - "\1\14\1\7", - "\1\17\1\uffff\1\17\6\uffff\1\17\4\uffff\1\17\10\uffff\2\17\2\uffff\1"+ - "\17\22\uffff\1\17\1\uffff\1\17\5\uffff\1\17\15\uffff\1\17\1\uffff\1\17"+ - "\13\uffff\1\17\2\uffff\1\17\2\uffff\1\17\5\uffff\1\17\2\uffff\1\17\1"+ - "\uffff\1\17\7\uffff\1\17\15\uffff\2\17\1\uffff\2\17\1\uffff\1\17\17\uffff"+ - "\3\17\26\uffff\1\15\21\uffff\1\17\3\uffff\1\17\3\uffff\1\16", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\21\1\7", - "\1\uffff", - "\1\22\1\7", - "\1\23", - "\1\24\1\7", - "", - "\1\uffff", - "\1\uffff", - "\1\25\1\7", - "\1\uffff", - "\1\uffff" - }; - - static final short[] DFA108_eot = DFA.unpackEncodedString(DFA108_eotS); - static final short[] DFA108_eof = DFA.unpackEncodedString(DFA108_eofS); - static final char[] DFA108_min = DFA.unpackEncodedStringToUnsignedChars(DFA108_minS); - static final char[] DFA108_max = DFA.unpackEncodedStringToUnsignedChars(DFA108_maxS); - static final short[] DFA108_accept = DFA.unpackEncodedString(DFA108_acceptS); - static final short[] DFA108_special = DFA.unpackEncodedString(DFA108_specialS); - static final short[][] DFA108_transition; - - static { - int numStates = DFA108_transitionS.length; - DFA108_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA108_9 = input.LA(1); - - int index108_9 = input.index(); - input.rewind(); - s = -1; - if ( (synpred152_Delphi()) ) {s = 16;} - else if ( (true) ) {s = 2;} - - input.seek(index108_9); - if ( s>=0 ) return s; - break; - - case 2 : - int LA108_10 = input.LA(1); - - int index108_10 = input.index(); - input.rewind(); - s = -1; - if ( (synpred152_Delphi()) ) {s = 16;} - else if ( (true) ) {s = 2;} - - input.seek(index108_10); - if ( s>=0 ) return s; - break; - - case 3 : - int LA108_12 = input.LA(1); - - int index108_12 = input.index(); - input.rewind(); - s = -1; - if ( (synpred152_Delphi()) ) {s = 16;} - else if ( (true) ) {s = 2;} - - input.seek(index108_12); - if ( s>=0 ) return s; - break; - - case 4 : - int LA108_17 = input.LA(1); - - int index108_17 = input.index(); - input.rewind(); - s = -1; - if ( (synpred152_Delphi()) ) {s = 16;} - else if ( (true) ) {s = 2;} - - input.seek(index108_17); - if ( s>=0 ) return s; - break; - - case 5 : - int LA108_18 = input.LA(1); - - int index108_18 = input.index(); - input.rewind(); - s = -1; - if ( (synpred152_Delphi()) ) {s = 16;} - else if ( (true) ) {s = 2;} - - input.seek(index108_18); - if ( s>=0 ) return s; - break; - - case 6 : - int LA108_20 = input.LA(1); - - int index108_20 = input.index(); - input.rewind(); - s = -1; - if ( (synpred152_Delphi()) ) {s = 16;} - else if ( (true) ) {s = 2;} - - input.seek(index108_20); - if ( s>=0 ) return s; - break; - - case 7 : - int LA108_21 = input.LA(1); - - int index108_21 = input.index(); - input.rewind(); - s = -1; - if ( (synpred152_Delphi()) ) {s = 16;} - else if ( (true) ) {s = 2;} - - input.seek(index108_21); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 108, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA162_eotS = - "\145\uffff"; - static final String DFA162_eofS = - "\1\1\144\uffff"; - static final String DFA162_minS = - "\1\4\40\uffff\23\0\61\uffff"; - static final String DFA162_maxS = - "\1\u00c9\40\uffff\23\0\61\uffff"; - static final String DFA162_acceptS = - "\1\uffff\1\2\142\uffff\1\1"; - static final String DFA162_specialS = - "\41\uffff\1\0\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\1\17\1\20\1\21\1\22\61\uffff}>"; - static final String[] DFA162_transitionS = { - "\1\1\1\uffff\3\1\1\uffff\2\1\1\43\2\uffff\3\1\1\uffff\3\1\1\44\3\1\1"+ - "\uffff\5\1\1\uffff\1\1\1\55\2\1\1\uffff\5\1\5\uffff\5\1\1\56\1\51\1\1"+ - "\1\62\1\1\1\52\1\uffff\3\1\2\uffff\2\1\1\uffff\1\1\4\uffff\6\1\1\42\1"+ - "\uffff\3\1\2\uffff\1\1\1\60\1\53\6\1\1\54\12\1\1\41\3\uffff\1\45\1\57"+ - "\5\1\1\uffff\5\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\1\46\1\uffff\1\1"+ - "\2\uffff\3\1\1\47\1\uffff\1\1\1\uffff\4\1\1\uffff\1\50\7\1\1\uffff\1"+ - "\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6\uffff\1\63\1\1\2\uffff\1\1"+ - "\1\61\1\1\3\uffff\2\1\1\uffff\3\1", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\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[] DFA162_eot = DFA.unpackEncodedString(DFA162_eotS); - static final short[] DFA162_eof = DFA.unpackEncodedString(DFA162_eofS); - static final char[] DFA162_min = DFA.unpackEncodedStringToUnsignedChars(DFA162_minS); - static final char[] DFA162_max = DFA.unpackEncodedStringToUnsignedChars(DFA162_maxS); - static final short[] DFA162_accept = DFA.unpackEncodedString(DFA162_acceptS); - static final short[] DFA162_special = DFA.unpackEncodedString(DFA162_specialS); - static final short[][] DFA162_transition; - - static { - int numStates = DFA162_transitionS.length; - DFA162_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA162_34 = input.LA(1); - - int index162_34 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_34); - if ( s>=0 ) return s; - break; - - case 2 : - int LA162_35 = input.LA(1); - - int index162_35 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_35); - if ( s>=0 ) return s; - break; - - case 3 : - int LA162_36 = input.LA(1); - - int index162_36 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_36); - if ( s>=0 ) return s; - break; - - case 4 : - int LA162_37 = input.LA(1); - - int index162_37 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_37); - if ( s>=0 ) return s; - break; - - case 5 : - int LA162_38 = input.LA(1); - - int index162_38 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_38); - if ( s>=0 ) return s; - break; - - case 6 : - int LA162_39 = input.LA(1); - - int index162_39 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_39); - if ( s>=0 ) return s; - break; - - case 7 : - int LA162_40 = input.LA(1); - - int index162_40 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_40); - if ( s>=0 ) return s; - break; - - case 8 : - int LA162_41 = input.LA(1); - - int index162_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_41); - if ( s>=0 ) return s; - break; - - case 9 : - int LA162_42 = input.LA(1); - - int index162_42 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_42); - if ( s>=0 ) return s; - break; - - case 10 : - int LA162_43 = input.LA(1); - - int index162_43 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_43); - if ( s>=0 ) return s; - break; - - case 11 : - int LA162_44 = input.LA(1); - - int index162_44 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_44); - if ( s>=0 ) return s; - break; - - case 12 : - int LA162_45 = input.LA(1); - - int index162_45 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_45); - if ( s>=0 ) return s; - break; - - case 13 : - int LA162_46 = input.LA(1); - - int index162_46 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_46); - if ( s>=0 ) return s; - break; - - case 14 : - int LA162_47 = input.LA(1); - - int index162_47 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_47); - if ( s>=0 ) return s; - break; - - case 15 : - int LA162_48 = input.LA(1); - - int index162_48 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_48); - if ( s>=0 ) return s; - break; - - case 16 : - int LA162_49 = input.LA(1); - - int index162_49 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_49); - if ( s>=0 ) return s; - break; - - case 17 : - int LA162_50 = input.LA(1); - - int index162_50 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_50); - if ( s>=0 ) return s; - break; - - case 18 : - int LA162_51 = input.LA(1); - - int index162_51 = input.index(); - input.rewind(); - s = -1; - if ( (synpred225_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index162_51); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 162, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA164_eotS = - "\145\uffff"; - static final String DFA164_eofS = - "\1\1\144\uffff"; - static final String DFA164_minS = - "\1\4\40\uffff\23\0\61\uffff"; - static final String DFA164_maxS = - "\1\u00c9\40\uffff\23\0\61\uffff"; - static final String DFA164_acceptS = - "\1\uffff\1\2\142\uffff\1\1"; - static final String DFA164_specialS = - "\41\uffff\1\0\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\1\17\1\20\1\21\1\22\61\uffff}>"; - static final String[] DFA164_transitionS = { - "\1\1\1\uffff\3\1\1\uffff\2\1\1\43\2\uffff\3\1\1\uffff\3\1\1\44\3\1\1"+ - "\uffff\5\1\1\uffff\1\1\1\55\2\1\1\uffff\5\1\5\uffff\5\1\1\56\1\51\1\1"+ - "\1\62\1\1\1\52\1\uffff\3\1\2\uffff\2\1\1\uffff\1\1\4\uffff\6\1\1\42\1"+ - "\uffff\3\1\2\uffff\1\1\1\60\1\53\6\1\1\54\12\1\1\41\3\uffff\1\45\1\57"+ - "\5\1\1\uffff\5\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\1\46\1\uffff\1\1"+ - "\2\uffff\3\1\1\47\1\uffff\1\1\1\uffff\4\1\1\uffff\1\50\7\1\1\uffff\1"+ - "\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6\uffff\1\63\1\1\2\uffff\1\1"+ - "\1\61\1\1\3\uffff\2\1\1\uffff\3\1", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\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[] DFA164_eot = DFA.unpackEncodedString(DFA164_eotS); - static final short[] DFA164_eof = DFA.unpackEncodedString(DFA164_eofS); - static final char[] DFA164_min = DFA.unpackEncodedStringToUnsignedChars(DFA164_minS); - static final char[] DFA164_max = DFA.unpackEncodedStringToUnsignedChars(DFA164_maxS); - static final short[] DFA164_accept = DFA.unpackEncodedString(DFA164_acceptS); - static final short[] DFA164_special = DFA.unpackEncodedString(DFA164_specialS); - static final short[][] DFA164_transition; - - static { - int numStates = DFA164_transitionS.length; - DFA164_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA164_34 = input.LA(1); - - int index164_34 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_34); - if ( s>=0 ) return s; - break; - - case 2 : - int LA164_35 = input.LA(1); - - int index164_35 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_35); - if ( s>=0 ) return s; - break; - - case 3 : - int LA164_36 = input.LA(1); - - int index164_36 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_36); - if ( s>=0 ) return s; - break; - - case 4 : - int LA164_37 = input.LA(1); - - int index164_37 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_37); - if ( s>=0 ) return s; - break; - - case 5 : - int LA164_38 = input.LA(1); - - int index164_38 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_38); - if ( s>=0 ) return s; - break; - - case 6 : - int LA164_39 = input.LA(1); - - int index164_39 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_39); - if ( s>=0 ) return s; - break; - - case 7 : - int LA164_40 = input.LA(1); - - int index164_40 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_40); - if ( s>=0 ) return s; - break; - - case 8 : - int LA164_41 = input.LA(1); - - int index164_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_41); - if ( s>=0 ) return s; - break; - - case 9 : - int LA164_42 = input.LA(1); - - int index164_42 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_42); - if ( s>=0 ) return s; - break; - - case 10 : - int LA164_43 = input.LA(1); - - int index164_43 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_43); - if ( s>=0 ) return s; - break; - - case 11 : - int LA164_44 = input.LA(1); - - int index164_44 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_44); - if ( s>=0 ) return s; - break; - - case 12 : - int LA164_45 = input.LA(1); - - int index164_45 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_45); - if ( s>=0 ) return s; - break; - - case 13 : - int LA164_46 = input.LA(1); - - int index164_46 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_46); - if ( s>=0 ) return s; - break; - - case 14 : - int LA164_47 = input.LA(1); - - int index164_47 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_47); - if ( s>=0 ) return s; - break; - - case 15 : - int LA164_48 = input.LA(1); - - int index164_48 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_48); - if ( s>=0 ) return s; - break; - - case 16 : - int LA164_49 = input.LA(1); - - int index164_49 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_49); - if ( s>=0 ) return s; - break; - - case 17 : - int LA164_50 = input.LA(1); - - int index164_50 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_50); - if ( s>=0 ) return s; - break; - - case 18 : - int LA164_51 = input.LA(1); - - int index164_51 = input.index(); - input.rewind(); - s = -1; - if ( (synpred228_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index164_51); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 164, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA166_eotS = - "\154\uffff"; - static final String DFA166_eofS = - "\1\1\153\uffff"; - static final String DFA166_minS = - "\1\4\33\uffff\1\0\4\uffff\20\0\60\uffff\1\0\3\uffff\1\0\6\uffff"; - static final String DFA166_maxS = - "\1\u00c9\33\uffff\1\0\4\uffff\20\0\60\uffff\1\0\3\uffff\1\0\6\uffff"; - static final String DFA166_acceptS = - "\1\uffff\1\2\142\uffff\1\1\7\uffff"; - static final String DFA166_specialS = - "\34\uffff\1\0\4\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\1\15\1\16\1\17\1\20\60\uffff\1\21\3\uffff\1\22\6\uffff}>"; - static final String[] DFA166_transitionS = { - "\1\1\1\144\3\1\1\uffff\2\1\1\43\2\uffff\3\1\1\uffff\3\1\1\44\3\1\1\uffff"+ - "\5\1\1\uffff\1\1\1\55\1\1\1\34\1\uffff\5\1\2\uffff\1\144\2\uffff\5\1"+ - "\1\56\1\51\3\1\1\52\1\uffff\1\145\2\1\2\uffff\2\1\1\uffff\1\1\4\uffff"+ - "\6\1\1\42\1\uffff\3\1\2\uffff\1\1\1\60\1\53\2\1\1\141\3\1\1\54\12\1\1"+ - "\41\1\144\2\uffff\1\45\1\57\5\1\1\uffff\5\1\1\uffff\1\1\2\uffff\2\1\1"+ - "\uffff\1\1\1\46\1\144\1\1\2\uffff\3\1\1\47\1\uffff\1\1\1\uffff\4\1\1"+ - "\144\1\50\7\1\1\uffff\1\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6\uffff"+ - "\2\1\2\uffff\3\1\1\144\2\uffff\2\1\1\uffff\3\1", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\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[] DFA166_eot = DFA.unpackEncodedString(DFA166_eotS); - static final short[] DFA166_eof = DFA.unpackEncodedString(DFA166_eofS); - static final char[] DFA166_min = DFA.unpackEncodedStringToUnsignedChars(DFA166_minS); - static final char[] DFA166_max = DFA.unpackEncodedStringToUnsignedChars(DFA166_maxS); - static final short[] DFA166_accept = DFA.unpackEncodedString(DFA166_acceptS); - static final short[] DFA166_special = DFA.unpackEncodedString(DFA166_specialS); - static final short[][] DFA166_transition; - - static { - int numStates = DFA166_transitionS.length; - DFA166_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA166_33 = input.LA(1); - - int index166_33 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_33); - if ( s>=0 ) return s; - break; - - case 2 : - int LA166_34 = input.LA(1); - - int index166_34 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_34); - if ( s>=0 ) return s; - break; - - case 3 : - int LA166_35 = input.LA(1); - - int index166_35 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_35); - if ( s>=0 ) return s; - break; - - case 4 : - int LA166_36 = input.LA(1); - - int index166_36 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_36); - if ( s>=0 ) return s; - break; - - case 5 : - int LA166_37 = input.LA(1); - - int index166_37 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_37); - if ( s>=0 ) return s; - break; - - case 6 : - int LA166_38 = input.LA(1); - - int index166_38 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_38); - if ( s>=0 ) return s; - break; - - case 7 : - int LA166_39 = input.LA(1); - - int index166_39 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_39); - if ( s>=0 ) return s; - break; - - case 8 : - int LA166_40 = input.LA(1); - - int index166_40 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_40); - if ( s>=0 ) return s; - break; - - case 9 : - int LA166_41 = input.LA(1); - - int index166_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_41); - if ( s>=0 ) return s; - break; - - case 10 : - int LA166_42 = input.LA(1); - - int index166_42 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_42); - if ( s>=0 ) return s; - break; - - case 11 : - int LA166_43 = input.LA(1); - - int index166_43 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_43); - if ( s>=0 ) return s; - break; - - case 12 : - int LA166_44 = input.LA(1); - - int index166_44 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_44); - if ( s>=0 ) return s; - break; - - case 13 : - int LA166_45 = input.LA(1); - - int index166_45 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_45); - if ( s>=0 ) return s; - break; - - case 14 : - int LA166_46 = input.LA(1); - - int index166_46 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_46); - if ( s>=0 ) return s; - break; - - case 15 : - int LA166_47 = input.LA(1); - - int index166_47 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_47); - if ( s>=0 ) return s; - break; - - case 16 : - int LA166_48 = input.LA(1); - - int index166_48 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_48); - if ( s>=0 ) return s; - break; - - case 17 : - int LA166_97 = input.LA(1); - - int index166_97 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_97); - if ( s>=0 ) return s; - break; - - case 18 : - int LA166_101 = input.LA(1); - - int index166_101 = input.index(); - input.rewind(); - s = -1; - if ( (synpred229_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index166_101); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 166, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA183_eotS = - "\134\uffff"; - static final String DFA183_eofS = - "\2\uffff\1\7\1\uffff\1\7\3\uffff\1\7\4\uffff\1\7\27\uffff\1\7\4\uffff"+ - "\1\7\5\uffff\1\7\53\uffff"; - static final String DFA183_minS = - "\1\50\1\6\1\30\1\u00ae\1\30\1\6\2\uffff\2\30\1\u00ae\1\30\1\6\1\30\4\6"+ - "\1\30\1\31\1\u00ae\2\31\1\u00ae\2\31\1\u00ae\2\31\1\u00ae\4\31\1\30\1"+ - "\u00ae\2\30\2\6\1\31\1\6\1\30\1\31\1\6\2\31\1\6\1\30\1\31\1\6\1\30\1\31"+ - "\1\u00ae\2\31\1\u00ae\2\31\1\u00ae\2\31\1\u00ae\5\31\1\u00ae\5\31\1\6"+ - "\4\31\1\6\2\31\1\u00ae\2\31\1\u00ae\6\31"; - static final String DFA183_maxS = - "\1\50\1\u00c8\1\u008d\1\u00ae\1\u008d\1\u00c8\2\uffff\2\u008d\1\u00ae"+ - "\1\u008d\1\u00c8\1\u008d\4\u00c8\1\u008d\1\132\1\u00ae\2\132\1\u00ae\1"+ - "\132\1\104\1\u00ae\1\104\1\u008d\1\u00ae\5\u008d\1\u00ae\2\u008d\2\u00c8"+ - "\1\132\1\u00c8\1\u008d\1\132\1\u00c8\2\104\1\u00c8\2\u008d\1\u00c8\1\u008d"+ - "\1\132\1\u00ae\1\132\1\104\1\u00ae\2\104\1\u00ae\1\104\1\u008d\1\u00ae"+ - "\5\u008d\1\u00ae\4\u008d\1\132\1\u00c8\3\104\1\u008d\1\u00c8\1\u008d\1"+ - "\104\1\u00ae\1\104\1\u008d\1\u00ae\4\u008d\1\104\1\u008d"; - static final String DFA183_acceptS = - "\6\uffff\1\1\1\2\124\uffff"; - static final String DFA183_specialS = - "\134\uffff}>"; - static final String[] DFA183_transitionS = { - "\1\1", - "\1\4\1\uffff\1\4\6\uffff\1\4\4\uffff\1\4\10\uffff\2\4\2\uffff\1\4\22"+ - "\uffff\1\4\1\uffff\1\4\5\uffff\1\4\15\uffff\1\4\1\uffff\1\4\13\uffff"+ - "\1\4\2\uffff\1\4\2\uffff\1\4\5\uffff\1\4\2\uffff\1\4\1\uffff\1\4\7\uffff"+ - "\1\4\15\uffff\2\4\1\uffff\2\4\1\uffff\1\4\17\uffff\3\4\26\uffff\1\2\21"+ - "\uffff\1\4\3\uffff\1\4\3\uffff\1\3", - "\1\7\17\uffff\1\6\60\uffff\1\7\1\5\62\uffff\1\7", - "\1\10", - "\1\7\17\uffff\1\6\60\uffff\1\7\1\5\62\uffff\1\7", - "\1\13\1\uffff\1\13\6\uffff\1\13\4\uffff\1\13\10\uffff\2\13\2\uffff\1"+ - "\13\22\uffff\1\13\1\uffff\1\13\5\uffff\1\13\15\uffff\1\13\1\uffff\1\13"+ - "\13\uffff\1\13\2\uffff\1\13\2\uffff\1\13\5\uffff\1\13\2\uffff\1\13\1"+ - "\uffff\1\13\7\uffff\1\13\15\uffff\2\13\1\uffff\2\13\1\uffff\1\13\17\uffff"+ - "\3\13\26\uffff\1\11\21\uffff\1\13\3\uffff\1\13\3\uffff\1\12", - "", - "", - "\1\7\17\uffff\1\6\60\uffff\1\7\1\5\62\uffff\1\7", - "\1\20\1\14\16\uffff\1\16\33\uffff\1\15\25\uffff\1\17\62\uffff\1\21", - "\1\22", - "\1\20\1\14\16\uffff\1\16\33\uffff\1\15\25\uffff\1\17\62\uffff\1\21", - "\1\25\1\uffff\1\25\6\uffff\1\25\4\uffff\1\25\10\uffff\2\25\2\uffff\1"+ - "\25\22\uffff\1\25\1\uffff\1\25\5\uffff\1\25\15\uffff\1\25\1\uffff\1\25"+ - "\13\uffff\1\25\2\uffff\1\25\2\uffff\1\25\5\uffff\1\25\2\uffff\1\25\1"+ - "\uffff\1\25\7\uffff\1\25\15\uffff\2\25\1\uffff\2\25\1\uffff\1\25\17\uffff"+ - "\3\25\26\uffff\1\23\21\uffff\1\25\3\uffff\1\25\3\uffff\1\24", - "\1\7\17\uffff\1\6\60\uffff\1\7\63\uffff\1\7", - "\1\30\1\uffff\1\30\6\uffff\1\30\4\uffff\1\30\10\uffff\2\30\2\uffff\1"+ - "\30\22\uffff\1\30\1\uffff\1\30\5\uffff\1\30\15\uffff\1\30\1\uffff\1\30"+ - "\13\uffff\1\30\2\uffff\1\30\2\uffff\1\30\5\uffff\1\30\2\uffff\1\30\1"+ - "\uffff\1\30\7\uffff\1\30\15\uffff\2\30\1\uffff\2\30\1\uffff\1\30\17\uffff"+ - "\3\30\26\uffff\1\26\21\uffff\1\30\3\uffff\1\30\3\uffff\1\27", - "\1\33\1\uffff\1\33\6\uffff\1\33\4\uffff\1\33\10\uffff\2\33\2\uffff\1"+ - "\33\22\uffff\1\33\1\uffff\1\33\5\uffff\1\33\15\uffff\1\33\1\uffff\1\33"+ - "\13\uffff\1\33\2\uffff\1\33\2\uffff\1\33\5\uffff\1\33\2\uffff\1\33\1"+ - "\uffff\1\33\7\uffff\1\33\15\uffff\2\33\1\uffff\2\33\1\uffff\1\33\17\uffff"+ - "\3\33\26\uffff\1\31\21\uffff\1\33\3\uffff\1\33\3\uffff\1\32", - "\1\36\1\uffff\1\36\6\uffff\1\36\4\uffff\1\36\2\uffff\1\40\4\uffff\1"+ - "\41\2\36\2\uffff\1\36\22\uffff\1\36\1\uffff\1\36\5\uffff\1\36\15\uffff"+ - "\1\36\1\uffff\1\36\13\uffff\1\36\2\uffff\1\36\2\uffff\1\36\5\uffff\1"+ - "\36\2\uffff\1\36\1\uffff\1\36\7\uffff\1\36\15\uffff\2\36\1\37\2\36\1"+ - "\uffff\1\36\17\uffff\3\36\26\uffff\1\34\21\uffff\1\36\3\uffff\1\36\3"+ - "\uffff\1\35", - "\1\44\1\uffff\1\44\6\uffff\1\44\4\uffff\1\44\10\uffff\2\44\2\uffff\1"+ - "\44\22\uffff\1\44\1\uffff\1\44\5\uffff\1\44\15\uffff\1\44\1\uffff\1\44"+ - "\13\uffff\1\44\2\uffff\1\44\2\uffff\1\44\5\uffff\1\44\2\uffff\1\44\1"+ - "\uffff\1\44\7\uffff\1\44\15\uffff\2\44\1\uffff\2\44\1\uffff\1\44\17\uffff"+ - "\3\44\26\uffff\1\42\21\uffff\1\44\3\uffff\1\44\3\uffff\1\43", - "\1\20\1\14\16\uffff\1\16\33\uffff\1\15\25\uffff\1\17\62\uffff\1\21", - "\1\14\16\uffff\1\46\33\uffff\1\45\25\uffff\1\47", - "\1\50", - "\1\14\16\uffff\1\46\33\uffff\1\45\25\uffff\1\47", - "\1\51\16\uffff\1\16\33\uffff\1\52\25\uffff\1\17", - "\1\53", - "\1\51\16\uffff\1\16\33\uffff\1\52\25\uffff\1\17", - "\1\54\52\uffff\1\55", - "\1\56", - "\1\54\52\uffff\1\55", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\61", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\62\53\uffff\1\60\110\uffff\1\21", - "\1\63", - "\1\62\53\uffff\1\60\110\uffff\1\21", - "\1\7\17\uffff\1\6\60\uffff\1\7\63\uffff\1\7", - "\1\66\1\uffff\1\66\6\uffff\1\66\4\uffff\1\66\10\uffff\2\66\2\uffff\1"+ - "\66\22\uffff\1\66\1\uffff\1\66\5\uffff\1\66\15\uffff\1\66\1\uffff\1\66"+ - "\13\uffff\1\66\2\uffff\1\66\2\uffff\1\66\5\uffff\1\66\2\uffff\1\66\1"+ - "\uffff\1\66\7\uffff\1\66\15\uffff\2\66\1\uffff\2\66\1\uffff\1\66\17\uffff"+ - "\3\66\26\uffff\1\64\21\uffff\1\66\3\uffff\1\66\3\uffff\1\65", - "\1\71\1\uffff\1\71\6\uffff\1\71\4\uffff\1\71\10\uffff\2\71\2\uffff\1"+ - "\71\22\uffff\1\71\1\uffff\1\71\5\uffff\1\71\15\uffff\1\71\1\uffff\1\71"+ - "\13\uffff\1\71\2\uffff\1\71\2\uffff\1\71\5\uffff\1\71\2\uffff\1\71\1"+ - "\uffff\1\71\7\uffff\1\71\15\uffff\2\71\1\uffff\2\71\1\uffff\1\71\17\uffff"+ - "\3\71\26\uffff\1\67\21\uffff\1\71\3\uffff\1\71\3\uffff\1\70", - "\1\14\16\uffff\1\46\33\uffff\1\45\25\uffff\1\47", - "\1\66\1\uffff\1\66\6\uffff\1\66\4\uffff\1\66\10\uffff\2\66\2\uffff\1"+ - "\66\22\uffff\1\66\1\uffff\1\66\5\uffff\1\66\15\uffff\1\66\1\uffff\1\66"+ - "\13\uffff\1\66\2\uffff\1\66\2\uffff\1\66\5\uffff\1\66\2\uffff\1\66\1"+ - "\uffff\1\66\7\uffff\1\66\15\uffff\2\66\1\uffff\2\66\1\uffff\1\66\17\uffff"+ - "\3\66\26\uffff\1\64\21\uffff\1\66\3\uffff\1\66\3\uffff\1\65", - "\1\7\17\uffff\1\6\60\uffff\1\7\63\uffff\1\7", - "\1\51\16\uffff\1\16\33\uffff\1\52\25\uffff\1\17", - "\1\74\1\uffff\1\74\6\uffff\1\74\4\uffff\1\74\10\uffff\2\74\2\uffff\1"+ - "\74\22\uffff\1\74\1\uffff\1\74\5\uffff\1\74\15\uffff\1\74\1\uffff\1\74"+ - "\13\uffff\1\74\2\uffff\1\74\2\uffff\1\74\5\uffff\1\74\2\uffff\1\74\1"+ - "\uffff\1\74\7\uffff\1\74\15\uffff\2\74\1\uffff\2\74\1\uffff\1\74\17\uffff"+ - "\3\74\26\uffff\1\72\21\uffff\1\74\3\uffff\1\74\3\uffff\1\73", - "\1\51\52\uffff\1\52", - "\1\54\52\uffff\1\55", - "\1\77\1\uffff\1\77\6\uffff\1\77\4\uffff\1\77\2\uffff\1\101\4\uffff\1"+ - "\102\2\77\2\uffff\1\77\22\uffff\1\77\1\uffff\1\77\5\uffff\1\77\15\uffff"+ - "\1\77\1\uffff\1\77\13\uffff\1\77\2\uffff\1\77\2\uffff\1\77\5\uffff\1"+ - "\77\2\uffff\1\77\1\uffff\1\77\7\uffff\1\77\15\uffff\2\77\1\100\2\77\1"+ - "\uffff\1\77\17\uffff\3\77\26\uffff\1\75\21\uffff\1\77\3\uffff\1\77\3"+ - "\uffff\1\76", - "\1\7\17\uffff\1\6\60\uffff\1\7\63\uffff\1\7", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\105\1\uffff\1\105\6\uffff\1\105\4\uffff\1\105\2\uffff\1\107\4\uffff"+ - "\1\110\2\105\2\uffff\1\105\22\uffff\1\105\1\uffff\1\105\5\uffff\1\105"+ - "\15\uffff\1\105\1\uffff\1\105\13\uffff\1\105\2\uffff\1\105\2\uffff\1"+ - "\105\5\uffff\1\105\2\uffff\1\105\1\uffff\1\105\7\uffff\1\105\15\uffff"+ - "\2\105\1\106\2\105\1\uffff\1\105\17\uffff\3\105\26\uffff\1\103\21\uffff"+ - "\1\105\3\uffff\1\105\3\uffff\1\104", - "\1\62\53\uffff\1\60\110\uffff\1\21", - "\1\51\16\uffff\1\46\33\uffff\1\52\25\uffff\1\47", - "\1\111", - "\1\51\16\uffff\1\46\33\uffff\1\52\25\uffff\1\47", - "\1\112\52\uffff\1\113", - "\1\114", - "\1\112\52\uffff\1\113", - "\1\54\52\uffff\1\55", - "\1\115", - "\1\54\52\uffff\1\55", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\116", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\120", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\51\16\uffff\1\46\33\uffff\1\52\25\uffff\1\47", - "\1\123\1\uffff\1\123\6\uffff\1\123\4\uffff\1\123\10\uffff\2\123\2\uffff"+ - "\1\123\22\uffff\1\123\1\uffff\1\123\5\uffff\1\123\15\uffff\1\123\1\uffff"+ - "\1\123\13\uffff\1\123\2\uffff\1\123\2\uffff\1\123\5\uffff\1\123\2\uffff"+ - "\1\123\1\uffff\1\123\7\uffff\1\123\15\uffff\2\123\1\uffff\2\123\1\uffff"+ - "\1\123\17\uffff\3\123\26\uffff\1\121\21\uffff\1\123\3\uffff\1\123\3\uffff"+ - "\1\122", - "\1\51\52\uffff\1\52", - "\1\112\52\uffff\1\113", - "\1\54\52\uffff\1\55", - "\1\57\52\uffff\1\60\110\uffff\1\21", - "\1\126\1\uffff\1\126\6\uffff\1\126\4\uffff\1\126\2\uffff\1\130\4\uffff"+ - "\1\131\2\126\2\uffff\1\126\22\uffff\1\126\1\uffff\1\126\5\uffff\1\126"+ - "\15\uffff\1\126\1\uffff\1\126\13\uffff\1\126\2\uffff\1\126\2\uffff\1"+ - "\126\5\uffff\1\126\2\uffff\1\126\1\uffff\1\126\7\uffff\1\126\15\uffff"+ - "\2\126\1\127\2\126\1\uffff\1\126\17\uffff\3\126\26\uffff\1\124\21\uffff"+ - "\1\126\3\uffff\1\126\3\uffff\1\125", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\112\52\uffff\1\113", - "\1\132", - "\1\112\52\uffff\1\113", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\133", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\117\52\uffff\1\60\110\uffff\1\21", - "\1\112\52\uffff\1\113", - "\1\117\52\uffff\1\60\110\uffff\1\21" - }; - - static final short[] DFA183_eot = DFA.unpackEncodedString(DFA183_eotS); - static final short[] DFA183_eof = DFA.unpackEncodedString(DFA183_eofS); - static final char[] DFA183_min = DFA.unpackEncodedStringToUnsignedChars(DFA183_minS); - static final char[] DFA183_max = DFA.unpackEncodedStringToUnsignedChars(DFA183_maxS); - static final short[] DFA183_accept = DFA.unpackEncodedString(DFA183_acceptS); - static final short[] DFA183_special = DFA.unpackEncodedString(DFA183_specialS); - static final short[][] DFA183_transition; - - static { - int numStates = DFA183_transitionS.length; - DFA183_transition = new short[numStates][]; - for (int i=0; i"; - static final String[] DFA185_transitionS = { - "\1\1\1\uffff\3\1\1\uffff\2\1\1\45\2\uffff\3\1\1\uffff\3\1\1\46\3\1\1"+ - "\uffff\5\1\1\uffff\1\1\1\57\2\1\1\uffff\5\1\5\uffff\5\1\1\60\1\53\1\1"+ - "\1\2\1\1\1\54\1\uffff\3\1\1\uffff\3\1\1\uffff\1\1\4\uffff\6\1\1\44\1"+ - "\uffff\3\1\2\uffff\1\1\1\62\1\55\6\1\1\56\12\1\1\43\3\uffff\1\47\1\61"+ - "\5\1\1\uffff\5\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\1\50\1\uffff\1\1"+ - "\2\uffff\3\1\1\51\1\uffff\1\1\1\uffff\4\1\1\uffff\1\52\7\1\1\uffff\1"+ - "\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6\uffff\1\64\1\1\2\uffff\1\1"+ - "\1\63\1\1\3\uffff\2\1\1\uffff\3\1", - "", - "\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[] DFA185_eot = DFA.unpackEncodedString(DFA185_eotS); - static final short[] DFA185_eof = DFA.unpackEncodedString(DFA185_eofS); - static final char[] DFA185_min = DFA.unpackEncodedStringToUnsignedChars(DFA185_minS); - static final char[] DFA185_max = DFA.unpackEncodedStringToUnsignedChars(DFA185_maxS); - static final short[] DFA185_accept = DFA.unpackEncodedString(DFA185_acceptS); - static final short[] DFA185_special = DFA.unpackEncodedString(DFA185_specialS); - static final short[][] DFA185_transition; - - static { - int numStates = DFA185_transitionS.length; - DFA185_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA185_35 = input.LA(1); - - int index185_35 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_35); - if ( s>=0 ) return s; - break; - - case 2 : - int LA185_36 = input.LA(1); - - int index185_36 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_36); - if ( s>=0 ) return s; - break; - - case 3 : - int LA185_37 = input.LA(1); - - int index185_37 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_37); - if ( s>=0 ) return s; - break; - - case 4 : - int LA185_38 = input.LA(1); - - int index185_38 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_38); - if ( s>=0 ) return s; - break; - - case 5 : - int LA185_39 = input.LA(1); - - int index185_39 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_39); - if ( s>=0 ) return s; - break; - - case 6 : - int LA185_40 = input.LA(1); - - int index185_40 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_40); - if ( s>=0 ) return s; - break; - - case 7 : - int LA185_41 = input.LA(1); - - int index185_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_41); - if ( s>=0 ) return s; - break; - - case 8 : - int LA185_42 = input.LA(1); - - int index185_42 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_42); - if ( s>=0 ) return s; - break; - - case 9 : - int LA185_43 = input.LA(1); - - int index185_43 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_43); - if ( s>=0 ) return s; - break; - - case 10 : - int LA185_44 = input.LA(1); - - int index185_44 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_44); - if ( s>=0 ) return s; - break; - - case 11 : - int LA185_45 = input.LA(1); - - int index185_45 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_45); - if ( s>=0 ) return s; - break; - - case 12 : - int LA185_46 = input.LA(1); - - int index185_46 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_46); - if ( s>=0 ) return s; - break; - - case 13 : - int LA185_47 = input.LA(1); - - int index185_47 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_47); - if ( s>=0 ) return s; - break; - - case 14 : - int LA185_48 = input.LA(1); - - int index185_48 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_48); - if ( s>=0 ) return s; - break; - - case 15 : - int LA185_49 = input.LA(1); - - int index185_49 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_49); - if ( s>=0 ) return s; - break; - - case 16 : - int LA185_50 = input.LA(1); - - int index185_50 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_50); - if ( s>=0 ) return s; - break; - - case 17 : - int LA185_51 = input.LA(1); - - int index185_51 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_51); - if ( s>=0 ) return s; - break; - - case 18 : - int LA185_52 = input.LA(1); - - int index185_52 = input.index(); - input.rewind(); - s = -1; - if ( (synpred251_Delphi()) ) {s = 101;} - else if ( (true) ) {s = 1;} - - input.seek(index185_52); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 185, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA198_eotS = - "\145\uffff"; - static final String DFA198_eofS = - "\1\1\144\uffff"; - static final String DFA198_minS = - "\1\4\40\uffff\23\0\61\uffff"; - static final String DFA198_maxS = - "\1\u00c9\40\uffff\23\0\61\uffff"; - static final String DFA198_acceptS = - "\1\uffff\1\2\142\uffff\1\1"; - static final String DFA198_specialS = - "\41\uffff\1\0\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\1\17\1\20\1\21\1\22\61\uffff}>"; - static final String[] DFA198_transitionS = { - "\1\1\1\uffff\3\1\1\uffff\2\1\1\43\2\uffff\3\1\1\uffff\3\1\1\44\3\1\1"+ - "\uffff\5\1\1\uffff\1\1\1\55\2\1\1\uffff\5\1\5\uffff\5\1\1\56\1\51\1\1"+ - "\1\62\1\1\1\52\1\uffff\3\1\2\uffff\2\1\1\uffff\1\1\4\uffff\6\1\1\42\1"+ - "\uffff\3\1\2\uffff\1\1\1\60\1\53\6\1\1\54\12\1\1\41\3\uffff\1\45\1\57"+ - "\5\1\1\uffff\5\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\1\46\1\uffff\1\1"+ - "\2\uffff\3\1\1\47\1\uffff\1\1\1\uffff\4\1\1\uffff\1\50\7\1\1\uffff\1"+ - "\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6\uffff\1\63\1\1\2\uffff\1\1"+ - "\1\61\1\1\3\uffff\2\1\1\uffff\3\1", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\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[] DFA198_eot = DFA.unpackEncodedString(DFA198_eotS); - static final short[] DFA198_eof = DFA.unpackEncodedString(DFA198_eofS); - static final char[] DFA198_min = DFA.unpackEncodedStringToUnsignedChars(DFA198_minS); - static final char[] DFA198_max = DFA.unpackEncodedStringToUnsignedChars(DFA198_maxS); - static final short[] DFA198_accept = DFA.unpackEncodedString(DFA198_acceptS); - static final short[] DFA198_special = DFA.unpackEncodedString(DFA198_specialS); - static final short[][] DFA198_transition; - - static { - int numStates = DFA198_transitionS.length; - DFA198_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA198_34 = input.LA(1); - - int index198_34 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_34); - if ( s>=0 ) return s; - break; - - case 2 : - int LA198_35 = input.LA(1); - - int index198_35 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_35); - if ( s>=0 ) return s; - break; - - case 3 : - int LA198_36 = input.LA(1); - - int index198_36 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_36); - if ( s>=0 ) return s; - break; - - case 4 : - int LA198_37 = input.LA(1); - - int index198_37 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_37); - if ( s>=0 ) return s; - break; - - case 5 : - int LA198_38 = input.LA(1); - - int index198_38 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_38); - if ( s>=0 ) return s; - break; - - case 6 : - int LA198_39 = input.LA(1); - - int index198_39 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_39); - if ( s>=0 ) return s; - break; - - case 7 : - int LA198_40 = input.LA(1); - - int index198_40 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_40); - if ( s>=0 ) return s; - break; - - case 8 : - int LA198_41 = input.LA(1); - - int index198_41 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_41); - if ( s>=0 ) return s; - break; - - case 9 : - int LA198_42 = input.LA(1); - - int index198_42 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_42); - if ( s>=0 ) return s; - break; - - case 10 : - int LA198_43 = input.LA(1); - - int index198_43 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_43); - if ( s>=0 ) return s; - break; - - case 11 : - int LA198_44 = input.LA(1); - - int index198_44 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_44); - if ( s>=0 ) return s; - break; - - case 12 : - int LA198_45 = input.LA(1); - - int index198_45 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_45); - if ( s>=0 ) return s; - break; - - case 13 : - int LA198_46 = input.LA(1); - - int index198_46 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_46); - if ( s>=0 ) return s; - break; - - case 14 : - int LA198_47 = input.LA(1); - - int index198_47 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_47); - if ( s>=0 ) return s; - break; - - case 15 : - int LA198_48 = input.LA(1); - - int index198_48 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_48); - if ( s>=0 ) return s; - break; - - case 16 : - int LA198_49 = input.LA(1); - - int index198_49 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_49); - if ( s>=0 ) return s; - break; - - case 17 : - int LA198_50 = input.LA(1); - - int index198_50 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_50); - if ( s>=0 ) return s; - break; - - case 18 : - int LA198_51 = input.LA(1); - - int index198_51 = input.index(); - input.rewind(); - s = -1; - if ( (synpred266_Delphi()) ) {s = 100;} - else if ( (true) ) {s = 1;} - - input.seek(index198_51); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 198, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA208_eotS = - "\145\uffff"; - static final String DFA208_eofS = - "\1\2\144\uffff"; - static final String DFA208_minS = - "\1\4\1\0\143\uffff"; - static final String DFA208_maxS = - "\1\u00c9\1\0\143\uffff"; - static final String DFA208_acceptS = - "\2\uffff\1\2\141\uffff\1\1"; - static final String DFA208_specialS = - "\1\uffff\1\0\143\uffff}>"; - static final String[] DFA208_transitionS = { - "\1\2\1\uffff\3\2\1\uffff\3\2\2\uffff\3\2\1\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\4\2\1\uffff\5\2\5\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\1\2\2\uffff\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff"+ - "\4\2\1\uffff\10\2\1\uffff\1\2\2\uffff\1\2\14\uffff\3\2\3\uffff\1\2\6"+ - "\uffff\2\2\2\uffff\3\2\3\uffff\2\2\1\uffff\3\2", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - - static final short[] DFA208_eot = DFA.unpackEncodedString(DFA208_eotS); - static final short[] DFA208_eof = DFA.unpackEncodedString(DFA208_eofS); - static final char[] DFA208_min = DFA.unpackEncodedStringToUnsignedChars(DFA208_minS); - static final char[] DFA208_max = DFA.unpackEncodedStringToUnsignedChars(DFA208_maxS); - static final short[] DFA208_accept = DFA.unpackEncodedString(DFA208_acceptS); - static final short[] DFA208_special = DFA.unpackEncodedString(DFA208_specialS); - static final short[][] DFA208_transition; - - static { - int numStates = DFA208_transitionS.length; - DFA208_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 208, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA214_eotS = - "\164\uffff"; - static final String DFA214_eofS = - "\1\21\163\uffff"; - static final String DFA214_minS = - "\1\4\20\0\1\uffff\3\0\5\uffff\1\0\7\uffff\3\0\2\uffff\2\0\1\uffff\1\0"+ - "\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\26\uffff\1\0\16\uffff\1\0\5\uffff"+ - "\1\0\22\uffff"; - static final String DFA214_maxS = - "\1\u00c9\20\0\1\uffff\3\0\5\uffff\1\0\7\uffff\3\0\2\uffff\2\0\1\uffff"+ - "\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\26\uffff\1\0\16\uffff\1\0\5\uffff"+ - "\1\0\22\uffff"; - static final String DFA214_acceptS = - "\21\uffff\1\20\122\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\1\15\1\16\1\17\1\21"; - static final String DFA214_specialS = - "\1\uffff\1\0\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\1\17\1\uffff\1\20\1\21\1\22\5\uffff\1\23\7\uffff\1\24\1\25\1\26"+ - "\2\uffff\1\27\1\30\1\uffff\1\31\5\uffff\1\32\2\uffff\1\33\1\uffff\1\34"+ - "\26\uffff\1\35\16\uffff\1\36\5\uffff\1\37\22\uffff}>"; - static final String[] DFA214_transitionS = { - "\1\21\1\uffff\1\141\1\21\1\141\1\uffff\3\21\2\uffff\1\141\1\1\1\21\1"+ - "\uffff\1\21\1\141\5\21\1\uffff\2\21\2\141\1\16\1\uffff\1\47\3\21\1\uffff"+ - "\5\21\5\uffff\4\21\1\141\1\21\1\60\2\21\1\13\1\21\1\uffff\1\141\2\21"+ - "\2\uffff\2\21\1\uffff\1\21\4\uffff\1\21\1\50\1\21\1\65\3\21\1\uffff\2"+ - "\21\1\20\2\uffff\2\21\1\63\1\15\1\21\1\141\1\5\1\21\1\24\1\21\1\14\1"+ - "\21\1\3\1\21\1\141\2\21\1\133\1\21\1\141\1\21\3\uffff\2\21\1\4\1\141"+ - "\1\6\2\21\1\uffff\4\21\1\17\1\uffff\1\21\2\uffff\1\32\1\43\1\uffff\1"+ - "\141\1\52\1\uffff\1\141\2\uffff\4\21\1\uffff\1\21\1\uffff\4\21\1\uffff"+ - "\1\21\1\44\1\114\1\141\3\21\1\12\1\uffff\1\21\2\uffff\1\11\14\uffff\1"+ - "\7\1\22\1\7\3\uffff\1\10\6\uffff\2\21\2\uffff\2\21\1\141\3\uffff\1\42"+ - "\1\21\1\uffff\1\21\1\23\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", - "\1\uffff", - "", - "", - "\1\uffff", - "\1\uffff", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "\1\uffff", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - - static final short[] DFA214_eot = DFA.unpackEncodedString(DFA214_eotS); - static final short[] DFA214_eof = DFA.unpackEncodedString(DFA214_eofS); - static final char[] DFA214_min = DFA.unpackEncodedStringToUnsignedChars(DFA214_minS); - static final char[] DFA214_max = DFA.unpackEncodedStringToUnsignedChars(DFA214_maxS); - static final short[] DFA214_accept = DFA.unpackEncodedString(DFA214_acceptS); - static final short[] DFA214_special = DFA.unpackEncodedString(DFA214_specialS); - static final short[][] DFA214_transition; - - static { - int numStates = DFA214_transitionS.length; - DFA214_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA214_2 = input.LA(1); - - int index214_2 = input.index(); - input.rewind(); - s = -1; - if ( (synpred283_Delphi()) ) {s = 101;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_2); - if ( s>=0 ) return s; - break; - - case 2 : - int LA214_3 = input.LA(1); - - int index214_3 = input.index(); - input.rewind(); - s = -1; - if ( (synpred284_Delphi()) ) {s = 102;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_3); - if ( s>=0 ) return s; - break; - - case 3 : - int LA214_4 = input.LA(1); - - int index214_4 = input.index(); - input.rewind(); - s = -1; - if ( (synpred285_Delphi()) ) {s = 103;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_4); - if ( s>=0 ) return s; - break; - - case 4 : - int LA214_5 = input.LA(1); - - int index214_5 = input.index(); - input.rewind(); - s = -1; - if ( (synpred286_Delphi()) ) {s = 104;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_5); - if ( s>=0 ) return s; - break; - - case 5 : - int LA214_6 = input.LA(1); - - int index214_6 = input.index(); - input.rewind(); - s = -1; - if ( (synpred287_Delphi()) ) {s = 105;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_6); - if ( s>=0 ) return s; - break; - - case 6 : - int LA214_7 = input.LA(1); - - int index214_7 = input.index(); - input.rewind(); - s = -1; - if ( (synpred288_Delphi()) ) {s = 106;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_7); - if ( s>=0 ) return s; - break; - - case 7 : - int LA214_8 = input.LA(1); - - int index214_8 = input.index(); - input.rewind(); - s = -1; - if ( (synpred289_Delphi()) ) {s = 107;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_8); - if ( s>=0 ) return s; - break; - - case 8 : - int LA214_9 = input.LA(1); - - int index214_9 = input.index(); - input.rewind(); - s = -1; - if ( (synpred290_Delphi()) ) {s = 108;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_9); - if ( s>=0 ) return s; - break; - - case 9 : - int LA214_10 = input.LA(1); - - int index214_10 = input.index(); - input.rewind(); - s = -1; - if ( (synpred291_Delphi()) ) {s = 109;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_10); - if ( s>=0 ) return s; - break; - - case 10 : - int LA214_11 = input.LA(1); - - int index214_11 = input.index(); - input.rewind(); - s = -1; - if ( (synpred292_Delphi()) ) {s = 110;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_11); - if ( s>=0 ) return s; - break; - - case 11 : - int LA214_12 = input.LA(1); - - int index214_12 = input.index(); - input.rewind(); - s = -1; - if ( (synpred293_Delphi()) ) {s = 111;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_12); - if ( s>=0 ) return s; - break; - - case 12 : - int LA214_13 = input.LA(1); - - int index214_13 = input.index(); - input.rewind(); - s = -1; - if ( (synpred296_Delphi()) ) {s = 112;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_13); - if ( s>=0 ) return s; - break; - - case 13 : - int LA214_14 = input.LA(1); - - int index214_14 = input.index(); - input.rewind(); - s = -1; - if ( (synpred297_Delphi()) ) {s = 113;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_14); - if ( s>=0 ) return s; - break; - - case 14 : - int LA214_15 = input.LA(1); - - int index214_15 = input.index(); - input.rewind(); - s = -1; - if ( (synpred297_Delphi()) ) {s = 113;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_15); - if ( s>=0 ) return s; - break; - - case 15 : - int LA214_16 = input.LA(1); - - int index214_16 = input.index(); - input.rewind(); - s = -1; - if ( (synpred298_Delphi()) ) {s = 114;} - else if ( (synpred299_Delphi()) ) {s = 17;} - - input.seek(index214_16); - if ( s>=0 ) return s; - break; - - case 16 : - int LA214_18 = input.LA(1); - - int index214_18 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_18); - if ( s>=0 ) return s; - break; - - case 17 : - int LA214_19 = input.LA(1); - - int index214_19 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_19); - if ( s>=0 ) return s; - break; - - case 18 : - int LA214_20 = input.LA(1); - - int index214_20 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_20); - if ( s>=0 ) return s; - break; - - case 19 : - int LA214_26 = input.LA(1); - - int index214_26 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_26); - if ( s>=0 ) return s; - break; - - case 20 : - int LA214_34 = input.LA(1); - - int index214_34 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_34); - if ( s>=0 ) return s; - break; - - case 21 : - int LA214_35 = input.LA(1); - - int index214_35 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_35); - if ( s>=0 ) return s; - break; - - case 22 : - int LA214_36 = input.LA(1); - - int index214_36 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_36); - if ( s>=0 ) return s; - break; - - case 23 : - int LA214_39 = input.LA(1); - - int index214_39 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_39); - if ( s>=0 ) return s; - break; - - case 24 : - int LA214_40 = input.LA(1); - - int index214_40 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_40); - if ( s>=0 ) return s; - break; - - case 25 : - int LA214_42 = input.LA(1); - - int index214_42 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_42); - if ( s>=0 ) return s; - break; - - case 26 : - int LA214_48 = input.LA(1); - - int index214_48 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_48); - if ( s>=0 ) return s; - break; - - case 27 : - int LA214_51 = input.LA(1); - - int index214_51 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_51); - if ( s>=0 ) return s; - break; - - case 28 : - int LA214_53 = input.LA(1); - - int index214_53 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_53); - if ( s>=0 ) return s; - break; - - case 29 : - int LA214_76 = input.LA(1); - - int index214_76 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_76); - if ( s>=0 ) return s; - break; - - case 30 : - int LA214_91 = input.LA(1); - - int index214_91 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_91); - if ( s>=0 ) return s; - break; - - case 31 : - int LA214_97 = input.LA(1); - - int index214_97 = input.index(); - input.rewind(); - s = -1; - if ( (synpred299_Delphi()) ) {s = 17;} - else if ( (true) ) {s = 115;} - - input.seek(index214_97); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 214, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA225_eotS = - "\151\uffff"; - static final String DFA225_eofS = - "\1\1\150\uffff"; - static final String DFA225_minS = - "\1\4\2\uffff\1\0\55\uffff\1\0\4\uffff\1\0\6\uffff\1\0\4\uffff\1\0\6\uffff"+ - "\1\0\37\uffff"; - static final String DFA225_maxS = - "\1\u00c9\2\uffff\1\0\55\uffff\1\0\4\uffff\1\0\6\uffff\1\0\4\uffff\1\0"+ - "\6\uffff\1\0\37\uffff"; - static final String DFA225_acceptS = - "\1\uffff\1\2\146\uffff\1\1"; - static final String DFA225_specialS = - "\3\uffff\1\0\55\uffff\1\1\4\uffff\1\2\6\uffff\1\3\4\uffff\1\4\6\uffff"+ - "\1\5\37\uffff}>"; - static final String[] DFA225_transitionS = { - "\1\1\1\uffff\3\1\1\uffff\3\1\1\uffff\2\1\1\75\1\1\1\uffff\7\1\1\uffff"+ - "\5\1\1\uffff\4\1\1\uffff\2\1\1\66\2\1\5\uffff\13\1\1\uffff\3\1\2\uffff"+ - "\2\1\1\uffff\1\1\4\uffff\7\1\1\uffff\2\1\1\61\2\uffff\3\1\1\111\1\3\20"+ - "\1\3\uffff\4\1\1\102\2\1\1\uffff\5\1\1\uffff\1\1\2\uffff\2\1\1\uffff"+ - "\2\1\1\uffff\1\1\2\uffff\4\1\1\uffff\1\1\1\uffff\4\1\1\uffff\10\1\1\uffff"+ - "\1\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6\uffff\2\1\2\uffff\3\1\3\uffff"+ - "\2\1\1\uffff\3\1", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - - static final short[] DFA225_eot = DFA.unpackEncodedString(DFA225_eotS); - static final short[] DFA225_eof = DFA.unpackEncodedString(DFA225_eofS); - static final char[] DFA225_min = DFA.unpackEncodedStringToUnsignedChars(DFA225_minS); - static final char[] DFA225_max = DFA.unpackEncodedStringToUnsignedChars(DFA225_maxS); - static final short[] DFA225_accept = DFA.unpackEncodedString(DFA225_acceptS); - static final short[] DFA225_special = DFA.unpackEncodedString(DFA225_specialS); - static final short[][] DFA225_transition; - - static { - int numStates = DFA225_transitionS.length; - DFA225_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA225_49 = input.LA(1); - - int index225_49 = input.index(); - input.rewind(); - s = -1; - if ( (synpred311_Delphi()) ) {s = 104;} - else if ( (true) ) {s = 1;} - - input.seek(index225_49); - if ( s>=0 ) return s; - break; - - case 2 : - int LA225_54 = input.LA(1); - - int index225_54 = input.index(); - input.rewind(); - s = -1; - if ( (synpred311_Delphi()) ) {s = 104;} - else if ( (true) ) {s = 1;} - - input.seek(index225_54); - if ( s>=0 ) return s; - break; - - case 3 : - int LA225_61 = input.LA(1); - - int index225_61 = input.index(); - input.rewind(); - s = -1; - if ( (synpred311_Delphi()) ) {s = 104;} - else if ( (true) ) {s = 1;} - - input.seek(index225_61); - if ( s>=0 ) return s; - break; - - case 4 : - int LA225_66 = input.LA(1); - - int index225_66 = input.index(); - input.rewind(); - s = -1; - if ( (synpred311_Delphi()) ) {s = 104;} - else if ( (true) ) {s = 1;} - - input.seek(index225_66); - if ( s>=0 ) return s; - break; - - case 5 : - int LA225_73 = input.LA(1); - - int index225_73 = input.index(); - input.rewind(); - s = -1; - if ( (synpred311_Delphi()) ) {s = 104;} - else if ( (true) ) {s = 1;} - - input.seek(index225_73); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 225, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA255_eotS = - "\146\uffff"; - static final String DFA255_eofS = - "\1\2\145\uffff"; - static final String DFA255_minS = - "\1\4\1\0\144\uffff"; - static final String DFA255_maxS = - "\1\u00c9\1\0\144\uffff"; - static final String DFA255_acceptS = - "\2\uffff\1\3\141\uffff\1\1\1\2"; - static final String DFA255_specialS = - "\1\uffff\1\0\144\uffff}>"; - static final String[] DFA255_transitionS = { - "\1\2\1\uffff\3\2\1\uffff\3\2\2\uffff\3\2\1\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\4\2\1\uffff\5\2\5\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\1\2\4\uffff"+ - "\7\2\1\uffff\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff"+ - "\1\2\2\uffff\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff"+ - "\4\2\1\uffff\10\2\1\uffff\1\2\2\uffff\1\2\14\uffff\3\2\3\uffff\1\2\6"+ - "\uffff\2\2\2\uffff\3\2\3\uffff\2\2\1\uffff\3\2", - "\1\uffff", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - - static final short[] DFA255_eot = DFA.unpackEncodedString(DFA255_eotS); - static final short[] DFA255_eof = DFA.unpackEncodedString(DFA255_eofS); - static final char[] DFA255_min = DFA.unpackEncodedStringToUnsignedChars(DFA255_minS); - static final char[] DFA255_max = DFA.unpackEncodedStringToUnsignedChars(DFA255_maxS); - static final short[] DFA255_accept = DFA.unpackEncodedString(DFA255_acceptS); - static final short[] DFA255_special = DFA.unpackEncodedString(DFA255_specialS); - static final short[][] DFA255_transition; - - static { - int numStates = DFA255_transitionS.length; - DFA255_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 255, _s, input); - error(nvae); - throw nvae; - } - } - - static final String DFA288_eotS = - "\u00a5\uffff"; - static final String DFA288_eofS = - "\1\1\1\uffff\1\1\1\14\1\uffff\1\14\1\uffff\4\1\2\uffff\2\1\1\uffff\1\14"+ - "\3\uffff\2\1\1\uffff\4\1\3\uffff\7\1\1\uffff\1\1\1\105\3\uffff\1\1\2\uffff"+ - "\1\1\1\uffff\1\1\1\uffff\2\1\5\uffff\1\1\7\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\1\1\uffff\1\1\1\uffff\1\1\1\uffff\1\1\1\uffff\1\1\1\uffff\2\1\1\uffff"+ - "\1\1\1\uffff\7\1\5\uffff\1\1\1\uffff\1\1\1\uffff\3\1\2\uffff\1\1\7\uffff"+ - "\1\1\3\uffff\7\1\1\uffff\2\1\1\uffff\10\1\1\uffff\1\1\2\uffff\1\1\1\uffff"+ - "\5\1\1\uffff\3\1\1\uffff\11\1"; - static final String DFA288_minS = - "\1\31\1\uffff\1\6\1\4\1\u00ae\1\4\1\0\4\6\1\0\1\uffff\1\6\1\4\1\6\1\4"+ - "\2\0\1\uffff\2\6\1\0\4\6\3\0\1\6\6\7\1\u00ae\1\7\1\4\1\7\1\u00ae\1\7\1"+ - "\4\2\0\1\6\1\0\1\6\1\0\2\6\4\0\2\6\7\0\1\7\1\0\1\6\1\0\1\uffff\1\6\1\7"+ - "\1\0\1\6\1\0\1\6\1\0\1\6\1\0\1\6\1\0\1\7\1\u00ae\2\7\1\0\1\7\1\u00ae\1"+ - "\6\7\7\1\u00ae\1\7\2\0\1\6\1\0\1\6\1\0\1\6\1\7\2\6\1\0\1\7\7\0\1\4\1\7"+ - "\2\0\1\6\6\7\1\u00ae\2\7\1\u00ae\1\6\7\7\1\u00ae\1\7\2\0\1\7\2\6\1\7\1"+ - "\6\2\7\1\u00ae\3\7\1\u00ae\1\6\10\7"; - static final String DFA288_maxS = - "\1\u008d\1\uffff\1\u00c8\1\u00c9\1\u00ae\1\u00c9\1\0\4\u00c8\1\0\1\uffff"+ - "\4\u00c9\2\0\1\uffff\2\u00c8\1\0\4\u00c8\3\0\1\u00c8\6\u00c7\1\u00ae\1"+ - "\u00c7\1\u00c9\1\u00c7\1\u00ae\1\u00c7\1\u00c9\2\0\1\u00c8\1\0\1\u00c8"+ - "\1\0\2\u00c8\4\0\1\u00c8\1\u00c9\7\0\1\u00c7\1\0\1\u00c9\1\0\1\uffff\1"+ - "\u00c9\1\u00c7\1\0\1\u00c8\1\0\1\u00c8\1\0\1\u00c8\1\0\1\u00c8\1\0\1\u00c7"+ - "\1\u00ae\2\u00c7\1\0\1\u00c7\1\u00ae\1\u00c8\7\u00c7\1\u00ae\1\u00c7\2"+ - "\0\1\u00c8\1\0\1\u00c8\1\0\1\u00c9\1\u00c7\1\u00c9\1\u00c8\1\0\1\u00c7"+ - "\7\0\1\u00c9\1\u00c7\2\0\1\u00c8\6\u00c7\1\u00ae\2\u00c7\1\u00ae\1\u00c8"+ - "\7\u00c7\1\u00ae\1\u00c7\2\0\1\u00c7\1\u00c8\1\u00c9\1\u00c7\1\u00c9\2"+ - "\u00c7\1\u00ae\3\u00c7\1\u00ae\1\u00c8\10\u00c7"; - static final String DFA288_acceptS = - "\1\uffff\1\2\12\uffff\1\1\6\uffff\1\1\61\uffff\1\1\137\uffff"; - static final String DFA288_specialS = - "\6\uffff\1\54\4\uffff\1\37\5\uffff\1\55\1\40\3\uffff\1\44\4\uffff\1\45"+ - "\1\43\1\46\16\uffff\1\56\1\41\1\uffff\1\47\1\uffff\1\50\2\uffff\1\1\1"+ - "\2\1\3\1\4\2\uffff\1\16\1\15\1\17\1\20\1\21\1\22\1\23\1\uffff\1\24\1\uffff"+ - "\1\14\3\uffff\1\5\1\uffff\1\42\1\uffff\1\51\1\uffff\1\7\1\uffff\1\10\4"+ - "\uffff\1\25\14\uffff\1\53\1\52\1\uffff\1\0\1\uffff\1\11\4\uffff\1\30\1"+ - "\uffff\1\31\1\32\1\33\1\34\1\26\1\35\1\36\2\uffff\1\12\1\13\25\uffff\1"+ - "\27\1\6\25\uffff}>"; - static final String[] DFA288_transitionS = { - "\1\1\10\uffff\1\1\5\uffff\1\2\14\uffff\1\1\25\uffff\1\1\13\uffff\1\1"+ - "\1\uffff\1\1\25\uffff\1\1\35\uffff\1\1", - "", - "\1\5\1\uffff\1\5\6\uffff\1\5\4\uffff\1\5\10\uffff\2\5\2\uffff\1\5\22"+ - "\uffff\1\5\1\uffff\1\5\5\uffff\1\5\15\uffff\1\5\1\uffff\1\5\13\uffff"+ - "\1\5\2\uffff\1\5\2\uffff\1\5\5\uffff\1\5\2\uffff\1\5\1\uffff\1\5\7\uffff"+ - "\1\5\15\uffff\2\5\1\uffff\2\5\1\uffff\1\5\17\uffff\3\5\26\uffff\1\3\21"+ - "\uffff\1\5\3\uffff\1\5\3\uffff\1\4", - "\1\1\1\uffff\3\1\1\uffff\3\1\1\uffff\4\1\1\uffff\6\1\1\15\1\uffff\5"+ - "\1\1\uffff\1\1\1\7\2\1\1\uffff\2\1\1\6\2\1\5\uffff\5\1\1\10\5\1\1\uffff"+ - "\3\1\2\uffff\2\1\1\uffff\1\1\4\uffff\2\1\1\16\4\1\1\uffff\3\1\2\uffff"+ - "\1\1\1\12\1\1\1\17\21\1\3\uffff\1\1\1\11\5\1\1\uffff\5\1\1\uffff\1\1"+ - "\2\uffff\2\1\1\uffff\2\1\1\uffff\1\1\2\uffff\4\1\1\uffff\1\13\1\uffff"+ - "\4\1\1\uffff\10\1\1\uffff\1\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6"+ - "\uffff\2\1\2\uffff\3\1\3\uffff\2\1\1\uffff\3\1", - "\1\20", - "\1\1\1\uffff\3\1\1\uffff\3\1\1\uffff\4\1\1\uffff\6\1\1\15\1\uffff\5"+ - "\1\1\uffff\1\1\1\7\2\1\1\uffff\2\1\1\21\2\1\5\uffff\5\1\1\10\5\1\1\uffff"+ - "\3\1\2\uffff\2\1\1\uffff\1\1\4\uffff\2\1\1\16\4\1\1\uffff\3\1\2\uffff"+ - "\1\1\1\12\1\1\1\17\21\1\3\uffff\1\1\1\11\5\1\1\uffff\5\1\1\uffff\1\1"+ - "\2\uffff\2\1\1\uffff\2\1\1\uffff\1\1\2\uffff\4\1\1\uffff\1\22\1\uffff"+ - "\4\1\1\uffff\10\1\1\uffff\1\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6"+ - "\uffff\2\1\2\uffff\3\1\3\uffff\2\1\1\uffff\3\1", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\1\24\1\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff"+ - "\1\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1"+ - "\1\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\1\25\4\uffff\2\1\1\uffff\2"+ - "\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\26\7\uffff\3\1\1\uffff\1\1\3\uffff"+ - "\1\1\20\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\33\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\34\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\35\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "", - "\1\46\1\1\1\41\2\1\4\uffff\1\46\1\1\3\uffff\1\46\2\uffff\3\1\3\uffff"+ - "\2\46\1\1\1\uffff\1\46\3\uffff\5\1\10\uffff\1\1\1\uffff\1\46\1\uffff"+ - "\1\46\2\uffff\1\1\1\uffff\1\1\1\46\4\uffff\2\1\1\uffff\1\1\5\uffff\1"+ - "\46\1\1\1\46\1\1\2\uffff\2\1\1\uffff\1\1\2\uffff\1\1\1\uffff\1\46\2\1"+ - "\1\46\2\1\1\46\1\uffff\1\1\1\uffff\2\1\1\36\2\uffff\1\46\1\1\1\46\3\uffff"+ - "\1\1\2\uffff\1\1\1\37\1\1\1\uffff\1\1\5\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\2\46\1\1\1\42\1\46\1\uffff\1\46\4\uffff\1\1\3\uffff\5\1\2\uffff\2\46"+ - "\1\40\3\uffff\1\1\1\uffff\1\1\2\uffff\1\1\14\uffff\1\1\1\44\1\1\3\uffff"+ - "\1\1\14\uffff\1\43\3\uffff\1\46\2\uffff\1\1\1\45\1\1", - "\1\1\1\uffff\3\1\1\uffff\3\1\2\uffff\3\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+ - "\4\1\1\uffff\5\1\5\uffff\13\1\1\uffff\3\1\2\uffff\2\1\1\uffff\1\1\4\uffff"+ - "\7\1\1\uffff\3\1\2\uffff\25\1\3\uffff\7\1\1\uffff\4\1\1\47\1\uffff\1"+ - "\1\2\uffff\2\1\1\uffff\2\1\1\uffff\1\1\2\uffff\4\1\1\uffff\1\1\1\uffff"+ - "\4\1\1\uffff\10\1\1\uffff\1\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6"+ - "\uffff\2\1\2\uffff\3\1\3\uffff\2\1\1\uffff\3\1", - "\1\52\1\1\1\52\1\uffff\1\1\4\uffff\1\52\1\1\3\uffff\1\52\3\uffff\2\1"+ - "\3\uffff\2\52\1\1\1\uffff\1\52\4\uffff\1\1\1\uffff\1\1\11\uffff\1\1\1"+ - "\uffff\1\52\1\uffff\1\52\2\uffff\1\1\2\uffff\1\52\4\uffff\2\1\1\uffff"+ - "\1\1\5\uffff\1\52\1\1\1\52\1\1\3\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1"+ - "\uffff\1\52\2\1\1\52\2\1\1\52\1\uffff\1\1\1\uffff\2\1\1\52\2\uffff\1"+ - "\52\1\1\1\52\6\uffff\1\1\1\52\1\1\1\uffff\1\1\5\uffff\1\1\4\uffff\2\52"+ - "\1\uffff\2\52\1\uffff\1\52\4\uffff\1\53\4\uffff\4\1\2\uffff\3\52\3\uffff"+ - "\1\1\4\uffff\1\1\14\uffff\1\1\1\50\1\1\3\uffff\1\1\14\uffff\1\52\3\uffff"+ - "\1\52\2\uffff\1\1\1\51\1\1", - "\1\1\1\uffff\3\1\1\uffff\3\1\1\uffff\4\1\1\uffff\6\1\1\15\1\uffff\5"+ - "\1\1\uffff\1\1\1\7\2\1\1\uffff\2\1\1\54\2\1\5\uffff\5\1\1\10\5\1\1\uffff"+ - "\3\1\2\uffff\2\1\1\uffff\1\1\4\uffff\2\1\1\16\4\1\1\uffff\3\1\2\uffff"+ - "\1\1\1\12\1\1\1\17\21\1\3\uffff\1\1\1\11\5\1\1\uffff\5\1\1\uffff\1\1"+ - "\2\uffff\2\1\1\uffff\2\1\1\uffff\1\1\2\uffff\4\1\1\uffff\1\55\1\uffff"+ - "\4\1\1\uffff\10\1\1\uffff\1\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6"+ - "\uffff\2\1\2\uffff\3\1\3\uffff\2\1\1\uffff\3\1", - "\1\uffff", - "\1\uffff", - "", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\1\56\4\uffff\2\1\1\uffff\2"+ - "\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\57\7\uffff\3\1\1\uffff\1\1\3\uffff"+ - "\1\1\20\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\1\60\1\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff"+ - "\1\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1"+ - "\1\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\61\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\1\62\1\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff"+ - "\1\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1"+ - "\1\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\1\63\4\uffff\2\1\1\uffff\2"+ - "\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\64\7\uffff\3\1\1\uffff\1\1\3\uffff"+ - "\1\1\20\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\65\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\66\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\67\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\3\1\1\uffff\1\1\4\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\15\2\uffff\3"+ - "\1\2\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\70\1\1\7\uffff\2\1\1\uffff\1"+ - "\1\1\uffff\1\1\5\uffff\1\1\4\uffff\2\1\1\uffff\1\1\5\uffff\1\1\1\71\1"+ - "\1\4\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\7\1\4\uffff\2\1\2\uffff"+ - "\3\1\6\uffff\5\1\2\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\2\uffff\1\1\1\uffff\1\1\2\uffff\1\72\1\uffff\4\1\2\uffff\3\1\26"+ - "\uffff\1\1\21\uffff\1\1\3\uffff\1\1\2\uffff\2\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\15\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\73\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\15\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\74\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\15\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\75\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\15\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\76\1\uffff\4\1\7\uffff\1\1\54\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\15\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\77\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\15\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\100\1\uffff\4\1\64\uffff\1\1", - "\1\101", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\15\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\102\1\uffff\4\1\64\uffff\1\1", - "\1\1\1\uffff\3\1\1\uffff\3\1\2\uffff\3\1\1\uffff\6\1\1\103\1\uffff\5"+ - "\1\1\uffff\4\1\1\uffff\5\1\5\uffff\13\1\1\uffff\3\1\2\uffff\2\1\1\uffff"+ - "\1\1\4\uffff\7\1\1\uffff\3\1\2\uffff\25\1\3\uffff\7\1\1\uffff\5\1\1\uffff"+ - "\1\1\2\uffff\2\1\1\uffff\2\1\1\uffff\1\1\2\uffff\4\1\1\uffff\1\104\1"+ - "\uffff\4\1\1\uffff\10\1\1\uffff\1\1\2\uffff\1\1\14\uffff\3\1\3\uffff"+ - "\1\1\6\uffff\2\1\2\uffff\3\1\3\uffff\2\1\1\uffff\3\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\106\14\uffff\1\1\1\uffff"+ - "\1\1\11\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\1\5\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\27\uffff\1\53\4\uffff\4\1\64\uffff\1\1", - "\1\107", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\106\14\uffff\1\1\1\uffff"+ - "\1\1\11\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\1\5\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\27\uffff\1\53\4\uffff\4\1\64\uffff\1\1", - "\1\1\1\uffff\3\1\1\uffff\3\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+ - "\4\1\1\uffff\5\1\5\uffff\13\1\1\uffff\3\1\2\uffff\2\1\1\uffff\1\1\4\uffff"+ - "\7\1\1\uffff\3\1\2\uffff\25\1\3\uffff\7\1\1\uffff\5\1\1\uffff\1\1\2\uffff"+ - "\2\1\1\uffff\2\1\1\uffff\1\1\2\uffff\4\1\1\uffff\1\110\1\uffff\4\1\1"+ - "\uffff\10\1\1\uffff\1\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6\uffff"+ - "\2\1\2\uffff\3\1\3\uffff\2\1\1\uffff\3\1", - "\1\uffff", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\1\111\1\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff"+ - "\1\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1"+ - "\1\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\112\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\1\113\4\uffff\2\1\1\uffff\2"+ - "\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\114\7\uffff\3\1\1\uffff\1\1\3\uffff"+ - "\1\1\20\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\1\115\4\uffff\2\1\1\uffff\2"+ - "\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\116\7\uffff\3\1\1\uffff\1\1\3\uffff"+ - "\1\1\20\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\1\117\1\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff"+ - "\1\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1"+ - "\1\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\120\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\123\1\uffff\1\123\6\uffff\1\123\4\uffff\1\123\10\uffff\2\123\2\uffff"+ - "\1\123\22\uffff\1\123\1\uffff\1\123\5\uffff\1\123\15\uffff\1\123\1\uffff"+ - "\1\123\13\uffff\1\123\2\uffff\1\123\2\uffff\1\123\5\uffff\1\123\2\uffff"+ - "\1\123\1\uffff\1\123\7\uffff\1\123\15\uffff\2\123\1\uffff\2\123\1\uffff"+ - "\1\123\17\uffff\3\123\26\uffff\1\121\21\uffff\1\123\3\uffff\1\123\3\uffff"+ - "\1\122", - "\3\1\1\uffff\1\1\4\uffff\2\1\3\uffff\1\1\3\uffff\2\1\3\uffff\3\1\1\uffff"+ - "\1\1\4\uffff\1\1\1\uffff\2\1\10\uffff\1\1\1\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\1\2\uffff\1\1\7\uffff\1\1\5\uffff\1\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\7\1\1\uffff\1\1\1\uffff\1\1\1\uffff\1\1\2\uffff\3\1\6\uffff\3\1\7\uffff"+ - "\1\124\1\uffff\1\1\2\uffff\2\1\1\uffff\2\1\1\uffff\1\1\4\uffff\1\1\4"+ - "\uffff\4\1\2\uffff\3\1\3\uffff\1\1\4\uffff\1\1\14\uffff\3\1\3\uffff\1"+ - "\1\14\uffff\1\1\3\uffff\1\1\2\uffff\3\1", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\15\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\125\1\uffff\4\1\64\uffff\1\1", - "\1\uffff", - "\1\136\1\1\1\133\2\1\4\uffff\1\136\1\1\3\uffff\1\136\2\uffff\3\1\3\uffff"+ - "\2\136\1\1\1\uffff\1\136\3\uffff\2\1\1\uffff\2\1\10\uffff\1\1\1\uffff"+ - "\1\136\1\uffff\1\136\2\uffff\1\1\1\uffff\1\1\1\136\4\uffff\2\1\1\uffff"+ - "\1\1\5\uffff\1\136\1\1\1\136\1\1\2\uffff\2\1\1\uffff\1\1\2\uffff\1\1"+ - "\1\uffff\1\136\2\1\1\136\2\1\1\136\1\uffff\1\1\1\uffff\2\1\1\130\2\uffff"+ - "\1\136\1\1\1\136\3\uffff\1\1\2\uffff\1\1\1\131\1\1\1\uffff\1\1\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\2\136\1\1\1\134\1\136\1\uffff\1\136\4\uffff"+ - "\1\1\3\uffff\5\1\2\uffff\2\136\1\132\3\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\1\14\uffff\1\1\1\126\1\1\3\uffff\1\1\14\uffff\1\135\3\uffff\1\136"+ - "\2\uffff\1\1\1\127\1\1", - "\1\uffff", - "", - "\1\141\1\1\1\141\1\uffff\1\1\4\uffff\1\141\1\1\3\uffff\1\141\3\uffff"+ - "\2\1\3\uffff\2\141\1\1\1\uffff\1\141\4\uffff\1\1\1\uffff\1\1\11\uffff"+ - "\1\1\1\uffff\1\141\1\uffff\1\141\2\uffff\1\1\2\uffff\1\141\4\uffff\2"+ - "\1\1\uffff\1\1\5\uffff\1\141\1\1\1\141\1\1\3\uffff\1\1\1\uffff\1\1\2"+ - "\uffff\1\1\1\uffff\1\141\2\1\1\141\2\1\1\141\1\uffff\1\1\1\uffff\2\1"+ - "\1\141\2\uffff\1\141\1\1\1\141\6\uffff\1\1\1\141\1\1\1\uffff\1\1\5\uffff"+ - "\1\1\4\uffff\2\141\1\uffff\2\141\1\uffff\1\141\4\uffff\1\1\4\uffff\4"+ - "\1\2\uffff\3\141\3\uffff\1\1\4\uffff\1\1\14\uffff\1\1\1\137\1\1\3\uffff"+ - "\1\1\14\uffff\1\141\3\uffff\1\141\2\uffff\1\1\1\140\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\106\14\uffff\1\1\1\uffff"+ - "\1\1\11\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\1\5\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\27\uffff\1\53\4\uffff\4\1\64\uffff\1\1", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\1\56\4\uffff\2\1\1\uffff\2"+ - "\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\142\7\uffff\3\1\1\uffff\1\1\3\uffff"+ - "\1\1\20\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\1\60\1\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff"+ - "\1\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1"+ - "\1\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\143\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\1\144\1\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff"+ - "\1\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1"+ - "\1\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\145\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\1\146\4\uffff\2\1\1\uffff\2"+ - "\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\147\7\uffff\3\1\1\uffff\1\1\3\uffff"+ - "\1\1\20\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\151", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\1\2\uffff\1\1\15\uffff\1\1\1\152\5\uffff\1\1\6\uffff\1\1\2\uffff"+ - "\1\1\10\uffff\1\1\21\uffff\1\1\27\uffff\2\1\12\uffff\1\1\7\uffff\1\1"+ - "\13\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\uffff", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\103\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2"+ - "\uffff\1\154\1\uffff\4\1\64\uffff\1\1", - "\1\155", - "\3\1\1\uffff\1\1\4\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\103\2\uffff\3"+ - "\1\2\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\1\153\1\1\7\uffff\2\1"+ - "\1\uffff\1\1\1\uffff\1\1\5\uffff\1\1\4\uffff\2\1\1\uffff\1\1\5\uffff"+ - "\1\1\1\71\1\1\4\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\7\1\4\uffff"+ - "\2\1\2\uffff\3\1\6\uffff\5\1\2\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\uffff"+ - "\2\1\1\uffff\1\1\2\uffff\1\1\1\uffff\1\1\2\uffff\1\156\1\uffff\4\1\2"+ - "\uffff\3\1\26\uffff\1\1\21\uffff\1\1\3\uffff\1\1\2\uffff\2\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\103\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2"+ - "\uffff\1\157\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\103\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2"+ - "\uffff\1\160\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\103\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2"+ - "\uffff\1\161\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\103\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2"+ - "\uffff\1\162\1\uffff\4\1\7\uffff\1\1\54\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\103\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2"+ - "\uffff\1\163\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\103\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2"+ - "\uffff\1\164\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\106\14\uffff\1\1\1\uffff"+ - "\1\1\11\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\1\5\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\27\uffff\1\165\4\uffff\4\1\64\uffff\1\1", - "\1\166", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\106\14\uffff\1\1\1\uffff"+ - "\1\1\11\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\1\5\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\27\uffff\1\165\4\uffff\4\1\64\uffff\1\1", - "\1\uffff", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\2\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff\1"+ - "\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1\1"+ - "\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\1\115\4\uffff\2\1\1\uffff\2"+ - "\1\1\uffff\1\1\3\uffff\2\1\2\uffff\1\167\7\uffff\3\1\1\uffff\1\1\3\uffff"+ - "\1\1\20\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\1\1\uffff\1\1\6\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\3\uffff"+ - "\4\1\1\117\1\uffff\1\1\1\27\1\1\15\uffff\1\1\2\uffff\1\1\1\30\1\1\5\uffff"+ - "\1\1\4\uffff\1\1\10\uffff\1\1\1\uffff\1\1\6\uffff\1\1\3\uffff\1\32\1"+ - "\1\2\uffff\1\1\2\uffff\1\1\5\uffff\1\1\2\uffff\1\1\1\uffff\1\1\5\uffff"+ - "\1\31\1\uffff\1\1\1\uffff\2\1\1\uffff\4\1\5\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\3\uffff\2\1\2\uffff\1\170\7\uffff\3\1\1\uffff\1\1\3\uffff\1\1\20"+ - "\uffff\1\1\17\uffff\1\1\1\uffff\1\1\3\uffff\1\1\3\uffff\1\1", - "\1\uffff", - "\1\u0081\1\1\1\174\2\1\4\uffff\1\u0081\1\1\3\uffff\1\u0081\2\uffff\3"+ - "\1\3\uffff\2\u0081\1\1\1\uffff\1\u0081\3\uffff\5\1\10\uffff\1\1\1\uffff"+ - "\1\u0081\1\uffff\1\u0081\2\uffff\1\1\1\uffff\1\1\1\u0081\4\uffff\2\1"+ - "\1\uffff\1\1\5\uffff\1\u0081\1\1\1\u0081\1\1\2\uffff\2\1\1\uffff\1\1"+ - "\2\uffff\1\1\1\uffff\1\u0081\2\1\1\u0081\2\1\1\u0081\1\uffff\1\1\1\uffff"+ - "\2\1\1\171\2\uffff\1\u0081\1\1\1\u0081\3\uffff\1\1\2\uffff\1\1\1\172"+ - "\1\1\1\uffff\1\1\5\uffff\1\1\1\uffff\1\1\2\uffff\2\u0081\1\1\1\175\1"+ - "\u0081\1\uffff\1\u0081\4\uffff\1\1\3\uffff\5\1\2\uffff\2\u0081\1\173"+ - "\3\uffff\1\1\1\uffff\1\1\2\uffff\1\1\14\uffff\1\1\1\177\1\1\3\uffff\1"+ - "\1\14\uffff\1\176\3\uffff\1\u0081\2\uffff\1\1\1\u0080\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\u008a\1\1\1\u0087\2\1\4\uffff\1\u008a\1\1\3\uffff\1\u008a\2\uffff"+ - "\3\1\3\uffff\2\u008a\1\1\1\uffff\1\u008a\3\uffff\2\1\1\uffff\2\1\10\uffff"+ - "\1\1\1\uffff\1\u008a\1\uffff\1\u008a\2\uffff\1\1\1\uffff\1\1\1\u008a"+ - "\4\uffff\2\1\1\uffff\1\1\5\uffff\1\u008a\1\1\1\u008a\1\1\2\uffff\2\1"+ - "\1\uffff\1\1\2\uffff\1\1\1\uffff\1\u008a\2\1\1\u008a\2\1\1\u008a\1\uffff"+ - "\1\1\1\uffff\2\1\1\u0084\2\uffff\1\u008a\1\1\1\u008a\3\uffff\1\1\2\uffff"+ - "\1\1\1\u0085\1\1\1\uffff\1\1\5\uffff\1\1\1\uffff\1\1\2\uffff\2\u008a"+ - "\1\1\1\u0088\1\u008a\1\uffff\1\u008a\4\uffff\1\1\3\uffff\5\1\2\uffff"+ - "\2\u008a\1\u0086\3\uffff\1\1\1\uffff\1\1\2\uffff\1\1\14\uffff\1\1\1\u0082"+ - "\1\1\3\uffff\1\1\14\uffff\1\u0089\3\uffff\1\u008a\2\uffff\1\1\1\u0083"+ - "\1\1", - "\1\u008d\1\uffff\1\u008d\6\uffff\1\u008d\4\uffff\1\u008d\10\uffff\2"+ - "\u008d\2\uffff\1\u008d\22\uffff\1\u008d\1\uffff\1\u008d\5\uffff\1\u008d"+ - "\15\uffff\1\u008d\1\uffff\1\u008d\13\uffff\1\u008d\2\uffff\1\u008d\2"+ - "\uffff\1\u008d\5\uffff\1\u008d\2\uffff\1\u008d\1\uffff\1\u008d\7\uffff"+ - "\1\u008d\15\uffff\2\u008d\1\uffff\2\u008d\1\uffff\1\u008d\17\uffff\3"+ - "\u008d\26\uffff\1\u008b\21\uffff\1\u008d\3\uffff\1\u008d\3\uffff\1\u008c", - "\1\uffff", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\103\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\1\1\4\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\3\1\4\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\13\uffff\1\1\1\uffff\1\1\2"+ - "\uffff\1\u008e\1\uffff\4\1\64\uffff\1\1", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\uffff", - "\1\1\1\uffff\3\1\1\uffff\3\1\1\uffff\4\1\1\uffff\7\1\1\uffff\5\1\1\uffff"+ - "\4\1\1\uffff\5\1\5\uffff\13\1\1\uffff\3\1\2\uffff\2\1\1\uffff\1\1\4\uffff"+ - "\7\1\1\uffff\3\1\2\uffff\25\1\3\uffff\7\1\1\uffff\5\1\1\uffff\1\1\2\uffff"+ - "\2\1\1\uffff\2\1\1\uffff\1\1\2\uffff\4\1\1\uffff\1\u008f\1\uffff\4\1"+ - "\1\uffff\10\1\1\uffff\1\1\2\uffff\1\1\14\uffff\3\1\3\uffff\1\1\6\uffff"+ - "\2\1\2\uffff\3\1\3\uffff\2\1\1\uffff\3\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\106\14\uffff\1\1\1\uffff"+ - "\1\1\11\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\1\5\uffff\1\1\1"+ - "\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1"+ - "\1\7\uffff\1\1\1\uffff\1\1\27\uffff\1\165\4\uffff\4\1\64\uffff\1\1", - "\1\uffff", - "\1\uffff", - "\3\1\1\uffff\1\1\4\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\150\2\uffff\3"+ - "\1\2\uffff\1\1\1\uffff\1\1\2\uffff\2\1\1\70\1\1\7\uffff\2\1\1\uffff\1"+ - "\1\1\uffff\1\1\5\uffff\1\1\4\uffff\2\1\1\uffff\1\1\5\uffff\1\1\1\71\1"+ - "\1\4\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\7\1\4\uffff\2\1\2\uffff"+ - "\3\1\6\uffff\5\1\2\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\1\uffff"+ - "\1\1\4\uffff\1\1\2\uffff\1\105\1\uffff\4\1\2\uffff\3\1\26\uffff\1\1\21"+ - "\uffff\1\1\3\uffff\1\1\2\uffff\2\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\7\uffff\1\1\54\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\u0090", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\u0093", - "\3\1\1\uffff\1\1\4\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\152\2\uffff\3"+ - "\1\2\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\1\u0091\1\1\7\uffff\2"+ - "\1\1\uffff\1\1\1\uffff\1\1\5\uffff\1\1\4\uffff\2\1\1\uffff\1\1\5\uffff"+ - "\1\1\1\u0092\1\1\4\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\7\1\4\uffff"+ - "\2\1\2\uffff\3\1\6\uffff\5\1\2\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\uffff"+ - "\2\1\1\uffff\1\1\4\uffff\1\1\2\uffff\1\105\1\uffff\4\1\2\uffff\3\1\26"+ - "\uffff\1\1\21\uffff\1\1\3\uffff\1\1\2\uffff\2\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\7\uffff\1\1\54\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1", - "\1\u0095", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1", - "\1\uffff", - "\1\uffff", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\150\14\uffff\2\1\1\70\1\1"+ - "\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff\1\1\1\uffff"+ - "\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff\1\1\7\uffff"+ - "\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1"+ - "\64\uffff\1\1", - "\1\u0098\1\uffff\1\u0098\6\uffff\1\u0098\4\uffff\1\u0098\10\uffff\2"+ - "\u0098\2\uffff\1\u0098\22\uffff\1\u0098\1\uffff\1\u0098\5\uffff\1\u0098"+ - "\15\uffff\1\u0098\1\uffff\1\u0098\13\uffff\1\u0098\2\uffff\1\u0098\2"+ - "\uffff\1\u0098\5\uffff\1\u0098\2\uffff\1\u0098\1\uffff\1\u0098\7\uffff"+ - "\1\u0098\15\uffff\2\u0098\1\uffff\2\u0098\1\uffff\1\u0098\17\uffff\3"+ - "\u0098\26\uffff\1\u0096\21\uffff\1\u0098\3\uffff\1\u0098\3\uffff\1\u0097", - "\3\1\1\uffff\1\1\4\uffff\2\1\3\uffff\1\1\3\uffff\2\1\3\uffff\3\1\1\uffff"+ - "\1\1\4\uffff\1\1\1\uffff\2\1\10\uffff\1\1\1\uffff\1\1\1\uffff\1\1\2\uffff"+ - "\1\1\2\uffff\1\1\7\uffff\1\1\5\uffff\1\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\7\1\1\uffff\1\1\1\uffff\1\1\1\uffff\1\1\2\uffff\3\1\6\uffff\3\1\7\uffff"+ - "\1\u0099\1\uffff\1\1\2\uffff\2\1\1\uffff\2\1\1\uffff\1\1\4\uffff\1\1"+ - "\4\uffff\4\1\2\uffff\3\1\3\uffff\1\1\4\uffff\1\1\14\uffff\3\1\3\uffff"+ - "\1\1\14\uffff\1\1\3\uffff\1\1\2\uffff\3\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\u00a2\1\1\1\u009f\2\1\4\uffff\1\u00a2\1\1\3\uffff\1\u00a2\2\uffff"+ - "\3\1\3\uffff\2\u00a2\1\1\1\uffff\1\u00a2\3\uffff\2\1\1\uffff\2\1\10\uffff"+ - "\1\1\1\uffff\1\u00a2\1\uffff\1\u00a2\2\uffff\1\1\1\uffff\1\1\1\u00a2"+ - "\4\uffff\2\1\1\uffff\1\1\5\uffff\1\u00a2\1\1\1\u00a2\1\1\2\uffff\2\1"+ - "\1\uffff\1\1\2\uffff\1\1\1\uffff\1\u00a2\2\1\1\u00a2\2\1\1\u00a2\1\uffff"+ - "\1\1\1\uffff\2\1\1\u009c\2\uffff\1\u00a2\1\1\1\u00a2\3\uffff\1\1\2\uffff"+ - "\1\1\1\u009d\1\1\1\uffff\1\1\5\uffff\1\1\1\uffff\1\1\2\uffff\2\u00a2"+ - "\1\1\1\u00a0\1\u00a2\1\uffff\1\u00a2\4\uffff\1\1\3\uffff\5\1\2\uffff"+ - "\2\u00a2\1\u009e\3\uffff\1\1\1\uffff\1\1\2\uffff\1\1\14\uffff\1\1\1\u009a"+ - "\1\1\3\uffff\1\1\14\uffff\1\u00a1\3\uffff\1\u00a2\2\uffff\1\1\1\u009b"+ - "\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\u00a3", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\15\uffff\1\1\1\152\5\uffff\1\1\6\uffff\1\1\2\uffff"+ - "\1\1\10\uffff\1\1\21\uffff\1\1\27\uffff\2\1\12\uffff\1\1\7\uffff\1\1"+ - "\13\uffff\1\1\15\uffff\1\1\2\uffff\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1", - "\1\u00a4", - "\3\1\1\uffff\1\1\4\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\u0094\2\uffff"+ - "\3\1\2\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\1\153\1\1\7\uffff\2"+ - "\1\1\uffff\1\1\1\uffff\1\1\5\uffff\1\1\4\uffff\2\1\1\uffff\1\1\5\uffff"+ - "\1\1\1\71\1\1\4\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\7\1\4\uffff"+ - "\2\1\2\uffff\3\1\6\uffff\5\1\2\uffff\3\1\2\uffff\1\1\2\uffff\2\1\1\uffff"+ - "\2\1\1\uffff\1\1\4\uffff\1\1\2\uffff\1\105\1\uffff\4\1\2\uffff\3\1\26"+ - "\uffff\1\1\21\uffff\1\1\3\uffff\1\1\2\uffff\2\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\7\uffff\1\1\54\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\152\14\uffff\1\1\1\uffff"+ - "\1\u0091\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\u0092\5"+ - "\uffff\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1"+ - "\1\4\uffff\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff"+ - "\1\105\1\uffff\4\1\64\uffff\1\1", - "\1\1\2\uffff\1\1\5\uffff\1\1\7\uffff\1\1\1\u0094\14\uffff\1\1\1\uffff"+ - "\1\153\1\1\10\uffff\1\1\17\uffff\1\1\1\uffff\1\1\6\uffff\1\71\5\uffff"+ - "\1\1\1\uffff\1\1\2\uffff\1\1\2\uffff\2\1\1\uffff\2\1\5\uffff\1\1\4\uffff"+ - "\1\1\7\uffff\1\1\1\uffff\1\1\11\uffff\1\1\15\uffff\1\1\2\uffff\1\105"+ - "\1\uffff\4\1\64\uffff\1\1" - }; - - static final short[] DFA288_eot = DFA.unpackEncodedString(DFA288_eotS); - static final short[] DFA288_eof = DFA.unpackEncodedString(DFA288_eofS); - static final char[] DFA288_min = DFA.unpackEncodedStringToUnsignedChars(DFA288_minS); - static final char[] DFA288_max = DFA.unpackEncodedStringToUnsignedChars(DFA288_maxS); - static final short[] DFA288_accept = DFA.unpackEncodedString(DFA288_acceptS); - static final short[] DFA288_special = DFA.unpackEncodedString(DFA288_specialS); - static final short[][] DFA288_transition; - - static { - int numStates = DFA288_transitionS.length; - DFA288_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; - break; - - case 1 : - int LA288_52 = input.LA(1); - - int index288_52 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_52); - if ( s>=0 ) return s; - break; - - case 2 : - int LA288_53 = input.LA(1); - - int index288_53 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_53); - if ( s>=0 ) return s; - break; - - case 3 : - int LA288_54 = input.LA(1); - - int index288_54 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_54); - if ( s>=0 ) return s; - break; - - case 4 : - int LA288_55 = input.LA(1); - - int index288_55 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_55); - if ( s>=0 ) return s; - break; - - case 5 : - int LA288_72 = input.LA(1); - - int index288_72 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_72); - if ( s>=0 ) return s; - break; - - case 6 : - int LA288_143 = input.LA(1); - - int index288_143 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_143); - if ( s>=0 ) return s; - break; - - case 7 : - int LA288_78 = input.LA(1); - - int index288_78 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_78); - if ( s>=0 ) return s; - break; - - case 8 : - int LA288_80 = input.LA(1); - - int index288_80 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_80); - if ( s>=0 ) return s; - break; - - case 9 : - int LA288_103 = input.LA(1); - - int index288_103 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_103); - if ( s>=0 ) return s; - break; - - case 10 : - int LA288_119 = input.LA(1); - - int index288_119 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_119); - if ( s>=0 ) return s; - break; - - case 11 : - int LA288_120 = input.LA(1); - - int index288_120 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_120); - if ( s>=0 ) return s; - break; - - case 12 : - int LA288_68 = input.LA(1); - - int index288_68 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_68); - if ( s>=0 ) return s; - break; - - case 13 : - int LA288_59 = input.LA(1); - - int index288_59 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_59); - if ( s>=0 ) return s; - break; - - case 14 : - int LA288_58 = input.LA(1); - - int index288_58 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_58); - if ( s>=0 ) return s; - break; - - case 15 : - int LA288_60 = input.LA(1); - - int index288_60 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_60); - if ( s>=0 ) return s; - break; - - case 16 : - int LA288_61 = input.LA(1); - - int index288_61 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_61); - if ( s>=0 ) return s; - break; - - case 17 : - int LA288_62 = input.LA(1); - - int index288_62 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_62); - if ( s>=0 ) return s; - break; - - case 18 : - int LA288_63 = input.LA(1); - - int index288_63 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_63); - if ( s>=0 ) return s; - break; - - case 19 : - int LA288_64 = input.LA(1); - - int index288_64 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_64); - if ( s>=0 ) return s; - break; - - case 20 : - int LA288_66 = input.LA(1); - - int index288_66 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_66); - if ( s>=0 ) return s; - break; - - case 21 : - int LA288_85 = input.LA(1); - - int index288_85 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_85); - if ( s>=0 ) return s; - break; - - case 22 : - int LA288_114 = input.LA(1); - - int index288_114 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_114); - if ( s>=0 ) return s; - break; - - case 23 : - int LA288_142 = input.LA(1); - - int index288_142 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_142); - if ( s>=0 ) return s; - break; - - case 24 : - int LA288_108 = input.LA(1); - - int index288_108 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_108); - if ( s>=0 ) return s; - break; - - case 25 : - int LA288_110 = input.LA(1); - - int index288_110 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_110); - if ( s>=0 ) return s; - break; - - case 26 : - int LA288_111 = input.LA(1); - - int index288_111 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_111); - if ( s>=0 ) return s; - break; - - case 27 : - int LA288_112 = input.LA(1); - - int index288_112 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_112); - if ( s>=0 ) return s; - break; - - case 28 : - int LA288_113 = input.LA(1); - - int index288_113 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_113); - if ( s>=0 ) return s; - break; - - case 29 : - int LA288_115 = input.LA(1); - - int index288_115 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_115); - if ( s>=0 ) return s; - break; - - case 30 : - int LA288_116 = input.LA(1); - - int index288_116 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_116); - if ( s>=0 ) return s; - break; - - case 31 : - int LA288_11 = input.LA(1); - - int index288_11 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 19;} - else if ( (true) ) {s = 1;} - - input.seek(index288_11); - if ( s>=0 ) return s; - break; - - case 32 : - int LA288_18 = input.LA(1); - - int index288_18 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_18); - if ( s>=0 ) return s; - break; - - case 33 : - int LA288_45 = input.LA(1); - - int index288_45 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_45); - if ( s>=0 ) return s; - break; - - case 34 : - int LA288_74 = input.LA(1); - - int index288_74 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_74); - if ( s>=0 ) return s; - break; - - case 35 : - int LA288_28 = input.LA(1); - - int index288_28 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_28); - if ( s>=0 ) return s; - break; - - case 36 : - int LA288_22 = input.LA(1); - - int index288_22 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_22); - if ( s>=0 ) return s; - break; - - case 37 : - int LA288_27 = input.LA(1); - - int index288_27 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_27); - if ( s>=0 ) return s; - break; - - case 38 : - int LA288_29 = input.LA(1); - - int index288_29 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_29); - if ( s>=0 ) return s; - break; - - case 39 : - int LA288_47 = input.LA(1); - - int index288_47 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_47); - if ( s>=0 ) return s; - break; - - case 40 : - int LA288_49 = input.LA(1); - - int index288_49 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_49); - if ( s>=0 ) return s; - break; - - case 41 : - int LA288_76 = input.LA(1); - - int index288_76 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_76); - if ( s>=0 ) return s; - break; - - case 42 : - int LA288_99 = input.LA(1); - - int index288_99 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_99); - if ( s>=0 ) return s; - break; - - case 43 : - int LA288_98 = input.LA(1); - - int index288_98 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 69;} - else if ( (true) ) {s = 1;} - - input.seek(index288_98); - if ( s>=0 ) return s; - break; - - case 44 : - int LA288_6 = input.LA(1); - - int index288_6 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 19;} - else if ( (true) ) {s = 1;} - - input.seek(index288_6); - if ( s>=0 ) return s; - break; - - case 45 : - int LA288_17 = input.LA(1); - - int index288_17 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_17); - if ( s>=0 ) return s; - break; - - case 46 : - int LA288_44 = input.LA(1); - - int index288_44 = input.index(); - input.rewind(); - s = -1; - if ( (synpred472_Delphi()) ) {s = 12;} - else if ( (true) ) {s = 1;} - - input.seek(index288_44); - if ( s>=0 ) return s; - break; - } - if (state.backtracking>0) {state.failed=true; return -1;} - NoViableAltException nvae = - new NoViableAltException(getDescription(), 288, _s, input); - error(nvae); - throw nvae; - } - } - - public static final BitSet FOLLOW_program_in_file84 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_library_in_file88 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_unit_in_file92 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_packageE_in_file96 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_programHead_in_program159 = new BitSet(new long[]{0x0080010818880800L,0x00100000000C0002L,0x5000000022000200L}); - public static final BitSet FOLLOW_usesFileClause_in_program164 = new BitSet(new long[]{0x0080010818880800L,0x00100000000C0002L,0x4000000022000200L}); - public static final BitSet FOLLOW_block_in_program168 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_program170 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PROGRAM_in_programHead224 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceName_in_programHead226 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_programParmSeq_in_programHead229 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_programHead233 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_programParmSeq284 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0042DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_programParmSeq287 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_COMMA_in_programParmSeq290 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_programParmSeq292 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_programParmSeq299 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_libraryHead_in_library357 = new BitSet(new long[]{0x0080010818880800L,0x00100000000C0002L,0x5000000022000200L}); - public static final BitSet FOLLOW_usesFileClause_in_library360 = new BitSet(new long[]{0x0080010818880800L,0x00100000000C0002L,0x4000000022000200L}); - public static final BitSet FOLLOW_block_in_library364 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_library366 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LIBRARY_in_libraryHead420 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceName_in_libraryHead422 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_hintingDirective_in_libraryHead425 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_libraryHead429 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_packageHead_in_packageE494 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L}); - public static final BitSet FOLLOW_requiresClause_in_packageE496 = new BitSet(new long[]{0x0002000020000000L}); - public static final BitSet FOLLOW_containsClause_in_packageE499 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_END_in_packageE503 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_packageE505 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PACKAGE_in_packageHead559 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceName_in_packageHead561 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_packageHead563 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_unitHead_in_unit624 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_unitInterface_in_unit626 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); - public static final BitSet FOLLOW_unitImplementation_in_unit628 = new BitSet(new long[]{0x0002000000080000L,0x0000000000004000L}); - public static final BitSet FOLLOW_unitBlock_in_unit630 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_unit632 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_UNIT_in_unitHead689 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceName_in_unitHead691 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_hintingDirective_in_unitHead694 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_unitHead698 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_INTERFACE_in_unitInterface763 = new BitSet(new long[]{0x0080000818800002L,0x0010000000080002L,0x5000000022000200L}); - public static final BitSet FOLLOW_usesClause_in_unitInterface766 = new BitSet(new long[]{0x0080000818800002L,0x0010000000080002L,0x4000000022000200L}); - public static final BitSet FOLLOW_interfaceDecl_in_unitInterface771 = new BitSet(new long[]{0x0080000818800002L,0x0010000000080002L,0x4000000022000200L}); - public static final BitSet FOLLOW_IMPLEMENTATION_in_unitImplementation836 = new BitSet(new long[]{0x0080000818800002L,0x00100000000C0002L,0x5000000022000200L}); - public static final BitSet FOLLOW_usesClause_in_unitImplementation839 = new BitSet(new long[]{0x0080000818800002L,0x00100000000C0002L,0x4000000022000200L}); - public static final BitSet FOLLOW_declSection_in_unitImplementation844 = new BitSet(new long[]{0x0080000818800002L,0x00100000000C0002L,0x4000000022000200L}); - public static final BitSet FOLLOW_unitInitialization_in_unitBlock918 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_END_in_unitBlock920 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_compoundStatement_in_unitBlock953 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_END_in_unitBlock986 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_INITIALIZATION_in_unitInitialization1033 = new BitSet(new long[]{0xB05001026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_unitInitialization1035 = new BitSet(new long[]{0x2000000000000002L}); - public static final BitSet FOLLOW_unitFinalization_in_unitInitialization1038 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FINALIZATION_in_unitFinalization1089 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_unitFinalization1091 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CONTAINS_in_containsClause1145 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceFileNameList_in_containsClause1147 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_REQUIRES_in_requiresClause1198 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceNameList_in_requiresClause1200 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_USES_in_usesClause1255 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceNameList_in_usesClause1257 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_USES_in_usesFileClause1316 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceFileNameList_in_usesFileClause1318 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_namespaceFileName_in_namespaceFileNameList1370 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_COMMA_in_namespaceFileNameList1373 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceFileName_in_namespaceFileNameList1375 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_namespaceFileNameList1379 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_namespaceName_in_namespaceFileName1436 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L}); - public static final BitSet FOLLOW_IN_in_namespaceFileName1439 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L}); - public static final BitSet FOLLOW_QuotedString_in_namespaceFileName1441 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_namespaceName_in_namespaceNameList1502 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_COMMA_in_namespaceNameList1505 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespaceName_in_namespaceNameList1507 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_namespaceNameList1511 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_declSection_in_block1584 = new BitSet(new long[]{0x0080000818880802L,0x00100000000C0002L,0x4000000022000200L}); - public static final BitSet FOLLOW_blockBody_in_block1589 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_compoundStatement_in_blockBody1647 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_assemblerStatement_in_blockBody1680 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_labelDeclSection_in_declSection1734 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_constSection_in_declSection1767 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_typeSection_in_declSection1800 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_varSection_in_declSection1833 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_exportedProcHeading_in_declSection1866 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_methodDecl_in_declSection1899 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procDecl_in_declSection1932 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_exportsSection_in_declSection1965 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_constSection_in_interfaceDecl2017 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_typeSection_in_interfaceDecl2050 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_varSection_in_interfaceDecl2083 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_exportedProcHeading_in_interfaceDecl2116 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_exportsSection_in_interfaceDecl2149 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procDecl_in_interfaceDecl2182 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_methodDecl_in_interfaceDecl2215 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LABEL_in_labelDeclSection2264 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000E00000E0002DL,0x0000000000000011L}); - public static final BitSet FOLLOW_label_in_labelDeclSection2266 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_COMMA_in_labelDeclSection2269 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000E00000E0002DL,0x0000000000000011L}); - public static final BitSet FOLLOW_label_in_labelDeclSection2271 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_labelDeclSection2275 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_constKey_in_constSection2328 = new BitSet(new long[]{0x1050000260108142L,0x8002029049081400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_constDeclaration_in_constSection2331 = new BitSet(new long[]{0x1050000260108142L,0x8002029049081400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_customAttribute_in_constDeclaration2486 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_constDeclaration2490 = new BitSet(new long[]{0x0004000001000000L}); - public static final BitSet FOLLOW_COLON_in_constDeclaration2493 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_constDeclaration2495 = new BitSet(new long[]{0x0004000000000000L}); - public static final BitSet FOLLOW_EQUAL_in_constDeclaration2499 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_constDeclaration2501 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_hintingDirective_in_constDeclaration2504 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_constDeclaration2508 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TYPE_in_typeSection2575 = new BitSet(new long[]{0x1050000260108140L,0x8002029049081400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_typeDeclaration_in_typeSection2577 = new BitSet(new long[]{0x1050000260108142L,0x8002029049081400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_typeDeclaration_in_typeSection2580 = new BitSet(new long[]{0x1050000260108142L,0x8002029049081400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_customAttribute_in_typeDeclaration2646 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_genericTypeIdent_in_typeDeclaration2650 = new BitSet(new long[]{0x0004000000000000L}); - public static final BitSet FOLLOW_EQUAL_in_typeDeclaration2652 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_typeDeclaration2654 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_hintingDirective_in_typeDeclaration2657 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_typeDeclaration2661 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_varKey_in_varSection2738 = new BitSet(new long[]{0x1050000260108140L,0x8002029049081400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_varDeclaration_in_varSection2740 = new BitSet(new long[]{0x1050000260108142L,0x8002029049081400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_varDeclaration_in_varSection2743 = new BitSet(new long[]{0x1050000260108142L,0x8002029049081400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_customAttribute_in_varDeclaration2903 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_identListFlat_in_varDeclaration2907 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_varDeclaration2909 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_varDeclaration2911 = new BitSet(new long[]{0x0024000400000010L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_varValueSpec_in_varDeclaration2914 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_hintingDirective_in_varDeclaration2919 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_varDeclaration2923 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ABSOLUTE_in_varValueSpec2995 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_varValueSpec2997 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ABSOLUTE_in_varValueSpec3030 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_varValueSpec3032 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EQUAL_in_varValueSpec3065 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_varValueSpec3067 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EXPORTS_in_exportsSection3118 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_exportsSection3120 = new BitSet(new long[]{0x0000000002000000L,0x0000000042001000L,0x0000000000002100L}); - public static final BitSet FOLLOW_exportItem_in_exportsSection3122 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_COMMA_in_exportsSection3125 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_exportsSection3127 = new BitSet(new long[]{0x0000000002000000L,0x0000000042001000L,0x0000000000002100L}); - public static final BitSet FOLLOW_exportItem_in_exportsSection3129 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_exportsSection3133 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_exportItem3189 = new BitSet(new long[]{0x1050000268108140L,0x8002029049081400L,0x4000400000E0042DL,0x0000000000000111L}); - public static final BitSet FOLLOW_formalParameterList_in_exportItem3192 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_exportItem3196 = new BitSet(new long[]{0x0000000000000002L,0x0000000040001000L,0x0000000000000100L}); - public static final BitSet FOLLOW_INDEX_in_exportItem3201 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_exportItem3203 = new BitSet(new long[]{0x0000000000000002L,0x0000000040000000L,0x0000000000000100L}); - public static final BitSet FOLLOW_NAME_in_exportItem3208 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_exportItem3210 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000100L}); - public static final BitSet FOLLOW_RESIDENT_in_exportItem3215 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_strucType_in_typeDecl3277 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_pointerType_in_typeDecl3310 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_stringType_in_typeDecl3343 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procedureType_in_typeDecl3376 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_variantType_in_typeDecl3409 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TYPE_in_typeDecl3443 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_typeId_in_typeDecl3447 = new BitSet(new long[]{0x0000000000000002L,0x0000000004000000L}); - public static final BitSet FOLLOW_genericPostfix_in_typeDecl3450 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_simpleType_in_typeDecl3485 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PACKED_in_strucType3542 = new BitSet(new long[]{0x0800002000800200L,0x0000001000010000L,0x0000000000004002L}); - public static final BitSet FOLLOW_strucTypePart_in_strucType3546 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_arrayType_in_strucTypePart3602 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_setType_in_strucTypePart3635 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_fileType_in_strucTypePart3668 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classDecl_in_strucTypePart3701 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ARRAY_in_arrayType3759 = new BitSet(new long[]{0x0000000000000000L,0x0000002000080000L}); - public static final BitSet FOLLOW_LBRACK_in_arrayType3762 = new BitSet(new long[]{0x12500102E2118140L,0x941702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_arrayIndex_in_arrayType3765 = new BitSet(new long[]{0x0000000002000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_COMMA_in_arrayType3770 = new BitSet(new long[]{0x12500102E2118140L,0x941702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_arrayIndex_in_arrayType3773 = new BitSet(new long[]{0x0000000002000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_arrayType3779 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); - public static final BitSet FOLLOW_OF_in_arrayType3783 = new BitSet(new long[]{0x1A500122E8918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_arraySubType_in_arrayType3785 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_typeId_in_arrayIndex3911 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_expression_in_arrayIndex3944 = new BitSet(new long[]{0x0000020000000000L}); - public static final BitSet FOLLOW_DOTDOT_in_arrayIndex3946 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_arrayIndex3948 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CONST_in_arraySubType4002 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_typeDecl_in_arraySubType4035 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_SET_in_setType4093 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); - public static final BitSet FOLLOW_OF_in_setType4095 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_setType4097 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FILE_in_fileType4171 = new BitSet(new long[]{0x0000000000000002L,0x0000002000000000L}); - public static final BitSet FOLLOW_OF_in_fileType4174 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_fileType4176 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_POINTER2_in_pointerType4232 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_pointerType4234 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_POINTER_in_pointerType4267 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_STRING_in_stringType4322 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); - public static final BitSet FOLLOW_LBRACK_in_stringType4325 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_stringType4327 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_stringType4329 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TYPE_in_stringType4369 = new BitSet(new long[]{0x0000000000000100L}); - public static final BitSet FOLLOW_ANSISTRING_in_stringType4373 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_codePageNumber_in_stringType4376 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_codePageNumber4429 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000A00000000000L}); - public static final BitSet FOLLOW_intNum_in_codePageNumber4431 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_codePageNumber4433 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_methodType_in_procedureType4485 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_simpleProcedureType_in_procedureType4518 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procedureReference_in_procedureType4551 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procedureTypeHeading_in_methodType4606 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); - public static final BitSet FOLLOW_OF_in_methodType4608 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L}); - public static final BitSet FOLLOW_OBJECT_in_methodType4610 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procedureTypeHeading_in_simpleProcedureType4656 = new BitSet(new long[]{0x0040000000400002L,0x0000400000000000L,0x0000000000102808L}); - public static final BitSet FOLLOW_SEMI_in_simpleProcedureType4661 = new BitSet(new long[]{0x0040000000400000L,0x0000400000000000L,0x0000000000100808L}); - public static final BitSet FOLLOW_callConventionNoSemi_in_simpleProcedureType4665 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_REFERENCE_in_procedureReference4714 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L}); - public static final BitSet FOLLOW_TO_in_procedureReference4716 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000002L}); - public static final BitSet FOLLOW_procedureTypeHeading_in_procedureReference4718 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FUNCTION_in_procedureTypeHeading4763 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_procedureTypeHeading4766 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_procedureTypeHeading4770 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_customAttribute_in_procedureTypeHeading4773 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_procedureTypeHeading4777 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PROCEDURE_in_procedureTypeHeading4825 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_procedureTypeHeading4828 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_VARIANT_in_variantType4884 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ident_in_simpleType4940 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_subRangeType_in_simpleType4973 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_enumType_in_simpleType5006 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_constExpression_in_subRangeType5059 = new BitSet(new long[]{0x0000020000000002L}); - public static final BitSet FOLLOW_DOTDOT_in_subRangeType5062 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_subRangeType5064 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_enumType5123 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_enumType5125 = new BitSet(new long[]{0x0004000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_EQUAL_in_enumType5128 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_enumType5130 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_COMMA_in_enumType5135 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_enumType5137 = new BitSet(new long[]{0x0004000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_EQUAL_in_enumType5140 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_enumType5142 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_enumType5149 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_namespacedQualifiedIdent_in_typeId5208 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_qualifiedIdent_in_genericTypeIdent5260 = new BitSet(new long[]{0x0000000000000002L,0x0000000004000000L}); - public static final BitSet FOLLOW_genericDefinition_in_genericTypeIdent5263 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_simpleGenericDefinition_in_genericDefinition5321 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_complexGenericDefinition_in_genericDefinition5354 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_constrainedGenericDefinition_in_genericDefinition5387 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LT_in_simpleGenericDefinition5429 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_simpleGenericDefinition5431 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_COMMA_in_simpleGenericDefinition5434 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_simpleGenericDefinition5436 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_GT_in_simpleGenericDefinition5440 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LT_in_complexGenericDefinition5481 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_qualifiedIdent_in_complexGenericDefinition5483 = new BitSet(new long[]{0x0000000002000000L,0x0000000004000010L}); - public static final BitSet FOLLOW_simpleGenericDefinition_in_complexGenericDefinition5486 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_COMMA_in_complexGenericDefinition5491 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_qualifiedIdent_in_complexGenericDefinition5493 = new BitSet(new long[]{0x0000000002000000L,0x0000000004000010L}); - public static final BitSet FOLLOW_simpleGenericDefinition_in_complexGenericDefinition5496 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_GT_in_complexGenericDefinition5502 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LT_in_constrainedGenericDefinition5539 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_constrainedGeneric_in_constrainedGenericDefinition5541 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_constrainedGenericDefinition5544 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_constrainedGeneric_in_constrainedGenericDefinition5546 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L,0x0000000000002000L}); - public static final BitSet FOLLOW_GT_in_constrainedGenericDefinition5550 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ident_in_constrainedGeneric5597 = new BitSet(new long[]{0x0000000001000002L}); - public static final BitSet FOLLOW_COLON_in_constrainedGeneric5600 = new BitSet(new long[]{0x1050000270908140L,0x8002029049001400L,0x0000400000E0002FL,0x0000000000000111L}); - public static final BitSet FOLLOW_genericConstraint_in_constrainedGeneric5602 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_COMMA_in_constrainedGeneric5605 = new BitSet(new long[]{0x1050000270908140L,0x8002029049001400L,0x0000400000E0002FL,0x0000000000000111L}); - public static final BitSet FOLLOW_genericConstraint_in_constrainedGeneric5607 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_ident_in_genericConstraint5659 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RECORD_in_genericConstraint5692 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_genericConstraint5725 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CONSTRUCTOR_in_genericConstraint5758 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LT_in_genericPostfix5809 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_genericPostfix5811 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_COMMA_in_genericPostfix5814 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_genericPostfix5816 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_GT_in_genericPostfix5820 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classTypeTypeDecl_in_classDecl5879 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classTypeDecl_in_classDecl5912 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classHelperDecl_in_classDecl5953 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_interfaceTypeDecl_in_classDecl5994 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_objectDecl_in_classDecl6035 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_recordDecl_in_classDecl6076 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_recordHelperDecl_in_classDecl6117 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_classTypeTypeDecl6173 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); - public static final BitSet FOLLOW_OF_in_classTypeTypeDecl6175 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_typeId_in_classTypeTypeDecl6177 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_classTypeDecl6237 = new BitSet(new long[]{0x1052000A78928160L,0x83DA02904B081402L,0x4000400022E0122DL,0x0000000000000111L}); - public static final BitSet FOLLOW_classState_in_classTypeDecl6240 = new BitSet(new long[]{0x1052000A78928140L,0x83DA02904B081402L,0x4000400022E0022DL,0x0000000000000111L}); - public static final BitSet FOLLOW_classParent_in_classTypeDecl6245 = new BitSet(new long[]{0x1052000A78928140L,0x83DA029049081402L,0x4000400022E0022DL,0x0000000000000111L}); - public static final BitSet FOLLOW_classItem_in_classTypeDecl6250 = new BitSet(new long[]{0x1052000A78928140L,0x83DA029049081402L,0x4000400022E0022DL,0x0000000000000111L}); - public static final BitSet FOLLOW_END_in_classTypeDecl6254 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_classTypeDecl6305 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_classParent_in_classTypeDecl6308 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_classParent6465 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_genericTypeIdent_in_classParent6467 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_COMMA_in_classParent6470 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_genericTypeIdent_in_classParent6472 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_classParent6476 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_visibility_in_classItem6544 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_classItem6577 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classField_in_classItem6610 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classProperty_in_classItem6643 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_constSection_in_classItem6676 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_typeSection_in_classItem6709 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_classItem6743 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000002000000L}); - public static final BitSet FOLLOW_varSection_in_classItem6747 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_classHelperDecl6797 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); - public static final BitSet FOLLOW_HELPER_in_classHelperDecl6799 = new BitSet(new long[]{0x8000000000000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_classParent_in_classHelperDecl6802 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_FOR_in_classHelperDecl6806 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_typeId_in_classHelperDecl6808 = new BitSet(new long[]{0x0002000810820000L,0x03D8008000080002L,0x4000000002400000L}); - public static final BitSet FOLLOW_classHelperItem_in_classHelperDecl6811 = new BitSet(new long[]{0x0002000810820000L,0x03D8008000080002L,0x4000000002400000L}); - public static final BitSet FOLLOW_END_in_classHelperDecl6815 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_visibility_in_classHelperItem6880 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_classHelperItem6913 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classProperty_in_classHelperItem6946 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_classHelperItem6980 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000002000000L}); - public static final BitSet FOLLOW_varSection_in_classHelperItem6984 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_interfaceKey_in_interfaceTypeDecl7032 = new BitSet(new long[]{0x0002000810800000L,0x0050008002080002L}); - public static final BitSet FOLLOW_classParent_in_interfaceTypeDecl7035 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); - public static final BitSet FOLLOW_interfaceGuid_in_interfaceTypeDecl7040 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); - public static final BitSet FOLLOW_interfaceItem_in_interfaceTypeDecl7045 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); - public static final BitSet FOLLOW_END_in_interfaceTypeDecl7049 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_interfaceKey_in_interfaceTypeDecl7140 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_classParent_in_interfaceTypeDecl7143 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LBRACK_in_interfaceGuid7326 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L}); - public static final BitSet FOLLOW_QuotedString_in_interfaceGuid7328 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_interfaceGuid7330 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_interfaceItem7386 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_interfaceItem7420 = new BitSet(new long[]{0x0000000000800000L,0x0040000000080000L}); - public static final BitSet FOLLOW_classProperty_in_interfaceItem7424 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_OBJECT_in_objectDecl7479 = new BitSet(new long[]{0x1052000A70928140L,0x839A02904B081402L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_classParent_in_objectDecl7482 = new BitSet(new long[]{0x1052000A70928140L,0x839A029049081402L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_objectItem_in_objectDecl7487 = new BitSet(new long[]{0x1052000A70928140L,0x839A029049081402L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_END_in_objectDecl7491 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_visibility_in_objectItem7560 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_objectItem7593 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classField_in_objectItem7626 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_simpleRecord_in_recordDecl7681 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_variantRecord_in_recordDecl7714 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RECORD_in_simpleRecord7767 = new BitSet(new long[]{0x1052000A78928140L,0x83DA029049081402L,0x4000400022E0022DL,0x0000000000000111L}); - public static final BitSet FOLLOW_recordField_in_simpleRecord7770 = new BitSet(new long[]{0x1052000A78928140L,0x83DA029049081402L,0x4000400022E0022DL,0x0000000000000111L}); - public static final BitSet FOLLOW_recordItem_in_simpleRecord7775 = new BitSet(new long[]{0x1052000A78928140L,0x83DA029049081402L,0x4000400022E0022DL,0x0000000000000111L}); - public static final BitSet FOLLOW_END_in_simpleRecord7779 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RECORD_in_variantRecord7845 = new BitSet(new long[]{0x1050000260308140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_recordField_in_variantRecord7848 = new BitSet(new long[]{0x1050000260308140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_recordVariantSection_in_variantRecord7852 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_END_in_variantRecord7854 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_visibility_in_recordItem7920 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_recordItem7958 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classProperty_in_recordItem7991 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_constSection_in_recordItem8024 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_typeSection_in_recordItem8057 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_recordField_in_recordItem8090 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_recordItem8124 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x4000000002000000L}); - public static final BitSet FOLLOW_varSection_in_recordItem8128 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_identList_in_recordField8182 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_recordField8184 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_recordField8186 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_hintingDirective_in_recordField8189 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_recordField8194 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_identList_in_recordVariantField8284 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_recordVariantField8286 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_recordVariantField8288 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_hintingDirective_in_recordVariantField8291 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_recordVariantField8296 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CASE_in_recordVariantSection8383 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_ident_in_recordVariantSection8386 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_recordVariantSection8388 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_recordVariantSection8392 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); - public static final BitSet FOLLOW_OF_in_recordVariantSection8394 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0202DL,0x0000000000000311L}); - public static final BitSet FOLLOW_recordVariant_in_recordVariantSection8397 = new BitSet(new long[]{0x12500102E0118142L,0x841702955F083402L,0x0008E00108E0202DL,0x0000000000000311L}); - public static final BitSet FOLLOW_SEMI_in_recordVariantSection8401 = new BitSet(new long[]{0x12500102E0118142L,0x841702955F083402L,0x0008E00108E0202DL,0x0000000000000311L}); - public static final BitSet FOLLOW_recordVariant_in_recordVariantSection8405 = new BitSet(new long[]{0x12500102E0118142L,0x841702955F083402L,0x0008E00108E0202DL,0x0000000000000311L}); - public static final BitSet FOLLOW_SEMI_in_recordVariantSection8409 = new BitSet(new long[]{0x12500102E0118142L,0x841702955F083402L,0x0008E00108E0202DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_recordVariant8463 = new BitSet(new long[]{0x0000000003000000L}); - public static final BitSet FOLLOW_COMMA_in_recordVariant8466 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_recordVariant8468 = new BitSet(new long[]{0x0000000003000000L}); - public static final BitSet FOLLOW_COLON_in_recordVariant8472 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_LPAREN_in_recordVariant8474 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0042DL,0x0000000000000111L}); - public static final BitSet FOLLOW_recordVariantField_in_recordVariant8477 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0042DL,0x0000000000000111L}); - public static final BitSet FOLLOW_RPAREN_in_recordVariant8481 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RECORD_in_recordHelperDecl8533 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); - public static final BitSet FOLLOW_HELPER_in_recordHelperDecl8535 = new BitSet(new long[]{0x8000000000000000L}); - public static final BitSet FOLLOW_FOR_in_recordHelperDecl8537 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_typeId_in_recordHelperDecl8539 = new BitSet(new long[]{0x0002000810820000L,0x03D8008000080002L,0x0000000000400000L}); - public static final BitSet FOLLOW_recordHelperItem_in_recordHelperDecl8542 = new BitSet(new long[]{0x0002000810820000L,0x03D8008000080002L,0x0000000000400000L}); - public static final BitSet FOLLOW_END_in_recordHelperDecl8546 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_visibility_in_recordHelperItem8595 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_recordHelperItem8628 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classProperty_in_recordHelperItem8661 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_classMethod8716 = new BitSet(new long[]{0x0000000810800000L,0x0010000000000000L}); - public static final BitSet FOLLOW_CLASS_in_classMethod8721 = new BitSet(new long[]{0x0000000810000000L,0x0010000000000000L}); - public static final BitSet FOLLOW_methodKey_in_classMethod8725 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_classMethod8727 = new BitSet(new long[]{0x0000000000000000L,0x0000000006000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_genericDefinition_in_classMethod8730 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_formalParameterSection_in_classMethod8735 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classMethod8739 = new BitSet(new long[]{0x1460201400401022L,0x0000CC0089808000L,0x0000000000180818L,0x0000000000000002L}); - public static final BitSet FOLLOW_methodDirective_in_classMethod8742 = new BitSet(new long[]{0x1460201400401022L,0x0000CC0089808000L,0x0000000000180818L,0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_classMethod8850 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_classMethod8855 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_FUNCTION_in_classMethod8859 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_classMethod8861 = new BitSet(new long[]{0x0000000001000000L,0x0000000006000000L}); - public static final BitSet FOLLOW_genericDefinition_in_classMethod8864 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_classMethod8869 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_classMethod8873 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_customAttribute_in_classMethod8876 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_classMethod8880 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classMethod8882 = new BitSet(new long[]{0x1460201400401022L,0x0000CC0089808000L,0x0000000000180818L,0x0000000000000002L}); - public static final BitSet FOLLOW_methodDirective_in_classMethod8885 = new BitSet(new long[]{0x1460201400401022L,0x0000CC0089808000L,0x0000000000180818L,0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_classMethod9002 = new BitSet(new long[]{0x0000000000800000L,0x0000008000000000L}); - public static final BitSet FOLLOW_CLASS_in_classMethod9007 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); - public static final BitSet FOLLOW_OPERATOR_in_classMethod9011 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_classMethod9013 = new BitSet(new long[]{0x0000000001000000L,0x0000000006000000L}); - public static final BitSet FOLLOW_genericDefinition_in_classMethod9016 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_classMethod9021 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_classMethod9025 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_customAttribute_in_classMethod9028 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_classMethod9032 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classMethod9034 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_classField9163 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_identList_in_classField9167 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_classField9169 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_classField9171 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classField9173 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L}); - public static final BitSet FOLLOW_hintingDirective_in_classField9176 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L}); - public static final BitSet FOLLOW_customAttribute_in_classProperty9283 = new BitSet(new long[]{0x0000000000800000L,0x0040000000000000L}); - public static final BitSet FOLLOW_CLASS_in_classProperty9288 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L}); - public static final BitSet FOLLOW_PROPERTY_in_classProperty9292 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_classProperty9294 = new BitSet(new long[]{0x0000001201000000L,0x8000000200081400L,0x0000000000202001L,0x0000000000000030L}); - public static final BitSet FOLLOW_classPropertyArray_in_classProperty9297 = new BitSet(new long[]{0x0000001201000000L,0x8000000200001400L,0x0000000000202001L,0x0000000000000030L}); - public static final BitSet FOLLOW_COLON_in_classProperty9302 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_genericTypeIdent_in_classProperty9304 = new BitSet(new long[]{0x0000001200000000L,0x8000000200001400L,0x0000000000202001L,0x0000000000000030L}); - public static final BitSet FOLLOW_classPropertyIndex_in_classProperty9309 = new BitSet(new long[]{0x0000001200000000L,0x8000000200000400L,0x0000000000202001L,0x0000000000000030L}); - public static final BitSet FOLLOW_classPropertySpecifier_in_classProperty9314 = new BitSet(new long[]{0x0000001200000000L,0x8000000200000400L,0x0000000000202001L,0x0000000000000030L}); - public static final BitSet FOLLOW_SEMI_in_classProperty9318 = new BitSet(new long[]{0x0000000200000002L,0x0000000200000000L,0x0000000000200000L}); - public static final BitSet FOLLOW_classPropertyEndSpecifier_in_classProperty9321 = new BitSet(new long[]{0x0000000200000002L,0x0000000200000000L,0x0000000000200000L}); - public static final BitSet FOLLOW_LBRACK_in_classPropertyArray9487 = new BitSet(new long[]{0x1050000268108140L,0x8002029049081400L,0x4000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_formalParameterList_in_classPropertyArray9489 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_classPropertyArray9491 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_INDEX_in_classPropertyIndex9538 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_classPropertyIndex9540 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classPropertyIndex9543 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classPropertyReadWrite_in_classPropertySpecifier9590 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classPropertyDispInterface_in_classPropertySpecifier9626 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_STORED_in_classPropertySpecifier9659 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_classPropertySpecifier9661 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DEFAULT_in_classPropertySpecifier9694 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_classPropertySpecifier9696 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DEFAULT_in_classPropertySpecifier9729 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NODEFAULT_in_classPropertySpecifier9778 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_IMPLEMENTS_in_classPropertySpecifier9811 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_typeId_in_classPropertySpecifier9813 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_STORED_in_classPropertyEndSpecifier9853 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_classPropertyEndSpecifier9855 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classPropertyEndSpecifier9857 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DEFAULT_in_classPropertyEndSpecifier9894 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_classPropertyEndSpecifier9896 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classPropertyEndSpecifier9898 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DEFAULT_in_classPropertyEndSpecifier9931 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classPropertyEndSpecifier9933 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NODEFAULT_in_classPropertyEndSpecifier9966 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classPropertyEndSpecifier9968 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_READ_in_classPropertyReadWrite10012 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_qualifiedIdent_in_classPropertyReadWrite10014 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); - public static final BitSet FOLLOW_LBRACK_in_classPropertyReadWrite10017 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_classPropertyReadWrite10019 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_classPropertyReadWrite10021 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_WRITE_in_classPropertyReadWrite10095 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_qualifiedIdent_in_classPropertyReadWrite10097 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); - public static final BitSet FOLLOW_LBRACK_in_classPropertyReadWrite10100 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_classPropertyReadWrite10102 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_classPropertyReadWrite10104 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_READONLY_in_classPropertyDispInterface10183 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classPropertyDispInterface10185 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_WRITEONLY_in_classPropertyDispInterface10218 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_classPropertyDispInterface10220 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_dispIDDirective_in_classPropertyDispInterface10253 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_STRICT_in_visibility10309 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L}); - public static final BitSet FOLLOW_PROTECTED_in_visibility10313 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_STRICT_in_visibility10347 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L}); - public static final BitSet FOLLOW_PRIVATE_in_visibility10351 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PUBLIC_in_visibility10384 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PUBLISHED_in_visibility10417 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_AUTOMATED_in_visibility10450 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PROCEDURE_in_exportedProcHeading10504 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_exportedProcHeading10506 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_exportedProcHeading10509 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_exportedProcHeading10513 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_customAttribute_in_exportedProcHeading10516 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_exportedProcHeading10520 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_exportedProcHeading10522 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x8400000000100808L}); - public static final BitSet FOLLOW_functionDirective_in_exportedProcHeading10525 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x8400000000100808L}); - public static final BitSet FOLLOW_FUNCTION_in_exportedProcHeading10560 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_exportedProcHeading10562 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_formalParameterSection_in_exportedProcHeading10565 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_exportedProcHeading10569 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x8400000000100808L}); - public static final BitSet FOLLOW_functionDirective_in_exportedProcHeading10572 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x8400000000100808L}); - public static final BitSet FOLLOW_methodDeclHeading_in_methodDecl10629 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_methodDecl10631 = new BitSet(new long[]{0x14E0201C18C81822L,0x0010CC00898C8002L,0x4000000022182A18L,0x0000000000000002L}); - public static final BitSet FOLLOW_methodDirective_in_methodDecl10634 = new BitSet(new long[]{0x14E0201C18C81822L,0x0010CC00898C8002L,0x4000000022182A18L,0x0000000000000002L}); - public static final BitSet FOLLOW_methodBody_in_methodDecl10639 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading10699 = new BitSet(new long[]{0x0000000810800000L,0x0010000000000000L}); - public static final BitSet FOLLOW_CLASS_in_methodDeclHeading10704 = new BitSet(new long[]{0x0000000810000000L,0x0010000000000000L}); - public static final BitSet FOLLOW_methodKey_in_methodDeclHeading10709 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_methodName_in_methodDeclHeading10711 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_methodDeclHeading10714 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading10812 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_methodDeclHeading10817 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_FUNCTION_in_methodDeclHeading10821 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_methodName_in_methodDeclHeading10823 = new BitSet(new long[]{0x0000000001000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_methodDeclHeading10826 = new BitSet(new long[]{0x0000000001000002L}); - public static final BitSet FOLLOW_COLON_in_methodDeclHeading10831 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading10834 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_methodDeclHeading10838 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading10947 = new BitSet(new long[]{0x0000000000800000L}); - public static final BitSet FOLLOW_CLASS_in_methodDeclHeading10951 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); - public static final BitSet FOLLOW_OPERATOR_in_methodDeclHeading10953 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_methodName_in_methodDeclHeading10955 = new BitSet(new long[]{0x0000000001000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_methodDeclHeading10958 = new BitSet(new long[]{0x0000000001000002L}); - public static final BitSet FOLLOW_COLON_in_methodDeclHeading10963 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading10966 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_methodDeclHeading10970 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ident_in_methodName11219 = new BitSet(new long[]{0x0000010000000000L,0x0000000004000000L}); - public static final BitSet FOLLOW_genericDefinition_in_methodName11222 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_methodName11227 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_methodName11229 = new BitSet(new long[]{0x0000010000000000L,0x0000000004000000L}); - public static final BitSet FOLLOW_genericDefinition_in_methodName11232 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_methodName11238 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_methodName11240 = new BitSet(new long[]{0x0000000000000002L,0x0000000004000000L}); - public static final BitSet FOLLOW_genericDefinition_in_methodName11243 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procDeclHeading_in_procDecl11302 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_procDecl11304 = new BitSet(new long[]{0x05E0000C18C81802L,0x0010C400818C8003L,0xC400000022102A08L}); - public static final BitSet FOLLOW_functionDirective_in_procDecl11307 = new BitSet(new long[]{0x05E0000C18C81802L,0x0010C400818C8003L,0xC400000022102A08L}); - public static final BitSet FOLLOW_procBody_in_procDecl11312 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_procDeclHeading11378 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L}); - public static final BitSet FOLLOW_PROCEDURE_in_procDeclHeading11382 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_procDeclHeading11384 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_procDeclHeading11387 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_procDeclHeading11487 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_FUNCTION_in_procDeclHeading11491 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_procDeclHeading11493 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_procDeclHeading11496 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_procDeclHeading11500 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_procDeclHeading11502 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_formalParameterSection11602 = new BitSet(new long[]{0x1050000268108140L,0x8002029049081400L,0x4000400000E0042DL,0x0000000000000111L}); - public static final BitSet FOLLOW_formalParameterList_in_formalParameterSection11605 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_formalParameterSection11609 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_formalParameter_in_formalParameterList11662 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_formalParameterList11665 = new BitSet(new long[]{0x1050000268108140L,0x8002029049081400L,0x4000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_formalParameter_in_formalParameterList11667 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_customAttribute_in_formalParameter11729 = new BitSet(new long[]{0x1050000268108140L,0x8002029049001400L,0x4000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_parmType_in_formalParameter11734 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_identListFlat_in_formalParameter11738 = new BitSet(new long[]{0x0004000001000002L}); - public static final BitSet FOLLOW_COLON_in_formalParameter11741 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_formalParameter11743 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_EQUAL_in_formalParameter11748 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_formalParameter11750 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_block_in_methodBody11973 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_methodBody11975 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FORWARD_in_procBody12036 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_procBody12038 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x8400000000100808L}); - public static final BitSet FOLLOW_functionDirective_in_procBody12041 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x8400000000100808L}); - public static final BitSet FOLLOW_EXTERNAL_in_procBody12079 = new BitSet(new long[]{0x0560000400401002L,0x0000C400C1809000L,0x8400000000100808L}); - public static final BitSet FOLLOW_NAME_in_procBody12082 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_procBody12084 = new BitSet(new long[]{0x0560000400401002L,0x0000C400C1809000L,0x8400000000100808L}); - public static final BitSet FOLLOW_INDEX_in_procBody12088 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_procBody12090 = new BitSet(new long[]{0x0560000400401002L,0x0000C400C1809000L,0x8400000000100808L}); - public static final BitSet FOLLOW_functionDirective_in_procBody12095 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x8400000000100808L}); - public static final BitSet FOLLOW_block_in_procBody12131 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_procBody12133 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttributeList_in_customAttribute12186 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttributeDecl_in_customAttributeList12233 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); - public static final BitSet FOLLOW_LBRACK_in_customAttributeDecl12281 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespacedQualifiedIdent_in_customAttributeDecl12283 = new BitSet(new long[]{0x0000000000000000L,0x1000000002000000L}); - public static final BitSet FOLLOW_LPAREN_in_customAttributeDecl12286 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0042DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expressionList_in_customAttributeDecl12289 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_customAttributeDecl12293 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_customAttributeDecl12297 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_anonymousExpression_in_expression12381 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_simpleExpression_in_expression12422 = new BitSet(new long[]{0x0004000000000002L,0x0000000804420814L}); - public static final BitSet FOLLOW_relOp_in_expression12425 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_simpleExpression_in_expression12427 = new BitSet(new long[]{0x0004000000000002L}); - public static final BitSet FOLLOW_EQUAL_in_expression12432 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_expression12434 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PROCEDURE_in_anonymousExpression12485 = new BitSet(new long[]{0x0080000818880800L,0x00100000020C0002L,0x4000000022000200L}); - public static final BitSet FOLLOW_formalParameterSection_in_anonymousExpression12488 = new BitSet(new long[]{0x0080000818880800L,0x00100000000C0002L,0x4000000022000200L}); - public static final BitSet FOLLOW_block_in_anonymousExpression12492 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FUNCTION_in_anonymousExpression12525 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_anonymousExpression12528 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_anonymousExpression12532 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_anonymousExpression12534 = new BitSet(new long[]{0x0080000818880800L,0x00100000000C0002L,0x4000000022000200L}); - public static final BitSet FOLLOW_block_in_anonymousExpression12536 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_factor_in_simpleExpression12585 = new BitSet(new long[]{0x0000004000000482L,0x0001010030000000L,0x0000000000078000L,0x0000000000000080L}); - public static final BitSet FOLLOW_operator_in_simpleExpression12588 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_simpleExpression12590 = new BitSet(new long[]{0x0000004000000482L,0x0001010030000000L,0x0000000000078000L,0x0000000000000080L}); - public static final BitSet FOLLOW_AT2_in_factor12651 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_factor12653 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_201_in_factor12686 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_factor12688 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NOT_in_factor12728 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_factor12730 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PLUS_in_factor12763 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_factor12765 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_MINUS_in_factor12798 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_factor12800 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_POINTER2_in_factor12833 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_factor12835 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_intNum_in_factor12879 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_realNum_in_factor12912 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TkAsmHexNum_in_factor12945 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TRUE_in_factor12988 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FALSE_in_factor13021 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NIL_in_factor13054 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_factor13087 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_factor13089 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_factor13091 = new BitSet(new long[]{0x0000010000000002L,0x0004000000000000L}); - public static final BitSet FOLLOW_POINTER2_in_factor13094 = new BitSet(new long[]{0x0000010000000002L}); - public static final BitSet FOLLOW_DOT_in_factor13099 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_factor13101 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_stringFactor_in_factor13144 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_setSection_in_factor13177 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designator_in_factor13210 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_typeId_in_factor13243 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_LPAREN_in_factor13245 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_factor13247 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_factor13249 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ControlString_in_stringFactor13302 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L}); - public static final BitSet FOLLOW_QuotedString_in_stringFactor13305 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_ControlString_in_stringFactor13307 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L}); - public static final BitSet FOLLOW_QuotedString_in_stringFactor13312 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_QuotedString_in_stringFactor13347 = new BitSet(new long[]{0x0000000080000002L}); - public static final BitSet FOLLOW_ControlString_in_stringFactor13350 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L}); - public static final BitSet FOLLOW_QuotedString_in_stringFactor13352 = new BitSet(new long[]{0x0000000080000002L}); - public static final BitSet FOLLOW_ControlString_in_stringFactor13357 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LBRACK_in_setSection13414 = new BitSet(new long[]{0x12500102E0118140L,0x941702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_setSection13417 = new BitSet(new long[]{0x0000020002000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_set_in_setSection13420 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_setSection13428 = new BitSet(new long[]{0x0000020002000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_setSection13434 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_INHERITED_in_designator13491 = new BitSet(new long[]{0x1050010260118142L,0x800602904F081400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_namespacedQualifiedIdent_in_designator13498 = new BitSet(new long[]{0x0000010000010002L,0x0004000006080000L}); - public static final BitSet FOLLOW_typeId_in_designator13502 = new BitSet(new long[]{0x0000010000010002L,0x0004000006080000L}); - public static final BitSet FOLLOW_designatorItem_in_designator13509 = new BitSet(new long[]{0x0000010000010002L,0x0004000006080000L}); - public static final BitSet FOLLOW_POINTER2_in_designatorItem13562 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_designatorItem13595 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_designatorItem13603 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LT_in_designatorItem13651 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_genericTypeIdent_in_designatorItem13653 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_COMMA_in_designatorItem13656 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_genericTypeIdent_in_designatorItem13658 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_GT_in_designatorItem13662 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LBRACK_in_designatorItem13703 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expressionList_in_designatorItem13705 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_designatorItem13707 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_designatorItem13740 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0042DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_designatorItem13743 = new BitSet(new long[]{0x0000000003000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_colonConstruct_in_designatorItem13746 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_COMMA_in_designatorItem13751 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_designatorItem13753 = new BitSet(new long[]{0x0000000003000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_colonConstruct_in_designatorItem13756 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_designatorItem13764 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_expression_in_expressionList13841 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_COMMA_in_expressionList13844 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_expressionList13846 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_COLON_in_colonConstruct13899 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_colonConstruct13901 = new BitSet(new long[]{0x0000000001000002L}); - public static final BitSet FOLLOW_COLON_in_colonConstruct13904 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_colonConstruct13906 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ifStatement_in_statement14680 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_caseStatement_in_statement14713 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_repeatStatement_in_statement14746 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_whileStatement_in_statement14779 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_forStatement_in_statement14812 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_withStatement_in_statement14845 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_tryStatement_in_statement14878 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_raiseStatement_in_statement14911 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_assemblerStatement_in_statement14944 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_compoundStatement_in_statement14977 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_label_in_statement15010 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_statement15012 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_statement15014 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_simpleStatement_in_statement15047 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_IF_in_ifStatement15101 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_ifStatement15103 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000001000000L}); - public static final BitSet FOLLOW_THEN_in_ifStatement15105 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_ifStatement15107 = new BitSet(new long[]{0x0001000000000002L}); - public static final BitSet FOLLOW_ELSE_in_ifStatement15110 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_ifStatement15112 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CASE_in_caseStatement15166 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_caseStatement15168 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); - public static final BitSet FOLLOW_OF_in_caseStatement15170 = new BitSet(new long[]{0x12530102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_caseItem_in_caseStatement15173 = new BitSet(new long[]{0x12530102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_ELSE_in_caseStatement15178 = new BitSet(new long[]{0x905201026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_caseStatement15180 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_caseStatement15183 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_END_in_caseStatement15189 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_caseLabel_in_caseItem15246 = new BitSet(new long[]{0x0000000003000000L}); - public static final BitSet FOLLOW_COMMA_in_caseItem15249 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_caseLabel_in_caseItem15251 = new BitSet(new long[]{0x0000000003000000L}); - public static final BitSet FOLLOW_COLON_in_caseItem15255 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_caseItem15257 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_caseItem15260 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_expression_in_caseLabel15319 = new BitSet(new long[]{0x0000020000000002L}); - public static final BitSet FOLLOW_DOTDOT_in_caseLabel15322 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_caseLabel15324 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_REPEAT_in_repeatStatement15376 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0800E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_repeatStatement15379 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0800000000000000L}); - public static final BitSet FOLLOW_UNTIL_in_repeatStatement15383 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_repeatStatement15385 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_WHILE_in_whileStatement15436 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_whileStatement15438 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_DO_in_whileStatement15440 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_whileStatement15442 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FOR_in_forStatement15495 = new BitSet(new long[]{0x105001026011C140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_forStatement15497 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_ASSIGN_in_forStatement15499 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_forStatement15501 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L}); - public static final BitSet FOLLOW_TO_in_forStatement15503 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_forStatement15505 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_DO_in_forStatement15507 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_forStatement15509 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FOR_in_forStatement15542 = new BitSet(new long[]{0x105001026011C140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_forStatement15544 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_ASSIGN_in_forStatement15546 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_forStatement15548 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_DOWNTO_in_forStatement15550 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_forStatement15552 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_DO_in_forStatement15554 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_forStatement15556 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FOR_in_forStatement15589 = new BitSet(new long[]{0x1050010260118140L,0x800602904F083C00L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_forStatement15591 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); - public static final BitSet FOLLOW_IN_in_forStatement15593 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_forStatement15595 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_DO_in_forStatement15597 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_forStatement15599 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_WITH_in_withStatement15651 = new BitSet(new long[]{0x1050010262118540L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_withItem_in_withStatement15653 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_DO_in_withStatement15655 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_withStatement15657 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designator_in_withItem15714 = new BitSet(new long[]{0x0000000000000400L}); - public static final BitSet FOLLOW_AS_in_withItem15716 = new BitSet(new long[]{0x1050010260118140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_withItem15718 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designator_in_withItem15758 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_COMMA_in_withItem15761 = new BitSet(new long[]{0x1050010262118140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_withItem15763 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_BEGIN_in_compoundStatement15813 = new BitSet(new long[]{0x905201026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_compoundStatement15816 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_END_in_compoundStatement15820 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statement_in_statementList15886 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_statementList15891 = new BitSet(new long[]{0x905001026039C942L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_statementList15894 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_designator_in_simpleStatement15948 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_ASSIGN_in_simpleStatement15950 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_simpleStatement15952 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designator_in_simpleStatement15985 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_gotoStatement_in_simpleStatement16019 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_GOTO_in_gotoStatement16071 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000E00000E0002DL,0x0000000000000011L}); - public static final BitSet FOLLOW_label_in_gotoStatement16073 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EXIT_in_gotoStatement16106 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_LPAREN_in_gotoStatement16109 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_gotoStatement16111 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_gotoStatement16113 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_BREAK_in_gotoStatement16148 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CONTINUE_in_gotoStatement16181 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_constExpression16234 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_recordConstExpression_in_constExpression16236 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002400L}); - public static final BitSet FOLLOW_SEMI_in_constExpression16239 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_recordConstExpression_in_constExpression16241 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002400L}); - public static final BitSet FOLLOW_RPAREN_in_constExpression16245 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_constExpression16279 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_constExpression16281 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_COMMA_in_constExpression16284 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_constExpression16286 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_constExpression16290 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_expression_in_constExpression16323 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ident_in_recordConstExpression16367 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_recordConstExpression16369 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_recordConstExpression16371 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TRY_in_tryStatement16427 = new BitSet(new long[]{0x905801026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_tryStatement16430 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_EXCEPT_in_tryStatement16434 = new BitSet(new long[]{0x905301026039C940L,0x880602D04F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_handlerList_in_tryStatement16436 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_END_in_tryStatement16438 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TRY_in_tryStatement16471 = new BitSet(new long[]{0xD05001026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_tryStatement16474 = new BitSet(new long[]{0x4000000000000000L}); - public static final BitSet FOLLOW_FINALLY_in_tryStatement16478 = new BitSet(new long[]{0x905201026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_tryStatement16481 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_END_in_tryStatement16485 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_handler_in_handlerList16540 = new BitSet(new long[]{0x0001000000000002L,0x0000004000000000L}); - public static final BitSet FOLLOW_ELSE_in_handlerList16545 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_handlerList16547 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statementList_in_handlerList16582 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ON_in_handler16640 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_handlerIdent_in_handler16643 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_typeId_in_handler16647 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_DO_in_handler16649 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_handlerStatement_in_handler16651 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ident_in_handlerIdent16706 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_handlerIdent16708 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statement_in_handlerStatement16757 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_handlerStatement16760 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_SEMI_in_handlerStatement16795 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_RAISE_in_raiseStatement16846 = new BitSet(new long[]{0x1050010260118140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_raiseStatement16849 = new BitSet(new long[]{0x0000000000008002L}); - public static final BitSet FOLLOW_AT_in_raiseStatement16854 = new BitSet(new long[]{0x1050010260118140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_raiseStatement16856 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ASM_in_assemblerStatement16909 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0xFFFFFFFFFFFFFFFFL,0x00000000000003FFL}); - public static final BitSet FOLLOW_END_in_assemblerStatement16917 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_reintroduceDirective_in_methodDirective16990 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_overloadDirective_in_methodDirective17032 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_bindingDirective_in_methodDirective17077 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_abstractDirective_in_methodDirective17123 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_inlineDirective_in_methodDirective17168 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_callConvention_in_methodDirective17215 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_hintingDirective_in_methodDirective17263 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_methodDirective17265 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_oldCallConventionDirective_in_methodDirective17307 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_dispIDDirective_in_methodDirective17343 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_overloadDirective_in_functionDirective17391 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_inlineDirective_in_functionDirective17434 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_callConvention_in_functionDirective17479 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_oldCallConventionDirective_in_functionDirective17525 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_hintingDirective_in_functionDirective17559 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_functionDirective17561 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_callConventionNoSemi_in_functionDirective17602 = new BitSet(new long[]{0x0100000000000000L,0x0000000000000000L,0x8000000000000000L}); - public static final BitSet FOLLOW_externalDirective_in_functionDirective17606 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_UNSAFE_in_functionDirective17649 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_functionDirective17651 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_REINTRODUCE_in_reintroduceDirective17711 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_reintroduceDirective17713 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_OVERLOAD_in_overloadDirective17761 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_overloadDirective17764 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_MESSAGE_in_bindingDirective17819 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_bindingDirective17821 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_bindingDirective17823 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_STATIC_in_bindingDirective17856 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_bindingDirective17858 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DYNAMIC_in_bindingDirective17891 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_bindingDirective17893 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_OVERRIDE_in_bindingDirective17926 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_bindingDirective17928 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_VIRTUAL_in_bindingDirective17961 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_bindingDirective17963 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ABSTRACT_in_abstractDirective18011 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_abstractDirective18013 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FINAL_in_abstractDirective18046 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_abstractDirective18048 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_INLINE_in_inlineDirective18098 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_inlineDirective18100 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ASSEMBLER_in_inlineDirective18133 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_inlineDirective18135 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CDECL_in_callConvention18187 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_callConvention18189 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PASCAL_in_callConvention18226 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_callConvention18228 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_REGISTER_in_callConvention18264 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_callConvention18266 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_SAFECALL_in_callConvention18300 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_callConvention18302 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_STDCALL_in_callConvention18336 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_callConvention18338 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EXPORT_in_callConvention18373 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_callConvention18375 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FAR_in_oldCallConventionDirective18641 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_oldCallConventionDirective18643 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LOCAL_in_oldCallConventionDirective18682 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_oldCallConventionDirective18684 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NEAR_in_oldCallConventionDirective18721 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_oldCallConventionDirective18723 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DEPRECATED_in_hintingDirective18777 = new BitSet(new long[]{0x0000000080000002L,0x0400000000000000L}); - public static final BitSet FOLLOW_stringFactor_in_hintingDirective18780 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EXPERIMENTAL_in_hintingDirective18815 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PLATFORM_in_hintingDirective18850 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LIBRARY_in_hintingDirective18883 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_VARARGS_in_externalDirective18931 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_externalDirective18933 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EXTERNAL_in_externalDirective18969 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_externalDirective18971 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EXTERNAL_in_externalDirective19004 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_externalDirective19006 = new BitSet(new long[]{0x0000000000000000L,0x0000000040001000L,0x0000000000002000L}); - public static final BitSet FOLLOW_externalSpecifier_in_externalDirective19009 = new BitSet(new long[]{0x0000000000000000L,0x0000000040001000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_externalDirective19013 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NAME_in_externalSpecifier19062 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_externalSpecifier19064 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_INDEX_in_externalSpecifier19097 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_externalSpecifier19099 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DISPID_in_dispIDDirective19152 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_dispIDDirective19154 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_dispIDDirective19156 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TkIdentifier_in_ident19219 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_200_in_ident19252 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000400000000000L}); - public static final BitSet FOLLOW_TkIdentifier_in_ident19254 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_usedKeywordsAsNames_in_ident19287 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ident_in_identList19565 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_COMMA_in_identList19568 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_identList19570 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_ident_in_identListFlat19635 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_COMMA_in_identListFlat19638 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_identListFlat19640 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_TkIdentifier_in_label19714 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TkIntNum_in_label19747 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TkHexNum_in_label19780 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_usedKeywordsAsNames_in_label19813 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TkRealNum_in_realNum19963 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_namespaceName_in_namespacedQualifiedIdent20005 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_namespacedQualifiedIdent20007 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_qualifiedIdent_in_namespacedQualifiedIdent20011 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ident_in_namespaceName20063 = new BitSet(new long[]{0x0000010000000002L}); - public static final BitSet FOLLOW_DOT_in_namespaceName20066 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_namespaceName20068 = new BitSet(new long[]{0x0000010000000002L}); - public static final BitSet FOLLOW_ident_in_qualifiedIdent20123 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_qualifiedIdent20125 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_qualifiedIdent20130 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_declSection_in_synpred23_Delphi1584 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_blockBody_in_synpred24_Delphi1589 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_exportedProcHeading_in_synpred30_Delphi1866 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_methodDecl_in_synpred31_Delphi1899 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procDecl_in_synpred32_Delphi1932 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_exportedProcHeading_in_synpred36_Delphi2116 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procDecl_in_synpred38_Delphi2182 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_constDeclaration_in_synpred40_Delphi2331 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred42_Delphi2486 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_typeDeclaration_in_synpred45_Delphi2580 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred46_Delphi2646 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_varDeclaration_in_synpred48_Delphi2743 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred50_Delphi2903 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ABSOLUTE_in_synpred53_Delphi2995 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_synpred53_Delphi2997 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ABSOLUTE_in_synpred54_Delphi3030 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_synpred54_Delphi3032 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_strucType_in_synpred61_Delphi3277 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_pointerType_in_synpred62_Delphi3310 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_stringType_in_synpred63_Delphi3343 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procedureType_in_synpred64_Delphi3376 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_variantType_in_synpred65_Delphi3409 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_genericPostfix_in_synpred67_Delphi3450 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TYPE_in_synpred68_Delphi3443 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_typeId_in_synpred68_Delphi3447 = new BitSet(new long[]{0x0000000000000002L,0x0000000004000000L}); - public static final BitSet FOLLOW_genericPostfix_in_synpred68_Delphi3450 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CONST_in_synpred78_Delphi4002 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_OF_in_synpred79_Delphi4174 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_synpred79_Delphi4176 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LBRACK_in_synpred81_Delphi4325 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred81_Delphi4327 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); - public static final BitSet FOLLOW_RBRACK_in_synpred81_Delphi4329 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_codePageNumber_in_synpred84_Delphi4376 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_methodType_in_synpred85_Delphi4485 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_simpleProcedureType_in_synpred86_Delphi4518 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_SEMI_in_synpred88_Delphi4661 = new BitSet(new long[]{0x0040000000400000L,0x0000400000000000L,0x0000000000100808L}); - public static final BitSet FOLLOW_callConventionNoSemi_in_synpred88_Delphi4665 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred90_Delphi4773 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_formalParameterSection_in_synpred92_Delphi4828 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ident_in_synpred93_Delphi4940 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_subRangeType_in_synpred94_Delphi4973 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DOTDOT_in_synpred95_Delphi5062 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_synpred95_Delphi5064 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_simpleGenericDefinition_in_synpred100_Delphi5321 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_complexGenericDefinition_in_synpred101_Delphi5354 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classTypeTypeDecl_in_synpred113_Delphi5879 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classTypeDecl_in_synpred114_Delphi5912 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_synpred122_Delphi6237 = new BitSet(new long[]{0x1052000A78928160L,0x83DA02904B081402L,0x4000400022E0122DL,0x0000000000000111L}); - public static final BitSet FOLLOW_classState_in_synpred122_Delphi6240 = new BitSet(new long[]{0x1052000A78928140L,0x83DA02904B081402L,0x4000400022E0022DL,0x0000000000000111L}); - public static final BitSet FOLLOW_classParent_in_synpred122_Delphi6245 = new BitSet(new long[]{0x1052000A78928140L,0x83DA029049081402L,0x4000400022E0022DL,0x0000000000000111L}); - public static final BitSet FOLLOW_classItem_in_synpred122_Delphi6250 = new BitSet(new long[]{0x1052000A78928140L,0x83DA029049081402L,0x4000400022E0022DL,0x0000000000000111L}); - public static final BitSet FOLLOW_END_in_synpred122_Delphi6254 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classParent_in_synpred123_Delphi6308 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_visibility_in_synpred126_Delphi6544 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_synpred127_Delphi6577 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classField_in_synpred128_Delphi6610 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classProperty_in_synpred129_Delphi6643 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_synpred136_Delphi6913 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classProperty_in_synpred137_Delphi6946 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_interfaceKey_in_synpred142_Delphi7032 = new BitSet(new long[]{0x0002000810800000L,0x0050008002080002L}); - public static final BitSet FOLLOW_classParent_in_synpred142_Delphi7035 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); - public static final BitSet FOLLOW_interfaceGuid_in_synpred142_Delphi7040 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); - public static final BitSet FOLLOW_interfaceItem_in_synpred142_Delphi7045 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); - public static final BitSet FOLLOW_END_in_synpred142_Delphi7049 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classParent_in_synpred143_Delphi7143 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_synpred145_Delphi7386 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_synpred146_Delphi7420 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_visibility_in_synpred149_Delphi7560 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_synpred150_Delphi7593 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_simpleRecord_in_synpred151_Delphi7681 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_recordField_in_synpred152_Delphi7770 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_visibility_in_synpred155_Delphi7920 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_synpred156_Delphi7958 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classProperty_in_synpred157_Delphi7991 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_recordField_in_synpred160_Delphi8090 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_classMethod_in_synpred174_Delphi8628 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred175_Delphi8716 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred180_Delphi8716 = new BitSet(new long[]{0x0000000810800000L,0x0010000000000000L}); - public static final BitSet FOLLOW_CLASS_in_synpred180_Delphi8721 = new BitSet(new long[]{0x0000000810000000L,0x0010000000000000L}); - public static final BitSet FOLLOW_methodKey_in_synpred180_Delphi8725 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_synpred180_Delphi8727 = new BitSet(new long[]{0x0000000000000000L,0x0000000006000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_genericDefinition_in_synpred180_Delphi8730 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_formalParameterSection_in_synpred180_Delphi8735 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_synpred180_Delphi8739 = new BitSet(new long[]{0x1460201400401022L,0x0000CC0089808000L,0x0000000000180818L,0x0000000000000002L}); - public static final BitSet FOLLOW_methodDirective_in_synpred180_Delphi8742 = new BitSet(new long[]{0x1460201400401022L,0x0000CC0089808000L,0x0000000000180818L,0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred181_Delphi8850 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred185_Delphi8876 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred187_Delphi8850 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_synpred187_Delphi8855 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_FUNCTION_in_synpred187_Delphi8859 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_synpred187_Delphi8861 = new BitSet(new long[]{0x0000000001000000L,0x0000000006000000L}); - public static final BitSet FOLLOW_genericDefinition_in_synpred187_Delphi8864 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_synpred187_Delphi8869 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_synpred187_Delphi8873 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_customAttribute_in_synpred187_Delphi8876 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_synpred187_Delphi8880 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_synpred187_Delphi8882 = new BitSet(new long[]{0x1460201400401022L,0x0000CC0089808000L,0x0000000000180818L,0x0000000000000002L}); - public static final BitSet FOLLOW_methodDirective_in_synpred187_Delphi8885 = new BitSet(new long[]{0x1460201400401022L,0x0000CC0089808000L,0x0000000000180818L,0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred188_Delphi9002 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred192_Delphi9028 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred193_Delphi9163 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred195_Delphi9283 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_SEMI_in_synpred202_Delphi9543 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DEFAULT_in_synpred206_Delphi9694 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred206_Delphi9696 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DEFAULT_in_synpred207_Delphi9729 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DEFAULT_in_synpred210_Delphi9894 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred210_Delphi9896 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_synpred210_Delphi9898 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DEFAULT_in_synpred211_Delphi9931 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_synpred211_Delphi9933 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred224_Delphi10516 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_functionDirective_in_synpred225_Delphi10525 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_functionDirective_in_synpred228_Delphi10572 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_methodDirective_in_synpred229_Delphi10634 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_methodBody_in_synpred230_Delphi10639 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred231_Delphi10699 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred234_Delphi10699 = new BitSet(new long[]{0x0000000810800000L,0x0010000000000000L}); - public static final BitSet FOLLOW_CLASS_in_synpred234_Delphi10704 = new BitSet(new long[]{0x0000000810000000L,0x0010000000000000L}); - public static final BitSet FOLLOW_methodKey_in_synpred234_Delphi10709 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_methodName_in_synpred234_Delphi10711 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_synpred234_Delphi10714 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred235_Delphi10812 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred238_Delphi10834 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred240_Delphi10812 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); - public static final BitSet FOLLOW_CLASS_in_synpred240_Delphi10817 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); - public static final BitSet FOLLOW_FUNCTION_in_synpred240_Delphi10821 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_methodName_in_synpred240_Delphi10823 = new BitSet(new long[]{0x0000000001000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_synpred240_Delphi10826 = new BitSet(new long[]{0x0000000001000002L}); - public static final BitSet FOLLOW_COLON_in_synpred240_Delphi10831 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_customAttribute_in_synpred240_Delphi10834 = new BitSet(new long[]{0x1A500122E0918340L,0x841722955F093402L,0x0008E00128E0402FL,0x0000000000000311L}); - public static final BitSet FOLLOW_typeDecl_in_synpred240_Delphi10838 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred241_Delphi10947 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred243_Delphi10966 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_functionDirective_in_synpred251_Delphi11307 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_procBody_in_synpred252_Delphi11312 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred253_Delphi11378 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred255_Delphi11378 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L}); - public static final BitSet FOLLOW_PROCEDURE_in_synpred255_Delphi11382 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_synpred255_Delphi11384 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); - public static final BitSet FOLLOW_formalParameterSection_in_synpred255_Delphi11387 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred256_Delphi11487 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttribute_in_synpred260_Delphi11729 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_functionDirective_in_synpred266_Delphi12041 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NAME_in_synpred268_Delphi12082 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred268_Delphi12084 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_INDEX_in_synpred269_Delphi12088 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred269_Delphi12090 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_functionDirective_in_synpred270_Delphi12095 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_customAttributeDecl_in_synpred272_Delphi12233 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_expressionList_in_synpred273_Delphi12289 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_anonymousExpression_in_synpred275_Delphi12381 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_relOp_in_synpred276_Delphi12425 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_simpleExpression_in_synpred276_Delphi12427 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EQUAL_in_synpred277_Delphi12432 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred277_Delphi12434 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_formalParameterSection_in_synpred278_Delphi12488 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_operator_in_synpred281_Delphi12588 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_synpred281_Delphi12590 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_AT2_in_synpred282_Delphi12651 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_synpred282_Delphi12653 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_201_in_synpred283_Delphi12686 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_synpred283_Delphi12688 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NOT_in_synpred284_Delphi12728 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_synpred284_Delphi12730 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_PLUS_in_synpred285_Delphi12763 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_synpred285_Delphi12765 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_MINUS_in_synpred286_Delphi12798 = new BitSet(new long[]{0x12500102E0118140L,0x840702955F083400L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_factor_in_synpred286_Delphi12800 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_POINTER2_in_synpred287_Delphi12833 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_synpred287_Delphi12835 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_intNum_in_synpred288_Delphi12879 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_realNum_in_synpred289_Delphi12912 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TkAsmHexNum_in_synpred290_Delphi12945 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TRUE_in_synpred291_Delphi12988 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FALSE_in_synpred292_Delphi13021 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_NIL_in_synpred293_Delphi13054 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_POINTER2_in_synpred294_Delphi13094 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DOT_in_synpred295_Delphi13099 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred295_Delphi13101 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_synpred296_Delphi13087 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred296_Delphi13089 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_synpred296_Delphi13091 = new BitSet(new long[]{0x0000010000000002L,0x0004000000000000L}); - public static final BitSet FOLLOW_POINTER2_in_synpred296_Delphi13094 = new BitSet(new long[]{0x0000010000000002L}); - public static final BitSet FOLLOW_DOT_in_synpred296_Delphi13099 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred296_Delphi13101 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_stringFactor_in_synpred297_Delphi13144 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_setSection_in_synpred298_Delphi13177 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designator_in_synpred299_Delphi13210 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_QuotedString_in_synpred300_Delphi13305 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_ControlString_in_synpred300_Delphi13307 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_QuotedString_in_synpred301_Delphi13312 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ControlString_in_synpred303_Delphi13350 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L}); - public static final BitSet FOLLOW_QuotedString_in_synpred303_Delphi13352 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ControlString_in_synpred304_Delphi13357 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_expression_in_synpred307_Delphi13417 = new BitSet(new long[]{0x0000020002000002L}); - public static final BitSet FOLLOW_set_in_synpred307_Delphi13420 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred307_Delphi13428 = new BitSet(new long[]{0x0000020002000002L}); - public static final BitSet FOLLOW_INHERITED_in_synpred308_Delphi13491 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_namespacedQualifiedIdent_in_synpred309_Delphi13498 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_namespacedQualifiedIdent_in_synpred310_Delphi13498 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_typeId_in_synpred310_Delphi13502 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designatorItem_in_synpred311_Delphi13509 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_expression_in_synpred321_Delphi13743 = new BitSet(new long[]{0x0000000003000002L}); - public static final BitSet FOLLOW_colonConstruct_in_synpred321_Delphi13746 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_COMMA_in_synpred321_Delphi13751 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred321_Delphi13753 = new BitSet(new long[]{0x0000000003000002L}); - public static final BitSet FOLLOW_colonConstruct_in_synpred321_Delphi13756 = new BitSet(new long[]{0x0000000002000002L}); - public static final BitSet FOLLOW_label_in_synpred352_Delphi15010 = new BitSet(new long[]{0x0000000001000000L}); - public static final BitSet FOLLOW_COLON_in_synpred352_Delphi15012 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_synpred352_Delphi15014 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ELSE_in_synpred353_Delphi15110 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_synpred353_Delphi15112 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statementList_in_synpred360_Delphi15379 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FOR_in_synpred361_Delphi15495 = new BitSet(new long[]{0x105001026011C140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_synpred361_Delphi15497 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_ASSIGN_in_synpred361_Delphi15499 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred361_Delphi15501 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L}); - public static final BitSet FOLLOW_TO_in_synpred361_Delphi15503 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred361_Delphi15505 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_DO_in_synpred361_Delphi15507 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_synpred361_Delphi15509 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_FOR_in_synpred362_Delphi15542 = new BitSet(new long[]{0x105001026011C140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_synpred362_Delphi15544 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_ASSIGN_in_synpred362_Delphi15546 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred362_Delphi15548 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_DOWNTO_in_synpred362_Delphi15550 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred362_Delphi15552 = new BitSet(new long[]{0x0000008000000000L}); - public static final BitSet FOLLOW_DO_in_synpred362_Delphi15554 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_synpred362_Delphi15556 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designator_in_synpred363_Delphi15714 = new BitSet(new long[]{0x0000000000000400L}); - public static final BitSet FOLLOW_AS_in_synpred363_Delphi15716 = new BitSet(new long[]{0x1050010260118140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_synpred363_Delphi15718 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statementList_in_synpred365_Delphi15816 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statement_in_synpred366_Delphi15886 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statement_in_synpred367_Delphi15894 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_SEMI_in_synpred368_Delphi15891 = new BitSet(new long[]{0x905001026039C942L,0x880602904F083508L,0x0000E00010E0006DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statement_in_synpred368_Delphi15894 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designator_in_synpred369_Delphi15948 = new BitSet(new long[]{0x0000000000004000L}); - public static final BitSet FOLLOW_ASSIGN_in_synpred369_Delphi15950 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred369_Delphi15952 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designator_in_synpred370_Delphi15985 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_synpred372_Delphi16109 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_expression_in_synpred372_Delphi16111 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_synpred372_Delphi16113 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_synpred376_Delphi16234 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_recordConstExpression_in_synpred376_Delphi16236 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002400L}); - public static final BitSet FOLLOW_SEMI_in_synpred376_Delphi16239 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_recordConstExpression_in_synpred376_Delphi16241 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002400L}); - public static final BitSet FOLLOW_RPAREN_in_synpred376_Delphi16245 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_LPAREN_in_synpred378_Delphi16279 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_synpred378_Delphi16281 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_COMMA_in_synpred378_Delphi16284 = new BitSet(new long[]{0x12500102E0118140L,0x841702955F083402L,0x0008E00108E0002DL,0x0000000000000311L}); - public static final BitSet FOLLOW_constExpression_in_synpred378_Delphi16286 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); - public static final BitSet FOLLOW_RPAREN_in_synpred378_Delphi16290 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statementList_in_synpred379_Delphi16430 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_TRY_in_synpred380_Delphi16427 = new BitSet(new long[]{0x905801026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_synpred380_Delphi16430 = new BitSet(new long[]{0x0008000000000000L}); - public static final BitSet FOLLOW_EXCEPT_in_synpred380_Delphi16434 = new BitSet(new long[]{0x905301026039C940L,0x880602D04F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_handlerList_in_synpred380_Delphi16436 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_END_in_synpred380_Delphi16438 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statementList_in_synpred381_Delphi16474 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statementList_in_synpred382_Delphi16481 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_handler_in_synpred385_Delphi16540 = new BitSet(new long[]{0x0001000000000002L,0x0000004000000000L}); - public static final BitSet FOLLOW_ELSE_in_synpred385_Delphi16545 = new BitSet(new long[]{0x905001026039C940L,0x880602904F083508L,0x0000E00010E0206DL,0x000000000000011DL}); - public static final BitSet FOLLOW_statementList_in_synpred385_Delphi16547 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_statement_in_synpred388_Delphi16757 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_synpred388_Delphi16760 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_designator_in_synpred389_Delphi16849 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_AT_in_synpred390_Delphi16854 = new BitSet(new long[]{0x1050010260118140L,0x800602904F083400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_designator_in_synpred390_Delphi16856 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_SEMI_in_synpred408_Delphi17764 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_EXTERNAL_in_synpred432_Delphi18969 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); - public static final BitSet FOLLOW_SEMI_in_synpred432_Delphi18971 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_namespaceName_in_synpred471_Delphi20005 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_synpred471_Delphi20007 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_DOT_in_synpred472_Delphi20066 = new BitSet(new long[]{0x1050000260108140L,0x8002029049001400L,0x0000400000E0002DL,0x0000000000000111L}); - public static final BitSet FOLLOW_ident_in_synpred472_Delphi20068 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_ident_in_synpred473_Delphi20123 = new BitSet(new long[]{0x0000010000000000L}); - public static final BitSet FOLLOW_DOT_in_synpred473_Delphi20125 = new BitSet(new long[]{0x0000000000000002L}); -} +// $ANTLR 3.5.1 D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g 2021-02-05 15:18:16 + +/* + * Sonar Delphi Plugin + * Copyright (C) 2010 SonarSource + * dev@sonar.codehaus.org + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ + +package org.sonar.plugins.delphi.antlr; + +/** +* Delphi Parser class generated by Antlr. Provides tokens and tree parsing methods. +**/ + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; + +import org.antlr.runtime.tree.*; + + +@SuppressWarnings("all") +public class DelphiParser extends Parser { + public static final String[] tokenNames = new String[] { + "", "", "", "", "ABSOLUTE", "ABSTRACT", "ADD", + "AND", "ANSISTRING", "ARRAY", "AS", "ASM", "ASSEMBLER", "ASSEMBLY", "ASSIGN", + "AT", "AT2", "AUTOMATED", "Alpha", "BEGIN", "BREAK", "CASE", "CDECL", + "CLASS", "COLON", "COMMA", "COMMENT", "CONST", "CONSTRUCTOR", "CONTAINS", + "CONTINUE", "ControlChar", "DEFAULT", "DELAYED", "DEPRECATED", "DESTRUCTOR", + "DISPID", "DISPINTERFACE", "DIV", "DO", "DOT", "DOTDOT", "DOWNTO", "DQ", + "DW", "DYNAMIC", "Digit", "Digitseq", "ELSE", "END", "EQUAL", "EXCEPT", + "EXIT", "EXPERIMENTAL", "EXPORT", "EXPORTS", "EXTERNAL", "FALSE", "FAR", + "FILE", "FINAL", "FINALIZATION", "FINALLY", "FOR", "FORWARD", "FUNCTION", + "GE", "GOTO", "GT", "HELPER", "Hexdigit", "Hexdigitseq", "IF", "IMPLEMENTATION", + "IMPLEMENTS", "IN", "INDEX", "INHERITED", "INITIALIZATION", "INLINE", + "INTERFACE", "IS", "LABEL", "LBRACK", "LBRACK2", "LCURLY", "LE", "LIBRARY", + "LOCAL", "LPAREN", "LT", "MESSAGE", "MINUS", "MOD", "NAME", "NEAR", "NIL", + "NODEFAULT", "NOT", "NOT_EQUAL", "OBJECT", "OF", "ON", "OPERATOR", "OR", + "OUT", "OVERLOAD", "OVERRIDE", "PACKAGE", "PACKED", "PASCAL", "PLATFORM", + "PLUS", "POINTER", "POINTER2", "PRIVATE", "PROCEDURE", "PROGRAM", "PROPERTY", + "PROTECTED", "PUBLIC", "PUBLISHED", "QuotedString", "RAISE", "RBRACK", + "RBRACK2", "RCURLY", "READ", "READONLY", "RECORD", "REFERENCE", "REGISTER", + "REINTRODUCE", "REMOVE", "REPEAT", "REQUIRES", "RESIDENT", "RESOURCESTRING", + "RPAREN", "SAFECALL", "SEALED", "SEMI", "SET", "SHL", "SHR", "SLASH", + "STAR", "STATIC", "STDCALL", "STORED", "STRICT", "STRING", "THEN", "THREADVAR", + "TO", "TRUE", "TRY", "TYPE", "TkAnonymousExpression", "TkClass", "TkClassField", + "TkClassOfType", "TkClassParents", "TkCustomAttribute", "TkCustomAttributeArgs", + "TkFunctionArgs", "TkFunctionBody", "TkFunctionName", "TkFunctionReturn", + "TkGlobalFunction", "TkGuid", "TkHexNum", "TkIdentifier", "TkIntNum", + "TkInterface", "TkNewType", "TkObject", "TkRealNum", "TkRecord", "TkRecordHelper", + "TkVariableIdents", "TkVariableParam", "TkVariableType", "UNIT", "UNSAFE", + "UNTIL", "USES", "UnicodeBOM", "VAR", "VARARGS", "VARIANT", "VIRTUAL", + "WHILE", "WITH", "WRITE", "WRITEONLY", "WS", "XOR", "'&'", "'@@'", "'AND'", + "'AS'", "'DIV'", "'Inherited'", "'MOD'", "'OR'", "'SHL'", "'SHR'", "'XOR'", + "'^^'", "'nil^'" + }; + public static final int EOF=-1; + public static final int T__198=198; + public static final int T__199=199; + public static final int T__200=200; + public static final int T__201=201; + public static final int T__202=202; + public static final int T__203=203; + public static final int T__204=204; + public static final int T__205=205; + public static final int T__206=206; + public static final int T__207=207; + public static final int T__208=208; + public static final int T__209=209; + public static final int T__210=210; + public static final int ABSOLUTE=4; + public static final int ABSTRACT=5; + public static final int ADD=6; + public static final int AND=7; + public static final int ANSISTRING=8; + public static final int ARRAY=9; + public static final int AS=10; + public static final int ASM=11; + public static final int ASSEMBLER=12; + public static final int ASSEMBLY=13; + public static final int ASSIGN=14; + public static final int AT=15; + public static final int AT2=16; + public static final int AUTOMATED=17; + public static final int Alpha=18; + public static final int BEGIN=19; + public static final int BREAK=20; + public static final int CASE=21; + public static final int CDECL=22; + public static final int CLASS=23; + public static final int COLON=24; + public static final int COMMA=25; + public static final int COMMENT=26; + public static final int CONST=27; + public static final int CONSTRUCTOR=28; + public static final int CONTAINS=29; + public static final int CONTINUE=30; + public static final int ControlChar=31; + public static final int DEFAULT=32; + public static final int DELAYED=33; + public static final int DEPRECATED=34; + public static final int DESTRUCTOR=35; + public static final int DISPID=36; + public static final int DISPINTERFACE=37; + public static final int DIV=38; + public static final int DO=39; + public static final int DOT=40; + public static final int DOTDOT=41; + public static final int DOWNTO=42; + public static final int DQ=43; + public static final int DW=44; + public static final int DYNAMIC=45; + public static final int Digit=46; + public static final int Digitseq=47; + public static final int ELSE=48; + public static final int END=49; + public static final int EQUAL=50; + public static final int EXCEPT=51; + public static final int EXIT=52; + public static final int EXPERIMENTAL=53; + public static final int EXPORT=54; + public static final int EXPORTS=55; + public static final int EXTERNAL=56; + public static final int FALSE=57; + public static final int FAR=58; + public static final int FILE=59; + public static final int FINAL=60; + public static final int FINALIZATION=61; + public static final int FINALLY=62; + public static final int FOR=63; + public static final int FORWARD=64; + public static final int FUNCTION=65; + public static final int GE=66; + public static final int GOTO=67; + public static final int GT=68; + public static final int HELPER=69; + public static final int Hexdigit=70; + public static final int Hexdigitseq=71; + public static final int IF=72; + public static final int IMPLEMENTATION=73; + public static final int IMPLEMENTS=74; + public static final int IN=75; + public static final int INDEX=76; + public static final int INHERITED=77; + public static final int INITIALIZATION=78; + public static final int INLINE=79; + public static final int INTERFACE=80; + public static final int IS=81; + public static final int LABEL=82; + public static final int LBRACK=83; + public static final int LBRACK2=84; + public static final int LCURLY=85; + public static final int LE=86; + public static final int LIBRARY=87; + public static final int LOCAL=88; + public static final int LPAREN=89; + public static final int LT=90; + public static final int MESSAGE=91; + public static final int MINUS=92; + public static final int MOD=93; + public static final int NAME=94; + public static final int NEAR=95; + public static final int NIL=96; + public static final int NODEFAULT=97; + public static final int NOT=98; + public static final int NOT_EQUAL=99; + public static final int OBJECT=100; + public static final int OF=101; + public static final int ON=102; + public static final int OPERATOR=103; + public static final int OR=104; + public static final int OUT=105; + public static final int OVERLOAD=106; + public static final int OVERRIDE=107; + public static final int PACKAGE=108; + public static final int PACKED=109; + public static final int PASCAL=110; + public static final int PLATFORM=111; + public static final int PLUS=112; + public static final int POINTER=113; + public static final int POINTER2=114; + public static final int PRIVATE=115; + public static final int PROCEDURE=116; + public static final int PROGRAM=117; + public static final int PROPERTY=118; + public static final int PROTECTED=119; + public static final int PUBLIC=120; + public static final int PUBLISHED=121; + public static final int QuotedString=122; + public static final int RAISE=123; + public static final int RBRACK=124; + public static final int RBRACK2=125; + public static final int RCURLY=126; + public static final int READ=127; + public static final int READONLY=128; + public static final int RECORD=129; + public static final int REFERENCE=130; + public static final int REGISTER=131; + public static final int REINTRODUCE=132; + public static final int REMOVE=133; + public static final int REPEAT=134; + public static final int REQUIRES=135; + public static final int RESIDENT=136; + public static final int RESOURCESTRING=137; + public static final int RPAREN=138; + public static final int SAFECALL=139; + public static final int SEALED=140; + public static final int SEMI=141; + public static final int SET=142; + public static final int SHL=143; + public static final int SHR=144; + public static final int SLASH=145; + public static final int STAR=146; + public static final int STATIC=147; + public static final int STDCALL=148; + public static final int STORED=149; + public static final int STRICT=150; + public static final int STRING=151; + public static final int THEN=152; + public static final int THREADVAR=153; + public static final int TO=154; + public static final int TRUE=155; + public static final int TRY=156; + public static final int TYPE=157; + public static final int TkAnonymousExpression=158; + public static final int TkClass=159; + public static final int TkClassField=160; + public static final int TkClassOfType=161; + public static final int TkClassParents=162; + public static final int TkCustomAttribute=163; + public static final int TkCustomAttributeArgs=164; + public static final int TkFunctionArgs=165; + public static final int TkFunctionBody=166; + public static final int TkFunctionName=167; + public static final int TkFunctionReturn=168; + public static final int TkGlobalFunction=169; + public static final int TkGuid=170; + public static final int TkHexNum=171; + public static final int TkIdentifier=172; + public static final int TkIntNum=173; + public static final int TkInterface=174; + public static final int TkNewType=175; + public static final int TkObject=176; + public static final int TkRealNum=177; + public static final int TkRecord=178; + public static final int TkRecordHelper=179; + public static final int TkVariableIdents=180; + public static final int TkVariableParam=181; + public static final int TkVariableType=182; + public static final int UNIT=183; + public static final int UNSAFE=184; + public static final int UNTIL=185; + public static final int USES=186; + public static final int UnicodeBOM=187; + public static final int VAR=188; + public static final int VARARGS=189; + public static final int VARIANT=190; + public static final int VIRTUAL=191; + public static final int WHILE=192; + public static final int WITH=193; + public static final int WRITE=194; + public static final int WRITEONLY=195; + public static final int WS=196; + public static final int XOR=197; + + // delegates + public Parser[] getDelegates() { + return new Parser[] {}; + } + + // delegators + + + public DelphiParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public DelphiParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + this.state.ruleMemo = new HashMap[831+1]; + + + } + + protected TreeAdaptor adaptor = new CommonTreeAdaptor(); + + public void setTreeAdaptor(TreeAdaptor adaptor) { + this.adaptor = adaptor; + } + public TreeAdaptor getTreeAdaptor() { + return adaptor; + } + @Override public String[] getTokenNames() { return DelphiParser.tokenNames; } + @Override public String getGrammarFileName() { return "D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g"; } + + + public static class file_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "file" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:79:1: file : ( program | library | unit | packageE ); + public final DelphiParser.file_return file() throws RecognitionException { + DelphiParser.file_return retval = new DelphiParser.file_return(); + retval.start = input.LT(1); + int file_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope program1 =null; + ParserRuleReturnScope library2 =null; + ParserRuleReturnScope unit3 =null; + ParserRuleReturnScope packageE4 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 1) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:79:30: ( program | library | unit | packageE ) + int alt1=4; + switch ( input.LA(1) ) { + case ASM: + case BEGIN: + case CLASS: + case CONST: + case CONSTRUCTOR: + case DESTRUCTOR: + case DOT: + case EXPORTS: + case FUNCTION: + case LABEL: + case LBRACK: + case PROCEDURE: + case PROGRAM: + case RESOURCESTRING: + case THREADVAR: + case TYPE: + case USES: + case VAR: + { + alt1=1; + } + break; + case LIBRARY: + { + alt1=2; + } + break; + case UNIT: + { + alt1=3; + } + break; + case PACKAGE: + { + alt1=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 1, 0, input); + throw nvae; + } + switch (alt1) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:79:32: program + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_program_in_file93); + program1=program(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, program1.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:79:42: library + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_library_in_file97); + library2=library(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, library2.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:79:52: unit + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_unit_in_file101); + unit3=unit(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, unit3.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:79:59: packageE + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_packageE_in_file105); + packageE4=packageE(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, packageE4.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 1, file_StartIndex); } + + } + return retval; + } + // $ANTLR end "file" + + + public static class program_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "program" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:85:1: program : ( programHead )? ( usesFileClause )? block '.' ; + public final DelphiParser.program_return program() throws RecognitionException { + DelphiParser.program_return retval = new DelphiParser.program_return(); + retval.start = input.LT(1); + int program_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal8=null; + ParserRuleReturnScope programHead5 =null; + ParserRuleReturnScope usesFileClause6 =null; + ParserRuleReturnScope block7 =null; + + Object char_literal8_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 2) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:85:30: ( ( programHead )? ( usesFileClause )? block '.' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:85:32: ( programHead )? ( usesFileClause )? block '.' + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:85:32: ( programHead )? + int alt2=2; + int LA2_0 = input.LA(1); + if ( (LA2_0==PROGRAM) ) { + alt2=1; + } + switch (alt2) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:85:33: programHead + { + pushFollow(FOLLOW_programHead_in_program168); + programHead5=programHead(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, programHead5.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:85:47: ( usesFileClause )? + int alt3=2; + int LA3_0 = input.LA(1); + if ( (LA3_0==USES) ) { + alt3=1; + } + switch (alt3) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:85:48: usesFileClause + { + pushFollow(FOLLOW_usesFileClause_in_program173); + usesFileClause6=usesFileClause(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, usesFileClause6.getTree()); + + } + break; + + } + + pushFollow(FOLLOW_block_in_program177); + block7=block(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, block7.getTree()); + + char_literal8=(Token)match(input,DOT,FOLLOW_DOT_in_program179); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal8_tree = (Object)adaptor.create(char_literal8); + adaptor.addChild(root_0, char_literal8_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 2, program_StartIndex); } + + } + return retval; + } + // $ANTLR end "program" + + + public static class programHead_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "programHead" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:87:1: programHead : 'program' namespaceName ( programParmSeq )? ';' ; + public final DelphiParser.programHead_return programHead() throws RecognitionException { + DelphiParser.programHead_return retval = new DelphiParser.programHead_return(); + retval.start = input.LT(1); + int programHead_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal9=null; + Token char_literal12=null; + ParserRuleReturnScope namespaceName10 =null; + ParserRuleReturnScope programParmSeq11 =null; + + Object string_literal9_tree=null; + Object char_literal12_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 3) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:87:30: ( 'program' namespaceName ( programParmSeq )? ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:87:32: 'program' namespaceName ( programParmSeq )? ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal9=(Token)match(input,PROGRAM,FOLLOW_PROGRAM_in_programHead233); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal9_tree = (Object)adaptor.create(string_literal9); + adaptor.addChild(root_0, string_literal9_tree); + } + + pushFollow(FOLLOW_namespaceName_in_programHead235); + namespaceName10=namespaceName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, namespaceName10.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:87:56: ( programParmSeq )? + int alt4=2; + int LA4_0 = input.LA(1); + if ( (LA4_0==LPAREN) ) { + alt4=1; + } + switch (alt4) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:87:57: programParmSeq + { + pushFollow(FOLLOW_programParmSeq_in_programHead238); + programParmSeq11=programParmSeq(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, programParmSeq11.getTree()); + + } + break; + + } + + char_literal12=(Token)match(input,SEMI,FOLLOW_SEMI_in_programHead242); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal12_tree = (Object)adaptor.create(char_literal12); + adaptor.addChild(root_0, char_literal12_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 3, programHead_StartIndex); } + + } + return retval; + } + // $ANTLR end "programHead" + + + public static class programParmSeq_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "programParmSeq" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:89:1: programParmSeq : '(' ( ident ( ',' ident )* )? ')' ; + public final DelphiParser.programParmSeq_return programParmSeq() throws RecognitionException { + DelphiParser.programParmSeq_return retval = new DelphiParser.programParmSeq_return(); + retval.start = input.LT(1); + int programParmSeq_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal13=null; + Token char_literal15=null; + Token char_literal17=null; + ParserRuleReturnScope ident14 =null; + ParserRuleReturnScope ident16 =null; + + Object char_literal13_tree=null; + Object char_literal15_tree=null; + Object char_literal17_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 4) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:89:30: ( '(' ( ident ( ',' ident )* )? ')' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:89:32: '(' ( ident ( ',' ident )* )? ')' + { + root_0 = (Object)adaptor.nil(); + + + char_literal13=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_programParmSeq293); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal13_tree = (Object)adaptor.create(char_literal13); + adaptor.addChild(root_0, char_literal13_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:89:36: ( ident ( ',' ident )* )? + int alt6=2; + int LA6_0 = input.LA(1); + if ( (LA6_0==ADD||LA6_0==ANSISTRING||LA6_0==AT||LA6_0==BREAK||(LA6_0 >= CONTAINS && LA6_0 <= CONTINUE)||LA6_0==DEFAULT||LA6_0==DISPID||(LA6_0 >= DQ && LA6_0 <= DW)||LA6_0==EXIT||LA6_0==EXPORT||LA6_0==FALSE||LA6_0==FINAL||LA6_0==HELPER||(LA6_0 >= IMPLEMENTS && LA6_0 <= INDEX)||LA6_0==LOCAL||LA6_0==MESSAGE||LA6_0==NAME||LA6_0==OBJECT||LA6_0==OPERATOR||LA6_0==OUT||LA6_0==POINTER||(LA6_0 >= READ && LA6_0 <= READONLY)||(LA6_0 >= REFERENCE && LA6_0 <= REGISTER)||LA6_0==REMOVE||LA6_0==STATIC||(LA6_0 >= STORED && LA6_0 <= STRING)||LA6_0==TRUE||LA6_0==TkIdentifier||LA6_0==UNSAFE||(LA6_0 >= VARARGS && LA6_0 <= VIRTUAL)||(LA6_0 >= WRITE && LA6_0 <= WRITEONLY)||LA6_0==198) ) { + alt6=1; + } + switch (alt6) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:89:37: ident ( ',' ident )* + { + pushFollow(FOLLOW_ident_in_programParmSeq296); + ident14=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident14.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:89:43: ( ',' ident )* + loop5: + while (true) { + int alt5=2; + int LA5_0 = input.LA(1); + if ( (LA5_0==COMMA) ) { + alt5=1; + } + + switch (alt5) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:89:44: ',' ident + { + char_literal15=(Token)match(input,COMMA,FOLLOW_COMMA_in_programParmSeq299); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal15_tree = (Object)adaptor.create(char_literal15); + adaptor.addChild(root_0, char_literal15_tree); + } + + pushFollow(FOLLOW_ident_in_programParmSeq301); + ident16=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident16.getTree()); + + } + break; + + default : + break loop5; + } + } + + } + break; + + } + + char_literal17=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_programParmSeq308); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal17_tree = (Object)adaptor.create(char_literal17); + adaptor.addChild(root_0, char_literal17_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 4, programParmSeq_StartIndex); } + + } + return retval; + } + // $ANTLR end "programParmSeq" + + + public static class library_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "library" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:91:1: library : libraryHead ( usesFileClause )? block '.' ; + public final DelphiParser.library_return library() throws RecognitionException { + DelphiParser.library_return retval = new DelphiParser.library_return(); + retval.start = input.LT(1); + int library_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal21=null; + ParserRuleReturnScope libraryHead18 =null; + ParserRuleReturnScope usesFileClause19 =null; + ParserRuleReturnScope block20 =null; + + Object char_literal21_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 5) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:91:30: ( libraryHead ( usesFileClause )? block '.' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:91:32: libraryHead ( usesFileClause )? block '.' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_libraryHead_in_library366); + libraryHead18=libraryHead(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, libraryHead18.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:91:44: ( usesFileClause )? + int alt7=2; + int LA7_0 = input.LA(1); + if ( (LA7_0==USES) ) { + alt7=1; + } + switch (alt7) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:91:45: usesFileClause + { + pushFollow(FOLLOW_usesFileClause_in_library369); + usesFileClause19=usesFileClause(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, usesFileClause19.getTree()); + + } + break; + + } + + pushFollow(FOLLOW_block_in_library373); + block20=block(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, block20.getTree()); + + char_literal21=(Token)match(input,DOT,FOLLOW_DOT_in_library375); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal21_tree = (Object)adaptor.create(char_literal21); + adaptor.addChild(root_0, char_literal21_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 5, library_StartIndex); } + + } + return retval; + } + // $ANTLR end "library" + + + public static class libraryHead_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "libraryHead" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:93:1: libraryHead : 'library' namespaceName ( hintingDirective )* ';' -> ^( 'library' namespaceName ) ; + public final DelphiParser.libraryHead_return libraryHead() throws RecognitionException { + DelphiParser.libraryHead_return retval = new DelphiParser.libraryHead_return(); + retval.start = input.LT(1); + int libraryHead_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal22=null; + Token char_literal25=null; + ParserRuleReturnScope namespaceName23 =null; + ParserRuleReturnScope hintingDirective24 =null; + + Object string_literal22_tree=null; + Object char_literal25_tree=null; + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleTokenStream stream_LIBRARY=new RewriteRuleTokenStream(adaptor,"token LIBRARY"); + RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); + RewriteRuleSubtreeStream stream_namespaceName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceName"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 6) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:93:30: ( 'library' namespaceName ( hintingDirective )* ';' -> ^( 'library' namespaceName ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:93:32: 'library' namespaceName ( hintingDirective )* ';' + { + string_literal22=(Token)match(input,LIBRARY,FOLLOW_LIBRARY_in_libraryHead429); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LIBRARY.add(string_literal22); + + pushFollow(FOLLOW_namespaceName_in_libraryHead431); + namespaceName23=namespaceName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName23.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:93:56: ( hintingDirective )* + loop8: + while (true) { + int alt8=2; + int LA8_0 = input.LA(1); + if ( (LA8_0==DEPRECATED||LA8_0==EXPERIMENTAL||LA8_0==LIBRARY||LA8_0==PLATFORM) ) { + alt8=1; + } + + switch (alt8) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:93:57: hintingDirective + { + pushFollow(FOLLOW_hintingDirective_in_libraryHead434); + hintingDirective24=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective24.getTree()); + } + break; + + default : + break loop8; + } + } + + char_literal25=(Token)match(input,SEMI,FOLLOW_SEMI_in_libraryHead438); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal25); + + // AST REWRITE + // elements: namespaceName, LIBRARY + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 93:80: -> ^( 'library' namespaceName ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:93:83: ^( 'library' namespaceName ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_LIBRARY.nextNode(), root_1); + adaptor.addChild(root_1, stream_namespaceName.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 6, libraryHead_StartIndex); } + + } + return retval; + } + // $ANTLR end "libraryHead" + + + public static class packageE_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "packageE" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:95:1: packageE : packageHead requiresClause ( containsClause )? 'end' '.' ; + public final DelphiParser.packageE_return packageE() throws RecognitionException { + DelphiParser.packageE_return retval = new DelphiParser.packageE_return(); + retval.start = input.LT(1); + int packageE_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal29=null; + Token char_literal30=null; + ParserRuleReturnScope packageHead26 =null; + ParserRuleReturnScope requiresClause27 =null; + ParserRuleReturnScope containsClause28 =null; + + Object string_literal29_tree=null; + Object char_literal30_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 7) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:95:30: ( packageHead requiresClause ( containsClause )? 'end' '.' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:95:32: packageHead requiresClause ( containsClause )? 'end' '.' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_packageHead_in_packageE503); + packageHead26=packageHead(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, packageHead26.getTree()); + + pushFollow(FOLLOW_requiresClause_in_packageE505); + requiresClause27=requiresClause(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, requiresClause27.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:95:59: ( containsClause )? + int alt9=2; + int LA9_0 = input.LA(1); + if ( (LA9_0==CONTAINS) ) { + alt9=1; + } + switch (alt9) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:95:60: containsClause + { + pushFollow(FOLLOW_containsClause_in_packageE508); + containsClause28=containsClause(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, containsClause28.getTree()); + + } + break; + + } + + string_literal29=(Token)match(input,END,FOLLOW_END_in_packageE512); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal29_tree = (Object)adaptor.create(string_literal29); + adaptor.addChild(root_0, string_literal29_tree); + } + + char_literal30=(Token)match(input,DOT,FOLLOW_DOT_in_packageE514); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal30_tree = (Object)adaptor.create(char_literal30); + adaptor.addChild(root_0, char_literal30_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 7, packageE_StartIndex); } + + } + return retval; + } + // $ANTLR end "packageE" + + + public static class packageHead_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "packageHead" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:97:1: packageHead : 'package' namespaceName ';' ; + public final DelphiParser.packageHead_return packageHead() throws RecognitionException { + DelphiParser.packageHead_return retval = new DelphiParser.packageHead_return(); + retval.start = input.LT(1); + int packageHead_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal31=null; + Token char_literal33=null; + ParserRuleReturnScope namespaceName32 =null; + + Object string_literal31_tree=null; + Object char_literal33_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 8) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:97:30: ( 'package' namespaceName ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:97:32: 'package' namespaceName ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal31=(Token)match(input,PACKAGE,FOLLOW_PACKAGE_in_packageHead568); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal31_tree = (Object)adaptor.create(string_literal31); + adaptor.addChild(root_0, string_literal31_tree); + } + + pushFollow(FOLLOW_namespaceName_in_packageHead570); + namespaceName32=namespaceName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, namespaceName32.getTree()); + + char_literal33=(Token)match(input,SEMI,FOLLOW_SEMI_in_packageHead572); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal33_tree = (Object)adaptor.create(char_literal33); + adaptor.addChild(root_0, char_literal33_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 8, packageHead_StartIndex); } + + } + return retval; + } + // $ANTLR end "packageHead" + + + public static class unit_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "unit" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:99:1: unit : unitHead unitInterface unitImplementation unitBlock '.' ; + public final DelphiParser.unit_return unit() throws RecognitionException { + DelphiParser.unit_return retval = new DelphiParser.unit_return(); + retval.start = input.LT(1); + int unit_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal38=null; + ParserRuleReturnScope unitHead34 =null; + ParserRuleReturnScope unitInterface35 =null; + ParserRuleReturnScope unitImplementation36 =null; + ParserRuleReturnScope unitBlock37 =null; + + Object char_literal38_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 9) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:99:30: ( unitHead unitInterface unitImplementation unitBlock '.' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:99:32: unitHead unitInterface unitImplementation unitBlock '.' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_unitHead_in_unit633); + unitHead34=unitHead(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, unitHead34.getTree()); + + pushFollow(FOLLOW_unitInterface_in_unit635); + unitInterface35=unitInterface(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, unitInterface35.getTree()); + + pushFollow(FOLLOW_unitImplementation_in_unit637); + unitImplementation36=unitImplementation(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, unitImplementation36.getTree()); + + pushFollow(FOLLOW_unitBlock_in_unit639); + unitBlock37=unitBlock(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, unitBlock37.getTree()); + + char_literal38=(Token)match(input,DOT,FOLLOW_DOT_in_unit641); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal38_tree = (Object)adaptor.create(char_literal38); + adaptor.addChild(root_0, char_literal38_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 9, unit_StartIndex); } + + } + return retval; + } + // $ANTLR end "unit" + + + public static class unitHead_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "unitHead" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:101:1: unitHead : 'unit' namespaceName ( hintingDirective )* ';' -> ^( 'unit' namespaceName ( hintingDirective )* ) ; + public final DelphiParser.unitHead_return unitHead() throws RecognitionException { + DelphiParser.unitHead_return retval = new DelphiParser.unitHead_return(); + retval.start = input.LT(1); + int unitHead_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal39=null; + Token char_literal42=null; + ParserRuleReturnScope namespaceName40 =null; + ParserRuleReturnScope hintingDirective41 =null; + + Object string_literal39_tree=null; + Object char_literal42_tree=null; + RewriteRuleTokenStream stream_UNIT=new RewriteRuleTokenStream(adaptor,"token UNIT"); + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); + RewriteRuleSubtreeStream stream_namespaceName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceName"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 10) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:101:30: ( 'unit' namespaceName ( hintingDirective )* ';' -> ^( 'unit' namespaceName ( hintingDirective )* ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:101:32: 'unit' namespaceName ( hintingDirective )* ';' + { + string_literal39=(Token)match(input,UNIT,FOLLOW_UNIT_in_unitHead698); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_UNIT.add(string_literal39); + + pushFollow(FOLLOW_namespaceName_in_unitHead700); + namespaceName40=namespaceName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName40.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:101:53: ( hintingDirective )* + loop10: + while (true) { + int alt10=2; + int LA10_0 = input.LA(1); + if ( (LA10_0==DEPRECATED||LA10_0==EXPERIMENTAL||LA10_0==LIBRARY||LA10_0==PLATFORM) ) { + alt10=1; + } + + switch (alt10) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:101:54: hintingDirective + { + pushFollow(FOLLOW_hintingDirective_in_unitHead703); + hintingDirective41=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective41.getTree()); + } + break; + + default : + break loop10; + } + } + + char_literal42=(Token)match(input,SEMI,FOLLOW_SEMI_in_unitHead707); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal42); + + // AST REWRITE + // elements: namespaceName, hintingDirective, UNIT + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 101:77: -> ^( 'unit' namespaceName ( hintingDirective )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:101:80: ^( 'unit' namespaceName ( hintingDirective )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_UNIT.nextNode(), root_1); + adaptor.addChild(root_1, stream_namespaceName.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:101:103: ( hintingDirective )* + while ( stream_hintingDirective.hasNext() ) { + adaptor.addChild(root_1, stream_hintingDirective.nextTree()); + } + stream_hintingDirective.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 10, unitHead_StartIndex); } + + } + return retval; + } + // $ANTLR end "unitHead" + + + public static class unitInterface_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "unitInterface" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:1: unitInterface : 'interface' ( usesClause )? ( interfaceDecl )* -> ^( 'interface' ( usesClause )? ( interfaceDecl )* ) ; + public final DelphiParser.unitInterface_return unitInterface() throws RecognitionException { + DelphiParser.unitInterface_return retval = new DelphiParser.unitInterface_return(); + retval.start = input.LT(1); + int unitInterface_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal43=null; + ParserRuleReturnScope usesClause44 =null; + ParserRuleReturnScope interfaceDecl45 =null; + + Object string_literal43_tree=null; + RewriteRuleTokenStream stream_INTERFACE=new RewriteRuleTokenStream(adaptor,"token INTERFACE"); + RewriteRuleSubtreeStream stream_interfaceDecl=new RewriteRuleSubtreeStream(adaptor,"rule interfaceDecl"); + RewriteRuleSubtreeStream stream_usesClause=new RewriteRuleSubtreeStream(adaptor,"rule usesClause"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 11) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:30: ( 'interface' ( usesClause )? ( interfaceDecl )* -> ^( 'interface' ( usesClause )? ( interfaceDecl )* ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:32: 'interface' ( usesClause )? ( interfaceDecl )* + { + string_literal43=(Token)match(input,INTERFACE,FOLLOW_INTERFACE_in_unitInterface772); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_INTERFACE.add(string_literal43); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:44: ( usesClause )? + int alt11=2; + int LA11_0 = input.LA(1); + if ( (LA11_0==USES) ) { + alt11=1; + } + switch (alt11) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:45: usesClause + { + pushFollow(FOLLOW_usesClause_in_unitInterface775); + usesClause44=usesClause(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_usesClause.add(usesClause44.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:58: ( interfaceDecl )* + loop12: + while (true) { + int alt12=2; + int LA12_0 = input.LA(1); + if ( (LA12_0==CLASS||(LA12_0 >= CONST && LA12_0 <= CONSTRUCTOR)||LA12_0==DESTRUCTOR||LA12_0==EXPORTS||LA12_0==FUNCTION||LA12_0==LBRACK||LA12_0==PROCEDURE||LA12_0==RESOURCESTRING||LA12_0==THREADVAR||LA12_0==TYPE||LA12_0==VAR) ) { + alt12=1; + } + + switch (alt12) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:59: interfaceDecl + { + pushFollow(FOLLOW_interfaceDecl_in_unitInterface780); + interfaceDecl45=interfaceDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_interfaceDecl.add(interfaceDecl45.getTree()); + } + break; + + default : + break loop12; + } + } + + // AST REWRITE + // elements: interfaceDecl, INTERFACE, usesClause + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 103:75: -> ^( 'interface' ( usesClause )? ( interfaceDecl )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:78: ^( 'interface' ( usesClause )? ( interfaceDecl )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_INTERFACE.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:92: ( usesClause )? + if ( stream_usesClause.hasNext() ) { + adaptor.addChild(root_1, stream_usesClause.nextTree()); + } + stream_usesClause.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:103:106: ( interfaceDecl )* + while ( stream_interfaceDecl.hasNext() ) { + adaptor.addChild(root_1, stream_interfaceDecl.nextTree()); + } + stream_interfaceDecl.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 11, unitInterface_StartIndex); } + + } + return retval; + } + // $ANTLR end "unitInterface" + + + public static class unitImplementation_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "unitImplementation" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:1: unitImplementation : 'implementation' ( usesClause )? ( declSection )* -> ^( 'implementation' ( usesClause )? ( declSection )* ) ; + public final DelphiParser.unitImplementation_return unitImplementation() throws RecognitionException { + DelphiParser.unitImplementation_return retval = new DelphiParser.unitImplementation_return(); + retval.start = input.LT(1); + int unitImplementation_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal46=null; + ParserRuleReturnScope usesClause47 =null; + ParserRuleReturnScope declSection48 =null; + + Object string_literal46_tree=null; + RewriteRuleTokenStream stream_IMPLEMENTATION=new RewriteRuleTokenStream(adaptor,"token IMPLEMENTATION"); + RewriteRuleSubtreeStream stream_declSection=new RewriteRuleSubtreeStream(adaptor,"rule declSection"); + RewriteRuleSubtreeStream stream_usesClause=new RewriteRuleSubtreeStream(adaptor,"rule usesClause"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 12) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:30: ( 'implementation' ( usesClause )? ( declSection )* -> ^( 'implementation' ( usesClause )? ( declSection )* ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:32: 'implementation' ( usesClause )? ( declSection )* + { + string_literal46=(Token)match(input,IMPLEMENTATION,FOLLOW_IMPLEMENTATION_in_unitImplementation845); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_IMPLEMENTATION.add(string_literal46); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:49: ( usesClause )? + int alt13=2; + int LA13_0 = input.LA(1); + if ( (LA13_0==USES) ) { + alt13=1; + } + switch (alt13) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:50: usesClause + { + pushFollow(FOLLOW_usesClause_in_unitImplementation848); + usesClause47=usesClause(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_usesClause.add(usesClause47.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:63: ( declSection )* + loop14: + while (true) { + int alt14=2; + int LA14_0 = input.LA(1); + if ( (LA14_0==CLASS||(LA14_0 >= CONST && LA14_0 <= CONSTRUCTOR)||LA14_0==DESTRUCTOR||LA14_0==EXPORTS||LA14_0==FUNCTION||(LA14_0 >= LABEL && LA14_0 <= LBRACK)||LA14_0==PROCEDURE||LA14_0==RESOURCESTRING||LA14_0==THREADVAR||LA14_0==TYPE||LA14_0==VAR) ) { + alt14=1; + } + + switch (alt14) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:64: declSection + { + pushFollow(FOLLOW_declSection_in_unitImplementation853); + declSection48=declSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_declSection.add(declSection48.getTree()); + } + break; + + default : + break loop14; + } + } + + // AST REWRITE + // elements: IMPLEMENTATION, usesClause, declSection + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 105:78: -> ^( 'implementation' ( usesClause )? ( declSection )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:81: ^( 'implementation' ( usesClause )? ( declSection )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_IMPLEMENTATION.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:100: ( usesClause )? + if ( stream_usesClause.hasNext() ) { + adaptor.addChild(root_1, stream_usesClause.nextTree()); + } + stream_usesClause.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:105:114: ( declSection )* + while ( stream_declSection.hasNext() ) { + adaptor.addChild(root_1, stream_declSection.nextTree()); + } + stream_declSection.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 12, unitImplementation_StartIndex); } + + } + return retval; + } + // $ANTLR end "unitImplementation" + + + public static class unitBlock_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "unitBlock" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:107:1: unitBlock : ( unitInitialization 'end' | compoundStatement | 'end' ); + public final DelphiParser.unitBlock_return unitBlock() throws RecognitionException { + DelphiParser.unitBlock_return retval = new DelphiParser.unitBlock_return(); + retval.start = input.LT(1); + int unitBlock_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal50=null; + Token string_literal52=null; + ParserRuleReturnScope unitInitialization49 =null; + ParserRuleReturnScope compoundStatement51 =null; + + Object string_literal50_tree=null; + Object string_literal52_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:107:30: ( unitInitialization 'end' | compoundStatement | 'end' ) + int alt15=3; + switch ( input.LA(1) ) { + case INITIALIZATION: + { + alt15=1; + } + break; + case BEGIN: + { + alt15=2; + } + break; + case END: + { + alt15=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 15, 0, input); + throw nvae; + } + switch (alt15) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:107:32: unitInitialization 'end' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_unitInitialization_in_unitBlock927); + unitInitialization49=unitInitialization(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, unitInitialization49.getTree()); + + string_literal50=(Token)match(input,END,FOLLOW_END_in_unitBlock929); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal50_tree = (Object)adaptor.create(string_literal50); + adaptor.addChild(root_0, string_literal50_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:108:32: compoundStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_compoundStatement_in_unitBlock962); + compoundStatement51=compoundStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, compoundStatement51.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:109:32: 'end' + { + root_0 = (Object)adaptor.nil(); + + + string_literal52=(Token)match(input,END,FOLLOW_END_in_unitBlock995); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal52_tree = (Object)adaptor.create(string_literal52); + adaptor.addChild(root_0, string_literal52_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 13, unitBlock_StartIndex); } + + } + return retval; + } + // $ANTLR end "unitBlock" + + + public static class unitInitialization_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "unitInitialization" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:111:1: unitInitialization : 'initialization' statementList ( unitFinalization )? ; + public final DelphiParser.unitInitialization_return unitInitialization() throws RecognitionException { + DelphiParser.unitInitialization_return retval = new DelphiParser.unitInitialization_return(); + retval.start = input.LT(1); + int unitInitialization_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal53=null; + ParserRuleReturnScope statementList54 =null; + ParserRuleReturnScope unitFinalization55 =null; + + Object string_literal53_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:111:30: ( 'initialization' statementList ( unitFinalization )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:111:32: 'initialization' statementList ( unitFinalization )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal53=(Token)match(input,INITIALIZATION,FOLLOW_INITIALIZATION_in_unitInitialization1042); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal53_tree = (Object)adaptor.create(string_literal53); + adaptor.addChild(root_0, string_literal53_tree); + } + + pushFollow(FOLLOW_statementList_in_unitInitialization1044); + statementList54=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList54.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:111:63: ( unitFinalization )? + int alt16=2; + int LA16_0 = input.LA(1); + if ( (LA16_0==FINALIZATION) ) { + alt16=1; + } + switch (alt16) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:111:64: unitFinalization + { + pushFollow(FOLLOW_unitFinalization_in_unitInitialization1047); + unitFinalization55=unitFinalization(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, unitFinalization55.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 14, unitInitialization_StartIndex); } + + } + return retval; + } + // $ANTLR end "unitInitialization" + + + public static class unitFinalization_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "unitFinalization" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:113:1: unitFinalization : 'finalization' statementList ; + public final DelphiParser.unitFinalization_return unitFinalization() throws RecognitionException { + DelphiParser.unitFinalization_return retval = new DelphiParser.unitFinalization_return(); + retval.start = input.LT(1); + int unitFinalization_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal56=null; + ParserRuleReturnScope statementList57 =null; + + Object string_literal56_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:113:30: ( 'finalization' statementList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:113:32: 'finalization' statementList + { + root_0 = (Object)adaptor.nil(); + + + string_literal56=(Token)match(input,FINALIZATION,FOLLOW_FINALIZATION_in_unitFinalization1098); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal56_tree = (Object)adaptor.create(string_literal56); + adaptor.addChild(root_0, string_literal56_tree); + } + + pushFollow(FOLLOW_statementList_in_unitFinalization1100); + statementList57=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList57.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 15, unitFinalization_StartIndex); } + + } + return retval; + } + // $ANTLR end "unitFinalization" + + + public static class containsClause_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "containsClause" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:118:1: containsClause : 'contains' namespaceFileNameList ; + public final DelphiParser.containsClause_return containsClause() throws RecognitionException { + DelphiParser.containsClause_return retval = new DelphiParser.containsClause_return(); + retval.start = input.LT(1); + int containsClause_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal58=null; + ParserRuleReturnScope namespaceFileNameList59 =null; + + Object string_literal58_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:118:30: ( 'contains' namespaceFileNameList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:118:32: 'contains' namespaceFileNameList + { + root_0 = (Object)adaptor.nil(); + + + string_literal58=(Token)match(input,CONTAINS,FOLLOW_CONTAINS_in_containsClause1154); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal58_tree = (Object)adaptor.create(string_literal58); + adaptor.addChild(root_0, string_literal58_tree); + } + + pushFollow(FOLLOW_namespaceFileNameList_in_containsClause1156); + namespaceFileNameList59=namespaceFileNameList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, namespaceFileNameList59.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 16, containsClause_StartIndex); } + + } + return retval; + } + // $ANTLR end "containsClause" + + + public static class requiresClause_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "requiresClause" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:120:1: requiresClause : 'requires' namespaceNameList ; + public final DelphiParser.requiresClause_return requiresClause() throws RecognitionException { + DelphiParser.requiresClause_return retval = new DelphiParser.requiresClause_return(); + retval.start = input.LT(1); + int requiresClause_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal60=null; + ParserRuleReturnScope namespaceNameList61 =null; + + Object string_literal60_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:120:30: ( 'requires' namespaceNameList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:120:32: 'requires' namespaceNameList + { + root_0 = (Object)adaptor.nil(); + + + string_literal60=(Token)match(input,REQUIRES,FOLLOW_REQUIRES_in_requiresClause1207); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal60_tree = (Object)adaptor.create(string_literal60); + adaptor.addChild(root_0, string_literal60_tree); + } + + pushFollow(FOLLOW_namespaceNameList_in_requiresClause1209); + namespaceNameList61=namespaceNameList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, namespaceNameList61.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 17, requiresClause_StartIndex); } + + } + return retval; + } + // $ANTLR end "requiresClause" + + + public static class usesClause_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "usesClause" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:122:1: usesClause : 'uses' namespaceNameList -> ^( 'uses' namespaceNameList ) ; + public final DelphiParser.usesClause_return usesClause() throws RecognitionException { + DelphiParser.usesClause_return retval = new DelphiParser.usesClause_return(); + retval.start = input.LT(1); + int usesClause_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal62=null; + ParserRuleReturnScope namespaceNameList63 =null; + + Object string_literal62_tree=null; + RewriteRuleTokenStream stream_USES=new RewriteRuleTokenStream(adaptor,"token USES"); + RewriteRuleSubtreeStream stream_namespaceNameList=new RewriteRuleSubtreeStream(adaptor,"rule namespaceNameList"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:122:30: ( 'uses' namespaceNameList -> ^( 'uses' namespaceNameList ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:122:32: 'uses' namespaceNameList + { + string_literal62=(Token)match(input,USES,FOLLOW_USES_in_usesClause1264); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_USES.add(string_literal62); + + pushFollow(FOLLOW_namespaceNameList_in_usesClause1266); + namespaceNameList63=namespaceNameList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_namespaceNameList.add(namespaceNameList63.getTree()); + // AST REWRITE + // elements: USES, namespaceNameList + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 122:57: -> ^( 'uses' namespaceNameList ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:122:60: ^( 'uses' namespaceNameList ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_USES.nextNode(), root_1); + adaptor.addChild(root_1, stream_namespaceNameList.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 18, usesClause_StartIndex); } + + } + return retval; + } + // $ANTLR end "usesClause" + + + public static class usesFileClause_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "usesFileClause" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:124:1: usesFileClause : 'uses' namespaceFileNameList -> ^( 'uses' namespaceFileNameList ) ; + public final DelphiParser.usesFileClause_return usesFileClause() throws RecognitionException { + DelphiParser.usesFileClause_return retval = new DelphiParser.usesFileClause_return(); + retval.start = input.LT(1); + int usesFileClause_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal64=null; + ParserRuleReturnScope namespaceFileNameList65 =null; + + Object string_literal64_tree=null; + RewriteRuleTokenStream stream_USES=new RewriteRuleTokenStream(adaptor,"token USES"); + RewriteRuleSubtreeStream stream_namespaceFileNameList=new RewriteRuleSubtreeStream(adaptor,"rule namespaceFileNameList"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:124:30: ( 'uses' namespaceFileNameList -> ^( 'uses' namespaceFileNameList ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:124:32: 'uses' namespaceFileNameList + { + string_literal64=(Token)match(input,USES,FOLLOW_USES_in_usesFileClause1325); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_USES.add(string_literal64); + + pushFollow(FOLLOW_namespaceFileNameList_in_usesFileClause1327); + namespaceFileNameList65=namespaceFileNameList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_namespaceFileNameList.add(namespaceFileNameList65.getTree()); + // AST REWRITE + // elements: USES, namespaceFileNameList + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 124:61: -> ^( 'uses' namespaceFileNameList ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:124:64: ^( 'uses' namespaceFileNameList ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_USES.nextNode(), root_1); + adaptor.addChild(root_1, stream_namespaceFileNameList.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 19, usesFileClause_StartIndex); } + + } + return retval; + } + // $ANTLR end "usesFileClause" + + + public static class namespaceFileNameList_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "namespaceFileNameList" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:1: namespaceFileNameList : namespaceFileName ( ',' namespaceFileName )* ';' -> namespaceFileName ( namespaceFileName )* ; + public final DelphiParser.namespaceFileNameList_return namespaceFileNameList() throws RecognitionException { + DelphiParser.namespaceFileNameList_return retval = new DelphiParser.namespaceFileNameList_return(); + retval.start = input.LT(1); + int namespaceFileNameList_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal67=null; + Token char_literal69=null; + ParserRuleReturnScope namespaceFileName66 =null; + ParserRuleReturnScope namespaceFileName68 =null; + + Object char_literal67_tree=null; + Object char_literal69_tree=null; + RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleSubtreeStream stream_namespaceFileName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceFileName"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:30: ( namespaceFileName ( ',' namespaceFileName )* ';' -> namespaceFileName ( namespaceFileName )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:32: namespaceFileName ( ',' namespaceFileName )* ';' + { + pushFollow(FOLLOW_namespaceFileName_in_namespaceFileNameList1379); + namespaceFileName66=namespaceFileName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_namespaceFileName.add(namespaceFileName66.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:50: ( ',' namespaceFileName )* + loop17: + while (true) { + int alt17=2; + int LA17_0 = input.LA(1); + if ( (LA17_0==COMMA) ) { + alt17=1; + } + + switch (alt17) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:51: ',' namespaceFileName + { + char_literal67=(Token)match(input,COMMA,FOLLOW_COMMA_in_namespaceFileNameList1382); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COMMA.add(char_literal67); + + pushFollow(FOLLOW_namespaceFileName_in_namespaceFileNameList1384); + namespaceFileName68=namespaceFileName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_namespaceFileName.add(namespaceFileName68.getTree()); + } + break; + + default : + break loop17; + } + } + + char_literal69=(Token)match(input,SEMI,FOLLOW_SEMI_in_namespaceFileNameList1388); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal69); + + // AST REWRITE + // elements: namespaceFileName, namespaceFileName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 126:79: -> namespaceFileName ( namespaceFileName )* + { + adaptor.addChild(root_0, stream_namespaceFileName.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:126:100: ( namespaceFileName )* + while ( stream_namespaceFileName.hasNext() ) { + adaptor.addChild(root_0, stream_namespaceFileName.nextTree()); + } + stream_namespaceFileName.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 20, namespaceFileNameList_StartIndex); } + + } + return retval; + } + // $ANTLR end "namespaceFileNameList" + + + public static class namespaceFileName_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "namespaceFileName" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:1: namespaceFileName : namespaceName ( 'in' QuotedString )? -> ^( namespaceName ( QuotedString )? ) ; + public final DelphiParser.namespaceFileName_return namespaceFileName() throws RecognitionException { + DelphiParser.namespaceFileName_return retval = new DelphiParser.namespaceFileName_return(); + retval.start = input.LT(1); + int namespaceFileName_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal71=null; + Token QuotedString72=null; + ParserRuleReturnScope namespaceName70 =null; + + Object string_literal71_tree=null; + Object QuotedString72_tree=null; + RewriteRuleTokenStream stream_IN=new RewriteRuleTokenStream(adaptor,"token IN"); + RewriteRuleTokenStream stream_QuotedString=new RewriteRuleTokenStream(adaptor,"token QuotedString"); + RewriteRuleSubtreeStream stream_namespaceName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceName"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:30: ( namespaceName ( 'in' QuotedString )? -> ^( namespaceName ( QuotedString )? ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:32: namespaceName ( 'in' QuotedString )? + { + pushFollow(FOLLOW_namespaceName_in_namespaceFileName1445); + namespaceName70=namespaceName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName70.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:46: ( 'in' QuotedString )? + int alt18=2; + int LA18_0 = input.LA(1); + if ( (LA18_0==IN) ) { + alt18=1; + } + switch (alt18) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:47: 'in' QuotedString + { + string_literal71=(Token)match(input,IN,FOLLOW_IN_in_namespaceFileName1448); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_IN.add(string_literal71); + + QuotedString72=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_namespaceFileName1450); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_QuotedString.add(QuotedString72); + + } + break; + + } + + // AST REWRITE + // elements: namespaceName, QuotedString + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 128:67: -> ^( namespaceName ( QuotedString )? ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:70: ^( namespaceName ( QuotedString )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_namespaceName.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:128:86: ( QuotedString )? + if ( stream_QuotedString.hasNext() ) { + adaptor.addChild(root_1, stream_QuotedString.nextNode()); + } + stream_QuotedString.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 21, namespaceFileName_StartIndex); } + + } + return retval; + } + // $ANTLR end "namespaceFileName" + + + public static class namespaceNameList_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "namespaceNameList" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:130:1: namespaceNameList : namespaceName ( ',' namespaceName )* ';' -> namespaceName ( namespaceName )* ; + public final DelphiParser.namespaceNameList_return namespaceNameList() throws RecognitionException { + DelphiParser.namespaceNameList_return retval = new DelphiParser.namespaceNameList_return(); + retval.start = input.LT(1); + int namespaceNameList_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal74=null; + Token char_literal76=null; + ParserRuleReturnScope namespaceName73 =null; + ParserRuleReturnScope namespaceName75 =null; + + Object char_literal74_tree=null; + Object char_literal76_tree=null; + RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleSubtreeStream stream_namespaceName=new RewriteRuleSubtreeStream(adaptor,"rule namespaceName"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:130:30: ( namespaceName ( ',' namespaceName )* ';' -> namespaceName ( namespaceName )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:130:32: namespaceName ( ',' namespaceName )* ';' + { + pushFollow(FOLLOW_namespaceName_in_namespaceNameList1511); + namespaceName73=namespaceName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName73.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:130:46: ( ',' namespaceName )* + loop19: + while (true) { + int alt19=2; + int LA19_0 = input.LA(1); + if ( (LA19_0==COMMA) ) { + alt19=1; + } + + switch (alt19) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:130:47: ',' namespaceName + { + char_literal74=(Token)match(input,COMMA,FOLLOW_COMMA_in_namespaceNameList1514); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COMMA.add(char_literal74); + + pushFollow(FOLLOW_namespaceName_in_namespaceNameList1516); + namespaceName75=namespaceName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_namespaceName.add(namespaceName75.getTree()); + } + break; + + default : + break loop19; + } + } + + char_literal76=(Token)match(input,SEMI,FOLLOW_SEMI_in_namespaceNameList1520); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal76); + + // AST REWRITE + // elements: namespaceName, namespaceName + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 130:71: -> namespaceName ( namespaceName )* + { + adaptor.addChild(root_0, stream_namespaceName.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:130:88: ( namespaceName )* + while ( stream_namespaceName.hasNext() ) { + adaptor.addChild(root_0, stream_namespaceName.nextTree()); + } + stream_namespaceName.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 22, namespaceNameList_StartIndex); } + + } + return retval; + } + // $ANTLR end "namespaceNameList" + + + public static class block_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "block" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:1: block : ( declSection )* ( blockBody )? ; + public final DelphiParser.block_return block() throws RecognitionException { + DelphiParser.block_return retval = new DelphiParser.block_return(); + retval.start = input.LT(1); + int block_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope declSection77 =null; + ParserRuleReturnScope blockBody78 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:30: ( ( declSection )* ( blockBody )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:32: ( declSection )* ( blockBody )? + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:32: ( declSection )* + loop20: + while (true) { + int alt20=2; + switch ( input.LA(1) ) { + case PROCEDURE: + { + int LA20_2 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + case FUNCTION: + { + int LA20_3 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + case LBRACK: + { + int LA20_4 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + case LABEL: + { + int LA20_5 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + case CONST: + case RESOURCESTRING: + { + int LA20_6 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + case TYPE: + { + int LA20_7 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + case THREADVAR: + case VAR: + { + int LA20_8 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + case CLASS: + { + int LA20_9 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + { + int LA20_10 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + case EXPORTS: + { + int LA20_11 = input.LA(2); + if ( (synpred23_Delphi()) ) { + alt20=1; + } + + } + break; + } + switch (alt20) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:33: declSection + { + pushFollow(FOLLOW_declSection_in_block1593); + declSection77=declSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, declSection77.getTree()); + + } + break; + + default : + break loop20; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:47: ( blockBody )? + int alt21=2; + int LA21_0 = input.LA(1); + if ( (LA21_0==BEGIN) ) { + int LA21_1 = input.LA(2); + if ( (synpred24_Delphi()) ) { + alt21=1; + } + } + else if ( (LA21_0==ASM) ) { + int LA21_2 = input.LA(2); + if ( (synpred24_Delphi()) ) { + alt21=1; + } + } + switch (alt21) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:48: blockBody + { + pushFollow(FOLLOW_blockBody_in_block1598); + blockBody78=blockBody(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, blockBody78.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 23, block_StartIndex); } + + } + return retval; + } + // $ANTLR end "block" + + + public static class blockBody_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "blockBody" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:137:1: blockBody : ( compoundStatement | assemblerStatement ); + public final DelphiParser.blockBody_return blockBody() throws RecognitionException { + DelphiParser.blockBody_return retval = new DelphiParser.blockBody_return(); + retval.start = input.LT(1); + int blockBody_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope compoundStatement79 =null; + ParserRuleReturnScope assemblerStatement80 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:137:30: ( compoundStatement | assemblerStatement ) + int alt22=2; + int LA22_0 = input.LA(1); + if ( (LA22_0==BEGIN) ) { + alt22=1; + } + else if ( (LA22_0==ASM) ) { + alt22=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 22, 0, input); + throw nvae; + } + + switch (alt22) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:137:32: compoundStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_compoundStatement_in_blockBody1656); + compoundStatement79=compoundStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, compoundStatement79.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:138:32: assemblerStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_assemblerStatement_in_blockBody1689); + assemblerStatement80=assemblerStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, assemblerStatement80.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 24, blockBody_StartIndex); } + + } + return retval; + } + // $ANTLR end "blockBody" + + + public static class declSection_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "declSection" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:140:1: declSection : ( labelDeclSection | constSection | typeSection | varSection | methodDecl | procDecl | exportsSection ); + public final DelphiParser.declSection_return declSection() throws RecognitionException { + DelphiParser.declSection_return retval = new DelphiParser.declSection_return(); + retval.start = input.LT(1); + int declSection_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope labelDeclSection81 =null; + ParserRuleReturnScope constSection82 =null; + ParserRuleReturnScope typeSection83 =null; + ParserRuleReturnScope varSection84 =null; + ParserRuleReturnScope methodDecl85 =null; + ParserRuleReturnScope procDecl86 =null; + ParserRuleReturnScope exportsSection87 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:140:30: ( labelDeclSection | constSection | typeSection | varSection | methodDecl | procDecl | exportsSection ) + int alt23=7; + switch ( input.LA(1) ) { + case LABEL: + { + alt23=1; + } + break; + case CONST: + case RESOURCESTRING: + { + alt23=2; + } + break; + case TYPE: + { + alt23=3; + } + break; + case THREADVAR: + case VAR: + { + alt23=4; + } + break; + case LBRACK: + { + int LA23_5 = input.LA(2); + if ( (synpred30_Delphi()) ) { + alt23=5; + } + else if ( (synpred31_Delphi()) ) { + alt23=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 23, 5, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case CLASS: + case CONSTRUCTOR: + case DESTRUCTOR: + { + alt23=5; + } + break; + case PROCEDURE: + { + int LA23_7 = input.LA(2); + if ( (synpred30_Delphi()) ) { + alt23=5; + } + else if ( (synpred31_Delphi()) ) { + alt23=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 23, 7, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case FUNCTION: + { + int LA23_8 = input.LA(2); + if ( (synpred30_Delphi()) ) { + alt23=5; + } + else if ( (synpred31_Delphi()) ) { + alt23=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 23, 8, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case EXPORTS: + { + alt23=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 23, 0, input); + throw nvae; + } + switch (alt23) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:140:32: labelDeclSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_labelDeclSection_in_declSection1743); + labelDeclSection81=labelDeclSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, labelDeclSection81.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:141:32: constSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_constSection_in_declSection1776); + constSection82=constSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection82.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:142:32: typeSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_typeSection_in_declSection1809); + typeSection83=typeSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeSection83.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:143:32: varSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_varSection_in_declSection1842); + varSection84=varSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection84.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:144:32: methodDecl + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_methodDecl_in_declSection1875); + methodDecl85=methodDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, methodDecl85.getTree()); + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:145:32: procDecl + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_procDecl_in_declSection1908); + procDecl86=procDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, procDecl86.getTree()); + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:146:32: exportsSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_exportsSection_in_declSection1941); + exportsSection87=exportsSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, exportsSection87.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 25, declSection_StartIndex); } + + } + return retval; + } + // $ANTLR end "declSection" + + + public static class interfaceDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "interfaceDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:148:1: interfaceDecl : ( constSection | typeSection | varSection | exportedProcHeading | exportsSection | procDecl | methodDecl ); + public final DelphiParser.interfaceDecl_return interfaceDecl() throws RecognitionException { + DelphiParser.interfaceDecl_return retval = new DelphiParser.interfaceDecl_return(); + retval.start = input.LT(1); + int interfaceDecl_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope constSection88 =null; + ParserRuleReturnScope typeSection89 =null; + ParserRuleReturnScope varSection90 =null; + ParserRuleReturnScope exportedProcHeading91 =null; + ParserRuleReturnScope exportsSection92 =null; + ParserRuleReturnScope procDecl93 =null; + ParserRuleReturnScope methodDecl94 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:148:30: ( constSection | typeSection | varSection | exportedProcHeading | exportsSection | procDecl | methodDecl ) + int alt24=7; + switch ( input.LA(1) ) { + case CONST: + case RESOURCESTRING: + { + alt24=1; + } + break; + case TYPE: + { + alt24=2; + } + break; + case THREADVAR: + case VAR: + { + alt24=3; + } + break; + case PROCEDURE: + { + int LA24_4 = input.LA(2); + if ( (synpred35_Delphi()) ) { + alt24=4; + } + else if ( (synpred37_Delphi()) ) { + alt24=6; + } + else if ( (true) ) { + alt24=7; + } + + } + break; + case FUNCTION: + { + int LA24_5 = input.LA(2); + if ( (synpred35_Delphi()) ) { + alt24=4; + } + else if ( (synpred37_Delphi()) ) { + alt24=6; + } + else if ( (true) ) { + alt24=7; + } + + } + break; + case EXPORTS: + { + alt24=5; + } + break; + case LBRACK: + { + int LA24_7 = input.LA(2); + if ( (synpred37_Delphi()) ) { + alt24=6; + } + else if ( (true) ) { + alt24=7; + } + + } + break; + case CLASS: + case CONSTRUCTOR: + case DESTRUCTOR: + { + alt24=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 24, 0, input); + throw nvae; + } + switch (alt24) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:148:32: constSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_constSection_in_interfaceDecl1993); + constSection88=constSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection88.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:149:32: typeSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_typeSection_in_interfaceDecl2026); + typeSection89=typeSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeSection89.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:150:32: varSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_varSection_in_interfaceDecl2059); + varSection90=varSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection90.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:151:32: exportedProcHeading + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_exportedProcHeading_in_interfaceDecl2092); + exportedProcHeading91=exportedProcHeading(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, exportedProcHeading91.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:152:32: exportsSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_exportsSection_in_interfaceDecl2125); + exportsSection92=exportsSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, exportsSection92.getTree()); + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:153:32: procDecl + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_procDecl_in_interfaceDecl2158); + procDecl93=procDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, procDecl93.getTree()); + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:154:32: methodDecl + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_methodDecl_in_interfaceDecl2191); + methodDecl94=methodDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, methodDecl94.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 26, interfaceDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "interfaceDecl" + + + public static class labelDeclSection_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "labelDeclSection" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:156:1: labelDeclSection : 'label' label ( ',' label )* ';' ; + public final DelphiParser.labelDeclSection_return labelDeclSection() throws RecognitionException { + DelphiParser.labelDeclSection_return retval = new DelphiParser.labelDeclSection_return(); + retval.start = input.LT(1); + int labelDeclSection_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal95=null; + Token char_literal97=null; + Token char_literal99=null; + ParserRuleReturnScope label96 =null; + ParserRuleReturnScope label98 =null; + + Object string_literal95_tree=null; + Object char_literal97_tree=null; + Object char_literal99_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:156:30: ( 'label' label ( ',' label )* ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:156:32: 'label' label ( ',' label )* ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal95=(Token)match(input,LABEL,FOLLOW_LABEL_in_labelDeclSection2240); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal95_tree = (Object)adaptor.create(string_literal95); + adaptor.addChild(root_0, string_literal95_tree); + } + + pushFollow(FOLLOW_label_in_labelDeclSection2242); + label96=label(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, label96.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:156:46: ( ',' label )* + loop25: + while (true) { + int alt25=2; + int LA25_0 = input.LA(1); + if ( (LA25_0==COMMA) ) { + alt25=1; + } + + switch (alt25) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:156:47: ',' label + { + char_literal97=(Token)match(input,COMMA,FOLLOW_COMMA_in_labelDeclSection2245); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal97_tree = (Object)adaptor.create(char_literal97); + adaptor.addChild(root_0, char_literal97_tree); + } + + pushFollow(FOLLOW_label_in_labelDeclSection2247); + label98=label(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, label98.getTree()); + + } + break; + + default : + break loop25; + } + } + + char_literal99=(Token)match(input,SEMI,FOLLOW_SEMI_in_labelDeclSection2251); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal99_tree = (Object)adaptor.create(char_literal99); + adaptor.addChild(root_0, char_literal99_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 27, labelDeclSection_StartIndex); } + + } + return retval; + } + // $ANTLR end "labelDeclSection" + + + public static class constSection_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "constSection" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:158:1: constSection : constKey ( constDeclaration )* -> ^( constKey ( constDeclaration )* ) ; + public final DelphiParser.constSection_return constSection() throws RecognitionException { + DelphiParser.constSection_return retval = new DelphiParser.constSection_return(); + retval.start = input.LT(1); + int constSection_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope constKey100 =null; + ParserRuleReturnScope constDeclaration101 =null; + + RewriteRuleSubtreeStream stream_constDeclaration=new RewriteRuleSubtreeStream(adaptor,"rule constDeclaration"); + RewriteRuleSubtreeStream stream_constKey=new RewriteRuleSubtreeStream(adaptor,"rule constKey"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:158:30: ( constKey ( constDeclaration )* -> ^( constKey ( constDeclaration )* ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:158:32: constKey ( constDeclaration )* + { + pushFollow(FOLLOW_constKey_in_constSection2304); + constKey100=constKey(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_constKey.add(constKey100.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:158:41: ( constDeclaration )* + loop26: + while (true) { + int alt26=2; + alt26 = dfa26.predict(input); + switch (alt26) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:158:42: constDeclaration + { + pushFollow(FOLLOW_constDeclaration_in_constSection2307); + constDeclaration101=constDeclaration(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_constDeclaration.add(constDeclaration101.getTree()); + } + break; + + default : + break loop26; + } + } + + // AST REWRITE + // elements: constKey, constDeclaration + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 158:61: -> ^( constKey ( constDeclaration )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:158:64: ^( constKey ( constDeclaration )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_constKey.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:158:75: ( constDeclaration )* + while ( stream_constDeclaration.hasNext() ) { + adaptor.addChild(root_1, stream_constDeclaration.nextTree()); + } + stream_constDeclaration.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 28, constSection_StartIndex); } + + } + return retval; + } + // $ANTLR end "constSection" + + + public static class constKey_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "constKey" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:160:1: constKey : ( 'const' | 'resourcestring' ); + public final DelphiParser.constKey_return constKey() throws RecognitionException { + DelphiParser.constKey_return retval = new DelphiParser.constKey_return(); + retval.start = input.LT(1); + int constKey_StartIndex = input.index(); + + Object root_0 = null; + + Token set102=null; + + Object set102_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:160:30: ( 'const' | 'resourcestring' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set102=input.LT(1); + if ( input.LA(1)==CONST||input.LA(1)==RESOURCESTRING ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set102)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 29, constKey_StartIndex); } + + } + return retval; + } + // $ANTLR end "constKey" + + + public static class constDeclaration_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "constDeclaration" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:1: constDeclaration : ( customAttribute )? ident ( ':' typeDecl )? '=' constExpression ( hintingDirective )* ';' -> ident ( typeDecl )? '=' constExpression ; + public final DelphiParser.constDeclaration_return constDeclaration() throws RecognitionException { + DelphiParser.constDeclaration_return retval = new DelphiParser.constDeclaration_return(); + retval.start = input.LT(1); + int constDeclaration_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal105=null; + Token char_literal107=null; + Token char_literal110=null; + ParserRuleReturnScope customAttribute103 =null; + ParserRuleReturnScope ident104 =null; + ParserRuleReturnScope typeDecl106 =null; + ParserRuleReturnScope constExpression108 =null; + ParserRuleReturnScope hintingDirective109 =null; + + Object char_literal105_tree=null; + Object char_literal107_tree=null; + Object char_literal110_tree=null; + RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL"); + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); + RewriteRuleSubtreeStream stream_constExpression=new RewriteRuleSubtreeStream(adaptor,"rule constExpression"); + RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:30: ( ( customAttribute )? ident ( ':' typeDecl )? '=' constExpression ( hintingDirective )* ';' -> ident ( typeDecl )? '=' constExpression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:32: ( customAttribute )? ident ( ':' typeDecl )? '=' constExpression ( hintingDirective )* ';' + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:32: ( customAttribute )? + int alt27=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt27=1; + } + break; + case TkIdentifier: + { + int LA27_2 = input.LA(2); + if ( (synpred41_Delphi()) ) { + alt27=1; + } + } + break; + case 198: + { + int LA27_3 = input.LA(2); + if ( (synpred41_Delphi()) ) { + alt27=1; + } + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA27_4 = input.LA(2); + if ( (synpred41_Delphi()) ) { + alt27=1; + } + } + break; + } + switch (alt27) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_constDeclaration2462); + customAttribute103=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute103.getTree()); + } + break; + + } + + pushFollow(FOLLOW_ident_in_constDeclaration2466); + ident104=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident104.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:57: ( ':' typeDecl )? + int alt28=2; + int LA28_0 = input.LA(1); + if ( (LA28_0==COLON) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:58: ':' typeDecl + { + char_literal105=(Token)match(input,COLON,FOLLOW_COLON_in_constDeclaration2469); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal105); + + pushFollow(FOLLOW_typeDecl_in_constDeclaration2471); + typeDecl106=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl106.getTree()); + } + break; + + } + + char_literal107=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_constDeclaration2475); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_EQUAL.add(char_literal107); + + pushFollow(FOLLOW_constExpression_in_constDeclaration2477); + constExpression108=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_constExpression.add(constExpression108.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:93: ( hintingDirective )* + loop29: + while (true) { + int alt29=2; + int LA29_0 = input.LA(1); + if ( (LA29_0==DEPRECATED||LA29_0==EXPERIMENTAL||LA29_0==LIBRARY||LA29_0==PLATFORM) ) { + alt29=1; + } + + switch (alt29) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:94: hintingDirective + { + pushFollow(FOLLOW_hintingDirective_in_constDeclaration2480); + hintingDirective109=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective109.getTree()); + } + break; + + default : + break loop29; + } + } + + char_literal110=(Token)match(input,SEMI,FOLLOW_SEMI_in_constDeclaration2484); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal110); + + // AST REWRITE + // elements: EQUAL, ident, constExpression, typeDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 163:117: -> ident ( typeDecl )? '=' constExpression + { + adaptor.addChild(root_0, stream_ident.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:126: ( typeDecl )? + if ( stream_typeDecl.hasNext() ) { + adaptor.addChild(root_0, stream_typeDecl.nextTree()); + } + stream_typeDecl.reset(); + + adaptor.addChild(root_0, stream_EQUAL.nextNode()); + adaptor.addChild(root_0, stream_constExpression.nextTree()); + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 30, constDeclaration_StartIndex); } + + } + return retval; + } + // $ANTLR end "constDeclaration" + + + public static class typeSection_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "typeSection" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:165:1: typeSection : 'type' typeDeclaration ( typeDeclaration )* -> ^( 'type' typeDeclaration ( typeDeclaration )* ) ; + public final DelphiParser.typeSection_return typeSection() throws RecognitionException { + DelphiParser.typeSection_return retval = new DelphiParser.typeSection_return(); + retval.start = input.LT(1); + int typeSection_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal111=null; + ParserRuleReturnScope typeDeclaration112 =null; + ParserRuleReturnScope typeDeclaration113 =null; + + Object string_literal111_tree=null; + RewriteRuleTokenStream stream_TYPE=new RewriteRuleTokenStream(adaptor,"token TYPE"); + RewriteRuleSubtreeStream stream_typeDeclaration=new RewriteRuleSubtreeStream(adaptor,"rule typeDeclaration"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:165:30: ( 'type' typeDeclaration ( typeDeclaration )* -> ^( 'type' typeDeclaration ( typeDeclaration )* ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:165:32: 'type' typeDeclaration ( typeDeclaration )* + { + string_literal111=(Token)match(input,TYPE,FOLLOW_TYPE_in_typeSection2551); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_TYPE.add(string_literal111); + + pushFollow(FOLLOW_typeDeclaration_in_typeSection2553); + typeDeclaration112=typeDeclaration(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDeclaration.add(typeDeclaration112.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:165:55: ( typeDeclaration )* + loop30: + while (true) { + int alt30=2; + alt30 = dfa30.predict(input); + switch (alt30) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:165:56: typeDeclaration + { + pushFollow(FOLLOW_typeDeclaration_in_typeSection2556); + typeDeclaration113=typeDeclaration(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDeclaration.add(typeDeclaration113.getTree()); + } + break; + + default : + break loop30; + } + } + + // AST REWRITE + // elements: typeDeclaration, TYPE, typeDeclaration + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 165:74: -> ^( 'type' typeDeclaration ( typeDeclaration )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:165:77: ^( 'type' typeDeclaration ( typeDeclaration )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_TYPE.nextNode(), root_1); + adaptor.addChild(root_1, stream_typeDeclaration.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:165:102: ( typeDeclaration )* + while ( stream_typeDeclaration.hasNext() ) { + adaptor.addChild(root_1, stream_typeDeclaration.nextTree()); + } + stream_typeDeclaration.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 31, typeSection_StartIndex); } + + } + return retval; + } + // $ANTLR end "typeSection" + + + public static class typeDeclaration_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "typeDeclaration" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:1: typeDeclaration : ( customAttribute )? genericTypeIdent '=' typeDecl ( hintingDirective )* ';' -> ^( TkNewType ( customAttribute )? ^( genericTypeIdent typeDecl ( hintingDirective )* ) ) ; + public final DelphiParser.typeDeclaration_return typeDeclaration() throws RecognitionException { + DelphiParser.typeDeclaration_return retval = new DelphiParser.typeDeclaration_return(); + retval.start = input.LT(1); + int typeDeclaration_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal116=null; + Token char_literal119=null; + ParserRuleReturnScope customAttribute114 =null; + ParserRuleReturnScope genericTypeIdent115 =null; + ParserRuleReturnScope typeDecl117 =null; + ParserRuleReturnScope hintingDirective118 =null; + + Object char_literal116_tree=null; + Object char_literal119_tree=null; + RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL"); + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_genericTypeIdent=new RewriteRuleSubtreeStream(adaptor,"rule genericTypeIdent"); + RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:30: ( ( customAttribute )? genericTypeIdent '=' typeDecl ( hintingDirective )* ';' -> ^( TkNewType ( customAttribute )? ^( genericTypeIdent typeDecl ( hintingDirective )* ) ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:32: ( customAttribute )? genericTypeIdent '=' typeDecl ( hintingDirective )* ';' + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:32: ( customAttribute )? + int alt31=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt31=1; + } + break; + case TkIdentifier: + { + int LA31_2 = input.LA(2); + if ( (synpred45_Delphi()) ) { + alt31=1; + } + } + break; + case 198: + { + int LA31_3 = input.LA(2); + if ( (synpred45_Delphi()) ) { + alt31=1; + } + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA31_4 = input.LA(2); + if ( (synpred45_Delphi()) ) { + alt31=1; + } + } + break; + } + switch (alt31) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_typeDeclaration2622); + customAttribute114=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute114.getTree()); + } + break; + + } + + pushFollow(FOLLOW_genericTypeIdent_in_typeDeclaration2626); + genericTypeIdent115=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_genericTypeIdent.add(genericTypeIdent115.getTree()); + char_literal116=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_typeDeclaration2628); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_EQUAL.add(char_literal116); + + pushFollow(FOLLOW_typeDecl_in_typeDeclaration2630); + typeDecl117=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl117.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:81: ( hintingDirective )* + loop32: + while (true) { + int alt32=2; + int LA32_0 = input.LA(1); + if ( (LA32_0==DEPRECATED||LA32_0==EXPERIMENTAL||LA32_0==LIBRARY||LA32_0==PLATFORM) ) { + alt32=1; + } + + switch (alt32) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:82: hintingDirective + { + pushFollow(FOLLOW_hintingDirective_in_typeDeclaration2633); + hintingDirective118=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective118.getTree()); + } + break; + + default : + break loop32; + } + } + + char_literal119=(Token)match(input,SEMI,FOLLOW_SEMI_in_typeDeclaration2637); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal119); + + // AST REWRITE + // elements: typeDecl, hintingDirective, customAttribute, genericTypeIdent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 167:105: -> ^( TkNewType ( customAttribute )? ^( genericTypeIdent typeDecl ( hintingDirective )* ) ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:108: ^( TkNewType ( customAttribute )? ^( genericTypeIdent typeDecl ( hintingDirective )* ) ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkNewType, "TkNewType"), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:120: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_1, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:139: ^( genericTypeIdent typeDecl ( hintingDirective )* ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot(stream_genericTypeIdent.nextNode(), root_2); + adaptor.addChild(root_2, stream_typeDecl.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:167: ( hintingDirective )* + while ( stream_hintingDirective.hasNext() ) { + adaptor.addChild(root_2, stream_hintingDirective.nextTree()); + } + stream_hintingDirective.reset(); + + adaptor.addChild(root_1, root_2); + } + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 32, typeDeclaration_StartIndex); } + + } + return retval; + } + // $ANTLR end "typeDeclaration" + + + public static class varSection_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "varSection" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:1: varSection : varKey varDeclaration ( varDeclaration )* -> ^( varKey varDeclaration ( varDeclaration )* ) ; + public final DelphiParser.varSection_return varSection() throws RecognitionException { + DelphiParser.varSection_return retval = new DelphiParser.varSection_return(); + retval.start = input.LT(1); + int varSection_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope varKey120 =null; + ParserRuleReturnScope varDeclaration121 =null; + ParserRuleReturnScope varDeclaration122 =null; + + RewriteRuleSubtreeStream stream_varDeclaration=new RewriteRuleSubtreeStream(adaptor,"rule varDeclaration"); + RewriteRuleSubtreeStream stream_varKey=new RewriteRuleSubtreeStream(adaptor,"rule varKey"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:30: ( varKey varDeclaration ( varDeclaration )* -> ^( varKey varDeclaration ( varDeclaration )* ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:32: varKey varDeclaration ( varDeclaration )* + { + pushFollow(FOLLOW_varKey_in_varSection2714); + varKey120=varKey(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_varKey.add(varKey120.getTree()); + pushFollow(FOLLOW_varDeclaration_in_varSection2716); + varDeclaration121=varDeclaration(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_varDeclaration.add(varDeclaration121.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:54: ( varDeclaration )* + loop33: + while (true) { + int alt33=2; + alt33 = dfa33.predict(input); + switch (alt33) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:55: varDeclaration + { + pushFollow(FOLLOW_varDeclaration_in_varSection2719); + varDeclaration122=varDeclaration(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_varDeclaration.add(varDeclaration122.getTree()); + } + break; + + default : + break loop33; + } + } + + // AST REWRITE + // elements: varKey, varDeclaration, varDeclaration + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 169:72: -> ^( varKey varDeclaration ( varDeclaration )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:75: ^( varKey varDeclaration ( varDeclaration )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_varKey.nextNode(), root_1); + adaptor.addChild(root_1, stream_varDeclaration.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:99: ( varDeclaration )* + while ( stream_varDeclaration.hasNext() ) { + adaptor.addChild(root_1, stream_varDeclaration.nextTree()); + } + stream_varDeclaration.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 33, varSection_StartIndex); } + + } + return retval; + } + // $ANTLR end "varSection" + + + public static class varKey_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "varKey" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:171:1: varKey : ( 'var' | 'threadvar' ); + public final DelphiParser.varKey_return varKey() throws RecognitionException { + DelphiParser.varKey_return retval = new DelphiParser.varKey_return(); + retval.start = input.LT(1); + int varKey_StartIndex = input.index(); + + Object root_0 = null; + + Token set123=null; + + Object set123_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:171:30: ( 'var' | 'threadvar' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set123=input.LT(1); + if ( input.LA(1)==THREADVAR||input.LA(1)==VAR ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set123)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 34, varKey_StartIndex); } + + } + return retval; + } + // $ANTLR end "varKey" + + + public static class varDeclaration_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "varDeclaration" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:1: varDeclaration : ( customAttribute )? identListFlat ':' typeDecl ( varValueSpec )? ( hintingDirective )* ';' -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType typeDecl ) ; + public final DelphiParser.varDeclaration_return varDeclaration() throws RecognitionException { + DelphiParser.varDeclaration_return retval = new DelphiParser.varDeclaration_return(); + retval.start = input.LT(1); + int varDeclaration_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal126=null; + Token char_literal130=null; + ParserRuleReturnScope customAttribute124 =null; + ParserRuleReturnScope identListFlat125 =null; + ParserRuleReturnScope typeDecl127 =null; + ParserRuleReturnScope varValueSpec128 =null; + ParserRuleReturnScope hintingDirective129 =null; + + Object char_literal126_tree=null; + Object char_literal130_tree=null; + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_identListFlat=new RewriteRuleSubtreeStream(adaptor,"rule identListFlat"); + RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); + RewriteRuleSubtreeStream stream_varValueSpec=new RewriteRuleSubtreeStream(adaptor,"rule varValueSpec"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:30: ( ( customAttribute )? identListFlat ':' typeDecl ( varValueSpec )? ( hintingDirective )* ';' -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType typeDecl ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:32: ( customAttribute )? identListFlat ':' typeDecl ( varValueSpec )? ( hintingDirective )* ';' + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:32: ( customAttribute )? + int alt34=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt34=1; + } + break; + case TkIdentifier: + { + int LA34_2 = input.LA(2); + if ( (synpred49_Delphi()) ) { + alt34=1; + } + } + break; + case 198: + { + int LA34_3 = input.LA(2); + if ( (synpred49_Delphi()) ) { + alt34=1; + } + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA34_4 = input.LA(2); + if ( (synpred49_Delphi()) ) { + alt34=1; + } + } + break; + } + switch (alt34) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_varDeclaration2879); + customAttribute124=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute124.getTree()); + } + break; + + } + + pushFollow(FOLLOW_identListFlat_in_varDeclaration2883); + identListFlat125=identListFlat(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_identListFlat.add(identListFlat125.getTree()); + char_literal126=(Token)match(input,COLON,FOLLOW_COLON_in_varDeclaration2885); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal126); + + pushFollow(FOLLOW_typeDecl_in_varDeclaration2887); + typeDecl127=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl127.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:78: ( varValueSpec )? + int alt35=2; + int LA35_0 = input.LA(1); + if ( (LA35_0==ABSOLUTE||LA35_0==EQUAL) ) { + alt35=1; + } + switch (alt35) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:79: varValueSpec + { + pushFollow(FOLLOW_varValueSpec_in_varDeclaration2890); + varValueSpec128=varValueSpec(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_varValueSpec.add(varValueSpec128.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:94: ( hintingDirective )* + loop36: + while (true) { + int alt36=2; + int LA36_0 = input.LA(1); + if ( (LA36_0==DEPRECATED||LA36_0==EXPERIMENTAL||LA36_0==LIBRARY||LA36_0==PLATFORM) ) { + alt36=1; + } + + switch (alt36) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:95: hintingDirective + { + pushFollow(FOLLOW_hintingDirective_in_varDeclaration2895); + hintingDirective129=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective129.getTree()); + } + break; + + default : + break loop36; + } + } + + char_literal130=(Token)match(input,SEMI,FOLLOW_SEMI_in_varDeclaration2899); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal130); + + // AST REWRITE + // elements: identListFlat, typeDecl, customAttribute + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 175:118: -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType typeDecl ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:121: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_0, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:140: ^( TkVariableIdents identListFlat ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableIdents, "TkVariableIdents"), root_1); + adaptor.addChild(root_1, stream_identListFlat.nextTree()); + adaptor.addChild(root_0, root_1); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:174: ^( TkVariableType typeDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_1); + adaptor.addChild(root_1, stream_typeDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 35, varDeclaration_StartIndex); } + + } + return retval; + } + // $ANTLR end "varDeclaration" + + + public static class inlineVarDeclaration_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "inlineVarDeclaration" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:177:1: inlineVarDeclaration : ( 'var' ident ( ':' typeDecl )? ':=' expression | 'var' ident ':' typeDecl ); + public final DelphiParser.inlineVarDeclaration_return inlineVarDeclaration() throws RecognitionException { + DelphiParser.inlineVarDeclaration_return retval = new DelphiParser.inlineVarDeclaration_return(); + retval.start = input.LT(1); + int inlineVarDeclaration_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal131=null; + Token char_literal133=null; + Token string_literal135=null; + Token string_literal137=null; + Token char_literal139=null; + ParserRuleReturnScope ident132 =null; + ParserRuleReturnScope typeDecl134 =null; + ParserRuleReturnScope expression136 =null; + ParserRuleReturnScope ident138 =null; + ParserRuleReturnScope typeDecl140 =null; + + Object string_literal131_tree=null; + Object char_literal133_tree=null; + Object string_literal135_tree=null; + Object string_literal137_tree=null; + Object char_literal139_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:177:30: ( 'var' ident ( ':' typeDecl )? ':=' expression | 'var' ident ':' typeDecl ) + int alt38=2; + int LA38_0 = input.LA(1); + if ( (LA38_0==VAR) ) { + int LA38_1 = input.LA(2); + if ( (synpred53_Delphi()) ) { + alt38=1; + } + else if ( (true) ) { + alt38=2; + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 38, 0, input); + throw nvae; + } + + switch (alt38) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:177:32: 'var' ident ( ':' typeDecl )? ':=' expression + { + root_0 = (Object)adaptor.nil(); + + + string_literal131=(Token)match(input,VAR,FOLLOW_VAR_in_inlineVarDeclaration2963); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal131_tree = (Object)adaptor.create(string_literal131); + adaptor.addChild(root_0, string_literal131_tree); + } + + pushFollow(FOLLOW_ident_in_inlineVarDeclaration2965); + ident132=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident132.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:177:44: ( ':' typeDecl )? + int alt37=2; + int LA37_0 = input.LA(1); + if ( (LA37_0==COLON) ) { + alt37=1; + } + switch (alt37) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:177:45: ':' typeDecl + { + char_literal133=(Token)match(input,COLON,FOLLOW_COLON_in_inlineVarDeclaration2968); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal133_tree = (Object)adaptor.create(char_literal133); + adaptor.addChild(root_0, char_literal133_tree); + } + + pushFollow(FOLLOW_typeDecl_in_inlineVarDeclaration2970); + typeDecl134=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl134.getTree()); + + } + break; + + } + + string_literal135=(Token)match(input,ASSIGN,FOLLOW_ASSIGN_in_inlineVarDeclaration2974); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal135_tree = (Object)adaptor.create(string_literal135); + adaptor.addChild(root_0, string_literal135_tree); + } + + pushFollow(FOLLOW_expression_in_inlineVarDeclaration2976); + expression136=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression136.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:178:32: 'var' ident ':' typeDecl + { + root_0 = (Object)adaptor.nil(); + + + string_literal137=(Token)match(input,VAR,FOLLOW_VAR_in_inlineVarDeclaration3009); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal137_tree = (Object)adaptor.create(string_literal137); + adaptor.addChild(root_0, string_literal137_tree); + } + + pushFollow(FOLLOW_ident_in_inlineVarDeclaration3011); + ident138=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident138.getTree()); + + char_literal139=(Token)match(input,COLON,FOLLOW_COLON_in_inlineVarDeclaration3013); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal139_tree = (Object)adaptor.create(char_literal139); + adaptor.addChild(root_0, char_literal139_tree); + } + + pushFollow(FOLLOW_typeDecl_in_inlineVarDeclaration3015); + typeDecl140=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl140.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 36, inlineVarDeclaration_StartIndex); } + + } + return retval; + } + // $ANTLR end "inlineVarDeclaration" + + + public static class varValueSpec_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "varValueSpec" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:1: varValueSpec : ( 'absolute' qualifiedIdent | 'absolute' constExpression | '=' constExpression ); + public final DelphiParser.varValueSpec_return varValueSpec() throws RecognitionException { + DelphiParser.varValueSpec_return retval = new DelphiParser.varValueSpec_return(); + retval.start = input.LT(1); + int varValueSpec_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal141=null; + Token string_literal143=null; + Token char_literal145=null; + ParserRuleReturnScope qualifiedIdent142 =null; + ParserRuleReturnScope constExpression144 =null; + ParserRuleReturnScope constExpression146 =null; + + Object string_literal141_tree=null; + Object string_literal143_tree=null; + Object char_literal145_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:30: ( 'absolute' qualifiedIdent | 'absolute' constExpression | '=' constExpression ) + int alt39=3; + int LA39_0 = input.LA(1); + if ( (LA39_0==ABSOLUTE) ) { + switch ( input.LA(2) ) { + case TkIdentifier: + { + int LA39_3 = input.LA(3); + if ( (synpred54_Delphi()) ) { + alt39=1; + } + else if ( (synpred55_Delphi()) ) { + alt39=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { + input.consume(); + } + NoViableAltException nvae = + new NoViableAltException("", 39, 3, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case 198: + { + int LA39_4 = input.LA(3); + if ( (LA39_4==TkIdentifier) ) { + int LA39_11 = input.LA(4); + if ( (synpred54_Delphi()) ) { + alt39=1; + } + else if ( (synpred55_Delphi()) ) { + alt39=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) { + input.consume(); + } + NoViableAltException nvae = + new NoViableAltException("", 39, 11, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + else if ( ((LA39_4 >= ABSOLUTE && LA39_4 <= ASSEMBLY)||LA39_4==AT||LA39_4==AUTOMATED||(LA39_4 >= BEGIN && LA39_4 <= CLASS)||(LA39_4 >= CONST && LA39_4 <= CONTINUE)||LA39_4==DEFAULT||(LA39_4 >= DEPRECATED && LA39_4 <= DO)||(LA39_4 >= DOWNTO && LA39_4 <= DYNAMIC)||(LA39_4 >= ELSE && LA39_4 <= END)||(LA39_4 >= EXCEPT && LA39_4 <= FUNCTION)||LA39_4==GOTO||LA39_4==HELPER||(LA39_4 >= IF && LA39_4 <= LABEL)||(LA39_4 >= LIBRARY && LA39_4 <= LOCAL)||LA39_4==MESSAGE||(LA39_4 >= MOD && LA39_4 <= NOT)||(LA39_4 >= OBJECT && LA39_4 <= PLATFORM)||LA39_4==POINTER||(LA39_4 >= PRIVATE && LA39_4 <= PUBLISHED)||LA39_4==RAISE||(LA39_4 >= READ && LA39_4 <= RESOURCESTRING)||(LA39_4 >= SAFECALL && LA39_4 <= SEALED)||(LA39_4 >= SET && LA39_4 <= SHR)||(LA39_4 >= STATIC && LA39_4 <= TYPE)||(LA39_4 >= UNIT && LA39_4 <= USES)||(LA39_4 >= VAR && LA39_4 <= WRITEONLY)||LA39_4==XOR) ) { + int LA39_12 = input.LA(4); + if ( (synpred54_Delphi()) ) { + alt39=1; + } + else if ( (synpred55_Delphi()) ) { + alt39=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + for (int nvaeConsume = 0; nvaeConsume < 4 - 1; nvaeConsume++) { + input.consume(); + } + NoViableAltException nvae = + new NoViableAltException("", 39, 12, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { + input.consume(); + } + NoViableAltException nvae = + new NoViableAltException("", 39, 4, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case TRUE: + { + int LA39_5 = input.LA(3); + if ( (synpred54_Delphi()) ) { + alt39=1; + } + else if ( (synpred55_Delphi()) ) { + alt39=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { + input.consume(); + } + NoViableAltException nvae = + new NoViableAltException("", 39, 5, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case EOF: + case AND: + case AS: + case AT2: + case ControlChar: + case DEPRECATED: + case DIV: + case DOT: + case EQUAL: + case EXPERIMENTAL: + case FUNCTION: + case GE: + case GT: + case INHERITED: + case IS: + case LBRACK: + case LE: + case LIBRARY: + case LPAREN: + case LT: + case MINUS: + case MOD: + case NIL: + case NOT: + case NOT_EQUAL: + case OR: + case PLATFORM: + case PLUS: + case POINTER2: + case PROCEDURE: + case QuotedString: + case SEMI: + case SHL: + case SHR: + case SLASH: + case STAR: + case TkHexNum: + case TkIntNum: + case TkRealNum: + case XOR: + case 199: + case 200: + case 201: + case 202: + case 203: + case 204: + case 205: + case 206: + case 207: + case 208: + case 209: + case 210: + { + alt39=2; + } + break; + case FALSE: + { + int LA39_7 = input.LA(3); + if ( (synpred54_Delphi()) ) { + alt39=1; + } + else if ( (synpred55_Delphi()) ) { + alt39=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { + input.consume(); + } + NoViableAltException nvae = + new NoViableAltException("", 39, 7, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case IN: + { + int LA39_8 = input.LA(3); + if ( (synpred54_Delphi()) ) { + alt39=1; + } + else if ( (synpred55_Delphi()) ) { + alt39=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { + input.consume(); + } + NoViableAltException nvae = + new NoViableAltException("", 39, 8, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA39_9 = input.LA(3); + if ( (synpred54_Delphi()) ) { + alt39=1; + } + else if ( (synpred55_Delphi()) ) { + alt39=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { + input.consume(); + } + NoViableAltException nvae = + new NoViableAltException("", 39, 9, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 39, 1, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + } + else if ( (LA39_0==EQUAL) ) { + alt39=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 39, 0, input); + throw nvae; + } + + switch (alt39) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:32: 'absolute' qualifiedIdent + { + root_0 = (Object)adaptor.nil(); + + + string_literal141=(Token)match(input,ABSOLUTE,FOLLOW_ABSOLUTE_in_varValueSpec3070); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal141_tree = (Object)adaptor.create(string_literal141); + adaptor.addChild(root_0, string_literal141_tree); + } + + pushFollow(FOLLOW_qualifiedIdent_in_varValueSpec3072); + qualifiedIdent142=qualifiedIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, qualifiedIdent142.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:181:32: 'absolute' constExpression + { + root_0 = (Object)adaptor.nil(); + + + string_literal143=(Token)match(input,ABSOLUTE,FOLLOW_ABSOLUTE_in_varValueSpec3105); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal143_tree = (Object)adaptor.create(string_literal143); + adaptor.addChild(root_0, string_literal143_tree); + } + + pushFollow(FOLLOW_constExpression_in_varValueSpec3107); + constExpression144=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression144.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:182:32: '=' constExpression + { + root_0 = (Object)adaptor.nil(); + + + char_literal145=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_varValueSpec3140); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal145_tree = (Object)adaptor.create(char_literal145); + adaptor.addChild(root_0, char_literal145_tree); + } + + pushFollow(FOLLOW_constExpression_in_varValueSpec3142); + constExpression146=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression146.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 37, varValueSpec_StartIndex); } + + } + return retval; + } + // $ANTLR end "varValueSpec" + + + public static class exportsSection_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "exportsSection" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:184:1: exportsSection : 'exports' ident exportItem ( ',' ident exportItem )* ';' ; + public final DelphiParser.exportsSection_return exportsSection() throws RecognitionException { + DelphiParser.exportsSection_return retval = new DelphiParser.exportsSection_return(); + retval.start = input.LT(1); + int exportsSection_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal147=null; + Token char_literal150=null; + Token char_literal153=null; + ParserRuleReturnScope ident148 =null; + ParserRuleReturnScope exportItem149 =null; + ParserRuleReturnScope ident151 =null; + ParserRuleReturnScope exportItem152 =null; + + Object string_literal147_tree=null; + Object char_literal150_tree=null; + Object char_literal153_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:184:30: ( 'exports' ident exportItem ( ',' ident exportItem )* ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:184:32: 'exports' ident exportItem ( ',' ident exportItem )* ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal147=(Token)match(input,EXPORTS,FOLLOW_EXPORTS_in_exportsSection3193); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal147_tree = (Object)adaptor.create(string_literal147); + adaptor.addChild(root_0, string_literal147_tree); + } + + pushFollow(FOLLOW_ident_in_exportsSection3195); + ident148=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident148.getTree()); + + pushFollow(FOLLOW_exportItem_in_exportsSection3197); + exportItem149=exportItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, exportItem149.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:184:59: ( ',' ident exportItem )* + loop40: + while (true) { + int alt40=2; + int LA40_0 = input.LA(1); + if ( (LA40_0==COMMA) ) { + alt40=1; + } + + switch (alt40) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:184:60: ',' ident exportItem + { + char_literal150=(Token)match(input,COMMA,FOLLOW_COMMA_in_exportsSection3200); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal150_tree = (Object)adaptor.create(char_literal150); + adaptor.addChild(root_0, char_literal150_tree); + } + + pushFollow(FOLLOW_ident_in_exportsSection3202); + ident151=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident151.getTree()); + + pushFollow(FOLLOW_exportItem_in_exportsSection3204); + exportItem152=exportItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, exportItem152.getTree()); + + } + break; + + default : + break loop40; + } + } + + char_literal153=(Token)match(input,SEMI,FOLLOW_SEMI_in_exportsSection3208); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal153_tree = (Object)adaptor.create(char_literal153); + adaptor.addChild(root_0, char_literal153_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 38, exportsSection_StartIndex); } + + } + return retval; + } + // $ANTLR end "exportsSection" + + + public static class exportItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "exportItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:1: exportItem : ( '(' ( formalParameterList )? ')' )? ( INDEX expression )? ( NAME expression )? ( 'resident' )? ; + public final DelphiParser.exportItem_return exportItem() throws RecognitionException { + DelphiParser.exportItem_return retval = new DelphiParser.exportItem_return(); + retval.start = input.LT(1); + int exportItem_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal154=null; + Token char_literal156=null; + Token INDEX157=null; + Token NAME159=null; + Token string_literal161=null; + ParserRuleReturnScope formalParameterList155 =null; + ParserRuleReturnScope expression158 =null; + ParserRuleReturnScope expression160 =null; + + Object char_literal154_tree=null; + Object char_literal156_tree=null; + Object INDEX157_tree=null; + Object NAME159_tree=null; + Object string_literal161_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:30: ( ( '(' ( formalParameterList )? ')' )? ( INDEX expression )? ( NAME expression )? ( 'resident' )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:32: ( '(' ( formalParameterList )? ')' )? ( INDEX expression )? ( NAME expression )? ( 'resident' )? + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:32: ( '(' ( formalParameterList )? ')' )? + int alt42=2; + int LA42_0 = input.LA(1); + if ( (LA42_0==LPAREN) ) { + alt42=1; + } + switch (alt42) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:33: '(' ( formalParameterList )? ')' + { + char_literal154=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_exportItem3264); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal154_tree = (Object)adaptor.create(char_literal154); + adaptor.addChild(root_0, char_literal154_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:37: ( formalParameterList )? + int alt41=2; + int LA41_0 = input.LA(1); + if ( (LA41_0==ADD||LA41_0==ANSISTRING||LA41_0==AT||LA41_0==BREAK||LA41_0==CONST||(LA41_0 >= CONTAINS && LA41_0 <= CONTINUE)||LA41_0==DEFAULT||LA41_0==DISPID||(LA41_0 >= DQ && LA41_0 <= DW)||LA41_0==EXIT||LA41_0==EXPORT||LA41_0==FALSE||LA41_0==FINAL||LA41_0==HELPER||(LA41_0 >= IMPLEMENTS && LA41_0 <= INDEX)||LA41_0==LBRACK||LA41_0==LOCAL||LA41_0==MESSAGE||LA41_0==NAME||LA41_0==OBJECT||LA41_0==OPERATOR||LA41_0==OUT||LA41_0==POINTER||(LA41_0 >= READ && LA41_0 <= READONLY)||(LA41_0 >= REFERENCE && LA41_0 <= REGISTER)||LA41_0==REMOVE||LA41_0==STATIC||(LA41_0 >= STORED && LA41_0 <= STRING)||LA41_0==TRUE||LA41_0==TkIdentifier||LA41_0==UNSAFE||(LA41_0 >= VAR && LA41_0 <= VIRTUAL)||(LA41_0 >= WRITE && LA41_0 <= WRITEONLY)||LA41_0==198) ) { + alt41=1; + } + switch (alt41) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:38: formalParameterList + { + pushFollow(FOLLOW_formalParameterList_in_exportItem3267); + formalParameterList155=formalParameterList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterList155.getTree()); + + } + break; + + } + + char_literal156=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_exportItem3271); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal156_tree = (Object)adaptor.create(char_literal156); + adaptor.addChild(root_0, char_literal156_tree); + } + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:66: ( INDEX expression )? + int alt43=2; + int LA43_0 = input.LA(1); + if ( (LA43_0==INDEX) ) { + alt43=1; + } + switch (alt43) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:67: INDEX expression + { + INDEX157=(Token)match(input,INDEX,FOLLOW_INDEX_in_exportItem3276); if (state.failed) return retval; + if ( state.backtracking==0 ) { + INDEX157_tree = (Object)adaptor.create(INDEX157); + adaptor.addChild(root_0, INDEX157_tree); + } + + pushFollow(FOLLOW_expression_in_exportItem3278); + expression158=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression158.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:86: ( NAME expression )? + int alt44=2; + int LA44_0 = input.LA(1); + if ( (LA44_0==NAME) ) { + alt44=1; + } + switch (alt44) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:87: NAME expression + { + NAME159=(Token)match(input,NAME,FOLLOW_NAME_in_exportItem3283); if (state.failed) return retval; + if ( state.backtracking==0 ) { + NAME159_tree = (Object)adaptor.create(NAME159); + adaptor.addChild(root_0, NAME159_tree); + } + + pushFollow(FOLLOW_expression_in_exportItem3285); + expression160=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression160.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:105: ( 'resident' )? + int alt45=2; + int LA45_0 = input.LA(1); + if ( (LA45_0==RESIDENT) ) { + alt45=1; + } + switch (alt45) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:186:106: 'resident' + { + string_literal161=(Token)match(input,RESIDENT,FOLLOW_RESIDENT_in_exportItem3290); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal161_tree = (Object)adaptor.create(string_literal161); + adaptor.addChild(root_0, string_literal161_tree); + } + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 39, exportItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "exportItem" + + + public static class typeDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "typeDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:191:1: typeDecl : ( strucType | pointerType | stringType | procedureType | variantType | ( 'type' )? typeId ( genericPostfix )? ( '.' typeDecl )* ( paranthesePostfix )? | simpleType ); + public final DelphiParser.typeDecl_return typeDecl() throws RecognitionException { + DelphiParser.typeDecl_return retval = new DelphiParser.typeDecl_return(); + retval.start = input.LT(1); + int typeDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal167=null; + Token char_literal170=null; + ParserRuleReturnScope strucType162 =null; + ParserRuleReturnScope pointerType163 =null; + ParserRuleReturnScope stringType164 =null; + ParserRuleReturnScope procedureType165 =null; + ParserRuleReturnScope variantType166 =null; + ParserRuleReturnScope typeId168 =null; + ParserRuleReturnScope genericPostfix169 =null; + ParserRuleReturnScope typeDecl171 =null; + ParserRuleReturnScope paranthesePostfix172 =null; + ParserRuleReturnScope simpleType173 =null; + + Object string_literal167_tree=null; + Object char_literal170_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:191:30: ( strucType | pointerType | stringType | procedureType | variantType | ( 'type' )? typeId ( genericPostfix )? ( '.' typeDecl )* ( paranthesePostfix )? | simpleType ) + int alt50=7; + alt50 = dfa50.predict(input); + switch (alt50) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:191:32: strucType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_strucType_in_typeDecl3352); + strucType162=strucType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, strucType162.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:192:32: pointerType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_pointerType_in_typeDecl3385); + pointerType163=pointerType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, pointerType163.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:193:32: stringType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_stringType_in_typeDecl3418); + stringType164=stringType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, stringType164.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:194:32: procedureType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_procedureType_in_typeDecl3451); + procedureType165=procedureType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureType165.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:195:32: variantType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_variantType_in_typeDecl3484); + variantType166=variantType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, variantType166.getTree()); + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:32: ( 'type' )? typeId ( genericPostfix )? ( '.' typeDecl )* ( paranthesePostfix )? + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:32: ( 'type' )? + int alt46=2; + int LA46_0 = input.LA(1); + if ( (LA46_0==TYPE) ) { + alt46=1; + } + switch (alt46) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:33: 'type' + { + string_literal167=(Token)match(input,TYPE,FOLLOW_TYPE_in_typeDecl3518); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal167_tree = (Object)adaptor.create(string_literal167); + adaptor.addChild(root_0, string_literal167_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_typeId_in_typeDecl3522); + typeId168=typeId(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId168.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:49: ( genericPostfix )? + int alt47=2; + int LA47_0 = input.LA(1); + if ( (LA47_0==LT) ) { + int LA47_1 = input.LA(2); + if ( (synpred68_Delphi()) ) { + alt47=1; + } + } + switch (alt47) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:50: genericPostfix + { + pushFollow(FOLLOW_genericPostfix_in_typeDecl3525); + genericPostfix169=genericPostfix(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericPostfix169.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:67: ( '.' typeDecl )* + loop48: + while (true) { + int alt48=2; + int LA48_0 = input.LA(1); + if ( (LA48_0==DOT) ) { + int LA48_2 = input.LA(2); + if ( (synpred69_Delphi()) ) { + alt48=1; + } + + } + + switch (alt48) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:68: '.' typeDecl + { + char_literal170=(Token)match(input,DOT,FOLLOW_DOT_in_typeDecl3530); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal170_tree = (Object)adaptor.create(char_literal170); + adaptor.addChild(root_0, char_literal170_tree); + } + + pushFollow(FOLLOW_typeDecl_in_typeDecl3532); + typeDecl171=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl171.getTree()); + + } + break; + + default : + break loop48; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:83: ( paranthesePostfix )? + int alt49=2; + int LA49_0 = input.LA(1); + if ( (LA49_0==LPAREN) ) { + int LA49_1 = input.LA(2); + if ( (synpred70_Delphi()) ) { + alt49=1; + } + } + switch (alt49) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:84: paranthesePostfix + { + pushFollow(FOLLOW_paranthesePostfix_in_typeDecl3537); + paranthesePostfix172=paranthesePostfix(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, paranthesePostfix172.getTree()); + + } + break; + + } + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:197:32: simpleType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_simpleType_in_typeDecl3572); + simpleType173=simpleType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleType173.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 40, typeDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "typeDecl" + + + public static class strucType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "strucType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:199:1: strucType : ( 'packed' )? strucTypePart -> strucTypePart ; + public final DelphiParser.strucType_return strucType() throws RecognitionException { + DelphiParser.strucType_return retval = new DelphiParser.strucType_return(); + retval.start = input.LT(1); + int strucType_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal174=null; + ParserRuleReturnScope strucTypePart175 =null; + + Object string_literal174_tree=null; + RewriteRuleTokenStream stream_PACKED=new RewriteRuleTokenStream(adaptor,"token PACKED"); + RewriteRuleSubtreeStream stream_strucTypePart=new RewriteRuleSubtreeStream(adaptor,"rule strucTypePart"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:199:30: ( ( 'packed' )? strucTypePart -> strucTypePart ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:199:32: ( 'packed' )? strucTypePart + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:199:32: ( 'packed' )? + int alt51=2; + int LA51_0 = input.LA(1); + if ( (LA51_0==PACKED) ) { + alt51=1; + } + switch (alt51) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:199:33: 'packed' + { + string_literal174=(Token)match(input,PACKED,FOLLOW_PACKED_in_strucType3658); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_PACKED.add(string_literal174); + + } + break; + + } + + pushFollow(FOLLOW_strucTypePart_in_strucType3662); + strucTypePart175=strucTypePart(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_strucTypePart.add(strucTypePart175.getTree()); + // AST REWRITE + // elements: strucTypePart + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 199:58: -> strucTypePart + { + adaptor.addChild(root_0, stream_strucTypePart.nextTree()); + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 41, strucType_StartIndex); } + + } + return retval; + } + // $ANTLR end "strucType" + + + public static class strucTypePart_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "strucTypePart" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:201:1: strucTypePart : ( arrayType | setType | fileType | classDecl ); + public final DelphiParser.strucTypePart_return strucTypePart() throws RecognitionException { + DelphiParser.strucTypePart_return retval = new DelphiParser.strucTypePart_return(); + retval.start = input.LT(1); + int strucTypePart_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope arrayType176 =null; + ParserRuleReturnScope setType177 =null; + ParserRuleReturnScope fileType178 =null; + ParserRuleReturnScope classDecl179 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:201:30: ( arrayType | setType | fileType | classDecl ) + int alt52=4; + switch ( input.LA(1) ) { + case ARRAY: + { + alt52=1; + } + break; + case SET: + { + alt52=2; + } + break; + case FILE: + { + alt52=3; + } + break; + case CLASS: + case DISPINTERFACE: + case INTERFACE: + case OBJECT: + case RECORD: + { + alt52=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 52, 0, input); + throw nvae; + } + switch (alt52) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:201:32: arrayType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_arrayType_in_strucTypePart3718); + arrayType176=arrayType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, arrayType176.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:202:32: setType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_setType_in_strucTypePart3751); + setType177=setType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, setType177.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:203:32: fileType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_fileType_in_strucTypePart3784); + fileType178=fileType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, fileType178.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:204:32: classDecl + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classDecl_in_strucTypePart3817); + classDecl179=classDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classDecl179.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 42, strucTypePart_StartIndex); } + + } + return retval; + } + // $ANTLR end "strucTypePart" + + + public static class arrayType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "arrayType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:1: arrayType : 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? 'of' arraySubType -> ^( arraySubType 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? ) ; + public final DelphiParser.arrayType_return arrayType() throws RecognitionException { + DelphiParser.arrayType_return retval = new DelphiParser.arrayType_return(); + retval.start = input.LT(1); + int arrayType_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal180=null; + Token char_literal181=null; + Token char_literal183=null; + Token char_literal185=null; + Token string_literal186=null; + ParserRuleReturnScope arrayIndex182 =null; + ParserRuleReturnScope arrayIndex184 =null; + ParserRuleReturnScope arraySubType187 =null; + + Object string_literal180_tree=null; + Object char_literal181_tree=null; + Object char_literal183_tree=null; + Object char_literal185_tree=null; + Object string_literal186_tree=null; + RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); + RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); + RewriteRuleTokenStream stream_ARRAY=new RewriteRuleTokenStream(adaptor,"token ARRAY"); + RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); + RewriteRuleTokenStream stream_OF=new RewriteRuleTokenStream(adaptor,"token OF"); + RewriteRuleSubtreeStream stream_arraySubType=new RewriteRuleSubtreeStream(adaptor,"rule arraySubType"); + RewriteRuleSubtreeStream stream_arrayIndex=new RewriteRuleSubtreeStream(adaptor,"rule arrayIndex"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:30: ( 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? 'of' arraySubType -> ^( arraySubType 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:33: 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? 'of' arraySubType + { + string_literal180=(Token)match(input,ARRAY,FOLLOW_ARRAY_in_arrayType3875); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ARRAY.add(string_literal180); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:41: ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? + int alt56=2; + int LA56_0 = input.LA(1); + if ( (LA56_0==LBRACK) ) { + alt56=1; + } + switch (alt56) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:42: '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' + { + char_literal181=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_arrayType3878); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LBRACK.add(char_literal181); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:46: ( arrayIndex )? + int alt53=2; + int LA53_0 = input.LA(1); + if ( ((LA53_0 >= ADD && LA53_0 <= ANSISTRING)||LA53_0==AS||(LA53_0 >= AT && LA53_0 <= AT2)||LA53_0==BREAK||(LA53_0 >= CONTAINS && LA53_0 <= DEFAULT)||LA53_0==DISPID||LA53_0==DIV||(LA53_0 >= DOT && LA53_0 <= DOTDOT)||(LA53_0 >= DQ && LA53_0 <= DW)||LA53_0==EQUAL||LA53_0==EXIT||LA53_0==EXPORT||LA53_0==FALSE||LA53_0==FINAL||(LA53_0 >= FUNCTION && LA53_0 <= GE)||(LA53_0 >= GT && LA53_0 <= HELPER)||(LA53_0 >= IMPLEMENTS && LA53_0 <= INHERITED)||LA53_0==IS||LA53_0==LBRACK||LA53_0==LE||(LA53_0 >= LOCAL && LA53_0 <= NAME)||LA53_0==NIL||(LA53_0 >= NOT && LA53_0 <= OBJECT)||(LA53_0 >= OPERATOR && LA53_0 <= OUT)||(LA53_0 >= PLUS && LA53_0 <= POINTER2)||LA53_0==PROCEDURE||LA53_0==QuotedString||(LA53_0 >= READ && LA53_0 <= READONLY)||(LA53_0 >= REFERENCE && LA53_0 <= REGISTER)||LA53_0==REMOVE||(LA53_0 >= SHL && LA53_0 <= STATIC)||(LA53_0 >= STORED && LA53_0 <= STRING)||LA53_0==TRUE||(LA53_0 >= TkHexNum && LA53_0 <= TkIntNum)||LA53_0==TkRealNum||LA53_0==UNSAFE||(LA53_0 >= VARARGS && LA53_0 <= VIRTUAL)||(LA53_0 >= WRITE && LA53_0 <= WRITEONLY)||(LA53_0 >= XOR && LA53_0 <= 210)) ) { + alt53=1; + } + switch (alt53) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:47: arrayIndex + { + pushFollow(FOLLOW_arrayIndex_in_arrayType3881); + arrayIndex182=arrayIndex(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_arrayIndex.add(arrayIndex182.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:60: ( ',' ( arrayIndex )? )* + loop55: + while (true) { + int alt55=2; + int LA55_0 = input.LA(1); + if ( (LA55_0==COMMA) ) { + alt55=1; + } + + switch (alt55) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:61: ',' ( arrayIndex )? + { + char_literal183=(Token)match(input,COMMA,FOLLOW_COMMA_in_arrayType3886); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COMMA.add(char_literal183); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:65: ( arrayIndex )? + int alt54=2; + int LA54_0 = input.LA(1); + if ( ((LA54_0 >= ADD && LA54_0 <= ANSISTRING)||LA54_0==AS||(LA54_0 >= AT && LA54_0 <= AT2)||LA54_0==BREAK||(LA54_0 >= CONTAINS && LA54_0 <= DEFAULT)||LA54_0==DISPID||LA54_0==DIV||(LA54_0 >= DOT && LA54_0 <= DOTDOT)||(LA54_0 >= DQ && LA54_0 <= DW)||LA54_0==EQUAL||LA54_0==EXIT||LA54_0==EXPORT||LA54_0==FALSE||LA54_0==FINAL||(LA54_0 >= FUNCTION && LA54_0 <= GE)||(LA54_0 >= GT && LA54_0 <= HELPER)||(LA54_0 >= IMPLEMENTS && LA54_0 <= INHERITED)||LA54_0==IS||LA54_0==LBRACK||LA54_0==LE||(LA54_0 >= LOCAL && LA54_0 <= NAME)||LA54_0==NIL||(LA54_0 >= NOT && LA54_0 <= OBJECT)||(LA54_0 >= OPERATOR && LA54_0 <= OUT)||(LA54_0 >= PLUS && LA54_0 <= POINTER2)||LA54_0==PROCEDURE||LA54_0==QuotedString||(LA54_0 >= READ && LA54_0 <= READONLY)||(LA54_0 >= REFERENCE && LA54_0 <= REGISTER)||LA54_0==REMOVE||(LA54_0 >= SHL && LA54_0 <= STATIC)||(LA54_0 >= STORED && LA54_0 <= STRING)||LA54_0==TRUE||(LA54_0 >= TkHexNum && LA54_0 <= TkIntNum)||LA54_0==TkRealNum||LA54_0==UNSAFE||(LA54_0 >= VARARGS && LA54_0 <= VIRTUAL)||(LA54_0 >= WRITE && LA54_0 <= WRITEONLY)||(LA54_0 >= XOR && LA54_0 <= 210)) ) { + alt54=1; + } + switch (alt54) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:207:66: arrayIndex + { + pushFollow(FOLLOW_arrayIndex_in_arrayType3889); + arrayIndex184=arrayIndex(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_arrayIndex.add(arrayIndex184.getTree()); + } + break; + + } + + } + break; + + default : + break loop55; + } + } + + char_literal185=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_arrayType3895); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RBRACK.add(char_literal185); + + } + break; + + } + + string_literal186=(Token)match(input,OF,FOLLOW_OF_in_arrayType3899); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_OF.add(string_literal186); + + pushFollow(FOLLOW_arraySubType_in_arrayType3901); + arraySubType187=arraySubType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_arraySubType.add(arraySubType187.getTree()); + // AST REWRITE + // elements: LBRACK, arrayIndex, arrayIndex, RBRACK, arraySubType, ARRAY, COMMA + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 208:30: -> ^( arraySubType 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:208:33: ^( arraySubType 'array' ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_arraySubType.nextNode(), root_1); + adaptor.addChild(root_1, stream_ARRAY.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:208:56: ( '[' ( arrayIndex )? ( ',' ( arrayIndex )? )* ']' )? + if ( stream_LBRACK.hasNext()||stream_arrayIndex.hasNext()||stream_RBRACK.hasNext()||stream_COMMA.hasNext() ) { + adaptor.addChild(root_1, stream_LBRACK.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:208:61: ( arrayIndex )? + if ( stream_arrayIndex.hasNext() ) { + adaptor.addChild(root_1, stream_arrayIndex.nextTree()); + } + stream_arrayIndex.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:208:75: ( ',' ( arrayIndex )? )* + while ( stream_COMMA.hasNext() ) { + adaptor.addChild(root_1, stream_COMMA.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:208:80: ( arrayIndex )? + if ( stream_arrayIndex.hasNext() ) { + adaptor.addChild(root_1, stream_arrayIndex.nextTree()); + } + stream_arrayIndex.reset(); + + } + stream_COMMA.reset(); + + adaptor.addChild(root_1, stream_RBRACK.nextNode()); + } + stream_LBRACK.reset(); + stream_arrayIndex.reset(); + stream_RBRACK.reset(); + stream_COMMA.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 43, arrayType_StartIndex); } + + } + return retval; + } + // $ANTLR end "arrayType" + + + public static class arrayIndex_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "arrayIndex" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:211:1: arrayIndex : ( typeId | expression '..' expression ); + public final DelphiParser.arrayIndex_return arrayIndex() throws RecognitionException { + DelphiParser.arrayIndex_return retval = new DelphiParser.arrayIndex_return(); + retval.start = input.LT(1); + int arrayIndex_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal190=null; + ParserRuleReturnScope typeId188 =null; + ParserRuleReturnScope expression189 =null; + ParserRuleReturnScope expression191 =null; + + Object string_literal190_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:211:30: ( typeId | expression '..' expression ) + int alt57=2; + alt57 = dfa57.predict(input); + switch (alt57) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:211:32: typeId + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_typeId_in_arrayIndex4027); + typeId188=typeId(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId188.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:212:32: expression '..' expression + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_expression_in_arrayIndex4060); + expression189=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression189.getTree()); + + string_literal190=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_arrayIndex4062); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal190_tree = (Object)adaptor.create(string_literal190); + adaptor.addChild(root_0, string_literal190_tree); + } + + pushFollow(FOLLOW_expression_in_arrayIndex4064); + expression191=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression191.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 44, arrayIndex_StartIndex); } + + } + return retval; + } + // $ANTLR end "arrayIndex" + + + public static class arraySubType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "arraySubType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:1: arraySubType : ( 'const' | typeDecl ); + public final DelphiParser.arraySubType_return arraySubType() throws RecognitionException { + DelphiParser.arraySubType_return retval = new DelphiParser.arraySubType_return(); + retval.start = input.LT(1); + int arraySubType_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal192=null; + ParserRuleReturnScope typeDecl193 =null; + + Object string_literal192_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:30: ( 'const' | typeDecl ) + int alt58=2; + int LA58_0 = input.LA(1); + if ( (LA58_0==CONST) ) { + int LA58_1 = input.LA(2); + if ( (synpred81_Delphi()) ) { + alt58=1; + } + else if ( (true) ) { + alt58=2; + } + + } + else if ( (LA58_0==EOF||LA58_0==ABSOLUTE||(LA58_0 >= ADD && LA58_0 <= ASSEMBLER)||(LA58_0 >= ASSIGN && LA58_0 <= AUTOMATED)||(LA58_0 >= BEGIN && LA58_0 <= COMMA)||(LA58_0 >= CONSTRUCTOR && LA58_0 <= DW)||(LA58_0 >= ELSE && LA58_0 <= FINALLY)||(LA58_0 >= FUNCTION && LA58_0 <= GE)||(LA58_0 >= GT && LA58_0 <= HELPER)||(LA58_0 >= IMPLEMENTATION && LA58_0 <= LBRACK)||(LA58_0 >= LE && LA58_0 <= OVERLOAD)||(LA58_0 >= PACKED && LA58_0 <= PROCEDURE)||(LA58_0 >= PROPERTY && LA58_0 <= QuotedString)||LA58_0==RBRACK||(LA58_0 >= READ && LA58_0 <= REGISTER)||LA58_0==REMOVE||(LA58_0 >= RESIDENT && LA58_0 <= SAFECALL)||(LA58_0 >= SEMI && LA58_0 <= TRUE)||LA58_0==TYPE||(LA58_0 >= TkHexNum && LA58_0 <= TkIntNum)||LA58_0==TkRealNum||(LA58_0 >= UNSAFE && LA58_0 <= UNTIL)||(LA58_0 >= VAR && LA58_0 <= VIRTUAL)||(LA58_0 >= WRITE && LA58_0 <= WRITEONLY)||(LA58_0 >= XOR && LA58_0 <= 210)) ) { + alt58=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 58, 0, input); + throw nvae; + } + + switch (alt58) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:32: 'const' + { + root_0 = (Object)adaptor.nil(); + + + string_literal192=(Token)match(input,CONST,FOLLOW_CONST_in_arraySubType4118); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal192_tree = (Object)adaptor.create(string_literal192); + adaptor.addChild(root_0, string_literal192_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:216:32: typeDecl + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_typeDecl_in_arraySubType4151); + typeDecl193=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl193.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 45, arraySubType_StartIndex); } + + } + return retval; + } + // $ANTLR end "arraySubType" + + + public static class setType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "setType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:218:1: setType : 'set' 'of' typeDecl -> 'set' typeDecl ; + public final DelphiParser.setType_return setType() throws RecognitionException { + DelphiParser.setType_return retval = new DelphiParser.setType_return(); + retval.start = input.LT(1); + int setType_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal194=null; + Token string_literal195=null; + ParserRuleReturnScope typeDecl196 =null; + + Object string_literal194_tree=null; + Object string_literal195_tree=null; + RewriteRuleTokenStream stream_SET=new RewriteRuleTokenStream(adaptor,"token SET"); + RewriteRuleTokenStream stream_OF=new RewriteRuleTokenStream(adaptor,"token OF"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:218:30: ( 'set' 'of' typeDecl -> 'set' typeDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:218:32: 'set' 'of' typeDecl + { + string_literal194=(Token)match(input,SET,FOLLOW_SET_in_setType4209); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SET.add(string_literal194); + + string_literal195=(Token)match(input,OF,FOLLOW_OF_in_setType4211); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_OF.add(string_literal195); + + pushFollow(FOLLOW_typeDecl_in_setType4213); + typeDecl196=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl196.getTree()); + // AST REWRITE + // elements: SET, typeDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 218:52: -> 'set' typeDecl + { + adaptor.addChild(root_0, stream_SET.nextNode()); + adaptor.addChild(root_0, stream_typeDecl.nextTree()); + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 46, setType_StartIndex); } + + } + return retval; + } + // $ANTLR end "setType" + + + public static class fileType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "fileType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:1: fileType : 'file' ( 'of' typeDecl )? ; + public final DelphiParser.fileType_return fileType() throws RecognitionException { + DelphiParser.fileType_return retval = new DelphiParser.fileType_return(); + retval.start = input.LT(1); + int fileType_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal197=null; + Token string_literal198=null; + ParserRuleReturnScope typeDecl199 =null; + + Object string_literal197_tree=null; + Object string_literal198_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 47) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:30: ( 'file' ( 'of' typeDecl )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:32: 'file' ( 'of' typeDecl )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal197=(Token)match(input,FILE,FOLLOW_FILE_in_fileType4287); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal197_tree = (Object)adaptor.create(string_literal197); + adaptor.addChild(root_0, string_literal197_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:39: ( 'of' typeDecl )? + int alt59=2; + int LA59_0 = input.LA(1); + if ( (LA59_0==OF) ) { + int LA59_1 = input.LA(2); + if ( (synpred82_Delphi()) ) { + alt59=1; + } + } + switch (alt59) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:40: 'of' typeDecl + { + string_literal198=(Token)match(input,OF,FOLLOW_OF_in_fileType4290); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal198_tree = (Object)adaptor.create(string_literal198); + adaptor.addChild(root_0, string_literal198_tree); + } + + pushFollow(FOLLOW_typeDecl_in_fileType4292); + typeDecl199=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl199.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 47, fileType_StartIndex); } + + } + return retval; + } + // $ANTLR end "fileType" + + + public static class pointerType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "pointerType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:223:1: pointerType : ( '^' typeDecl | 'pointer' ); + public final DelphiParser.pointerType_return pointerType() throws RecognitionException { + DelphiParser.pointerType_return retval = new DelphiParser.pointerType_return(); + retval.start = input.LT(1); + int pointerType_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal200=null; + Token string_literal202=null; + ParserRuleReturnScope typeDecl201 =null; + + Object char_literal200_tree=null; + Object string_literal202_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 48) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:223:30: ( '^' typeDecl | 'pointer' ) + int alt60=2; + int LA60_0 = input.LA(1); + if ( (LA60_0==POINTER2) ) { + alt60=1; + } + else if ( (LA60_0==POINTER) ) { + alt60=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 60, 0, input); + throw nvae; + } + + switch (alt60) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:223:32: '^' typeDecl + { + root_0 = (Object)adaptor.nil(); + + + char_literal200=(Token)match(input,POINTER2,FOLLOW_POINTER2_in_pointerType4348); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal200_tree = (Object)adaptor.create(char_literal200); + adaptor.addChild(root_0, char_literal200_tree); + } + + pushFollow(FOLLOW_typeDecl_in_pointerType4350); + typeDecl201=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl201.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:224:32: 'pointer' + { + root_0 = (Object)adaptor.nil(); + + + string_literal202=(Token)match(input,POINTER,FOLLOW_POINTER_in_pointerType4383); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal202_tree = (Object)adaptor.create(string_literal202); + adaptor.addChild(root_0, string_literal202_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 48, pointerType_StartIndex); } + + } + return retval; + } + // $ANTLR end "pointerType" + + + public static class stringType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "stringType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:1: stringType : ( 'string' ( '[' expression ']' )? -> 'string' | ( 'type' )? ANSISTRING ( codePageNumber )? ); + public final DelphiParser.stringType_return stringType() throws RecognitionException { + DelphiParser.stringType_return retval = new DelphiParser.stringType_return(); + retval.start = input.LT(1); + int stringType_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal203=null; + Token char_literal204=null; + Token char_literal206=null; + Token string_literal207=null; + Token ANSISTRING208=null; + ParserRuleReturnScope expression205 =null; + ParserRuleReturnScope codePageNumber209 =null; + + Object string_literal203_tree=null; + Object char_literal204_tree=null; + Object char_literal206_tree=null; + Object string_literal207_tree=null; + Object ANSISTRING208_tree=null; + RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); + RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); + RewriteRuleTokenStream stream_STRING=new RewriteRuleTokenStream(adaptor,"token STRING"); + RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 49) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:30: ( 'string' ( '[' expression ']' )? -> 'string' | ( 'type' )? ANSISTRING ( codePageNumber )? ) + int alt64=2; + int LA64_0 = input.LA(1); + if ( (LA64_0==STRING) ) { + alt64=1; + } + else if ( (LA64_0==ANSISTRING||LA64_0==TYPE) ) { + alt64=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 64, 0, input); + throw nvae; + } + + switch (alt64) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:32: 'string' ( '[' expression ']' )? + { + string_literal203=(Token)match(input,STRING,FOLLOW_STRING_in_stringType4438); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_STRING.add(string_literal203); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:41: ( '[' expression ']' )? + int alt61=2; + alt61 = dfa61.predict(input); + switch (alt61) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:42: '[' expression ']' + { + char_literal204=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_stringType4441); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LBRACK.add(char_literal204); + + pushFollow(FOLLOW_expression_in_stringType4443); + expression205=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_expression.add(expression205.getTree()); + char_literal206=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_stringType4445); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RBRACK.add(char_literal206); + + } + break; + + } + + // AST REWRITE + // elements: STRING + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 226:63: -> 'string' + { + adaptor.addChild(root_0, stream_STRING.nextNode()); + } + + + retval.tree = root_0; + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:227:32: ( 'type' )? ANSISTRING ( codePageNumber )? + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:227:32: ( 'type' )? + int alt62=2; + int LA62_0 = input.LA(1); + if ( (LA62_0==TYPE) ) { + alt62=1; + } + switch (alt62) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:227:33: 'type' + { + string_literal207=(Token)match(input,TYPE,FOLLOW_TYPE_in_stringType4485); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal207_tree = (Object)adaptor.create(string_literal207); + adaptor.addChild(root_0, string_literal207_tree); + } + + } + break; + + } + + ANSISTRING208=(Token)match(input,ANSISTRING,FOLLOW_ANSISTRING_in_stringType4489); if (state.failed) return retval; + if ( state.backtracking==0 ) { + ANSISTRING208_tree = (Object)adaptor.create(ANSISTRING208); + adaptor.addChild(root_0, ANSISTRING208_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:227:53: ( codePageNumber )? + int alt63=2; + int LA63_0 = input.LA(1); + if ( (LA63_0==LPAREN) ) { + int LA63_1 = input.LA(2); + if ( (LA63_1==TkHexNum||LA63_1==TkIntNum) ) { + int LA63_3 = input.LA(3); + if ( (LA63_3==RPAREN) ) { + int LA63_4 = input.LA(4); + if ( (synpred87_Delphi()) ) { + alt63=1; + } + } + } + } + switch (alt63) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:227:54: codePageNumber + { + pushFollow(FOLLOW_codePageNumber_in_stringType4492); + codePageNumber209=codePageNumber(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, codePageNumber209.getTree()); + + } + break; + + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 49, stringType_StartIndex); } + + } + return retval; + } + // $ANTLR end "stringType" + + + public static class codePageNumber_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "codePageNumber" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:229:1: codePageNumber : '(' intNum ')' ; + public final DelphiParser.codePageNumber_return codePageNumber() throws RecognitionException { + DelphiParser.codePageNumber_return retval = new DelphiParser.codePageNumber_return(); + retval.start = input.LT(1); + int codePageNumber_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal210=null; + Token char_literal212=null; + ParserRuleReturnScope intNum211 =null; + + Object char_literal210_tree=null; + Object char_literal212_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 50) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:229:30: ( '(' intNum ')' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:229:32: '(' intNum ')' + { + root_0 = (Object)adaptor.nil(); + + + char_literal210=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_codePageNumber4545); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal210_tree = (Object)adaptor.create(char_literal210); + adaptor.addChild(root_0, char_literal210_tree); + } + + pushFollow(FOLLOW_intNum_in_codePageNumber4547); + intNum211=intNum(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, intNum211.getTree()); + + char_literal212=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_codePageNumber4549); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal212_tree = (Object)adaptor.create(char_literal212); + adaptor.addChild(root_0, char_literal212_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 50, codePageNumber_StartIndex); } + + } + return retval; + } + // $ANTLR end "codePageNumber" + + + public static class procedureType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "procedureType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:1: procedureType : ( methodType | simpleProcedureType | procedureReference ); + public final DelphiParser.procedureType_return procedureType() throws RecognitionException { + DelphiParser.procedureType_return retval = new DelphiParser.procedureType_return(); + retval.start = input.LT(1); + int procedureType_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope methodType213 =null; + ParserRuleReturnScope simpleProcedureType214 =null; + ParserRuleReturnScope procedureReference215 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 51) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:30: ( methodType | simpleProcedureType | procedureReference ) + int alt65=3; + switch ( input.LA(1) ) { + case FUNCTION: + { + int LA65_1 = input.LA(2); + if ( (synpred88_Delphi()) ) { + alt65=1; + } + else if ( (synpred89_Delphi()) ) { + alt65=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 65, 1, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case PROCEDURE: + { + int LA65_2 = input.LA(2); + if ( (synpred88_Delphi()) ) { + alt65=1; + } + else if ( (synpred89_Delphi()) ) { + alt65=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 65, 2, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case REFERENCE: + { + alt65=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 65, 0, input); + throw nvae; + } + switch (alt65) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:32: methodType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_methodType_in_procedureType4601); + methodType213=methodType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, methodType213.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:232:32: simpleProcedureType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_simpleProcedureType_in_procedureType4634); + simpleProcedureType214=simpleProcedureType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleProcedureType214.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:233:32: procedureReference + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_procedureReference_in_procedureType4667); + procedureReference215=procedureReference(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureReference215.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 51, procedureType_StartIndex); } + + } + return retval; + } + // $ANTLR end "procedureType" + + + public static class methodType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "methodType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:235:1: methodType : procedureTypeHeading 'of' 'object' ; + public final DelphiParser.methodType_return methodType() throws RecognitionException { + DelphiParser.methodType_return retval = new DelphiParser.methodType_return(); + retval.start = input.LT(1); + int methodType_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal217=null; + Token string_literal218=null; + ParserRuleReturnScope procedureTypeHeading216 =null; + + Object string_literal217_tree=null; + Object string_literal218_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 52) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:235:30: ( procedureTypeHeading 'of' 'object' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:235:32: procedureTypeHeading 'of' 'object' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_procedureTypeHeading_in_methodType4722); + procedureTypeHeading216=procedureTypeHeading(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureTypeHeading216.getTree()); + + string_literal217=(Token)match(input,OF,FOLLOW_OF_in_methodType4724); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal217_tree = (Object)adaptor.create(string_literal217); + adaptor.addChild(root_0, string_literal217_tree); + } + + string_literal218=(Token)match(input,OBJECT,FOLLOW_OBJECT_in_methodType4726); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal218_tree = (Object)adaptor.create(string_literal218); + adaptor.addChild(root_0, string_literal218_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 52, methodType_StartIndex); } + + } + return retval; + } + // $ANTLR end "methodType" + + + public static class simpleProcedureType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "simpleProcedureType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:1: simpleProcedureType : procedureTypeHeading ( ( ';' )? callConventionNoSemi )? ; + public final DelphiParser.simpleProcedureType_return simpleProcedureType() throws RecognitionException { + DelphiParser.simpleProcedureType_return retval = new DelphiParser.simpleProcedureType_return(); + retval.start = input.LT(1); + int simpleProcedureType_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal220=null; + ParserRuleReturnScope procedureTypeHeading219 =null; + ParserRuleReturnScope callConventionNoSemi221 =null; + + Object char_literal220_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 53) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:30: ( procedureTypeHeading ( ( ';' )? callConventionNoSemi )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:32: procedureTypeHeading ( ( ';' )? callConventionNoSemi )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_procedureTypeHeading_in_simpleProcedureType4772); + procedureTypeHeading219=procedureTypeHeading(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureTypeHeading219.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:53: ( ( ';' )? callConventionNoSemi )? + int alt67=2; + switch ( input.LA(1) ) { + case SEMI: + { + int LA67_1 = input.LA(2); + if ( (synpred91_Delphi()) ) { + alt67=1; + } + } + break; + case REGISTER: + { + int LA67_2 = input.LA(2); + if ( (synpred91_Delphi()) ) { + alt67=1; + } + } + break; + case CDECL: + { + int LA67_4 = input.LA(2); + if ( (synpred91_Delphi()) ) { + alt67=1; + } + } + break; + case PASCAL: + { + int LA67_5 = input.LA(2); + if ( (synpred91_Delphi()) ) { + alt67=1; + } + } + break; + case SAFECALL: + { + int LA67_6 = input.LA(2); + if ( (synpred91_Delphi()) ) { + alt67=1; + } + } + break; + case EXPORT: + { + int LA67_7 = input.LA(2); + if ( (synpred91_Delphi()) ) { + alt67=1; + } + } + break; + case STDCALL: + { + int LA67_8 = input.LA(2); + if ( (synpred91_Delphi()) ) { + alt67=1; + } + } + break; + } + switch (alt67) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:55: ( ';' )? callConventionNoSemi + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:55: ( ';' )? + int alt66=2; + int LA66_0 = input.LA(1); + if ( (LA66_0==SEMI) ) { + alt66=1; + } + switch (alt66) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:56: ';' + { + char_literal220=(Token)match(input,SEMI,FOLLOW_SEMI_in_simpleProcedureType4777); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal220_tree = (Object)adaptor.create(char_literal220); + adaptor.addChild(root_0, char_literal220_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_callConventionNoSemi_in_simpleProcedureType4781); + callConventionNoSemi221=callConventionNoSemi(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, callConventionNoSemi221.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 53, simpleProcedureType_StartIndex); } + + } + return retval; + } + // $ANTLR end "simpleProcedureType" + + + public static class procedureReference_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "procedureReference" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:1: procedureReference : 'reference' 'to' procedureTypeHeading ; + public final DelphiParser.procedureReference_return procedureReference() throws RecognitionException { + DelphiParser.procedureReference_return retval = new DelphiParser.procedureReference_return(); + retval.start = input.LT(1); + int procedureReference_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal222=null; + Token string_literal223=null; + ParserRuleReturnScope procedureTypeHeading224 =null; + + Object string_literal222_tree=null; + Object string_literal223_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 54) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:30: ( 'reference' 'to' procedureTypeHeading ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:239:32: 'reference' 'to' procedureTypeHeading + { + root_0 = (Object)adaptor.nil(); + + + string_literal222=(Token)match(input,REFERENCE,FOLLOW_REFERENCE_in_procedureReference4830); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal222_tree = (Object)adaptor.create(string_literal222); + adaptor.addChild(root_0, string_literal222_tree); + } + + string_literal223=(Token)match(input,TO,FOLLOW_TO_in_procedureReference4832); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal223_tree = (Object)adaptor.create(string_literal223); + adaptor.addChild(root_0, string_literal223_tree); + } + + pushFollow(FOLLOW_procedureTypeHeading_in_procedureReference4834); + procedureTypeHeading224=procedureTypeHeading(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, procedureTypeHeading224.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 54, procedureReference_StartIndex); } + + } + return retval; + } + // $ANTLR end "procedureReference" + + + public static class procedureTypeHeading_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "procedureTypeHeading" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:1: procedureTypeHeading : ( 'function' ( formalParameterSection )? ':' ( customAttribute )? typeDecl -> 'function' ( formalParameterSection )? ^( TkFunctionReturn typeDecl ) | 'procedure' ( formalParameterSection )? ); + public final DelphiParser.procedureTypeHeading_return procedureTypeHeading() throws RecognitionException { + DelphiParser.procedureTypeHeading_return retval = new DelphiParser.procedureTypeHeading_return(); + retval.start = input.LT(1); + int procedureTypeHeading_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal225=null; + Token char_literal227=null; + Token string_literal230=null; + ParserRuleReturnScope formalParameterSection226 =null; + ParserRuleReturnScope customAttribute228 =null; + ParserRuleReturnScope typeDecl229 =null; + ParserRuleReturnScope formalParameterSection231 =null; + + Object string_literal225_tree=null; + Object char_literal227_tree=null; + Object string_literal230_tree=null; + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleTokenStream stream_FUNCTION=new RewriteRuleTokenStream(adaptor,"token FUNCTION"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_formalParameterSection=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterSection"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 55) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:30: ( 'function' ( formalParameterSection )? ':' ( customAttribute )? typeDecl -> 'function' ( formalParameterSection )? ^( TkFunctionReturn typeDecl ) | 'procedure' ( formalParameterSection )? ) + int alt71=2; + int LA71_0 = input.LA(1); + if ( (LA71_0==FUNCTION) ) { + alt71=1; + } + else if ( (LA71_0==PROCEDURE) ) { + alt71=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 71, 0, input); + throw nvae; + } + + switch (alt71) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:32: 'function' ( formalParameterSection )? ':' ( customAttribute )? typeDecl + { + string_literal225=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_procedureTypeHeading4879); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_FUNCTION.add(string_literal225); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:43: ( formalParameterSection )? + int alt68=2; + int LA68_0 = input.LA(1); + if ( (LA68_0==LPAREN) ) { + alt68=1; + } + switch (alt68) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:44: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_procedureTypeHeading4882); + formalParameterSection226=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection226.getTree()); + } + break; + + } + + char_literal227=(Token)match(input,COLON,FOLLOW_COLON_in_procedureTypeHeading4886); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal227); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:73: ( customAttribute )? + int alt69=2; + alt69 = dfa69.predict(input); + switch (alt69) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:74: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_procedureTypeHeading4889); + customAttribute228=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute228.getTree()); + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_procedureTypeHeading4893); + typeDecl229=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl229.getTree()); + // AST REWRITE + // elements: typeDecl, FUNCTION, formalParameterSection + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 241:101: -> 'function' ( formalParameterSection )? ^( TkFunctionReturn typeDecl ) + { + adaptor.addChild(root_0, stream_FUNCTION.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:115: ( formalParameterSection )? + if ( stream_formalParameterSection.hasNext() ) { + adaptor.addChild(root_0, stream_formalParameterSection.nextTree()); + } + stream_formalParameterSection.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:141: ^( TkFunctionReturn typeDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_1); + adaptor.addChild(root_1, stream_typeDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:242:32: 'procedure' ( formalParameterSection )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal230=(Token)match(input,PROCEDURE,FOLLOW_PROCEDURE_in_procedureTypeHeading4941); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal230_tree = (Object)adaptor.create(string_literal230); + adaptor.addChild(root_0, string_literal230_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:242:44: ( formalParameterSection )? + int alt70=2; + alt70 = dfa70.predict(input); + switch (alt70) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:242:45: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_procedureTypeHeading4944); + formalParameterSection231=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection231.getTree()); + + } + break; + + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 55, procedureTypeHeading_StartIndex); } + + } + return retval; + } + // $ANTLR end "procedureTypeHeading" + + + public static class variantType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "variantType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:244:1: variantType : 'variant' ; + public final DelphiParser.variantType_return variantType() throws RecognitionException { + DelphiParser.variantType_return retval = new DelphiParser.variantType_return(); + retval.start = input.LT(1); + int variantType_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal232=null; + + Object string_literal232_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 56) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:244:30: ( 'variant' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:244:32: 'variant' + { + root_0 = (Object)adaptor.nil(); + + + string_literal232=(Token)match(input,VARIANT,FOLLOW_VARIANT_in_variantType5000); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal232_tree = (Object)adaptor.create(string_literal232); + adaptor.addChild(root_0, string_literal232_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 56, variantType_StartIndex); } + + } + return retval; + } + // $ANTLR end "variantType" + + + public static class simpleType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "simpleType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:246:1: simpleType : ( ident | subRangeType | enumType ); + public final DelphiParser.simpleType_return simpleType() throws RecognitionException { + DelphiParser.simpleType_return retval = new DelphiParser.simpleType_return(); + retval.start = input.LT(1); + int simpleType_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope ident233 =null; + ParserRuleReturnScope subRangeType234 =null; + ParserRuleReturnScope enumType235 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 57) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:246:30: ( ident | subRangeType | enumType ) + int alt72=3; + alt72 = dfa72.predict(input); + switch (alt72) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:246:32: ident + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_ident_in_simpleType5056); + ident233=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident233.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:247:32: subRangeType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_subRangeType_in_simpleType5089); + subRangeType234=subRangeType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, subRangeType234.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:248:32: enumType + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_enumType_in_simpleType5122); + enumType235=enumType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, enumType235.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 57, simpleType_StartIndex); } + + } + return retval; + } + // $ANTLR end "simpleType" + + + public static class subRangeType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "subRangeType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:1: subRangeType : constExpression ( '..' constExpression )? ; + public final DelphiParser.subRangeType_return subRangeType() throws RecognitionException { + DelphiParser.subRangeType_return retval = new DelphiParser.subRangeType_return(); + retval.start = input.LT(1); + int subRangeType_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal237=null; + ParserRuleReturnScope constExpression236 =null; + ParserRuleReturnScope constExpression238 =null; + + Object string_literal237_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 58) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:30: ( constExpression ( '..' constExpression )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:32: constExpression ( '..' constExpression )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_constExpression_in_subRangeType5175); + constExpression236=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression236.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:48: ( '..' constExpression )? + int alt73=2; + int LA73_0 = input.LA(1); + if ( (LA73_0==DOTDOT) ) { + int LA73_1 = input.LA(2); + if ( (synpred98_Delphi()) ) { + alt73=1; + } + } + switch (alt73) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:49: '..' constExpression + { + string_literal237=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_subRangeType5178); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal237_tree = (Object)adaptor.create(string_literal237); + adaptor.addChild(root_0, string_literal237_tree); + } + + pushFollow(FOLLOW_constExpression_in_subRangeType5180); + constExpression238=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression238.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 58, subRangeType_StartIndex); } + + } + return retval; + } + // $ANTLR end "subRangeType" + + + public static class enumType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "enumType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:1: enumType : '(' ident ( '=' expression )? ( ',' ident ( '=' expression )? )* ')' ; + public final DelphiParser.enumType_return enumType() throws RecognitionException { + DelphiParser.enumType_return retval = new DelphiParser.enumType_return(); + retval.start = input.LT(1); + int enumType_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal239=null; + Token char_literal241=null; + Token char_literal243=null; + Token char_literal245=null; + Token char_literal247=null; + ParserRuleReturnScope ident240 =null; + ParserRuleReturnScope expression242 =null; + ParserRuleReturnScope ident244 =null; + ParserRuleReturnScope expression246 =null; + + Object char_literal239_tree=null; + Object char_literal241_tree=null; + Object char_literal243_tree=null; + Object char_literal245_tree=null; + Object char_literal247_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 59) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:30: ( '(' ident ( '=' expression )? ( ',' ident ( '=' expression )? )* ')' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:32: '(' ident ( '=' expression )? ( ',' ident ( '=' expression )? )* ')' + { + root_0 = (Object)adaptor.nil(); + + + char_literal239=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_enumType5239); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal239_tree = (Object)adaptor.create(char_literal239); + adaptor.addChild(root_0, char_literal239_tree); + } + + pushFollow(FOLLOW_ident_in_enumType5241); + ident240=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident240.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:42: ( '=' expression )? + int alt74=2; + int LA74_0 = input.LA(1); + if ( (LA74_0==EQUAL) ) { + alt74=1; + } + switch (alt74) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:43: '=' expression + { + char_literal241=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_enumType5244); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal241_tree = (Object)adaptor.create(char_literal241); + adaptor.addChild(root_0, char_literal241_tree); + } + + pushFollow(FOLLOW_expression_in_enumType5246); + expression242=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression242.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:60: ( ',' ident ( '=' expression )? )* + loop76: + while (true) { + int alt76=2; + int LA76_0 = input.LA(1); + if ( (LA76_0==COMMA) ) { + alt76=1; + } + + switch (alt76) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:61: ',' ident ( '=' expression )? + { + char_literal243=(Token)match(input,COMMA,FOLLOW_COMMA_in_enumType5251); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal243_tree = (Object)adaptor.create(char_literal243); + adaptor.addChild(root_0, char_literal243_tree); + } + + pushFollow(FOLLOW_ident_in_enumType5253); + ident244=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident244.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:71: ( '=' expression )? + int alt75=2; + int LA75_0 = input.LA(1); + if ( (LA75_0==EQUAL) ) { + alt75=1; + } + switch (alt75) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:252:72: '=' expression + { + char_literal245=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_enumType5256); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal245_tree = (Object)adaptor.create(char_literal245); + adaptor.addChild(root_0, char_literal245_tree); + } + + pushFollow(FOLLOW_expression_in_enumType5258); + expression246=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression246.getTree()); + + } + break; + + } + + } + break; + + default : + break loop76; + } + } + + char_literal247=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_enumType5265); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal247_tree = (Object)adaptor.create(char_literal247); + adaptor.addChild(root_0, char_literal247_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 59, enumType_StartIndex); } + + } + return retval; + } + // $ANTLR end "enumType" + + + public static class typeId_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "typeId" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:254:1: typeId : qualifiedIdent ; + public final DelphiParser.typeId_return typeId() throws RecognitionException { + DelphiParser.typeId_return retval = new DelphiParser.typeId_return(); + retval.start = input.LT(1); + int typeId_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope qualifiedIdent248 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 60) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:254:30: ( qualifiedIdent ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:254:32: qualifiedIdent + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_qualifiedIdent_in_typeId5324); + qualifiedIdent248=qualifiedIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, qualifiedIdent248.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 60, typeId_StartIndex); } + + } + return retval; + } + // $ANTLR end "typeId" + + + public static class genericTypeIdent_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "genericTypeIdent" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:259:1: genericTypeIdent : qualifiedIdent ( genericDefinition )? -> qualifiedIdent ; + public final DelphiParser.genericTypeIdent_return genericTypeIdent() throws RecognitionException { + DelphiParser.genericTypeIdent_return retval = new DelphiParser.genericTypeIdent_return(); + retval.start = input.LT(1); + int genericTypeIdent_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope qualifiedIdent249 =null; + ParserRuleReturnScope genericDefinition250 =null; + + RewriteRuleSubtreeStream stream_genericDefinition=new RewriteRuleSubtreeStream(adaptor,"rule genericDefinition"); + RewriteRuleSubtreeStream stream_qualifiedIdent=new RewriteRuleSubtreeStream(adaptor,"rule qualifiedIdent"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 61) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:259:30: ( qualifiedIdent ( genericDefinition )? -> qualifiedIdent ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:259:32: qualifiedIdent ( genericDefinition )? + { + pushFollow(FOLLOW_qualifiedIdent_in_genericTypeIdent5376); + qualifiedIdent249=qualifiedIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_qualifiedIdent.add(qualifiedIdent249.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:259:47: ( genericDefinition )? + int alt77=2; + int LA77_0 = input.LA(1); + if ( (LA77_0==LT) ) { + alt77=1; + } + switch (alt77) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:259:48: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_genericTypeIdent5379); + genericDefinition250=genericDefinition(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_genericDefinition.add(genericDefinition250.getTree()); + } + break; + + } + + // AST REWRITE + // elements: qualifiedIdent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 259:68: -> qualifiedIdent + { + adaptor.addChild(root_0, stream_qualifiedIdent.nextTree()); + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 61, genericTypeIdent_StartIndex); } + + } + return retval; + } + // $ANTLR end "genericTypeIdent" + + + public static class genericDefinition_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "genericDefinition" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:261:1: genericDefinition : '<' innerGeneric ( ';' innerGeneric )* '>' ; + public final DelphiParser.genericDefinition_return genericDefinition() throws RecognitionException { + DelphiParser.genericDefinition_return retval = new DelphiParser.genericDefinition_return(); + retval.start = input.LT(1); + int genericDefinition_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal251=null; + Token char_literal253=null; + Token char_literal255=null; + ParserRuleReturnScope innerGeneric252 =null; + ParserRuleReturnScope innerGeneric254 =null; + + Object char_literal251_tree=null; + Object char_literal253_tree=null; + Object char_literal255_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 62) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:261:29: ( '<' innerGeneric ( ';' innerGeneric )* '>' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:261:31: '<' innerGeneric ( ';' innerGeneric )* '>' + { + root_0 = (Object)adaptor.nil(); + + + char_literal251=(Token)match(input,LT,FOLLOW_LT_in_genericDefinition5436); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal251_tree = (Object)adaptor.create(char_literal251); + adaptor.addChild(root_0, char_literal251_tree); + } + + pushFollow(FOLLOW_innerGeneric_in_genericDefinition5438); + innerGeneric252=innerGeneric(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, innerGeneric252.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:261:48: ( ';' innerGeneric )* + loop78: + while (true) { + int alt78=2; + int LA78_0 = input.LA(1); + if ( (LA78_0==SEMI) ) { + alt78=1; + } + + switch (alt78) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:261:49: ';' innerGeneric + { + char_literal253=(Token)match(input,SEMI,FOLLOW_SEMI_in_genericDefinition5441); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal253_tree = (Object)adaptor.create(char_literal253); + adaptor.addChild(root_0, char_literal253_tree); + } + + pushFollow(FOLLOW_innerGeneric_in_genericDefinition5443); + innerGeneric254=innerGeneric(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, innerGeneric254.getTree()); + + } + break; + + default : + break loop78; + } + } + + char_literal255=(Token)match(input,GT,FOLLOW_GT_in_genericDefinition5447); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal255_tree = (Object)adaptor.create(char_literal255); + adaptor.addChild(root_0, char_literal255_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 62, genericDefinition_StartIndex); } + + } + return retval; + } + // $ANTLR end "genericDefinition" + + + public static class innerGeneric_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "innerGeneric" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:1: innerGeneric : genericTypeIdent ( ',' genericTypeIdent )* ( ':' genericConstraint ( ',' genericConstraint )* )? ; + public final DelphiParser.innerGeneric_return innerGeneric() throws RecognitionException { + DelphiParser.innerGeneric_return retval = new DelphiParser.innerGeneric_return(); + retval.start = input.LT(1); + int innerGeneric_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal257=null; + Token char_literal259=null; + Token char_literal261=null; + ParserRuleReturnScope genericTypeIdent256 =null; + ParserRuleReturnScope genericTypeIdent258 =null; + ParserRuleReturnScope genericConstraint260 =null; + ParserRuleReturnScope genericConstraint262 =null; + + Object char_literal257_tree=null; + Object char_literal259_tree=null; + Object char_literal261_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 63) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:30: ( genericTypeIdent ( ',' genericTypeIdent )* ( ':' genericConstraint ( ',' genericConstraint )* )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:32: genericTypeIdent ( ',' genericTypeIdent )* ( ':' genericConstraint ( ',' genericConstraint )* )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_genericTypeIdent_in_innerGeneric5500); + genericTypeIdent256=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericTypeIdent256.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:49: ( ',' genericTypeIdent )* + loop79: + while (true) { + int alt79=2; + int LA79_0 = input.LA(1); + if ( (LA79_0==COMMA) ) { + alt79=1; + } + + switch (alt79) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:50: ',' genericTypeIdent + { + char_literal257=(Token)match(input,COMMA,FOLLOW_COMMA_in_innerGeneric5503); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal257_tree = (Object)adaptor.create(char_literal257); + adaptor.addChild(root_0, char_literal257_tree); + } + + pushFollow(FOLLOW_genericTypeIdent_in_innerGeneric5505); + genericTypeIdent258=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericTypeIdent258.getTree()); + + } + break; + + default : + break loop79; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:73: ( ':' genericConstraint ( ',' genericConstraint )* )? + int alt81=2; + int LA81_0 = input.LA(1); + if ( (LA81_0==COLON) ) { + alt81=1; + } + switch (alt81) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:74: ':' genericConstraint ( ',' genericConstraint )* + { + char_literal259=(Token)match(input,COLON,FOLLOW_COLON_in_innerGeneric5510); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal259_tree = (Object)adaptor.create(char_literal259); + adaptor.addChild(root_0, char_literal259_tree); + } + + pushFollow(FOLLOW_genericConstraint_in_innerGeneric5512); + genericConstraint260=genericConstraint(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericConstraint260.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:96: ( ',' genericConstraint )* + loop80: + while (true) { + int alt80=2; + int LA80_0 = input.LA(1); + if ( (LA80_0==COMMA) ) { + alt80=1; + } + + switch (alt80) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:263:97: ',' genericConstraint + { + char_literal261=(Token)match(input,COMMA,FOLLOW_COMMA_in_innerGeneric5515); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal261_tree = (Object)adaptor.create(char_literal261); + adaptor.addChild(root_0, char_literal261_tree); + } + + pushFollow(FOLLOW_genericConstraint_in_innerGeneric5517); + genericConstraint262=genericConstraint(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericConstraint262.getTree()); + + } + break; + + default : + break loop80; + } + } + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 63, innerGeneric_StartIndex); } + + } + return retval; + } + // $ANTLR end "innerGeneric" + + + public static class genericConstraint_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "genericConstraint" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:265:1: genericConstraint : ( genericTypeIdent | 'record' | 'class' | 'constructor' ); + public final DelphiParser.genericConstraint_return genericConstraint() throws RecognitionException { + DelphiParser.genericConstraint_return retval = new DelphiParser.genericConstraint_return(); + retval.start = input.LT(1); + int genericConstraint_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal264=null; + Token string_literal265=null; + Token string_literal266=null; + ParserRuleReturnScope genericTypeIdent263 =null; + + Object string_literal264_tree=null; + Object string_literal265_tree=null; + Object string_literal266_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 64) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:265:30: ( genericTypeIdent | 'record' | 'class' | 'constructor' ) + int alt82=4; + switch ( input.LA(1) ) { + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case TkIdentifier: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + case 198: + { + alt82=1; + } + break; + case RECORD: + { + alt82=2; + } + break; + case CLASS: + { + alt82=3; + } + break; + case CONSTRUCTOR: + { + alt82=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 82, 0, input); + throw nvae; + } + switch (alt82) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:265:32: genericTypeIdent + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_genericTypeIdent_in_genericConstraint5569); + genericTypeIdent263=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericTypeIdent263.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:266:32: 'record' + { + root_0 = (Object)adaptor.nil(); + + + string_literal264=(Token)match(input,RECORD,FOLLOW_RECORD_in_genericConstraint5602); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal264_tree = (Object)adaptor.create(string_literal264); + adaptor.addChild(root_0, string_literal264_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:267:32: 'class' + { + root_0 = (Object)adaptor.nil(); + + + string_literal265=(Token)match(input,CLASS,FOLLOW_CLASS_in_genericConstraint5635); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal265_tree = (Object)adaptor.create(string_literal265); + adaptor.addChild(root_0, string_literal265_tree); + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:268:32: 'constructor' + { + root_0 = (Object)adaptor.nil(); + + + string_literal266=(Token)match(input,CONSTRUCTOR,FOLLOW_CONSTRUCTOR_in_genericConstraint5668); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal266_tree = (Object)adaptor.create(string_literal266); + adaptor.addChild(root_0, string_literal266_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 64, genericConstraint_StartIndex); } + + } + return retval; + } + // $ANTLR end "genericConstraint" + + + public static class genericPostfix_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "genericPostfix" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:270:1: genericPostfix : '<' typeDecl ( ',' typeDecl )* '>' ; + public final DelphiParser.genericPostfix_return genericPostfix() throws RecognitionException { + DelphiParser.genericPostfix_return retval = new DelphiParser.genericPostfix_return(); + retval.start = input.LT(1); + int genericPostfix_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal267=null; + Token char_literal269=null; + Token char_literal271=null; + ParserRuleReturnScope typeDecl268 =null; + ParserRuleReturnScope typeDecl270 =null; + + Object char_literal267_tree=null; + Object char_literal269_tree=null; + Object char_literal271_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 65) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:270:30: ( '<' typeDecl ( ',' typeDecl )* '>' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:270:32: '<' typeDecl ( ',' typeDecl )* '>' + { + root_0 = (Object)adaptor.nil(); + + + char_literal267=(Token)match(input,LT,FOLLOW_LT_in_genericPostfix5719); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal267_tree = (Object)adaptor.create(char_literal267); + adaptor.addChild(root_0, char_literal267_tree); + } + + pushFollow(FOLLOW_typeDecl_in_genericPostfix5721); + typeDecl268=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl268.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:270:45: ( ',' typeDecl )* + loop83: + while (true) { + int alt83=2; + int LA83_0 = input.LA(1); + if ( (LA83_0==COMMA) ) { + alt83=1; + } + + switch (alt83) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:270:46: ',' typeDecl + { + char_literal269=(Token)match(input,COMMA,FOLLOW_COMMA_in_genericPostfix5724); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal269_tree = (Object)adaptor.create(char_literal269); + adaptor.addChild(root_0, char_literal269_tree); + } + + pushFollow(FOLLOW_typeDecl_in_genericPostfix5726); + typeDecl270=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl270.getTree()); + + } + break; + + default : + break loop83; + } + } + + char_literal271=(Token)match(input,GT,FOLLOW_GT_in_genericPostfix5730); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal271_tree = (Object)adaptor.create(char_literal271); + adaptor.addChild(root_0, char_literal271_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 65, genericPostfix_StartIndex); } + + } + return retval; + } + // $ANTLR end "genericPostfix" + + + public static class paranthesePostfix_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "paranthesePostfix" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:272:1: paranthesePostfix : '(' intRealNum ')' ; + public final DelphiParser.paranthesePostfix_return paranthesePostfix() throws RecognitionException { + DelphiParser.paranthesePostfix_return retval = new DelphiParser.paranthesePostfix_return(); + retval.start = input.LT(1); + int paranthesePostfix_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal272=null; + Token char_literal274=null; + ParserRuleReturnScope intRealNum273 =null; + + Object char_literal272_tree=null; + Object char_literal274_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 66) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:272:30: ( '(' intRealNum ')' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:272:32: '(' intRealNum ')' + { + root_0 = (Object)adaptor.nil(); + + + char_literal272=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_paranthesePostfix5778); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal272_tree = (Object)adaptor.create(char_literal272); + adaptor.addChild(root_0, char_literal272_tree); + } + + pushFollow(FOLLOW_intRealNum_in_paranthesePostfix5780); + intRealNum273=intRealNum(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, intRealNum273.getTree()); + + char_literal274=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_paranthesePostfix5782); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal274_tree = (Object)adaptor.create(char_literal274); + adaptor.addChild(root_0, char_literal274_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 66, paranthesePostfix_StartIndex); } + + } + return retval; + } + // $ANTLR end "paranthesePostfix" + + + public static class classDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:277:1: classDecl : ( classTypeTypeDecl | classHelperDecl -> ^( TkClass classHelperDecl ) | classTypeDecl -> ^( TkClass classTypeDecl ) | interfaceTypeDecl -> ^( TkInterface interfaceTypeDecl ) | objectDecl -> ^( TkObject objectDecl ) | recordDecl -> ^( TkRecord recordDecl ) | recordHelperDecl -> ^( TkRecordHelper recordHelperDecl ) ); + public final DelphiParser.classDecl_return classDecl() throws RecognitionException { + DelphiParser.classDecl_return retval = new DelphiParser.classDecl_return(); + retval.start = input.LT(1); + int classDecl_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope classTypeTypeDecl275 =null; + ParserRuleReturnScope classHelperDecl276 =null; + ParserRuleReturnScope classTypeDecl277 =null; + ParserRuleReturnScope interfaceTypeDecl278 =null; + ParserRuleReturnScope objectDecl279 =null; + ParserRuleReturnScope recordDecl280 =null; + ParserRuleReturnScope recordHelperDecl281 =null; + + RewriteRuleSubtreeStream stream_interfaceTypeDecl=new RewriteRuleSubtreeStream(adaptor,"rule interfaceTypeDecl"); + RewriteRuleSubtreeStream stream_recordHelperDecl=new RewriteRuleSubtreeStream(adaptor,"rule recordHelperDecl"); + RewriteRuleSubtreeStream stream_objectDecl=new RewriteRuleSubtreeStream(adaptor,"rule objectDecl"); + RewriteRuleSubtreeStream stream_classHelperDecl=new RewriteRuleSubtreeStream(adaptor,"rule classHelperDecl"); + RewriteRuleSubtreeStream stream_recordDecl=new RewriteRuleSubtreeStream(adaptor,"rule recordDecl"); + RewriteRuleSubtreeStream stream_classTypeDecl=new RewriteRuleSubtreeStream(adaptor,"rule classTypeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 67) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:277:30: ( classTypeTypeDecl | classHelperDecl -> ^( TkClass classHelperDecl ) | classTypeDecl -> ^( TkClass classTypeDecl ) | interfaceTypeDecl -> ^( TkInterface interfaceTypeDecl ) | objectDecl -> ^( TkObject objectDecl ) | recordDecl -> ^( TkRecord recordDecl ) | recordHelperDecl -> ^( TkRecordHelper recordHelperDecl ) ) + int alt84=7; + switch ( input.LA(1) ) { + case CLASS: + { + int LA84_1 = input.LA(2); + if ( (synpred111_Delphi()) ) { + alt84=1; + } + else if ( (synpred112_Delphi()) ) { + alt84=2; + } + else if ( (synpred113_Delphi()) ) { + alt84=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 84, 1, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case DISPINTERFACE: + case INTERFACE: + { + alt84=4; + } + break; + case OBJECT: + { + alt84=5; + } + break; + case RECORD: + { + int LA84_4 = input.LA(2); + if ( (synpred116_Delphi()) ) { + alt84=6; + } + else if ( (true) ) { + alt84=7; + } + + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 84, 0, input); + throw nvae; + } + switch (alt84) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:277:32: classTypeTypeDecl + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classTypeTypeDecl_in_classDecl5842); + classTypeTypeDecl275=classTypeTypeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classTypeTypeDecl275.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:278:32: classHelperDecl + { + pushFollow(FOLLOW_classHelperDecl_in_classDecl5875); + classHelperDecl276=classHelperDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classHelperDecl.add(classHelperDecl276.getTree()); + // AST REWRITE + // elements: classHelperDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 278:48: -> ^( TkClass classHelperDecl ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:278:51: ^( TkClass classHelperDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClass, "TkClass"), root_1); + adaptor.addChild(root_1, stream_classHelperDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:279:32: classTypeDecl + { + pushFollow(FOLLOW_classTypeDecl_in_classDecl5916); + classTypeDecl277=classTypeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classTypeDecl.add(classTypeDecl277.getTree()); + // AST REWRITE + // elements: classTypeDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 279:46: -> ^( TkClass classTypeDecl ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:279:49: ^( TkClass classTypeDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClass, "TkClass"), root_1); + adaptor.addChild(root_1, stream_classTypeDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:280:32: interfaceTypeDecl + { + pushFollow(FOLLOW_interfaceTypeDecl_in_classDecl5957); + interfaceTypeDecl278=interfaceTypeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_interfaceTypeDecl.add(interfaceTypeDecl278.getTree()); + // AST REWRITE + // elements: interfaceTypeDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 280:50: -> ^( TkInterface interfaceTypeDecl ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:280:53: ^( TkInterface interfaceTypeDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkInterface, "TkInterface"), root_1); + adaptor.addChild(root_1, stream_interfaceTypeDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:281:32: objectDecl + { + pushFollow(FOLLOW_objectDecl_in_classDecl5998); + objectDecl279=objectDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_objectDecl.add(objectDecl279.getTree()); + // AST REWRITE + // elements: objectDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 281:43: -> ^( TkObject objectDecl ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:281:46: ^( TkObject objectDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkObject, "TkObject"), root_1); + adaptor.addChild(root_1, stream_objectDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:32: recordDecl + { + pushFollow(FOLLOW_recordDecl_in_classDecl6039); + recordDecl280=recordDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_recordDecl.add(recordDecl280.getTree()); + // AST REWRITE + // elements: recordDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 282:43: -> ^( TkRecord recordDecl ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:46: ^( TkRecord recordDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkRecord, "TkRecord"), root_1); + adaptor.addChild(root_1, stream_recordDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:283:32: recordHelperDecl + { + pushFollow(FOLLOW_recordHelperDecl_in_classDecl6080); + recordHelperDecl281=recordHelperDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_recordHelperDecl.add(recordHelperDecl281.getTree()); + // AST REWRITE + // elements: recordHelperDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 283:49: -> ^( TkRecordHelper recordHelperDecl ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:283:52: ^( TkRecordHelper recordHelperDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkRecordHelper, "TkRecordHelper"), root_1); + adaptor.addChild(root_1, stream_recordHelperDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 67, classDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "classDecl" + + + public static class classTypeTypeDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classTypeTypeDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:285:1: classTypeTypeDecl : 'class' 'of' typeId -> ^( TkClassOfType typeId ) ; + public final DelphiParser.classTypeTypeDecl_return classTypeTypeDecl() throws RecognitionException { + DelphiParser.classTypeTypeDecl_return retval = new DelphiParser.classTypeTypeDecl_return(); + retval.start = input.LT(1); + int classTypeTypeDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal282=null; + Token string_literal283=null; + ParserRuleReturnScope typeId284 =null; + + Object string_literal282_tree=null; + Object string_literal283_tree=null; + RewriteRuleTokenStream stream_OF=new RewriteRuleTokenStream(adaptor,"token OF"); + RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); + RewriteRuleSubtreeStream stream_typeId=new RewriteRuleSubtreeStream(adaptor,"rule typeId"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 68) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:285:30: ( 'class' 'of' typeId -> ^( TkClassOfType typeId ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:285:32: 'class' 'of' typeId + { + string_literal282=(Token)match(input,CLASS,FOLLOW_CLASS_in_classTypeTypeDecl6136); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal282); + + string_literal283=(Token)match(input,OF,FOLLOW_OF_in_classTypeTypeDecl6138); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_OF.add(string_literal283); + + pushFollow(FOLLOW_typeId_in_classTypeTypeDecl6140); + typeId284=typeId(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeId.add(typeId284.getTree()); + // AST REWRITE + // elements: typeId + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 285:52: -> ^( TkClassOfType typeId ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:285:55: ^( TkClassOfType typeId ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassOfType, "TkClassOfType"), root_1); + adaptor.addChild(root_1, stream_typeId.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 68, classTypeTypeDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "classTypeTypeDecl" + + + public static class classTypeDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classTypeDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:1: classTypeDecl : ( 'class' ( classState )? ( classParent )? ( classItem )* 'end' -> 'class' ^( TkClassParents ( classParent )? ) ( classItem )* | 'class' ( classState )? ( classParent )? -> 'class' ^( TkClassParents ( classParent )? ) ); + public final DelphiParser.classTypeDecl_return classTypeDecl() throws RecognitionException { + DelphiParser.classTypeDecl_return retval = new DelphiParser.classTypeDecl_return(); + retval.start = input.LT(1); + int classTypeDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal285=null; + Token string_literal289=null; + Token string_literal290=null; + ParserRuleReturnScope classState286 =null; + ParserRuleReturnScope classParent287 =null; + ParserRuleReturnScope classItem288 =null; + ParserRuleReturnScope classState291 =null; + ParserRuleReturnScope classParent292 =null; + + Object string_literal285_tree=null; + Object string_literal289_tree=null; + Object string_literal290_tree=null; + RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); + RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); + RewriteRuleSubtreeStream stream_classState=new RewriteRuleSubtreeStream(adaptor,"rule classState"); + RewriteRuleSubtreeStream stream_classParent=new RewriteRuleSubtreeStream(adaptor,"rule classParent"); + RewriteRuleSubtreeStream stream_classItem=new RewriteRuleSubtreeStream(adaptor,"rule classItem"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 69) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:30: ( 'class' ( classState )? ( classParent )? ( classItem )* 'end' -> 'class' ^( TkClassParents ( classParent )? ) ( classItem )* | 'class' ( classState )? ( classParent )? -> 'class' ^( TkClassParents ( classParent )? ) ) + int alt90=2; + int LA90_0 = input.LA(1); + if ( (LA90_0==CLASS) ) { + int LA90_1 = input.LA(2); + if ( (synpred120_Delphi()) ) { + alt90=1; + } + else if ( (true) ) { + alt90=2; + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 90, 0, input); + throw nvae; + } + + switch (alt90) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:32: 'class' ( classState )? ( classParent )? ( classItem )* 'end' + { + string_literal285=(Token)match(input,CLASS,FOLLOW_CLASS_in_classTypeDecl6200); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal285); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:40: ( classState )? + int alt85=2; + int LA85_0 = input.LA(1); + if ( (LA85_0==ABSTRACT||LA85_0==SEALED) ) { + alt85=1; + } + switch (alt85) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:41: classState + { + pushFollow(FOLLOW_classState_in_classTypeDecl6203); + classState286=classState(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classState.add(classState286.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:54: ( classParent )? + int alt86=2; + int LA86_0 = input.LA(1); + if ( (LA86_0==LPAREN) ) { + alt86=1; + } + switch (alt86) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:55: classParent + { + pushFollow(FOLLOW_classParent_in_classTypeDecl6208); + classParent287=classParent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classParent.add(classParent287.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:69: ( classItem )* + loop87: + while (true) { + int alt87=2; + int LA87_0 = input.LA(1); + if ( (LA87_0==ADD||LA87_0==ANSISTRING||LA87_0==AT||LA87_0==AUTOMATED||LA87_0==BREAK||LA87_0==CLASS||(LA87_0 >= CONST && LA87_0 <= CONTINUE)||LA87_0==DEFAULT||(LA87_0 >= DESTRUCTOR && LA87_0 <= DISPID)||(LA87_0 >= DQ && LA87_0 <= DW)||LA87_0==EXIT||LA87_0==EXPORT||LA87_0==FALSE||LA87_0==FINAL||LA87_0==FUNCTION||LA87_0==HELPER||(LA87_0 >= IMPLEMENTS && LA87_0 <= INDEX)||LA87_0==LBRACK||LA87_0==LOCAL||LA87_0==MESSAGE||LA87_0==NAME||LA87_0==OBJECT||LA87_0==OPERATOR||LA87_0==OUT||LA87_0==POINTER||(LA87_0 >= PRIVATE && LA87_0 <= PROCEDURE)||(LA87_0 >= PROPERTY && LA87_0 <= PUBLISHED)||(LA87_0 >= READ && LA87_0 <= READONLY)||(LA87_0 >= REFERENCE && LA87_0 <= REGISTER)||LA87_0==REMOVE||LA87_0==RESOURCESTRING||LA87_0==STATIC||(LA87_0 >= STORED && LA87_0 <= STRING)||LA87_0==THREADVAR||LA87_0==TRUE||LA87_0==TYPE||LA87_0==TkIdentifier||LA87_0==UNSAFE||(LA87_0 >= VAR && LA87_0 <= VIRTUAL)||(LA87_0 >= WRITE && LA87_0 <= WRITEONLY)||LA87_0==198) ) { + alt87=1; + } + + switch (alt87) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:70: classItem + { + pushFollow(FOLLOW_classItem_in_classTypeDecl6213); + classItem288=classItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classItem.add(classItem288.getTree()); + } + break; + + default : + break loop87; + } + } + + string_literal289=(Token)match(input,END,FOLLOW_END_in_classTypeDecl6217); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_END.add(string_literal289); + + // AST REWRITE + // elements: classParent, classItem, CLASS + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 287:88: -> 'class' ^( TkClassParents ( classParent )? ) ( classItem )* + { + adaptor.addChild(root_0, stream_CLASS.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:99: ^( TkClassParents ( classParent )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassParents, "TkClassParents"), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:116: ( classParent )? + if ( stream_classParent.hasNext() ) { + adaptor.addChild(root_1, stream_classParent.nextTree()); + } + stream_classParent.reset(); + + adaptor.addChild(root_0, root_1); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:132: ( classItem )* + while ( stream_classItem.hasNext() ) { + adaptor.addChild(root_0, stream_classItem.nextTree()); + } + stream_classItem.reset(); + + } + + + retval.tree = root_0; + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:32: 'class' ( classState )? ( classParent )? + { + string_literal290=(Token)match(input,CLASS,FOLLOW_CLASS_in_classTypeDecl6268); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal290); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:40: ( classState )? + int alt88=2; + int LA88_0 = input.LA(1); + if ( (LA88_0==ABSTRACT||LA88_0==SEALED) ) { + alt88=1; + } + switch (alt88) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:41: classState + { + pushFollow(FOLLOW_classState_in_classTypeDecl6271); + classState291=classState(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classState.add(classState291.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:54: ( classParent )? + int alt89=2; + alt89 = dfa89.predict(input); + switch (alt89) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:55: classParent + { + pushFollow(FOLLOW_classParent_in_classTypeDecl6276); + classParent292=classParent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classParent.add(classParent292.getTree()); + } + break; + + } + + // AST REWRITE + // elements: CLASS, classParent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 288:69: -> 'class' ^( TkClassParents ( classParent )? ) + { + adaptor.addChild(root_0, stream_CLASS.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:80: ^( TkClassParents ( classParent )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassParents, "TkClassParents"), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:97: ( classParent )? + if ( stream_classParent.hasNext() ) { + adaptor.addChild(root_1, stream_classParent.nextTree()); + } + stream_classParent.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 69, classTypeDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "classTypeDecl" + + + public static class classState_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classState" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:290:1: classState : ( 'sealed' | 'abstract' ); + public final DelphiParser.classState_return classState() throws RecognitionException { + DelphiParser.classState_return retval = new DelphiParser.classState_return(); + retval.start = input.LT(1); + int classState_StartIndex = input.index(); + + Object root_0 = null; + + Token set293=null; + + Object set293_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 70) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:290:30: ( 'sealed' | 'abstract' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set293=input.LT(1); + if ( input.LA(1)==ABSTRACT||input.LA(1)==SEALED ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set293)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 70, classState_StartIndex); } + + } + return retval; + } + // $ANTLR end "classState" + + + public static class classParent_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classParent" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:293:1: classParent : '(' genericTypeIdent ( ',' genericTypeIdent )* ')' -> genericTypeIdent ( genericTypeIdent )* ; + public final DelphiParser.classParent_return classParent() throws RecognitionException { + DelphiParser.classParent_return retval = new DelphiParser.classParent_return(); + retval.start = input.LT(1); + int classParent_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal294=null; + Token char_literal296=null; + Token char_literal298=null; + ParserRuleReturnScope genericTypeIdent295 =null; + ParserRuleReturnScope genericTypeIdent297 =null; + + Object char_literal294_tree=null; + Object char_literal296_tree=null; + Object char_literal298_tree=null; + RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); + RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); + RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); + RewriteRuleSubtreeStream stream_genericTypeIdent=new RewriteRuleSubtreeStream(adaptor,"rule genericTypeIdent"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 71) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:293:30: ( '(' genericTypeIdent ( ',' genericTypeIdent )* ')' -> genericTypeIdent ( genericTypeIdent )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:293:32: '(' genericTypeIdent ( ',' genericTypeIdent )* ')' + { + char_literal294=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_classParent6434); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LPAREN.add(char_literal294); + + pushFollow(FOLLOW_genericTypeIdent_in_classParent6436); + genericTypeIdent295=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_genericTypeIdent.add(genericTypeIdent295.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:293:53: ( ',' genericTypeIdent )* + loop91: + while (true) { + int alt91=2; + int LA91_0 = input.LA(1); + if ( (LA91_0==COMMA) ) { + alt91=1; + } + + switch (alt91) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:293:54: ',' genericTypeIdent + { + char_literal296=(Token)match(input,COMMA,FOLLOW_COMMA_in_classParent6439); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COMMA.add(char_literal296); + + pushFollow(FOLLOW_genericTypeIdent_in_classParent6441); + genericTypeIdent297=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_genericTypeIdent.add(genericTypeIdent297.getTree()); + } + break; + + default : + break loop91; + } + } + + char_literal298=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_classParent6445); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RPAREN.add(char_literal298); + + // AST REWRITE + // elements: genericTypeIdent, genericTypeIdent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 293:81: -> genericTypeIdent ( genericTypeIdent )* + { + adaptor.addChild(root_0, stream_genericTypeIdent.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:293:101: ( genericTypeIdent )* + while ( stream_genericTypeIdent.hasNext() ) { + adaptor.addChild(root_0, stream_genericTypeIdent.nextTree()); + } + stream_genericTypeIdent.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 71, classParent_StartIndex); } + + } + return retval; + } + // $ANTLR end "classParent" + + + public static class classItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:295:1: classItem : ( visibility | classMethod | classField | classProperty | constSection | typeSection | ( 'class' )? varSection ); + public final DelphiParser.classItem_return classItem() throws RecognitionException { + DelphiParser.classItem_return retval = new DelphiParser.classItem_return(); + retval.start = input.LT(1); + int classItem_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal305=null; + ParserRuleReturnScope visibility299 =null; + ParserRuleReturnScope classMethod300 =null; + ParserRuleReturnScope classField301 =null; + ParserRuleReturnScope classProperty302 =null; + ParserRuleReturnScope constSection303 =null; + ParserRuleReturnScope typeSection304 =null; + ParserRuleReturnScope varSection306 =null; + + Object string_literal305_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 72) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:295:30: ( visibility | classMethod | classField | classProperty | constSection | typeSection | ( 'class' )? varSection ) + int alt93=7; + switch ( input.LA(1) ) { + case STRICT: + { + int LA93_1 = input.LA(2); + if ( (synpred125_Delphi()) ) { + alt93=1; + } + else if ( (synpred127_Delphi()) ) { + alt93=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 93, 1, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case AUTOMATED: + case PRIVATE: + case PROTECTED: + case PUBLIC: + case PUBLISHED: + { + alt93=1; + } + break; + case LBRACK: + { + int LA93_7 = input.LA(2); + if ( (synpred126_Delphi()) ) { + alt93=2; + } + else if ( (synpred127_Delphi()) ) { + alt93=3; + } + else if ( (synpred128_Delphi()) ) { + alt93=4; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 93, 7, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case CLASS: + { + int LA93_8 = input.LA(2); + if ( (synpred126_Delphi()) ) { + alt93=2; + } + else if ( (synpred128_Delphi()) ) { + alt93=4; + } + else if ( (true) ) { + alt93=7; + } + + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case FUNCTION: + case PROCEDURE: + { + alt93=2; + } + break; + case OPERATOR: + { + int LA93_11 = input.LA(2); + if ( (synpred126_Delphi()) ) { + alt93=2; + } + else if ( (synpred127_Delphi()) ) { + alt93=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 93, 11, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRING: + case TRUE: + case TkIdentifier: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + case 198: + { + alt93=3; + } + break; + case PROPERTY: + { + alt93=4; + } + break; + case CONST: + case RESOURCESTRING: + { + alt93=5; + } + break; + case TYPE: + { + alt93=6; + } + break; + case THREADVAR: + case VAR: + { + alt93=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 93, 0, input); + throw nvae; + } + switch (alt93) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:295:32: visibility + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_visibility_in_classItem6513); + visibility299=visibility(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility299.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:296:32: classMethod + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classMethod_in_classItem6546); + classMethod300=classMethod(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod300.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:297:32: classField + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classField_in_classItem6579); + classField301=classField(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classField301.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:32: classProperty + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classProperty_in_classItem6612); + classProperty302=classProperty(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty302.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:299:32: constSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_constSection_in_classItem6645); + constSection303=constSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection303.getTree()); + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:300:32: typeSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_typeSection_in_classItem6678); + typeSection304=typeSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeSection304.getTree()); + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:301:32: ( 'class' )? varSection + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:301:32: ( 'class' )? + int alt92=2; + int LA92_0 = input.LA(1); + if ( (LA92_0==CLASS) ) { + alt92=1; + } + switch (alt92) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:301:33: 'class' + { + string_literal305=(Token)match(input,CLASS,FOLLOW_CLASS_in_classItem6712); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal305_tree = (Object)adaptor.create(string_literal305); + adaptor.addChild(root_0, string_literal305_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_varSection_in_classItem6716); + varSection306=varSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection306.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 72, classItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "classItem" + + + public static class classHelperDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classHelperDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:1: classHelperDecl : 'class' 'helper' ( classParent )? 'for' typeId ( classHelperItem )* 'end' -> ^( 'class' typeId ) ( classHelperItem )* ; + public final DelphiParser.classHelperDecl_return classHelperDecl() throws RecognitionException { + DelphiParser.classHelperDecl_return retval = new DelphiParser.classHelperDecl_return(); + retval.start = input.LT(1); + int classHelperDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal307=null; + Token string_literal308=null; + Token string_literal310=null; + Token string_literal313=null; + ParserRuleReturnScope classParent309 =null; + ParserRuleReturnScope typeId311 =null; + ParserRuleReturnScope classHelperItem312 =null; + + Object string_literal307_tree=null; + Object string_literal308_tree=null; + Object string_literal310_tree=null; + Object string_literal313_tree=null; + RewriteRuleTokenStream stream_HELPER=new RewriteRuleTokenStream(adaptor,"token HELPER"); + RewriteRuleTokenStream stream_FOR=new RewriteRuleTokenStream(adaptor,"token FOR"); + RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); + RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); + RewriteRuleSubtreeStream stream_classHelperItem=new RewriteRuleSubtreeStream(adaptor,"rule classHelperItem"); + RewriteRuleSubtreeStream stream_typeId=new RewriteRuleSubtreeStream(adaptor,"rule typeId"); + RewriteRuleSubtreeStream stream_classParent=new RewriteRuleSubtreeStream(adaptor,"rule classParent"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 73) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:30: ( 'class' 'helper' ( classParent )? 'for' typeId ( classHelperItem )* 'end' -> ^( 'class' typeId ) ( classHelperItem )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:32: 'class' 'helper' ( classParent )? 'for' typeId ( classHelperItem )* 'end' + { + string_literal307=(Token)match(input,CLASS,FOLLOW_CLASS_in_classHelperDecl6766); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal307); + + string_literal308=(Token)match(input,HELPER,FOLLOW_HELPER_in_classHelperDecl6768); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_HELPER.add(string_literal308); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:49: ( classParent )? + int alt94=2; + int LA94_0 = input.LA(1); + if ( (LA94_0==LPAREN) ) { + alt94=1; + } + switch (alt94) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:50: classParent + { + pushFollow(FOLLOW_classParent_in_classHelperDecl6771); + classParent309=classParent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classParent.add(classParent309.getTree()); + } + break; + + } + + string_literal310=(Token)match(input,FOR,FOLLOW_FOR_in_classHelperDecl6775); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_FOR.add(string_literal310); + + pushFollow(FOLLOW_typeId_in_classHelperDecl6777); + typeId311=typeId(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeId.add(typeId311.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:77: ( classHelperItem )* + loop95: + while (true) { + int alt95=2; + int LA95_0 = input.LA(1); + if ( (LA95_0==AUTOMATED||LA95_0==CLASS||(LA95_0 >= CONST && LA95_0 <= CONSTRUCTOR)||LA95_0==DESTRUCTOR||LA95_0==FUNCTION||LA95_0==LBRACK||LA95_0==OPERATOR||(LA95_0 >= PRIVATE && LA95_0 <= PROCEDURE)||(LA95_0 >= PROPERTY && LA95_0 <= PUBLISHED)||LA95_0==RESOURCESTRING||LA95_0==STRICT||LA95_0==THREADVAR||LA95_0==TYPE||LA95_0==VAR) ) { + alt95=1; + } + + switch (alt95) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:78: classHelperItem + { + pushFollow(FOLLOW_classHelperItem_in_classHelperDecl6780); + classHelperItem312=classHelperItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classHelperItem.add(classHelperItem312.getTree()); + } + break; + + default : + break loop95; + } + } + + string_literal313=(Token)match(input,END,FOLLOW_END_in_classHelperDecl6784); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_END.add(string_literal313); + + // AST REWRITE + // elements: typeId, classHelperItem, CLASS + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 303:102: -> ^( 'class' typeId ) ( classHelperItem )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:105: ^( 'class' typeId ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_CLASS.nextNode(), root_1); + adaptor.addChild(root_1, stream_typeId.nextTree()); + adaptor.addChild(root_0, root_1); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:303:124: ( classHelperItem )* + while ( stream_classHelperItem.hasNext() ) { + adaptor.addChild(root_0, stream_classHelperItem.nextTree()); + } + stream_classHelperItem.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 73, classHelperDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "classHelperDecl" + + + public static class classHelperItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classHelperItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:1: classHelperItem : ( visibility | classMethod | classProperty | constSection | typeSection | ( 'class' )? varSection ); + public final DelphiParser.classHelperItem_return classHelperItem() throws RecognitionException { + DelphiParser.classHelperItem_return retval = new DelphiParser.classHelperItem_return(); + retval.start = input.LT(1); + int classHelperItem_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal319=null; + ParserRuleReturnScope visibility314 =null; + ParserRuleReturnScope classMethod315 =null; + ParserRuleReturnScope classProperty316 =null; + ParserRuleReturnScope constSection317 =null; + ParserRuleReturnScope typeSection318 =null; + ParserRuleReturnScope varSection320 =null; + + Object string_literal319_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 74) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:30: ( visibility | classMethod | classProperty | constSection | typeSection | ( 'class' )? varSection ) + int alt97=6; + switch ( input.LA(1) ) { + case AUTOMATED: + case PRIVATE: + case PROTECTED: + case PUBLIC: + case PUBLISHED: + case STRICT: + { + alt97=1; + } + break; + case LBRACK: + { + int LA97_7 = input.LA(2); + if ( (synpred135_Delphi()) ) { + alt97=2; + } + else if ( (synpred136_Delphi()) ) { + alt97=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 97, 7, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case CLASS: + { + int LA97_8 = input.LA(2); + if ( (synpred135_Delphi()) ) { + alt97=2; + } + else if ( (synpred136_Delphi()) ) { + alt97=3; + } + else if ( (true) ) { + alt97=6; + } + + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case FUNCTION: + case OPERATOR: + case PROCEDURE: + { + alt97=2; + } + break; + case PROPERTY: + { + alt97=3; + } + break; + case CONST: + case RESOURCESTRING: + { + alt97=4; + } + break; + case TYPE: + { + alt97=5; + } + break; + case THREADVAR: + case VAR: + { + alt97=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 97, 0, input); + throw nvae; + } + switch (alt97) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:305:32: visibility + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_visibility_in_classHelperItem6849); + visibility314=visibility(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility314.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:306:32: classMethod + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classMethod_in_classHelperItem6882); + classMethod315=classMethod(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod315.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:307:32: classProperty + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classProperty_in_classHelperItem6915); + classProperty316=classProperty(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty316.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:308:32: constSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_constSection_in_classHelperItem6948); + constSection317=constSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection317.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:309:32: typeSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_typeSection_in_classHelperItem6981); + typeSection318=typeSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeSection318.getTree()); + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:310:32: ( 'class' )? varSection + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:310:32: ( 'class' )? + int alt96=2; + int LA96_0 = input.LA(1); + if ( (LA96_0==CLASS) ) { + alt96=1; + } + switch (alt96) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:310:33: 'class' + { + string_literal319=(Token)match(input,CLASS,FOLLOW_CLASS_in_classHelperItem7015); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal319_tree = (Object)adaptor.create(string_literal319); + adaptor.addChild(root_0, string_literal319_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_varSection_in_classHelperItem7019); + varSection320=varSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection320.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 74, classHelperItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "classHelperItem" + + + public static class interfaceTypeDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "interfaceTypeDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:1: interfaceTypeDecl : ( interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' -> interfaceKey ^( TkClassParents ( classParent )? ) ^( TkGuid ( interfaceGuid )? ) ( interfaceItem )* | interfaceKey ( classParent )? -> interfaceKey ^( TkClassParents ( classParent )? ) ); + public final DelphiParser.interfaceTypeDecl_return interfaceTypeDecl() throws RecognitionException { + DelphiParser.interfaceTypeDecl_return retval = new DelphiParser.interfaceTypeDecl_return(); + retval.start = input.LT(1); + int interfaceTypeDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal325=null; + ParserRuleReturnScope interfaceKey321 =null; + ParserRuleReturnScope classParent322 =null; + ParserRuleReturnScope interfaceGuid323 =null; + ParserRuleReturnScope interfaceItem324 =null; + ParserRuleReturnScope interfaceKey326 =null; + ParserRuleReturnScope classParent327 =null; + + Object string_literal325_tree=null; + RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); + RewriteRuleSubtreeStream stream_interfaceItem=new RewriteRuleSubtreeStream(adaptor,"rule interfaceItem"); + RewriteRuleSubtreeStream stream_interfaceKey=new RewriteRuleSubtreeStream(adaptor,"rule interfaceKey"); + RewriteRuleSubtreeStream stream_classParent=new RewriteRuleSubtreeStream(adaptor,"rule classParent"); + RewriteRuleSubtreeStream stream_interfaceGuid=new RewriteRuleSubtreeStream(adaptor,"rule interfaceGuid"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 75) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:30: ( interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' -> interfaceKey ^( TkClassParents ( classParent )? ) ^( TkGuid ( interfaceGuid )? ) ( interfaceItem )* | interfaceKey ( classParent )? -> interfaceKey ^( TkClassParents ( classParent )? ) ) + int alt102=2; + int LA102_0 = input.LA(1); + if ( (LA102_0==DISPINTERFACE||LA102_0==INTERFACE) ) { + int LA102_1 = input.LA(2); + if ( (synpred143_Delphi()) ) { + alt102=1; + } + else if ( (true) ) { + alt102=2; + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 102, 0, input); + throw nvae; + } + + switch (alt102) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:32: interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' + { + pushFollow(FOLLOW_interfaceKey_in_interfaceTypeDecl7067); + interfaceKey321=interfaceKey(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_interfaceKey.add(interfaceKey321.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:45: ( classParent )? + int alt98=2; + int LA98_0 = input.LA(1); + if ( (LA98_0==LPAREN) ) { + alt98=1; + } + switch (alt98) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:46: classParent + { + pushFollow(FOLLOW_classParent_in_interfaceTypeDecl7070); + classParent322=classParent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classParent.add(classParent322.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:60: ( interfaceGuid )? + int alt99=2; + int LA99_0 = input.LA(1); + if ( (LA99_0==LBRACK) ) { + int LA99_1 = input.LA(2); + if ( (LA99_1==QuotedString) ) { + alt99=1; + } + } + switch (alt99) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:61: interfaceGuid + { + pushFollow(FOLLOW_interfaceGuid_in_interfaceTypeDecl7075); + interfaceGuid323=interfaceGuid(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_interfaceGuid.add(interfaceGuid323.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:77: ( interfaceItem )* + loop100: + while (true) { + int alt100=2; + int LA100_0 = input.LA(1); + if ( (LA100_0==CLASS||LA100_0==CONSTRUCTOR||LA100_0==DESTRUCTOR||LA100_0==FUNCTION||LA100_0==LBRACK||LA100_0==OPERATOR||LA100_0==PROCEDURE||LA100_0==PROPERTY) ) { + alt100=1; + } + + switch (alt100) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:78: interfaceItem + { + pushFollow(FOLLOW_interfaceItem_in_interfaceTypeDecl7080); + interfaceItem324=interfaceItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_interfaceItem.add(interfaceItem324.getTree()); + } + break; + + default : + break loop100; + } + } + + string_literal325=(Token)match(input,END,FOLLOW_END_in_interfaceTypeDecl7084); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_END.add(string_literal325); + + // AST REWRITE + // elements: interfaceGuid, interfaceKey, classParent, interfaceItem + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 313:31: -> interfaceKey ^( TkClassParents ( classParent )? ) ^( TkGuid ( interfaceGuid )? ) ( interfaceItem )* + { + adaptor.addChild(root_0, stream_interfaceKey.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:313:47: ^( TkClassParents ( classParent )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassParents, "TkClassParents"), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:313:64: ( classParent )? + if ( stream_classParent.hasNext() ) { + adaptor.addChild(root_1, stream_classParent.nextTree()); + } + stream_classParent.reset(); + + adaptor.addChild(root_0, root_1); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:313:81: ^( TkGuid ( interfaceGuid )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkGuid, "TkGuid"), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:313:90: ( interfaceGuid )? + if ( stream_interfaceGuid.hasNext() ) { + adaptor.addChild(root_1, stream_interfaceGuid.nextTree()); + } + stream_interfaceGuid.reset(); + + adaptor.addChild(root_0, root_1); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:313:108: ( interfaceItem )* + while ( stream_interfaceItem.hasNext() ) { + adaptor.addChild(root_0, stream_interfaceItem.nextTree()); + } + stream_interfaceItem.reset(); + + } + + + retval.tree = root_0; + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:314:32: interfaceKey ( classParent )? + { + pushFollow(FOLLOW_interfaceKey_in_interfaceTypeDecl7175); + interfaceKey326=interfaceKey(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_interfaceKey.add(interfaceKey326.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:314:45: ( classParent )? + int alt101=2; + alt101 = dfa101.predict(input); + switch (alt101) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:314:46: classParent + { + pushFollow(FOLLOW_classParent_in_interfaceTypeDecl7178); + classParent327=classParent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classParent.add(classParent327.getTree()); + } + break; + + } + + // AST REWRITE + // elements: interfaceKey, classParent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 315:31: -> interfaceKey ^( TkClassParents ( classParent )? ) + { + adaptor.addChild(root_0, stream_interfaceKey.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:315:47: ^( TkClassParents ( classParent )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassParents, "TkClassParents"), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:315:64: ( classParent )? + if ( stream_classParent.hasNext() ) { + adaptor.addChild(root_1, stream_classParent.nextTree()); + } + stream_classParent.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 75, interfaceTypeDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "interfaceTypeDecl" + + + public static class interfaceKey_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "interfaceKey" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:317:1: interfaceKey : ( 'interface' | 'dispinterface' ); + public final DelphiParser.interfaceKey_return interfaceKey() throws RecognitionException { + DelphiParser.interfaceKey_return retval = new DelphiParser.interfaceKey_return(); + retval.start = input.LT(1); + int interfaceKey_StartIndex = input.index(); + + Object root_0 = null; + + Token set328=null; + + Object set328_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 76) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:317:30: ( 'interface' | 'dispinterface' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set328=input.LT(1); + if ( input.LA(1)==DISPINTERFACE||input.LA(1)==INTERFACE ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set328)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 76, interfaceKey_StartIndex); } + + } + return retval; + } + // $ANTLR end "interfaceKey" + + + public static class interfaceGuid_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "interfaceGuid" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:320:1: interfaceGuid : '[' QuotedString ']' -> QuotedString ; + public final DelphiParser.interfaceGuid_return interfaceGuid() throws RecognitionException { + DelphiParser.interfaceGuid_return retval = new DelphiParser.interfaceGuid_return(); + retval.start = input.LT(1); + int interfaceGuid_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal329=null; + Token QuotedString330=null; + Token char_literal331=null; + + Object char_literal329_tree=null; + Object QuotedString330_tree=null; + Object char_literal331_tree=null; + RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); + RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); + RewriteRuleTokenStream stream_QuotedString=new RewriteRuleTokenStream(adaptor,"token QuotedString"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 77) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:320:30: ( '[' QuotedString ']' -> QuotedString ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:320:32: '[' QuotedString ']' + { + char_literal329=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_interfaceGuid7361); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LBRACK.add(char_literal329); + + QuotedString330=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_interfaceGuid7363); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_QuotedString.add(QuotedString330); + + char_literal331=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_interfaceGuid7365); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RBRACK.add(char_literal331); + + // AST REWRITE + // elements: QuotedString + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 320:53: -> QuotedString + { + adaptor.addChild(root_0, stream_QuotedString.nextNode()); + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 77, interfaceGuid_StartIndex); } + + } + return retval; + } + // $ANTLR end "interfaceGuid" + + + public static class interfaceItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "interfaceItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:322:1: interfaceItem : ( classMethod | ( 'class' )? classProperty ); + public final DelphiParser.interfaceItem_return interfaceItem() throws RecognitionException { + DelphiParser.interfaceItem_return retval = new DelphiParser.interfaceItem_return(); + retval.start = input.LT(1); + int interfaceItem_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal333=null; + ParserRuleReturnScope classMethod332 =null; + ParserRuleReturnScope classProperty334 =null; + + Object string_literal333_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 78) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:322:30: ( classMethod | ( 'class' )? classProperty ) + int alt104=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA104_1 = input.LA(2); + if ( (synpred146_Delphi()) ) { + alt104=1; + } + else if ( (true) ) { + alt104=2; + } + + } + break; + case CLASS: + { + int LA104_2 = input.LA(2); + if ( (synpred146_Delphi()) ) { + alt104=1; + } + else if ( (true) ) { + alt104=2; + } + + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case FUNCTION: + case OPERATOR: + case PROCEDURE: + { + alt104=1; + } + break; + case PROPERTY: + { + alt104=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 104, 0, input); + throw nvae; + } + switch (alt104) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:322:32: classMethod + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classMethod_in_interfaceItem7421); + classMethod332=classMethod(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod332.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:323:32: ( 'class' )? classProperty + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:323:32: ( 'class' )? + int alt103=2; + int LA103_0 = input.LA(1); + if ( (LA103_0==CLASS) ) { + int LA103_1 = input.LA(2); + if ( (synpred147_Delphi()) ) { + alt103=1; + } + } + switch (alt103) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:323:33: 'class' + { + string_literal333=(Token)match(input,CLASS,FOLLOW_CLASS_in_interfaceItem7455); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal333_tree = (Object)adaptor.create(string_literal333); + adaptor.addChild(root_0, string_literal333_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_classProperty_in_interfaceItem7459); + classProperty334=classProperty(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty334.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 78, interfaceItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "interfaceItem" + + + public static class objectDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "objectDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:1: objectDecl : 'object' ( classParent )? ( objectItem )* 'end' -> 'object' ( classParent )? ( objectItem )* ; + public final DelphiParser.objectDecl_return objectDecl() throws RecognitionException { + DelphiParser.objectDecl_return retval = new DelphiParser.objectDecl_return(); + retval.start = input.LT(1); + int objectDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal335=null; + Token string_literal338=null; + ParserRuleReturnScope classParent336 =null; + ParserRuleReturnScope objectItem337 =null; + + Object string_literal335_tree=null; + Object string_literal338_tree=null; + RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); + RewriteRuleTokenStream stream_OBJECT=new RewriteRuleTokenStream(adaptor,"token OBJECT"); + RewriteRuleSubtreeStream stream_objectItem=new RewriteRuleSubtreeStream(adaptor,"rule objectItem"); + RewriteRuleSubtreeStream stream_classParent=new RewriteRuleSubtreeStream(adaptor,"rule classParent"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 79) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:30: ( 'object' ( classParent )? ( objectItem )* 'end' -> 'object' ( classParent )? ( objectItem )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:32: 'object' ( classParent )? ( objectItem )* 'end' + { + string_literal335=(Token)match(input,OBJECT,FOLLOW_OBJECT_in_objectDecl7514); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_OBJECT.add(string_literal335); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:41: ( classParent )? + int alt105=2; + int LA105_0 = input.LA(1); + if ( (LA105_0==LPAREN) ) { + alt105=1; + } + switch (alt105) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:42: classParent + { + pushFollow(FOLLOW_classParent_in_objectDecl7517); + classParent336=classParent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classParent.add(classParent336.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:56: ( objectItem )* + loop106: + while (true) { + int alt106=2; + int LA106_0 = input.LA(1); + if ( (LA106_0==ADD||LA106_0==ANSISTRING||LA106_0==AT||LA106_0==AUTOMATED||LA106_0==BREAK||LA106_0==CLASS||(LA106_0 >= CONSTRUCTOR && LA106_0 <= CONTINUE)||LA106_0==DEFAULT||(LA106_0 >= DESTRUCTOR && LA106_0 <= DISPID)||(LA106_0 >= DQ && LA106_0 <= DW)||LA106_0==EXIT||LA106_0==EXPORT||LA106_0==FALSE||LA106_0==FINAL||LA106_0==FUNCTION||LA106_0==HELPER||(LA106_0 >= IMPLEMENTS && LA106_0 <= INDEX)||LA106_0==LBRACK||LA106_0==LOCAL||LA106_0==MESSAGE||LA106_0==NAME||LA106_0==OBJECT||LA106_0==OPERATOR||LA106_0==OUT||LA106_0==POINTER||(LA106_0 >= PRIVATE && LA106_0 <= PROCEDURE)||(LA106_0 >= PROTECTED && LA106_0 <= PUBLISHED)||(LA106_0 >= READ && LA106_0 <= READONLY)||(LA106_0 >= REFERENCE && LA106_0 <= REGISTER)||LA106_0==REMOVE||LA106_0==STATIC||(LA106_0 >= STORED && LA106_0 <= STRING)||LA106_0==TRUE||LA106_0==TkIdentifier||LA106_0==UNSAFE||(LA106_0 >= VARARGS && LA106_0 <= VIRTUAL)||(LA106_0 >= WRITE && LA106_0 <= WRITEONLY)||LA106_0==198) ) { + alt106=1; + } + + switch (alt106) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:57: objectItem + { + pushFollow(FOLLOW_objectItem_in_objectDecl7522); + objectItem337=objectItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_objectItem.add(objectItem337.getTree()); + } + break; + + default : + break loop106; + } + } + + string_literal338=(Token)match(input,END,FOLLOW_END_in_objectDecl7526); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_END.add(string_literal338); + + // AST REWRITE + // elements: classParent, objectItem, OBJECT + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 325:76: -> 'object' ( classParent )? ( objectItem )* + { + adaptor.addChild(root_0, stream_OBJECT.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:88: ( classParent )? + if ( stream_classParent.hasNext() ) { + adaptor.addChild(root_0, stream_classParent.nextTree()); + } + stream_classParent.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:325:103: ( objectItem )* + while ( stream_objectItem.hasNext() ) { + adaptor.addChild(root_0, stream_objectItem.nextTree()); + } + stream_objectItem.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 79, objectDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "objectDecl" + + + public static class objectItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "objectItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:1: objectItem : ( visibility | classMethod | classField ); + public final DelphiParser.objectItem_return objectItem() throws RecognitionException { + DelphiParser.objectItem_return retval = new DelphiParser.objectItem_return(); + retval.start = input.LT(1); + int objectItem_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope visibility339 =null; + ParserRuleReturnScope classMethod340 =null; + ParserRuleReturnScope classField341 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 80) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:30: ( visibility | classMethod | classField ) + int alt107=3; + switch ( input.LA(1) ) { + case STRICT: + { + int LA107_1 = input.LA(2); + if ( (synpred150_Delphi()) ) { + alt107=1; + } + else if ( (true) ) { + alt107=3; + } + + } + break; + case AUTOMATED: + case PRIVATE: + case PROTECTED: + case PUBLIC: + case PUBLISHED: + { + alt107=1; + } + break; + case LBRACK: + { + int LA107_7 = input.LA(2); + if ( (synpred151_Delphi()) ) { + alt107=2; + } + else if ( (true) ) { + alt107=3; + } + + } + break; + case CLASS: + case CONSTRUCTOR: + case DESTRUCTOR: + case FUNCTION: + case PROCEDURE: + { + alt107=2; + } + break; + case OPERATOR: + { + int LA107_11 = input.LA(2); + if ( (synpred151_Delphi()) ) { + alt107=2; + } + else if ( (true) ) { + alt107=3; + } + + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRING: + case TRUE: + case TkIdentifier: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + case 198: + { + alt107=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 107, 0, input); + throw nvae; + } + switch (alt107) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:32: visibility + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_visibility_in_objectItem7595); + visibility339=visibility(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility339.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:328:32: classMethod + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classMethod_in_objectItem7628); + classMethod340=classMethod(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod340.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:329:32: classField + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classField_in_objectItem7661); + classField341=classField(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classField341.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 80, objectItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "objectItem" + + + public static class recordDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "recordDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:1: recordDecl : ( simpleRecord | variantRecord ); + public final DelphiParser.recordDecl_return recordDecl() throws RecognitionException { + DelphiParser.recordDecl_return retval = new DelphiParser.recordDecl_return(); + retval.start = input.LT(1); + int recordDecl_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope simpleRecord342 =null; + ParserRuleReturnScope variantRecord343 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 81) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:30: ( simpleRecord | variantRecord ) + int alt108=2; + int LA108_0 = input.LA(1); + if ( (LA108_0==RECORD) ) { + int LA108_1 = input.LA(2); + if ( (synpred152_Delphi()) ) { + alt108=1; + } + else if ( (true) ) { + alt108=2; + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 108, 0, input); + throw nvae; + } + + switch (alt108) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:32: simpleRecord + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_simpleRecord_in_recordDecl7716); + simpleRecord342=simpleRecord(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleRecord342.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:332:32: variantRecord + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_variantRecord_in_recordDecl7749); + variantRecord343=variantRecord(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, variantRecord343.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 81, recordDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "recordDecl" + + + public static class simpleRecord_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "simpleRecord" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:1: simpleRecord : 'record' ( recordField )* ( recordItem )* 'end' -> 'record' ( recordField )* ( recordItem )* ; + public final DelphiParser.simpleRecord_return simpleRecord() throws RecognitionException { + DelphiParser.simpleRecord_return retval = new DelphiParser.simpleRecord_return(); + retval.start = input.LT(1); + int simpleRecord_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal344=null; + Token string_literal347=null; + ParserRuleReturnScope recordField345 =null; + ParserRuleReturnScope recordItem346 =null; + + Object string_literal344_tree=null; + Object string_literal347_tree=null; + RewriteRuleTokenStream stream_RECORD=new RewriteRuleTokenStream(adaptor,"token RECORD"); + RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); + RewriteRuleSubtreeStream stream_recordField=new RewriteRuleSubtreeStream(adaptor,"rule recordField"); + RewriteRuleSubtreeStream stream_recordItem=new RewriteRuleSubtreeStream(adaptor,"rule recordItem"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 82) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:30: ( 'record' ( recordField )* ( recordItem )* 'end' -> 'record' ( recordField )* ( recordItem )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:32: 'record' ( recordField )* ( recordItem )* 'end' + { + string_literal344=(Token)match(input,RECORD,FOLLOW_RECORD_in_simpleRecord7802); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RECORD.add(string_literal344); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:41: ( recordField )* + loop109: + while (true) { + int alt109=2; + alt109 = dfa109.predict(input); + switch (alt109) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:42: recordField + { + pushFollow(FOLLOW_recordField_in_simpleRecord7805); + recordField345=recordField(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_recordField.add(recordField345.getTree()); + } + break; + + default : + break loop109; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:56: ( recordItem )* + loop110: + while (true) { + int alt110=2; + int LA110_0 = input.LA(1); + if ( (LA110_0==ADD||LA110_0==ANSISTRING||LA110_0==AT||LA110_0==AUTOMATED||LA110_0==BREAK||LA110_0==CLASS||(LA110_0 >= CONST && LA110_0 <= CONTINUE)||LA110_0==DEFAULT||(LA110_0 >= DESTRUCTOR && LA110_0 <= DISPID)||(LA110_0 >= DQ && LA110_0 <= DW)||LA110_0==EXIT||LA110_0==EXPORT||LA110_0==FALSE||LA110_0==FINAL||LA110_0==FUNCTION||LA110_0==HELPER||(LA110_0 >= IMPLEMENTS && LA110_0 <= INDEX)||LA110_0==LBRACK||LA110_0==LOCAL||LA110_0==MESSAGE||LA110_0==NAME||LA110_0==OBJECT||LA110_0==OPERATOR||LA110_0==OUT||LA110_0==POINTER||(LA110_0 >= PRIVATE && LA110_0 <= PROCEDURE)||(LA110_0 >= PROPERTY && LA110_0 <= PUBLISHED)||(LA110_0 >= READ && LA110_0 <= READONLY)||(LA110_0 >= REFERENCE && LA110_0 <= REGISTER)||LA110_0==REMOVE||LA110_0==RESOURCESTRING||LA110_0==STATIC||(LA110_0 >= STORED && LA110_0 <= STRING)||LA110_0==THREADVAR||LA110_0==TRUE||LA110_0==TYPE||LA110_0==TkIdentifier||LA110_0==UNSAFE||(LA110_0 >= VAR && LA110_0 <= VIRTUAL)||(LA110_0 >= WRITE && LA110_0 <= WRITEONLY)||LA110_0==198) ) { + alt110=1; + } + + switch (alt110) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:57: recordItem + { + pushFollow(FOLLOW_recordItem_in_simpleRecord7810); + recordItem346=recordItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_recordItem.add(recordItem346.getTree()); + } + break; + + default : + break loop110; + } + } + + string_literal347=(Token)match(input,END,FOLLOW_END_in_simpleRecord7814); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_END.add(string_literal347); + + // AST REWRITE + // elements: recordField, RECORD, recordItem + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 334:76: -> 'record' ( recordField )* ( recordItem )* + { + adaptor.addChild(root_0, stream_RECORD.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:88: ( recordField )* + while ( stream_recordField.hasNext() ) { + adaptor.addChild(root_0, stream_recordField.nextTree()); + } + stream_recordField.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:103: ( recordItem )* + while ( stream_recordItem.hasNext() ) { + adaptor.addChild(root_0, stream_recordItem.nextTree()); + } + stream_recordItem.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 82, simpleRecord_StartIndex); } + + } + return retval; + } + // $ANTLR end "simpleRecord" + + + public static class variantRecord_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "variantRecord" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:1: variantRecord : 'record' ( recordField )* ( recordItem )* recordVariantSection 'end' -> 'record' ( recordField )* ( recordItem )* recordVariantSection ; + public final DelphiParser.variantRecord_return variantRecord() throws RecognitionException { + DelphiParser.variantRecord_return retval = new DelphiParser.variantRecord_return(); + retval.start = input.LT(1); + int variantRecord_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal348=null; + Token string_literal352=null; + ParserRuleReturnScope recordField349 =null; + ParserRuleReturnScope recordItem350 =null; + ParserRuleReturnScope recordVariantSection351 =null; + + Object string_literal348_tree=null; + Object string_literal352_tree=null; + RewriteRuleTokenStream stream_RECORD=new RewriteRuleTokenStream(adaptor,"token RECORD"); + RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); + RewriteRuleSubtreeStream stream_recordVariantSection=new RewriteRuleSubtreeStream(adaptor,"rule recordVariantSection"); + RewriteRuleSubtreeStream stream_recordField=new RewriteRuleSubtreeStream(adaptor,"rule recordField"); + RewriteRuleSubtreeStream stream_recordItem=new RewriteRuleSubtreeStream(adaptor,"rule recordItem"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 83) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:30: ( 'record' ( recordField )* ( recordItem )* recordVariantSection 'end' -> 'record' ( recordField )* ( recordItem )* recordVariantSection ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:32: 'record' ( recordField )* ( recordItem )* recordVariantSection 'end' + { + string_literal348=(Token)match(input,RECORD,FOLLOW_RECORD_in_variantRecord7880); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RECORD.add(string_literal348); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:41: ( recordField )* + loop111: + while (true) { + int alt111=2; + alt111 = dfa111.predict(input); + switch (alt111) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:42: recordField + { + pushFollow(FOLLOW_recordField_in_variantRecord7883); + recordField349=recordField(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_recordField.add(recordField349.getTree()); + } + break; + + default : + break loop111; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:56: ( recordItem )* + loop112: + while (true) { + int alt112=2; + int LA112_0 = input.LA(1); + if ( (LA112_0==ADD||LA112_0==ANSISTRING||LA112_0==AT||LA112_0==AUTOMATED||LA112_0==BREAK||LA112_0==CLASS||(LA112_0 >= CONST && LA112_0 <= CONTINUE)||LA112_0==DEFAULT||(LA112_0 >= DESTRUCTOR && LA112_0 <= DISPID)||(LA112_0 >= DQ && LA112_0 <= DW)||LA112_0==EXIT||LA112_0==EXPORT||LA112_0==FALSE||LA112_0==FINAL||LA112_0==FUNCTION||LA112_0==HELPER||(LA112_0 >= IMPLEMENTS && LA112_0 <= INDEX)||LA112_0==LBRACK||LA112_0==LOCAL||LA112_0==MESSAGE||LA112_0==NAME||LA112_0==OBJECT||LA112_0==OPERATOR||LA112_0==OUT||LA112_0==POINTER||(LA112_0 >= PRIVATE && LA112_0 <= PROCEDURE)||(LA112_0 >= PROPERTY && LA112_0 <= PUBLISHED)||(LA112_0 >= READ && LA112_0 <= READONLY)||(LA112_0 >= REFERENCE && LA112_0 <= REGISTER)||LA112_0==REMOVE||LA112_0==RESOURCESTRING||LA112_0==STATIC||(LA112_0 >= STORED && LA112_0 <= STRING)||LA112_0==THREADVAR||LA112_0==TRUE||LA112_0==TYPE||LA112_0==TkIdentifier||LA112_0==UNSAFE||(LA112_0 >= VAR && LA112_0 <= VIRTUAL)||(LA112_0 >= WRITE && LA112_0 <= WRITEONLY)||LA112_0==198) ) { + alt112=1; + } + + switch (alt112) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:57: recordItem + { + pushFollow(FOLLOW_recordItem_in_variantRecord7888); + recordItem350=recordItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_recordItem.add(recordItem350.getTree()); + } + break; + + default : + break loop112; + } + } + + pushFollow(FOLLOW_recordVariantSection_in_variantRecord7892); + recordVariantSection351=recordVariantSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_recordVariantSection.add(recordVariantSection351.getTree()); + string_literal352=(Token)match(input,END,FOLLOW_END_in_variantRecord7894); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_END.add(string_literal352); + + // AST REWRITE + // elements: recordItem, RECORD, recordVariantSection, recordField + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 336:97: -> 'record' ( recordField )* ( recordItem )* recordVariantSection + { + adaptor.addChild(root_0, stream_RECORD.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:109: ( recordField )* + while ( stream_recordField.hasNext() ) { + adaptor.addChild(root_0, stream_recordField.nextTree()); + } + stream_recordField.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:124: ( recordItem )* + while ( stream_recordItem.hasNext() ) { + adaptor.addChild(root_0, stream_recordItem.nextTree()); + } + stream_recordItem.reset(); + + adaptor.addChild(root_0, stream_recordVariantSection.nextTree()); + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 83, variantRecord_StartIndex); } + + } + return retval; + } + // $ANTLR end "variantRecord" + + + public static class recordItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "recordItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:338:1: recordItem : ( visibility | classMethod | classProperty | constSection | typeSection | recordField | ( 'class' )? varSection ); + public final DelphiParser.recordItem_return recordItem() throws RecognitionException { + DelphiParser.recordItem_return retval = new DelphiParser.recordItem_return(); + retval.start = input.LT(1); + int recordItem_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal359=null; + ParserRuleReturnScope visibility353 =null; + ParserRuleReturnScope classMethod354 =null; + ParserRuleReturnScope classProperty355 =null; + ParserRuleReturnScope constSection356 =null; + ParserRuleReturnScope typeSection357 =null; + ParserRuleReturnScope recordField358 =null; + ParserRuleReturnScope varSection360 =null; + + Object string_literal359_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 84) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:338:30: ( visibility | classMethod | classProperty | constSection | typeSection | recordField | ( 'class' )? varSection ) + int alt114=7; + switch ( input.LA(1) ) { + case STRICT: + { + int LA114_1 = input.LA(2); + if ( (synpred157_Delphi()) ) { + alt114=1; + } + else if ( (synpred162_Delphi()) ) { + alt114=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 114, 1, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case AUTOMATED: + case PRIVATE: + case PROTECTED: + case PUBLIC: + case PUBLISHED: + { + alt114=1; + } + break; + case LBRACK: + { + int LA114_7 = input.LA(2); + if ( (synpred158_Delphi()) ) { + alt114=2; + } + else if ( (synpred159_Delphi()) ) { + alt114=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 114, 7, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case CLASS: + { + int LA114_8 = input.LA(2); + if ( (synpred158_Delphi()) ) { + alt114=2; + } + else if ( (synpred159_Delphi()) ) { + alt114=3; + } + else if ( (true) ) { + alt114=7; + } + + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case FUNCTION: + case PROCEDURE: + { + alt114=2; + } + break; + case OPERATOR: + { + int LA114_11 = input.LA(2); + if ( (synpred158_Delphi()) ) { + alt114=2; + } + else if ( (synpred162_Delphi()) ) { + alt114=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 114, 11, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case PROPERTY: + { + alt114=3; + } + break; + case CONST: + case RESOURCESTRING: + { + alt114=4; + } + break; + case TYPE: + { + alt114=5; + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRING: + case TRUE: + case TkIdentifier: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + case 198: + { + alt114=6; + } + break; + case THREADVAR: + case VAR: + { + alt114=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 114, 0, input); + throw nvae; + } + switch (alt114) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:338:32: visibility + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_visibility_in_recordItem7965); + visibility353=visibility(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility353.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:32: classMethod + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classMethod_in_recordItem8003); + classMethod354=classMethod(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod354.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:340:32: classProperty + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classProperty_in_recordItem8036); + classProperty355=classProperty(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty355.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:341:32: constSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_constSection_in_recordItem8069); + constSection356=constSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection356.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:342:32: typeSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_typeSection_in_recordItem8102); + typeSection357=typeSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeSection357.getTree()); + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:343:32: recordField + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_recordField_in_recordItem8135); + recordField358=recordField(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, recordField358.getTree()); + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:344:32: ( 'class' )? varSection + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:344:32: ( 'class' )? + int alt113=2; + int LA113_0 = input.LA(1); + if ( (LA113_0==CLASS) ) { + alt113=1; + } + switch (alt113) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:344:33: 'class' + { + string_literal359=(Token)match(input,CLASS,FOLLOW_CLASS_in_recordItem8169); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal359_tree = (Object)adaptor.create(string_literal359); + adaptor.addChild(root_0, string_literal359_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_varSection_in_recordItem8173); + varSection360=varSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, varSection360.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 84, recordItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "recordItem" + + + public static class recordField_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "recordField" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:346:1: recordField : identList ':' typeDecl ( hintingDirective )* ( ';' )? -> identList ^( TkVariableType typeDecl ) ; + public final DelphiParser.recordField_return recordField() throws RecognitionException { + DelphiParser.recordField_return retval = new DelphiParser.recordField_return(); + retval.start = input.LT(1); + int recordField_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal362=null; + Token char_literal365=null; + ParserRuleReturnScope identList361 =null; + ParserRuleReturnScope typeDecl363 =null; + ParserRuleReturnScope hintingDirective364 =null; + + Object char_literal362_tree=null; + Object char_literal365_tree=null; + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleSubtreeStream stream_identList=new RewriteRuleSubtreeStream(adaptor,"rule identList"); + RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 85) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:346:30: ( identList ':' typeDecl ( hintingDirective )* ( ';' )? -> identList ^( TkVariableType typeDecl ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:346:32: identList ':' typeDecl ( hintingDirective )* ( ';' )? + { + pushFollow(FOLLOW_identList_in_recordField8227); + identList361=identList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_identList.add(identList361.getTree()); + char_literal362=(Token)match(input,COLON,FOLLOW_COLON_in_recordField8229); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal362); + + pushFollow(FOLLOW_typeDecl_in_recordField8231); + typeDecl363=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl363.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:346:55: ( hintingDirective )* + loop115: + while (true) { + int alt115=2; + int LA115_0 = input.LA(1); + if ( (LA115_0==DEPRECATED||LA115_0==EXPERIMENTAL||LA115_0==LIBRARY||LA115_0==PLATFORM) ) { + alt115=1; + } + + switch (alt115) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:346:56: hintingDirective + { + pushFollow(FOLLOW_hintingDirective_in_recordField8234); + hintingDirective364=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective364.getTree()); + } + break; + + default : + break loop115; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:346:75: ( ';' )? + int alt116=2; + int LA116_0 = input.LA(1); + if ( (LA116_0==SEMI) ) { + alt116=1; + } + switch (alt116) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:346:76: ';' + { + char_literal365=(Token)match(input,SEMI,FOLLOW_SEMI_in_recordField8239); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal365); + + } + break; + + } + + // AST REWRITE + // elements: identList, typeDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 347:30: -> identList ^( TkVariableType typeDecl ) + { + adaptor.addChild(root_0, stream_identList.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:347:43: ^( TkVariableType typeDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_1); + adaptor.addChild(root_1, stream_typeDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 85, recordField_StartIndex); } + + } + return retval; + } + // $ANTLR end "recordField" + + + public static class recordVariantField_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "recordVariantField" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:1: recordVariantField : identList ':' typeDecl ( hintingDirective )* ( ';' )? -> identList ^( TkVariableType typeDecl ) ; + public final DelphiParser.recordVariantField_return recordVariantField() throws RecognitionException { + DelphiParser.recordVariantField_return retval = new DelphiParser.recordVariantField_return(); + retval.start = input.LT(1); + int recordVariantField_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal367=null; + Token char_literal370=null; + ParserRuleReturnScope identList366 =null; + ParserRuleReturnScope typeDecl368 =null; + ParserRuleReturnScope hintingDirective369 =null; + + Object char_literal367_tree=null; + Object char_literal370_tree=null; + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleSubtreeStream stream_identList=new RewriteRuleSubtreeStream(adaptor,"rule identList"); + RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 86) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:30: ( identList ':' typeDecl ( hintingDirective )* ( ';' )? -> identList ^( TkVariableType typeDecl ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:32: identList ':' typeDecl ( hintingDirective )* ( ';' )? + { + pushFollow(FOLLOW_identList_in_recordVariantField8329); + identList366=identList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_identList.add(identList366.getTree()); + char_literal367=(Token)match(input,COLON,FOLLOW_COLON_in_recordVariantField8331); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal367); + + pushFollow(FOLLOW_typeDecl_in_recordVariantField8333); + typeDecl368=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl368.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:55: ( hintingDirective )* + loop117: + while (true) { + int alt117=2; + int LA117_0 = input.LA(1); + if ( (LA117_0==DEPRECATED||LA117_0==EXPERIMENTAL||LA117_0==LIBRARY||LA117_0==PLATFORM) ) { + alt117=1; + } + + switch (alt117) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:56: hintingDirective + { + pushFollow(FOLLOW_hintingDirective_in_recordVariantField8336); + hintingDirective369=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective369.getTree()); + } + break; + + default : + break loop117; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:75: ( ';' )? + int alt118=2; + int LA118_0 = input.LA(1); + if ( (LA118_0==SEMI) ) { + alt118=1; + } + switch (alt118) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:349:76: ';' + { + char_literal370=(Token)match(input,SEMI,FOLLOW_SEMI_in_recordVariantField8341); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal370); + + } + break; + + } + + // AST REWRITE + // elements: typeDecl, identList + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 350:30: -> identList ^( TkVariableType typeDecl ) + { + adaptor.addChild(root_0, stream_identList.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:350:43: ^( TkVariableType typeDecl ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_1); + adaptor.addChild(root_1, stream_typeDecl.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 86, recordVariantField_StartIndex); } + + } + return retval; + } + // $ANTLR end "recordVariantField" + + + public static class recordVariantSection_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "recordVariantSection" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:1: recordVariantSection : 'case' ( ident ':' )? typeDecl 'of' ( recordVariant | ';' ) ( recordVariant | ';' )* ; + public final DelphiParser.recordVariantSection_return recordVariantSection() throws RecognitionException { + DelphiParser.recordVariantSection_return retval = new DelphiParser.recordVariantSection_return(); + retval.start = input.LT(1); + int recordVariantSection_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal371=null; + Token char_literal373=null; + Token string_literal375=null; + Token char_literal377=null; + Token char_literal379=null; + ParserRuleReturnScope ident372 =null; + ParserRuleReturnScope typeDecl374 =null; + ParserRuleReturnScope recordVariant376 =null; + ParserRuleReturnScope recordVariant378 =null; + + Object string_literal371_tree=null; + Object char_literal373_tree=null; + Object string_literal375_tree=null; + Object char_literal377_tree=null; + Object char_literal379_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 87) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:30: ( 'case' ( ident ':' )? typeDecl 'of' ( recordVariant | ';' ) ( recordVariant | ';' )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:32: 'case' ( ident ':' )? typeDecl 'of' ( recordVariant | ';' ) ( recordVariant | ';' )* + { + root_0 = (Object)adaptor.nil(); + + + string_literal371=(Token)match(input,CASE,FOLLOW_CASE_in_recordVariantSection8428); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal371_tree = (Object)adaptor.create(string_literal371); + adaptor.addChild(root_0, string_literal371_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:39: ( ident ':' )? + int alt119=2; + switch ( input.LA(1) ) { + case TkIdentifier: + { + int LA119_1 = input.LA(2); + if ( (LA119_1==COLON) ) { + alt119=1; + } + } + break; + case 198: + { + int LA119_2 = input.LA(2); + if ( (LA119_2==TkIdentifier) ) { + int LA119_15 = input.LA(3); + if ( (LA119_15==COLON) ) { + alt119=1; + } + } + else if ( ((LA119_2 >= ABSOLUTE && LA119_2 <= ASSEMBLY)||LA119_2==AT||LA119_2==AUTOMATED||(LA119_2 >= BEGIN && LA119_2 <= CLASS)||(LA119_2 >= CONST && LA119_2 <= CONTINUE)||LA119_2==DEFAULT||(LA119_2 >= DEPRECATED && LA119_2 <= DO)||(LA119_2 >= DOWNTO && LA119_2 <= DYNAMIC)||(LA119_2 >= ELSE && LA119_2 <= END)||(LA119_2 >= EXCEPT && LA119_2 <= FUNCTION)||LA119_2==GOTO||LA119_2==HELPER||(LA119_2 >= IF && LA119_2 <= LABEL)||(LA119_2 >= LIBRARY && LA119_2 <= LOCAL)||LA119_2==MESSAGE||(LA119_2 >= MOD && LA119_2 <= NOT)||(LA119_2 >= OBJECT && LA119_2 <= PLATFORM)||LA119_2==POINTER||(LA119_2 >= PRIVATE && LA119_2 <= PUBLISHED)||LA119_2==RAISE||(LA119_2 >= READ && LA119_2 <= RESOURCESTRING)||(LA119_2 >= SAFECALL && LA119_2 <= SEALED)||(LA119_2 >= SET && LA119_2 <= SHR)||(LA119_2 >= STATIC && LA119_2 <= TYPE)||(LA119_2 >= UNIT && LA119_2 <= USES)||(LA119_2 >= VAR && LA119_2 <= WRITEONLY)||LA119_2==XOR) ) { + int LA119_16 = input.LA(3); + if ( (LA119_16==COLON) ) { + alt119=1; + } + } + } + break; + case OBJECT: + { + int LA119_3 = input.LA(2); + if ( (LA119_3==COLON) ) { + alt119=1; + } + } + break; + case POINTER: + { + int LA119_5 = input.LA(2); + if ( (LA119_5==COLON) ) { + alt119=1; + } + } + break; + case STRING: + { + int LA119_6 = input.LA(2); + if ( (LA119_6==COLON) ) { + alt119=1; + } + } + break; + case ANSISTRING: + { + int LA119_7 = input.LA(2); + if ( (LA119_7==COLON) ) { + alt119=1; + } + } + break; + case REFERENCE: + { + int LA119_8 = input.LA(2); + if ( (LA119_8==COLON) ) { + alt119=1; + } + } + break; + case VARIANT: + { + int LA119_9 = input.LA(2); + if ( (LA119_9==COLON) ) { + alt119=1; + } + } + break; + case TRUE: + { + int LA119_10 = input.LA(2); + if ( (LA119_10==COLON) ) { + alt119=1; + } + } + break; + case FALSE: + { + int LA119_11 = input.LA(2); + if ( (LA119_11==COLON) ) { + alt119=1; + } + } + break; + case IN: + { + int LA119_12 = input.LA(2); + if ( (LA119_12==COLON) ) { + alt119=1; + } + } + break; + case ADD: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OPERATOR: + case OUT: + case READ: + case READONLY: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case UNSAFE: + case VARARGS: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA119_13 = input.LA(2); + if ( (LA119_13==COLON) ) { + alt119=1; + } + } + break; + } + switch (alt119) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:40: ident ':' + { + pushFollow(FOLLOW_ident_in_recordVariantSection8431); + ident372=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident372.getTree()); + + char_literal373=(Token)match(input,COLON,FOLLOW_COLON_in_recordVariantSection8433); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal373_tree = (Object)adaptor.create(char_literal373); + adaptor.addChild(root_0, char_literal373_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_recordVariantSection8437); + typeDecl374=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl374.getTree()); + + string_literal375=(Token)match(input,OF,FOLLOW_OF_in_recordVariantSection8439); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal375_tree = (Object)adaptor.create(string_literal375); + adaptor.addChild(root_0, string_literal375_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:66: ( recordVariant | ';' ) + int alt120=2; + int LA120_0 = input.LA(1); + if ( ((LA120_0 >= ADD && LA120_0 <= ANSISTRING)||LA120_0==AS||(LA120_0 >= AT && LA120_0 <= AT2)||LA120_0==BREAK||(LA120_0 >= COLON && LA120_0 <= COMMA)||(LA120_0 >= CONTAINS && LA120_0 <= DEFAULT)||LA120_0==DISPID||LA120_0==DIV||LA120_0==DOT||(LA120_0 >= DQ && LA120_0 <= DW)||LA120_0==EQUAL||LA120_0==EXIT||LA120_0==EXPORT||LA120_0==FALSE||LA120_0==FINAL||(LA120_0 >= FUNCTION && LA120_0 <= GE)||(LA120_0 >= GT && LA120_0 <= HELPER)||(LA120_0 >= IMPLEMENTS && LA120_0 <= INHERITED)||LA120_0==IS||LA120_0==LBRACK||LA120_0==LE||(LA120_0 >= LOCAL && LA120_0 <= NAME)||LA120_0==NIL||(LA120_0 >= NOT && LA120_0 <= OBJECT)||(LA120_0 >= OPERATOR && LA120_0 <= OUT)||(LA120_0 >= PLUS && LA120_0 <= POINTER2)||LA120_0==PROCEDURE||LA120_0==QuotedString||(LA120_0 >= READ && LA120_0 <= READONLY)||(LA120_0 >= REFERENCE && LA120_0 <= REGISTER)||LA120_0==REMOVE||(LA120_0 >= SHL && LA120_0 <= STATIC)||(LA120_0 >= STORED && LA120_0 <= STRING)||LA120_0==TRUE||(LA120_0 >= TkHexNum && LA120_0 <= TkIntNum)||LA120_0==TkRealNum||LA120_0==UNSAFE||(LA120_0 >= VARARGS && LA120_0 <= VIRTUAL)||(LA120_0 >= WRITE && LA120_0 <= WRITEONLY)||(LA120_0 >= XOR && LA120_0 <= 210)) ) { + alt120=1; + } + else if ( (LA120_0==SEMI) ) { + alt120=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 120, 0, input); + throw nvae; + } + + switch (alt120) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:67: recordVariant + { + pushFollow(FOLLOW_recordVariant_in_recordVariantSection8442); + recordVariant376=recordVariant(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, recordVariant376.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:83: ';' + { + char_literal377=(Token)match(input,SEMI,FOLLOW_SEMI_in_recordVariantSection8446); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal377_tree = (Object)adaptor.create(char_literal377); + adaptor.addChild(root_0, char_literal377_tree); + } + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:88: ( recordVariant | ';' )* + loop121: + while (true) { + int alt121=3; + int LA121_0 = input.LA(1); + if ( ((LA121_0 >= ADD && LA121_0 <= ANSISTRING)||LA121_0==AS||(LA121_0 >= AT && LA121_0 <= AT2)||LA121_0==BREAK||(LA121_0 >= COLON && LA121_0 <= COMMA)||(LA121_0 >= CONTAINS && LA121_0 <= DEFAULT)||LA121_0==DISPID||LA121_0==DIV||LA121_0==DOT||(LA121_0 >= DQ && LA121_0 <= DW)||LA121_0==EQUAL||LA121_0==EXIT||LA121_0==EXPORT||LA121_0==FALSE||LA121_0==FINAL||(LA121_0 >= FUNCTION && LA121_0 <= GE)||(LA121_0 >= GT && LA121_0 <= HELPER)||(LA121_0 >= IMPLEMENTS && LA121_0 <= INHERITED)||LA121_0==IS||LA121_0==LBRACK||LA121_0==LE||(LA121_0 >= LOCAL && LA121_0 <= NAME)||LA121_0==NIL||(LA121_0 >= NOT && LA121_0 <= OBJECT)||(LA121_0 >= OPERATOR && LA121_0 <= OUT)||(LA121_0 >= PLUS && LA121_0 <= POINTER2)||LA121_0==PROCEDURE||LA121_0==QuotedString||(LA121_0 >= READ && LA121_0 <= READONLY)||(LA121_0 >= REFERENCE && LA121_0 <= REGISTER)||LA121_0==REMOVE||(LA121_0 >= SHL && LA121_0 <= STATIC)||(LA121_0 >= STORED && LA121_0 <= STRING)||LA121_0==TRUE||(LA121_0 >= TkHexNum && LA121_0 <= TkIntNum)||LA121_0==TkRealNum||LA121_0==UNSAFE||(LA121_0 >= VARARGS && LA121_0 <= VIRTUAL)||(LA121_0 >= WRITE && LA121_0 <= WRITEONLY)||(LA121_0 >= XOR && LA121_0 <= 210)) ) { + alt121=1; + } + else if ( (LA121_0==SEMI) ) { + alt121=2; + } + + switch (alt121) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:89: recordVariant + { + pushFollow(FOLLOW_recordVariant_in_recordVariantSection8450); + recordVariant378=recordVariant(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, recordVariant378.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:352:105: ';' + { + char_literal379=(Token)match(input,SEMI,FOLLOW_SEMI_in_recordVariantSection8454); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal379_tree = (Object)adaptor.create(char_literal379); + adaptor.addChild(root_0, char_literal379_tree); + } + + } + break; + + default : + break loop121; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 87, recordVariantSection_StartIndex); } + + } + return retval; + } + // $ANTLR end "recordVariantSection" + + + public static class recordVariant_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "recordVariant" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:354:1: recordVariant : constExpression ( ',' constExpression )* ':' '(' ( recordVariantField )* ')' ; + public final DelphiParser.recordVariant_return recordVariant() throws RecognitionException { + DelphiParser.recordVariant_return retval = new DelphiParser.recordVariant_return(); + retval.start = input.LT(1); + int recordVariant_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal381=null; + Token char_literal383=null; + Token char_literal384=null; + Token char_literal386=null; + ParserRuleReturnScope constExpression380 =null; + ParserRuleReturnScope constExpression382 =null; + ParserRuleReturnScope recordVariantField385 =null; + + Object char_literal381_tree=null; + Object char_literal383_tree=null; + Object char_literal384_tree=null; + Object char_literal386_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 88) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:354:30: ( constExpression ( ',' constExpression )* ':' '(' ( recordVariantField )* ')' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:354:32: constExpression ( ',' constExpression )* ':' '(' ( recordVariantField )* ')' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_constExpression_in_recordVariant8508); + constExpression380=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression380.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:354:48: ( ',' constExpression )* + loop122: + while (true) { + int alt122=2; + int LA122_0 = input.LA(1); + if ( (LA122_0==COMMA) ) { + alt122=1; + } + + switch (alt122) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:354:49: ',' constExpression + { + char_literal381=(Token)match(input,COMMA,FOLLOW_COMMA_in_recordVariant8511); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal381_tree = (Object)adaptor.create(char_literal381); + adaptor.addChild(root_0, char_literal381_tree); + } + + pushFollow(FOLLOW_constExpression_in_recordVariant8513); + constExpression382=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression382.getTree()); + + } + break; + + default : + break loop122; + } + } + + char_literal383=(Token)match(input,COLON,FOLLOW_COLON_in_recordVariant8517); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal383_tree = (Object)adaptor.create(char_literal383); + adaptor.addChild(root_0, char_literal383_tree); + } + + char_literal384=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_recordVariant8519); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal384_tree = (Object)adaptor.create(char_literal384); + adaptor.addChild(root_0, char_literal384_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:354:79: ( recordVariantField )* + loop123: + while (true) { + int alt123=2; + int LA123_0 = input.LA(1); + if ( (LA123_0==ADD||LA123_0==ANSISTRING||LA123_0==AT||LA123_0==BREAK||(LA123_0 >= CONTAINS && LA123_0 <= CONTINUE)||LA123_0==DEFAULT||LA123_0==DISPID||(LA123_0 >= DQ && LA123_0 <= DW)||LA123_0==EXIT||LA123_0==EXPORT||LA123_0==FALSE||LA123_0==FINAL||LA123_0==HELPER||(LA123_0 >= IMPLEMENTS && LA123_0 <= INDEX)||LA123_0==LOCAL||LA123_0==MESSAGE||LA123_0==NAME||LA123_0==OBJECT||LA123_0==OPERATOR||LA123_0==OUT||LA123_0==POINTER||(LA123_0 >= READ && LA123_0 <= READONLY)||(LA123_0 >= REFERENCE && LA123_0 <= REGISTER)||LA123_0==REMOVE||LA123_0==STATIC||(LA123_0 >= STORED && LA123_0 <= STRING)||LA123_0==TRUE||LA123_0==TkIdentifier||LA123_0==UNSAFE||(LA123_0 >= VARARGS && LA123_0 <= VIRTUAL)||(LA123_0 >= WRITE && LA123_0 <= WRITEONLY)||LA123_0==198) ) { + alt123=1; + } + + switch (alt123) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:354:80: recordVariantField + { + pushFollow(FOLLOW_recordVariantField_in_recordVariant8522); + recordVariantField385=recordVariantField(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, recordVariantField385.getTree()); + + } + break; + + default : + break loop123; + } + } + + char_literal386=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_recordVariant8526); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal386_tree = (Object)adaptor.create(char_literal386); + adaptor.addChild(root_0, char_literal386_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 88, recordVariant_StartIndex); } + + } + return retval; + } + // $ANTLR end "recordVariant" + + + public static class recordHelperDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "recordHelperDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:1: recordHelperDecl : 'record' 'helper' 'for' typeId ( recordHelperItem )* 'end' ; + public final DelphiParser.recordHelperDecl_return recordHelperDecl() throws RecognitionException { + DelphiParser.recordHelperDecl_return retval = new DelphiParser.recordHelperDecl_return(); + retval.start = input.LT(1); + int recordHelperDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal387=null; + Token string_literal388=null; + Token string_literal389=null; + Token string_literal392=null; + ParserRuleReturnScope typeId390 =null; + ParserRuleReturnScope recordHelperItem391 =null; + + Object string_literal387_tree=null; + Object string_literal388_tree=null; + Object string_literal389_tree=null; + Object string_literal392_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 89) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:30: ( 'record' 'helper' 'for' typeId ( recordHelperItem )* 'end' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:32: 'record' 'helper' 'for' typeId ( recordHelperItem )* 'end' + { + root_0 = (Object)adaptor.nil(); + + + string_literal387=(Token)match(input,RECORD,FOLLOW_RECORD_in_recordHelperDecl8578); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal387_tree = (Object)adaptor.create(string_literal387); + adaptor.addChild(root_0, string_literal387_tree); + } + + string_literal388=(Token)match(input,HELPER,FOLLOW_HELPER_in_recordHelperDecl8580); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal388_tree = (Object)adaptor.create(string_literal388); + adaptor.addChild(root_0, string_literal388_tree); + } + + string_literal389=(Token)match(input,FOR,FOLLOW_FOR_in_recordHelperDecl8582); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal389_tree = (Object)adaptor.create(string_literal389); + adaptor.addChild(root_0, string_literal389_tree); + } + + pushFollow(FOLLOW_typeId_in_recordHelperDecl8584); + typeId390=typeId(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId390.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:63: ( recordHelperItem )* + loop124: + while (true) { + int alt124=2; + int LA124_0 = input.LA(1); + if ( (LA124_0==AUTOMATED||LA124_0==CLASS||(LA124_0 >= CONST && LA124_0 <= CONSTRUCTOR)||LA124_0==DESTRUCTOR||LA124_0==FUNCTION||LA124_0==LBRACK||LA124_0==OPERATOR||(LA124_0 >= PRIVATE && LA124_0 <= PROCEDURE)||(LA124_0 >= PROPERTY && LA124_0 <= PUBLISHED)||LA124_0==RESOURCESTRING||LA124_0==STRICT) ) { + alt124=1; + } + + switch (alt124) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:356:64: recordHelperItem + { + pushFollow(FOLLOW_recordHelperItem_in_recordHelperDecl8587); + recordHelperItem391=recordHelperItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, recordHelperItem391.getTree()); + + } + break; + + default : + break loop124; + } + } + + string_literal392=(Token)match(input,END,FOLLOW_END_in_recordHelperDecl8591); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal392_tree = (Object)adaptor.create(string_literal392); + adaptor.addChild(root_0, string_literal392_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 89, recordHelperDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "recordHelperDecl" + + + public static class recordHelperItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "recordHelperItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:1: recordHelperItem : ( visibility | constSection | classMethod | classProperty ); + public final DelphiParser.recordHelperItem_return recordHelperItem() throws RecognitionException { + DelphiParser.recordHelperItem_return retval = new DelphiParser.recordHelperItem_return(); + retval.start = input.LT(1); + int recordHelperItem_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope visibility393 =null; + ParserRuleReturnScope constSection394 =null; + ParserRuleReturnScope classMethod395 =null; + ParserRuleReturnScope classProperty396 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 90) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:30: ( visibility | constSection | classMethod | classProperty ) + int alt125=4; + switch ( input.LA(1) ) { + case AUTOMATED: + case PRIVATE: + case PROTECTED: + case PUBLIC: + case PUBLISHED: + case STRICT: + { + alt125=1; + } + break; + case CONST: + case RESOURCESTRING: + { + alt125=2; + } + break; + case LBRACK: + { + int LA125_8 = input.LA(2); + if ( (synpred177_Delphi()) ) { + alt125=3; + } + else if ( (true) ) { + alt125=4; + } + + } + break; + case CLASS: + { + int LA125_9 = input.LA(2); + if ( (synpred177_Delphi()) ) { + alt125=3; + } + else if ( (true) ) { + alt125=4; + } + + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case FUNCTION: + case OPERATOR: + case PROCEDURE: + { + alt125=3; + } + break; + case PROPERTY: + { + alt125=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 125, 0, input); + throw nvae; + } + switch (alt125) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:358:32: visibility + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_visibility_in_recordHelperItem8640); + visibility393=visibility(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, visibility393.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:359:32: constSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_constSection_in_recordHelperItem8673); + constSection394=constSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constSection394.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:32: classMethod + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classMethod_in_recordHelperItem8706); + classMethod395=classMethod(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classMethod395.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:361:32: classProperty + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classProperty_in_recordHelperItem8739); + classProperty396=classProperty(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classProperty396.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 90, recordHelperItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "recordHelperItem" + + + public static class classMethod_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classMethod" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:1: classMethod : ( ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? ^( TkFunctionReturn typeDecl ) ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'operator' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( 'operator' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? typeDecl ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? '.' ident '=' ident ';' | ( customAttribute )? ( 'class' )? 'procedure' ident ( genericDefinition )? '.' ident '=' ident ';' ); + public final DelphiParser.classMethod_return classMethod() throws RecognitionException { + DelphiParser.classMethod_return retval = new DelphiParser.classMethod_return(); + retval.start = input.LT(1); + int classMethod_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal398=null; + Token char_literal403=null; + Token string_literal406=null; + Token string_literal407=null; + Token char_literal411=null; + Token char_literal414=null; + Token string_literal417=null; + Token string_literal418=null; + Token char_literal422=null; + Token char_literal425=null; + Token string_literal428=null; + Token string_literal429=null; + Token char_literal432=null; + Token char_literal434=null; + Token char_literal436=null; + Token string_literal438=null; + Token string_literal439=null; + Token char_literal442=null; + Token char_literal444=null; + Token char_literal446=null; + ParserRuleReturnScope customAttribute397 =null; + ParserRuleReturnScope methodKey399 =null; + ParserRuleReturnScope ident400 =null; + ParserRuleReturnScope genericDefinition401 =null; + ParserRuleReturnScope formalParameterSection402 =null; + ParserRuleReturnScope methodDirective404 =null; + ParserRuleReturnScope customAttribute405 =null; + ParserRuleReturnScope ident408 =null; + ParserRuleReturnScope genericDefinition409 =null; + ParserRuleReturnScope formalParameterSection410 =null; + ParserRuleReturnScope customAttribute412 =null; + ParserRuleReturnScope typeDecl413 =null; + ParserRuleReturnScope methodDirective415 =null; + ParserRuleReturnScope customAttribute416 =null; + ParserRuleReturnScope ident419 =null; + ParserRuleReturnScope genericDefinition420 =null; + ParserRuleReturnScope formalParameterSection421 =null; + ParserRuleReturnScope customAttribute423 =null; + ParserRuleReturnScope typeDecl424 =null; + ParserRuleReturnScope methodDirective426 =null; + ParserRuleReturnScope customAttribute427 =null; + ParserRuleReturnScope ident430 =null; + ParserRuleReturnScope genericDefinition431 =null; + ParserRuleReturnScope ident433 =null; + ParserRuleReturnScope ident435 =null; + ParserRuleReturnScope customAttribute437 =null; + ParserRuleReturnScope ident440 =null; + ParserRuleReturnScope genericDefinition441 =null; + ParserRuleReturnScope ident443 =null; + ParserRuleReturnScope ident445 =null; + + Object string_literal398_tree=null; + Object char_literal403_tree=null; + Object string_literal406_tree=null; + Object string_literal407_tree=null; + Object char_literal411_tree=null; + Object char_literal414_tree=null; + Object string_literal417_tree=null; + Object string_literal418_tree=null; + Object char_literal422_tree=null; + Object char_literal425_tree=null; + Object string_literal428_tree=null; + Object string_literal429_tree=null; + Object char_literal432_tree=null; + Object char_literal434_tree=null; + Object char_literal436_tree=null; + Object string_literal438_tree=null; + Object string_literal439_tree=null; + Object char_literal442_tree=null; + Object char_literal444_tree=null; + Object char_literal446_tree=null; + RewriteRuleTokenStream stream_OPERATOR=new RewriteRuleTokenStream(adaptor,"token OPERATOR"); + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); + RewriteRuleTokenStream stream_FUNCTION=new RewriteRuleTokenStream(adaptor,"token FUNCTION"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_methodKey=new RewriteRuleSubtreeStream(adaptor,"rule methodKey"); + RewriteRuleSubtreeStream stream_genericDefinition=new RewriteRuleSubtreeStream(adaptor,"rule genericDefinition"); + RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); + RewriteRuleSubtreeStream stream_formalParameterSection=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterSection"); + RewriteRuleSubtreeStream stream_methodDirective=new RewriteRuleSubtreeStream(adaptor,"rule methodDirective"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 91) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:30: ( ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? ^( TkFunctionReturn typeDecl ) ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'operator' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* -> ( customAttribute )? ( 'class' )? ^( 'operator' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? typeDecl ( methodDirective )* ) | ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? '.' ident '=' ident ';' | ( customAttribute )? ( 'class' )? 'procedure' ident ( genericDefinition )? '.' ident '=' ident ';' ) + int alt149=5; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA149_1 = input.LA(2); + if ( (synpred183_Delphi()) ) { + alt149=1; + } + else if ( (synpred190_Delphi()) ) { + alt149=2; + } + else if ( (synpred197_Delphi()) ) { + alt149=3; + } + else if ( (synpred201_Delphi()) ) { + alt149=4; + } + else if ( (true) ) { + alt149=5; + } + + } + break; + case CLASS: + { + int LA149_2 = input.LA(2); + if ( (synpred183_Delphi()) ) { + alt149=1; + } + else if ( (synpred190_Delphi()) ) { + alt149=2; + } + else if ( (synpred197_Delphi()) ) { + alt149=3; + } + else if ( (synpred201_Delphi()) ) { + alt149=4; + } + else if ( (true) ) { + alt149=5; + } + + } + break; + case PROCEDURE: + { + int LA149_3 = input.LA(2); + if ( (synpred183_Delphi()) ) { + alt149=1; + } + else if ( (true) ) { + alt149=5; + } + + } + break; + case FUNCTION: + { + int LA149_4 = input.LA(2); + if ( (synpred190_Delphi()) ) { + alt149=2; + } + else if ( (synpred201_Delphi()) ) { + alt149=4; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 149, 4, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case OPERATOR: + { + alt149=3; + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + { + alt149=1; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 149, 0, input); + throw nvae; + } + switch (alt149) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:32: ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:32: ( customAttribute )? + int alt126=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt126=1; + } + break; + case CLASS: + { + int LA126_2 = input.LA(2); + if ( (synpred178_Delphi()) ) { + alt126=1; + } + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case PROCEDURE: + { + int LA126_3 = input.LA(2); + if ( (synpred178_Delphi()) ) { + alt126=1; + } + } + break; + } + switch (alt126) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_classMethod8794); + customAttribute397=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute397.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:51: ( 'class' )? + int alt127=2; + int LA127_0 = input.LA(1); + if ( (LA127_0==CLASS) ) { + alt127=1; + } + switch (alt127) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:52: 'class' + { + string_literal398=(Token)match(input,CLASS,FOLLOW_CLASS_in_classMethod8799); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal398); + + } + break; + + } + + pushFollow(FOLLOW_methodKey_in_classMethod8803); + methodKey399=methodKey(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodKey.add(methodKey399.getTree()); + pushFollow(FOLLOW_ident_in_classMethod8805); + ident400=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident400.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:78: ( genericDefinition )? + int alt128=2; + int LA128_0 = input.LA(1); + if ( (LA128_0==LT) ) { + alt128=1; + } + switch (alt128) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:79: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_classMethod8808); + genericDefinition401=genericDefinition(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_genericDefinition.add(genericDefinition401.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:99: ( formalParameterSection )? + int alt129=2; + int LA129_0 = input.LA(1); + if ( (LA129_0==LPAREN) ) { + alt129=1; + } + switch (alt129) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:100: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_classMethod8813); + formalParameterSection402=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection402.getTree()); + } + break; + + } + + char_literal403=(Token)match(input,SEMI,FOLLOW_SEMI_in_classMethod8817); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal403); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:129: ( methodDirective )* + loop130: + while (true) { + int alt130=2; + switch ( input.LA(1) ) { + case MESSAGE: + { + int LA130_2 = input.LA(2); + if ( ((LA130_2 >= ADD && LA130_2 <= ANSISTRING)||LA130_2==AS||(LA130_2 >= AT && LA130_2 <= AT2)||LA130_2==BREAK||(LA130_2 >= CONTAINS && LA130_2 <= DEFAULT)||LA130_2==DISPID||LA130_2==DIV||LA130_2==DOT||(LA130_2 >= DQ && LA130_2 <= DW)||LA130_2==EQUAL||LA130_2==EXIT||LA130_2==EXPORT||LA130_2==FALSE||LA130_2==FINAL||(LA130_2 >= FUNCTION && LA130_2 <= GE)||(LA130_2 >= GT && LA130_2 <= HELPER)||(LA130_2 >= IMPLEMENTS && LA130_2 <= INHERITED)||LA130_2==IS||LA130_2==LBRACK||LA130_2==LE||(LA130_2 >= LOCAL && LA130_2 <= NAME)||LA130_2==NIL||(LA130_2 >= NOT && LA130_2 <= OBJECT)||(LA130_2 >= OPERATOR && LA130_2 <= OUT)||(LA130_2 >= PLUS && LA130_2 <= POINTER2)||LA130_2==PROCEDURE||LA130_2==QuotedString||(LA130_2 >= READ && LA130_2 <= READONLY)||(LA130_2 >= REFERENCE && LA130_2 <= REGISTER)||LA130_2==REMOVE||LA130_2==SEMI||(LA130_2 >= SHL && LA130_2 <= STATIC)||(LA130_2 >= STORED && LA130_2 <= STRING)||LA130_2==TRUE||(LA130_2 >= TkHexNum && LA130_2 <= TkIntNum)||LA130_2==TkRealNum||LA130_2==UNSAFE||(LA130_2 >= VARARGS && LA130_2 <= VIRTUAL)||(LA130_2 >= WRITE && LA130_2 <= WRITEONLY)||(LA130_2 >= XOR && LA130_2 <= 210)) ) { + alt130=1; + } + + } + break; + case ABSTRACT: + case ASSEMBLER: + case CDECL: + case DEPRECATED: + case DYNAMIC: + case EXPERIMENTAL: + case EXTERNAL: + case FAR: + case INLINE: + case LIBRARY: + case NEAR: + case OVERLOAD: + case OVERRIDE: + case PASCAL: + case PLATFORM: + case REINTRODUCE: + case SAFECALL: + case STDCALL: + { + alt130=1; + } + break; + case STATIC: + { + int LA130_4 = input.LA(2); + if ( (LA130_4==SEMI) ) { + alt130=1; + } + + } + break; + case VIRTUAL: + { + int LA130_5 = input.LA(2); + if ( (LA130_5==SEMI) ) { + alt130=1; + } + + } + break; + case FINAL: + { + int LA130_6 = input.LA(2); + if ( (LA130_6==SEMI) ) { + alt130=1; + } + + } + break; + case REGISTER: + { + int LA130_7 = input.LA(2); + if ( (LA130_7==SEMI) ) { + alt130=1; + } + + } + break; + case EXPORT: + { + int LA130_8 = input.LA(2); + if ( (LA130_8==SEMI) ) { + alt130=1; + } + + } + break; + case LOCAL: + { + int LA130_9 = input.LA(2); + if ( (LA130_9==SEMI) ) { + alt130=1; + } + + } + break; + case DISPID: + { + int LA130_10 = input.LA(2); + if ( ((LA130_10 >= ADD && LA130_10 <= ANSISTRING)||LA130_10==AS||(LA130_10 >= AT && LA130_10 <= AT2)||LA130_10==BREAK||(LA130_10 >= CONTAINS && LA130_10 <= DEFAULT)||LA130_10==DISPID||LA130_10==DIV||LA130_10==DOT||(LA130_10 >= DQ && LA130_10 <= DW)||LA130_10==EQUAL||LA130_10==EXIT||LA130_10==EXPORT||LA130_10==FALSE||LA130_10==FINAL||(LA130_10 >= FUNCTION && LA130_10 <= GE)||(LA130_10 >= GT && LA130_10 <= HELPER)||(LA130_10 >= IMPLEMENTS && LA130_10 <= INHERITED)||LA130_10==IS||LA130_10==LBRACK||LA130_10==LE||(LA130_10 >= LOCAL && LA130_10 <= NAME)||LA130_10==NIL||(LA130_10 >= NOT && LA130_10 <= OBJECT)||(LA130_10 >= OPERATOR && LA130_10 <= OUT)||(LA130_10 >= PLUS && LA130_10 <= POINTER2)||LA130_10==PROCEDURE||LA130_10==QuotedString||(LA130_10 >= READ && LA130_10 <= READONLY)||(LA130_10 >= REFERENCE && LA130_10 <= REGISTER)||LA130_10==REMOVE||LA130_10==SEMI||(LA130_10 >= SHL && LA130_10 <= STATIC)||(LA130_10 >= STORED && LA130_10 <= STRING)||LA130_10==TRUE||(LA130_10 >= TkHexNum && LA130_10 <= TkIntNum)||LA130_10==TkRealNum||LA130_10==UNSAFE||(LA130_10 >= VARARGS && LA130_10 <= VIRTUAL)||(LA130_10 >= WRITE && LA130_10 <= WRITEONLY)||(LA130_10 >= XOR && LA130_10 <= 210)) ) { + alt130=1; + } + + } + break; + case VARARGS: + { + int LA130_11 = input.LA(2); + if ( (LA130_11==SEMI) ) { + alt130=1; + } + + } + break; + } + switch (alt130) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:130: methodDirective + { + pushFollow(FOLLOW_methodDirective_in_classMethod8820); + methodDirective404=methodDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodDirective.add(methodDirective404.getTree()); + } + break; + + default : + break loop130; + } + } + + // AST REWRITE + // elements: methodDirective, CLASS, methodKey, genericDefinition, formalParameterSection, customAttribute, ident + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 364:30: -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( methodDirective )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:364:34: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_0, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:364:53: ( 'class' )? + if ( stream_CLASS.hasNext() ) { + adaptor.addChild(root_0, stream_CLASS.nextNode()); + } + stream_CLASS.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:364:64: ^( methodKey ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( methodDirective )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_methodKey.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:364:76: ^( TkFunctionName ident ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); + adaptor.addChild(root_2, stream_ident.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:364:100: ( genericDefinition )? + if ( stream_genericDefinition.hasNext() ) { + adaptor.addChild(root_1, stream_genericDefinition.nextTree()); + } + stream_genericDefinition.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:364:121: ^( TkFunctionArgs ( formalParameterSection )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:364:138: ( formalParameterSection )? + if ( stream_formalParameterSection.hasNext() ) { + adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); + } + stream_formalParameterSection.reset(); + + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:364:165: ( methodDirective )* + while ( stream_methodDirective.hasNext() ) { + adaptor.addChild(root_1, stream_methodDirective.nextTree()); + } + stream_methodDirective.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:32: ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:32: ( customAttribute )? + int alt131=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt131=1; + } + break; + case CLASS: + { + int LA131_2 = input.LA(2); + if ( (synpred184_Delphi()) ) { + alt131=1; + } + } + break; + case FUNCTION: + { + int LA131_3 = input.LA(2); + if ( (synpred184_Delphi()) ) { + alt131=1; + } + } + break; + } + switch (alt131) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_classMethod8928); + customAttribute405=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute405.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:51: ( 'class' )? + int alt132=2; + int LA132_0 = input.LA(1); + if ( (LA132_0==CLASS) ) { + alt132=1; + } + switch (alt132) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:52: 'class' + { + string_literal406=(Token)match(input,CLASS,FOLLOW_CLASS_in_classMethod8933); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal406); + + } + break; + + } + + string_literal407=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_classMethod8937); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_FUNCTION.add(string_literal407); + + pushFollow(FOLLOW_ident_in_classMethod8939); + ident408=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident408.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:79: ( genericDefinition )? + int alt133=2; + int LA133_0 = input.LA(1); + if ( (LA133_0==LT) ) { + alt133=1; + } + switch (alt133) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:80: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_classMethod8942); + genericDefinition409=genericDefinition(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_genericDefinition.add(genericDefinition409.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:100: ( formalParameterSection )? + int alt134=2; + int LA134_0 = input.LA(1); + if ( (LA134_0==LPAREN) ) { + alt134=1; + } + switch (alt134) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:101: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_classMethod8947); + formalParameterSection410=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection410.getTree()); + } + break; + + } + + char_literal411=(Token)match(input,COLON,FOLLOW_COLON_in_classMethod8951); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal411); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:130: ( customAttribute )? + int alt135=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA135_1 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case PACKED: + { + int LA135_2 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case ARRAY: + { + int LA135_3 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case SET: + { + int LA135_4 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case FILE: + { + int LA135_5 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case CLASS: + { + int LA135_6 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case DISPINTERFACE: + case INTERFACE: + { + int LA135_7 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case OBJECT: + { + int LA135_8 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case RECORD: + { + int LA135_9 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case POINTER2: + { + int LA135_10 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case POINTER: + { + int LA135_11 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case STRING: + { + int LA135_12 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case TYPE: + { + int LA135_13 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case ANSISTRING: + { + int LA135_14 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case FUNCTION: + { + int LA135_15 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case PROCEDURE: + { + int LA135_16 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case REFERENCE: + { + int LA135_17 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case VARIANT: + { + int LA135_18 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case TkIdentifier: + { + int LA135_19 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case 198: + { + int LA135_20 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case TRUE: + { + int LA135_21 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case LPAREN: + { + int LA135_22 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case AT2: + { + int LA135_23 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case 199: + { + int LA135_24 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case NOT: + { + int LA135_25 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case PLUS: + { + int LA135_26 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case MINUS: + { + int LA135_27 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case TkRealNum: + { + int LA135_28 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case TkHexNum: + case TkIntNum: + { + int LA135_29 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case FALSE: + { + int LA135_30 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case IN: + { + int LA135_31 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case NIL: + { + int LA135_32 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case 210: + { + int LA135_33 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case ControlChar: + { + int LA135_34 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case QuotedString: + { + int LA135_35 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case 203: + { + int LA135_36 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case INHERITED: + { + int LA135_37 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case 209: + { + int LA135_38 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case DOT: + { + int LA135_39 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case LT: + { + int LA135_40 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA135_41 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case ADD: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OPERATOR: + case OUT: + case READ: + case READONLY: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case UNSAFE: + case VARARGS: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA135_42 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case EQUAL: + { + int LA135_43 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case GE: + case GT: + case IS: + case LE: + case NOT_EQUAL: + { + int LA135_44 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case DOTDOT: + { + int LA135_45 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + case SEMI: + { + int LA135_46 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt135=1; + } + } + break; + } + switch (alt135) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:131: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_classMethod8954); + customAttribute412=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute412.getTree()); + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_classMethod8958); + typeDecl413=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl413.getTree()); + char_literal414=(Token)match(input,SEMI,FOLLOW_SEMI_in_classMethod8960); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal414); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:162: ( methodDirective )* + loop136: + while (true) { + int alt136=2; + switch ( input.LA(1) ) { + case MESSAGE: + { + int LA136_2 = input.LA(2); + if ( ((LA136_2 >= ADD && LA136_2 <= ANSISTRING)||LA136_2==AS||(LA136_2 >= AT && LA136_2 <= AT2)||LA136_2==BREAK||(LA136_2 >= CONTAINS && LA136_2 <= DEFAULT)||LA136_2==DISPID||LA136_2==DIV||LA136_2==DOT||(LA136_2 >= DQ && LA136_2 <= DW)||LA136_2==EQUAL||LA136_2==EXIT||LA136_2==EXPORT||LA136_2==FALSE||LA136_2==FINAL||(LA136_2 >= FUNCTION && LA136_2 <= GE)||(LA136_2 >= GT && LA136_2 <= HELPER)||(LA136_2 >= IMPLEMENTS && LA136_2 <= INHERITED)||LA136_2==IS||LA136_2==LBRACK||LA136_2==LE||(LA136_2 >= LOCAL && LA136_2 <= NAME)||LA136_2==NIL||(LA136_2 >= NOT && LA136_2 <= OBJECT)||(LA136_2 >= OPERATOR && LA136_2 <= OUT)||(LA136_2 >= PLUS && LA136_2 <= POINTER2)||LA136_2==PROCEDURE||LA136_2==QuotedString||(LA136_2 >= READ && LA136_2 <= READONLY)||(LA136_2 >= REFERENCE && LA136_2 <= REGISTER)||LA136_2==REMOVE||LA136_2==SEMI||(LA136_2 >= SHL && LA136_2 <= STATIC)||(LA136_2 >= STORED && LA136_2 <= STRING)||LA136_2==TRUE||(LA136_2 >= TkHexNum && LA136_2 <= TkIntNum)||LA136_2==TkRealNum||LA136_2==UNSAFE||(LA136_2 >= VARARGS && LA136_2 <= VIRTUAL)||(LA136_2 >= WRITE && LA136_2 <= WRITEONLY)||(LA136_2 >= XOR && LA136_2 <= 210)) ) { + alt136=1; + } + + } + break; + case ABSTRACT: + case ASSEMBLER: + case CDECL: + case DEPRECATED: + case DYNAMIC: + case EXPERIMENTAL: + case EXTERNAL: + case FAR: + case INLINE: + case LIBRARY: + case NEAR: + case OVERLOAD: + case OVERRIDE: + case PASCAL: + case PLATFORM: + case REINTRODUCE: + case SAFECALL: + case STDCALL: + { + alt136=1; + } + break; + case STATIC: + { + int LA136_4 = input.LA(2); + if ( (LA136_4==SEMI) ) { + alt136=1; + } + + } + break; + case VIRTUAL: + { + int LA136_5 = input.LA(2); + if ( (LA136_5==SEMI) ) { + alt136=1; + } + + } + break; + case FINAL: + { + int LA136_6 = input.LA(2); + if ( (LA136_6==SEMI) ) { + alt136=1; + } + + } + break; + case REGISTER: + { + int LA136_7 = input.LA(2); + if ( (LA136_7==SEMI) ) { + alt136=1; + } + + } + break; + case EXPORT: + { + int LA136_8 = input.LA(2); + if ( (LA136_8==SEMI) ) { + alt136=1; + } + + } + break; + case LOCAL: + { + int LA136_9 = input.LA(2); + if ( (LA136_9==SEMI) ) { + alt136=1; + } + + } + break; + case DISPID: + { + int LA136_10 = input.LA(2); + if ( ((LA136_10 >= ADD && LA136_10 <= ANSISTRING)||LA136_10==AS||(LA136_10 >= AT && LA136_10 <= AT2)||LA136_10==BREAK||(LA136_10 >= CONTAINS && LA136_10 <= DEFAULT)||LA136_10==DISPID||LA136_10==DIV||LA136_10==DOT||(LA136_10 >= DQ && LA136_10 <= DW)||LA136_10==EQUAL||LA136_10==EXIT||LA136_10==EXPORT||LA136_10==FALSE||LA136_10==FINAL||(LA136_10 >= FUNCTION && LA136_10 <= GE)||(LA136_10 >= GT && LA136_10 <= HELPER)||(LA136_10 >= IMPLEMENTS && LA136_10 <= INHERITED)||LA136_10==IS||LA136_10==LBRACK||LA136_10==LE||(LA136_10 >= LOCAL && LA136_10 <= NAME)||LA136_10==NIL||(LA136_10 >= NOT && LA136_10 <= OBJECT)||(LA136_10 >= OPERATOR && LA136_10 <= OUT)||(LA136_10 >= PLUS && LA136_10 <= POINTER2)||LA136_10==PROCEDURE||LA136_10==QuotedString||(LA136_10 >= READ && LA136_10 <= READONLY)||(LA136_10 >= REFERENCE && LA136_10 <= REGISTER)||LA136_10==REMOVE||LA136_10==SEMI||(LA136_10 >= SHL && LA136_10 <= STATIC)||(LA136_10 >= STORED && LA136_10 <= STRING)||LA136_10==TRUE||(LA136_10 >= TkHexNum && LA136_10 <= TkIntNum)||LA136_10==TkRealNum||LA136_10==UNSAFE||(LA136_10 >= VARARGS && LA136_10 <= VIRTUAL)||(LA136_10 >= WRITE && LA136_10 <= WRITEONLY)||(LA136_10 >= XOR && LA136_10 <= 210)) ) { + alt136=1; + } + + } + break; + case VARARGS: + { + int LA136_11 = input.LA(2); + if ( (LA136_11==SEMI) ) { + alt136=1; + } + + } + break; + } + switch (alt136) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:163: methodDirective + { + pushFollow(FOLLOW_methodDirective_in_classMethod8963); + methodDirective415=methodDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodDirective.add(methodDirective415.getTree()); + } + break; + + default : + break loop136; + } + } + + // AST REWRITE + // elements: customAttribute, ident, typeDecl, FUNCTION, formalParameterSection, customAttribute, CLASS, genericDefinition, methodDirective + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 366:30: -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? ^( TkFunctionReturn typeDecl ) ( methodDirective )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:33: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_0, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:52: ( 'class' )? + if ( stream_CLASS.hasNext() ) { + adaptor.addChild(root_0, stream_CLASS.nextNode()); + } + stream_CLASS.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:63: ^( 'function' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? ^( TkFunctionReturn typeDecl ) ( methodDirective )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_FUNCTION.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:76: ^( TkFunctionName ident ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); + adaptor.addChild(root_2, stream_ident.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:100: ( genericDefinition )? + if ( stream_genericDefinition.hasNext() ) { + adaptor.addChild(root_1, stream_genericDefinition.nextTree()); + } + stream_genericDefinition.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:121: ^( TkFunctionArgs ( formalParameterSection )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:138: ( formalParameterSection )? + if ( stream_formalParameterSection.hasNext() ) { + adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); + } + stream_formalParameterSection.reset(); + + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:165: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_1, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:184: ^( TkFunctionReturn typeDecl ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_2); + adaptor.addChild(root_2, stream_typeDecl.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:366:213: ( methodDirective )* + while ( stream_methodDirective.hasNext() ) { + adaptor.addChild(root_1, stream_methodDirective.nextTree()); + } + stream_methodDirective.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:32: ( customAttribute )? ( 'class' )? 'operator' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:32: ( customAttribute )? + int alt137=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt137=1; + } + break; + case CLASS: + { + int LA137_2 = input.LA(2); + if ( (synpred191_Delphi()) ) { + alt137=1; + } + } + break; + case OPERATOR: + { + int LA137_3 = input.LA(2); + if ( (synpred191_Delphi()) ) { + alt137=1; + } + } + break; + } + switch (alt137) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_classMethod9080); + customAttribute416=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute416.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:51: ( 'class' )? + int alt138=2; + int LA138_0 = input.LA(1); + if ( (LA138_0==CLASS) ) { + alt138=1; + } + switch (alt138) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:52: 'class' + { + string_literal417=(Token)match(input,CLASS,FOLLOW_CLASS_in_classMethod9085); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal417); + + } + break; + + } + + string_literal418=(Token)match(input,OPERATOR,FOLLOW_OPERATOR_in_classMethod9089); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_OPERATOR.add(string_literal418); + + pushFollow(FOLLOW_ident_in_classMethod9091); + ident419=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident419.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:79: ( genericDefinition )? + int alt139=2; + int LA139_0 = input.LA(1); + if ( (LA139_0==LT) ) { + alt139=1; + } + switch (alt139) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:80: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_classMethod9094); + genericDefinition420=genericDefinition(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_genericDefinition.add(genericDefinition420.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:100: ( formalParameterSection )? + int alt140=2; + int LA140_0 = input.LA(1); + if ( (LA140_0==LPAREN) ) { + alt140=1; + } + switch (alt140) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:101: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_classMethod9099); + formalParameterSection421=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection421.getTree()); + } + break; + + } + + char_literal422=(Token)match(input,COLON,FOLLOW_COLON_in_classMethod9103); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal422); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:130: ( customAttribute )? + int alt141=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA141_1 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case PACKED: + { + int LA141_2 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case ARRAY: + { + int LA141_3 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case SET: + { + int LA141_4 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case FILE: + { + int LA141_5 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case CLASS: + { + int LA141_6 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case DISPINTERFACE: + case INTERFACE: + { + int LA141_7 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case OBJECT: + { + int LA141_8 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case RECORD: + { + int LA141_9 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case POINTER2: + { + int LA141_10 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case POINTER: + { + int LA141_11 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case STRING: + { + int LA141_12 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case TYPE: + { + int LA141_13 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case ANSISTRING: + { + int LA141_14 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case FUNCTION: + { + int LA141_15 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case PROCEDURE: + { + int LA141_16 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case REFERENCE: + { + int LA141_17 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case VARIANT: + { + int LA141_18 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case TkIdentifier: + { + int LA141_19 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case 198: + { + int LA141_20 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case TRUE: + { + int LA141_21 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case LPAREN: + { + int LA141_22 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case AT2: + { + int LA141_23 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case 199: + { + int LA141_24 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case NOT: + { + int LA141_25 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case PLUS: + { + int LA141_26 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case MINUS: + { + int LA141_27 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case TkRealNum: + { + int LA141_28 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case TkHexNum: + case TkIntNum: + { + int LA141_29 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case FALSE: + { + int LA141_30 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case IN: + { + int LA141_31 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case NIL: + { + int LA141_32 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case 210: + { + int LA141_33 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case ControlChar: + { + int LA141_34 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case QuotedString: + { + int LA141_35 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case 203: + { + int LA141_36 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case INHERITED: + { + int LA141_37 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case 209: + { + int LA141_38 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case DOT: + { + int LA141_39 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case LT: + { + int LA141_40 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA141_41 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case ADD: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OPERATOR: + case OUT: + case READ: + case READONLY: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case UNSAFE: + case VARARGS: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA141_42 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case EQUAL: + { + int LA141_43 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case GE: + case GT: + case IS: + case LE: + case NOT_EQUAL: + { + int LA141_44 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case DOTDOT: + { + int LA141_45 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + case SEMI: + { + int LA141_46 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt141=1; + } + } + break; + } + switch (alt141) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:131: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_classMethod9106); + customAttribute423=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute423.getTree()); + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_classMethod9110); + typeDecl424=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl424.getTree()); + char_literal425=(Token)match(input,SEMI,FOLLOW_SEMI_in_classMethod9112); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal425); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:162: ( methodDirective )* + loop142: + while (true) { + int alt142=2; + switch ( input.LA(1) ) { + case MESSAGE: + { + int LA142_2 = input.LA(2); + if ( ((LA142_2 >= ADD && LA142_2 <= ANSISTRING)||LA142_2==AS||(LA142_2 >= AT && LA142_2 <= AT2)||LA142_2==BREAK||(LA142_2 >= CONTAINS && LA142_2 <= DEFAULT)||LA142_2==DISPID||LA142_2==DIV||LA142_2==DOT||(LA142_2 >= DQ && LA142_2 <= DW)||LA142_2==EQUAL||LA142_2==EXIT||LA142_2==EXPORT||LA142_2==FALSE||LA142_2==FINAL||(LA142_2 >= FUNCTION && LA142_2 <= GE)||(LA142_2 >= GT && LA142_2 <= HELPER)||(LA142_2 >= IMPLEMENTS && LA142_2 <= INHERITED)||LA142_2==IS||LA142_2==LBRACK||LA142_2==LE||(LA142_2 >= LOCAL && LA142_2 <= NAME)||LA142_2==NIL||(LA142_2 >= NOT && LA142_2 <= OBJECT)||(LA142_2 >= OPERATOR && LA142_2 <= OUT)||(LA142_2 >= PLUS && LA142_2 <= POINTER2)||LA142_2==PROCEDURE||LA142_2==QuotedString||(LA142_2 >= READ && LA142_2 <= READONLY)||(LA142_2 >= REFERENCE && LA142_2 <= REGISTER)||LA142_2==REMOVE||LA142_2==SEMI||(LA142_2 >= SHL && LA142_2 <= STATIC)||(LA142_2 >= STORED && LA142_2 <= STRING)||LA142_2==TRUE||(LA142_2 >= TkHexNum && LA142_2 <= TkIntNum)||LA142_2==TkRealNum||LA142_2==UNSAFE||(LA142_2 >= VARARGS && LA142_2 <= VIRTUAL)||(LA142_2 >= WRITE && LA142_2 <= WRITEONLY)||(LA142_2 >= XOR && LA142_2 <= 210)) ) { + alt142=1; + } + + } + break; + case ABSTRACT: + case ASSEMBLER: + case CDECL: + case DEPRECATED: + case DYNAMIC: + case EXPERIMENTAL: + case EXTERNAL: + case FAR: + case INLINE: + case LIBRARY: + case NEAR: + case OVERLOAD: + case OVERRIDE: + case PASCAL: + case PLATFORM: + case REINTRODUCE: + case SAFECALL: + case STDCALL: + { + alt142=1; + } + break; + case STATIC: + { + int LA142_4 = input.LA(2); + if ( (LA142_4==SEMI) ) { + alt142=1; + } + + } + break; + case VIRTUAL: + { + int LA142_5 = input.LA(2); + if ( (LA142_5==SEMI) ) { + alt142=1; + } + + } + break; + case FINAL: + { + int LA142_6 = input.LA(2); + if ( (LA142_6==SEMI) ) { + alt142=1; + } + + } + break; + case REGISTER: + { + int LA142_7 = input.LA(2); + if ( (LA142_7==SEMI) ) { + alt142=1; + } + + } + break; + case EXPORT: + { + int LA142_8 = input.LA(2); + if ( (LA142_8==SEMI) ) { + alt142=1; + } + + } + break; + case LOCAL: + { + int LA142_9 = input.LA(2); + if ( (LA142_9==SEMI) ) { + alt142=1; + } + + } + break; + case DISPID: + { + int LA142_10 = input.LA(2); + if ( ((LA142_10 >= ADD && LA142_10 <= ANSISTRING)||LA142_10==AS||(LA142_10 >= AT && LA142_10 <= AT2)||LA142_10==BREAK||(LA142_10 >= CONTAINS && LA142_10 <= DEFAULT)||LA142_10==DISPID||LA142_10==DIV||LA142_10==DOT||(LA142_10 >= DQ && LA142_10 <= DW)||LA142_10==EQUAL||LA142_10==EXIT||LA142_10==EXPORT||LA142_10==FALSE||LA142_10==FINAL||(LA142_10 >= FUNCTION && LA142_10 <= GE)||(LA142_10 >= GT && LA142_10 <= HELPER)||(LA142_10 >= IMPLEMENTS && LA142_10 <= INHERITED)||LA142_10==IS||LA142_10==LBRACK||LA142_10==LE||(LA142_10 >= LOCAL && LA142_10 <= NAME)||LA142_10==NIL||(LA142_10 >= NOT && LA142_10 <= OBJECT)||(LA142_10 >= OPERATOR && LA142_10 <= OUT)||(LA142_10 >= PLUS && LA142_10 <= POINTER2)||LA142_10==PROCEDURE||LA142_10==QuotedString||(LA142_10 >= READ && LA142_10 <= READONLY)||(LA142_10 >= REFERENCE && LA142_10 <= REGISTER)||LA142_10==REMOVE||LA142_10==SEMI||(LA142_10 >= SHL && LA142_10 <= STATIC)||(LA142_10 >= STORED && LA142_10 <= STRING)||LA142_10==TRUE||(LA142_10 >= TkHexNum && LA142_10 <= TkIntNum)||LA142_10==TkRealNum||LA142_10==UNSAFE||(LA142_10 >= VARARGS && LA142_10 <= VIRTUAL)||(LA142_10 >= WRITE && LA142_10 <= WRITEONLY)||(LA142_10 >= XOR && LA142_10 <= 210)) ) { + alt142=1; + } + + } + break; + case VARARGS: + { + int LA142_11 = input.LA(2); + if ( (LA142_11==SEMI) ) { + alt142=1; + } + + } + break; + } + switch (alt142) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:163: methodDirective + { + pushFollow(FOLLOW_methodDirective_in_classMethod9115); + methodDirective426=methodDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodDirective.add(methodDirective426.getTree()); + } + break; + + default : + break loop142; + } + } + + // AST REWRITE + // elements: customAttribute, formalParameterSection, CLASS, methodDirective, genericDefinition, customAttribute, ident, OPERATOR, typeDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 368:30: -> ( customAttribute )? ( 'class' )? ^( 'operator' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? typeDecl ( methodDirective )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:368:33: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_0, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:368:52: ( 'class' )? + if ( stream_CLASS.hasNext() ) { + adaptor.addChild(root_0, stream_CLASS.nextNode()); + } + stream_CLASS.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:368:63: ^( 'operator' ^( TkFunctionName ident ) ( genericDefinition )? ^( TkFunctionArgs ( formalParameterSection )? ) ( customAttribute )? typeDecl ( methodDirective )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_OPERATOR.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:368:76: ^( TkFunctionName ident ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); + adaptor.addChild(root_2, stream_ident.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:368:100: ( genericDefinition )? + if ( stream_genericDefinition.hasNext() ) { + adaptor.addChild(root_1, stream_genericDefinition.nextTree()); + } + stream_genericDefinition.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:368:121: ^( TkFunctionArgs ( formalParameterSection )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:368:138: ( formalParameterSection )? + if ( stream_formalParameterSection.hasNext() ) { + adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); + } + stream_formalParameterSection.reset(); + + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:368:165: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_1, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + adaptor.addChild(root_1, stream_typeDecl.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:368:193: ( methodDirective )* + while ( stream_methodDirective.hasNext() ) { + adaptor.addChild(root_1, stream_methodDirective.nextTree()); + } + stream_methodDirective.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:32: ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? '.' ident '=' ident ';' + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:32: ( customAttribute )? + int alt143=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt143=1; + } + break; + case CLASS: + { + int LA143_2 = input.LA(2); + if ( (synpred198_Delphi()) ) { + alt143=1; + } + } + break; + case FUNCTION: + { + int LA143_3 = input.LA(2); + if ( (synpred198_Delphi()) ) { + alt143=1; + } + } + break; + } + switch (alt143) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_classMethod9229); + customAttribute427=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, customAttribute427.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:51: ( 'class' )? + int alt144=2; + int LA144_0 = input.LA(1); + if ( (LA144_0==CLASS) ) { + alt144=1; + } + switch (alt144) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:52: 'class' + { + string_literal428=(Token)match(input,CLASS,FOLLOW_CLASS_in_classMethod9234); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal428_tree = (Object)adaptor.create(string_literal428); + adaptor.addChild(root_0, string_literal428_tree); + } + + } + break; + + } + + string_literal429=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_classMethod9238); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal429_tree = (Object)adaptor.create(string_literal429); + adaptor.addChild(root_0, string_literal429_tree); + } + + pushFollow(FOLLOW_ident_in_classMethod9240); + ident430=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident430.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:79: ( genericDefinition )? + int alt145=2; + int LA145_0 = input.LA(1); + if ( (LA145_0==LT) ) { + alt145=1; + } + switch (alt145) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:80: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_classMethod9243); + genericDefinition431=genericDefinition(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericDefinition431.getTree()); + + } + break; + + } + + char_literal432=(Token)match(input,DOT,FOLLOW_DOT_in_classMethod9247); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal432_tree = (Object)adaptor.create(char_literal432); + adaptor.addChild(root_0, char_literal432_tree); + } + + pushFollow(FOLLOW_ident_in_classMethod9249); + ident433=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident433.getTree()); + + char_literal434=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_classMethod9251); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal434_tree = (Object)adaptor.create(char_literal434); + adaptor.addChild(root_0, char_literal434_tree); + } + + pushFollow(FOLLOW_ident_in_classMethod9253); + ident435=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident435.getTree()); + + char_literal436=(Token)match(input,SEMI,FOLLOW_SEMI_in_classMethod9255); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal436_tree = (Object)adaptor.create(char_literal436); + adaptor.addChild(root_0, char_literal436_tree); + } + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:32: ( customAttribute )? ( 'class' )? 'procedure' ident ( genericDefinition )? '.' ident '=' ident ';' + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:32: ( customAttribute )? + int alt146=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt146=1; + } + break; + case CLASS: + { + int LA146_2 = input.LA(2); + if ( (synpred202_Delphi()) ) { + alt146=1; + } + } + break; + case PROCEDURE: + { + int LA146_3 = input.LA(2); + if ( (synpred202_Delphi()) ) { + alt146=1; + } + } + break; + } + switch (alt146) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_classMethod9289); + customAttribute437=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, customAttribute437.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:51: ( 'class' )? + int alt147=2; + int LA147_0 = input.LA(1); + if ( (LA147_0==CLASS) ) { + alt147=1; + } + switch (alt147) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:52: 'class' + { + string_literal438=(Token)match(input,CLASS,FOLLOW_CLASS_in_classMethod9294); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal438_tree = (Object)adaptor.create(string_literal438); + adaptor.addChild(root_0, string_literal438_tree); + } + + } + break; + + } + + string_literal439=(Token)match(input,PROCEDURE,FOLLOW_PROCEDURE_in_classMethod9298); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal439_tree = (Object)adaptor.create(string_literal439); + adaptor.addChild(root_0, string_literal439_tree); + } + + pushFollow(FOLLOW_ident_in_classMethod9300); + ident440=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident440.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:80: ( genericDefinition )? + int alt148=2; + int LA148_0 = input.LA(1); + if ( (LA148_0==LT) ) { + alt148=1; + } + switch (alt148) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:81: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_classMethod9303); + genericDefinition441=genericDefinition(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericDefinition441.getTree()); + + } + break; + + } + + char_literal442=(Token)match(input,DOT,FOLLOW_DOT_in_classMethod9307); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal442_tree = (Object)adaptor.create(char_literal442); + adaptor.addChild(root_0, char_literal442_tree); + } + + pushFollow(FOLLOW_ident_in_classMethod9309); + ident443=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident443.getTree()); + + char_literal444=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_classMethod9311); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal444_tree = (Object)adaptor.create(char_literal444); + adaptor.addChild(root_0, char_literal444_tree); + } + + pushFollow(FOLLOW_ident_in_classMethod9313); + ident445=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident445.getTree()); + + char_literal446=(Token)match(input,SEMI,FOLLOW_SEMI_in_classMethod9315); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal446_tree = (Object)adaptor.create(char_literal446); + adaptor.addChild(root_0, char_literal446_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 91, classMethod_StartIndex); } + + } + return retval; + } + // $ANTLR end "classMethod" + + + public static class classField_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classField" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:1: classField : ( customAttribute )? identList ':' typeDecl ';' ( hintingDirective )* -> ( customAttribute )? ^( TkClassField ^( TkVariableIdents identList ) ^( TkVariableType typeDecl ) ) ; + public final DelphiParser.classField_return classField() throws RecognitionException { + DelphiParser.classField_return retval = new DelphiParser.classField_return(); + retval.start = input.LT(1); + int classField_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal449=null; + Token char_literal451=null; + ParserRuleReturnScope customAttribute447 =null; + ParserRuleReturnScope identList448 =null; + ParserRuleReturnScope typeDecl450 =null; + ParserRuleReturnScope hintingDirective452 =null; + + Object char_literal449_tree=null; + Object char_literal451_tree=null; + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_identList=new RewriteRuleSubtreeStream(adaptor,"rule identList"); + RewriteRuleSubtreeStream stream_hintingDirective=new RewriteRuleSubtreeStream(adaptor,"rule hintingDirective"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 92) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:30: ( ( customAttribute )? identList ':' typeDecl ';' ( hintingDirective )* -> ( customAttribute )? ^( TkClassField ^( TkVariableIdents identList ) ^( TkVariableType typeDecl ) ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:32: ( customAttribute )? identList ':' typeDecl ';' ( hintingDirective )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:32: ( customAttribute )? + int alt150=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt150=1; + } + break; + case TkIdentifier: + { + int LA150_2 = input.LA(2); + if ( (synpred205_Delphi()) ) { + alt150=1; + } + } + break; + case 198: + { + int LA150_3 = input.LA(2); + if ( (synpred205_Delphi()) ) { + alt150=1; + } + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA150_4 = input.LA(2); + if ( (synpred205_Delphi()) ) { + alt150=1; + } + } + break; + } + switch (alt150) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_classField9371); + customAttribute447=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute447.getTree()); + } + break; + + } + + pushFollow(FOLLOW_identList_in_classField9375); + identList448=identList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_identList.add(identList448.getTree()); + char_literal449=(Token)match(input,COLON,FOLLOW_COLON_in_classField9377); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal449); + + pushFollow(FOLLOW_typeDecl_in_classField9379); + typeDecl450=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl450.getTree()); + char_literal451=(Token)match(input,SEMI,FOLLOW_SEMI_in_classField9381); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal451); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:78: ( hintingDirective )* + loop151: + while (true) { + int alt151=2; + int LA151_0 = input.LA(1); + if ( (LA151_0==DEPRECATED||LA151_0==EXPERIMENTAL||LA151_0==LIBRARY||LA151_0==PLATFORM) ) { + alt151=1; + } + + switch (alt151) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:79: hintingDirective + { + pushFollow(FOLLOW_hintingDirective_in_classField9384); + hintingDirective452=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_hintingDirective.add(hintingDirective452.getTree()); + } + break; + + default : + break loop151; + } + } + + // AST REWRITE + // elements: typeDecl, identList, customAttribute + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 373:30: -> ( customAttribute )? ^( TkClassField ^( TkVariableIdents identList ) ^( TkVariableType typeDecl ) ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:373:33: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_0, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:373:52: ^( TkClassField ^( TkVariableIdents identList ) ^( TkVariableType typeDecl ) ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkClassField, "TkClassField"), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:373:67: ^( TkVariableIdents identList ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableIdents, "TkVariableIdents"), root_2); + adaptor.addChild(root_2, stream_identList.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:373:97: ^( TkVariableType typeDecl ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_2); + adaptor.addChild(root_2, stream_typeDecl.nextTree()); + adaptor.addChild(root_1, root_2); + } + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 92, classField_StartIndex); } + + } + return retval; + } + // $ANTLR end "classField" + + + public static class classProperty_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classProperty" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:1: classProperty : ( customAttribute )? ( 'class' )? 'property' ident ( classPropertyArray )? ( ':' genericTypeIdent )? ( classPropertyIndex )? ( classPropertySpecifier )* ';' ( classPropertyEndSpecifier )* -> ^( 'property' ^( TkVariableIdents ident ) ^( TkVariableType ( genericTypeIdent )? ) ( classPropertySpecifier )* ) ; + public final DelphiParser.classProperty_return classProperty() throws RecognitionException { + DelphiParser.classProperty_return retval = new DelphiParser.classProperty_return(); + retval.start = input.LT(1); + int classProperty_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal454=null; + Token string_literal455=null; + Token char_literal458=null; + Token char_literal462=null; + ParserRuleReturnScope customAttribute453 =null; + ParserRuleReturnScope ident456 =null; + ParserRuleReturnScope classPropertyArray457 =null; + ParserRuleReturnScope genericTypeIdent459 =null; + ParserRuleReturnScope classPropertyIndex460 =null; + ParserRuleReturnScope classPropertySpecifier461 =null; + ParserRuleReturnScope classPropertyEndSpecifier463 =null; + + Object string_literal454_tree=null; + Object string_literal455_tree=null; + Object char_literal458_tree=null; + Object char_literal462_tree=null; + RewriteRuleTokenStream stream_PROPERTY=new RewriteRuleTokenStream(adaptor,"token PROPERTY"); + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_classPropertyEndSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule classPropertyEndSpecifier"); + RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); + RewriteRuleSubtreeStream stream_genericTypeIdent=new RewriteRuleSubtreeStream(adaptor,"rule genericTypeIdent"); + RewriteRuleSubtreeStream stream_classPropertyIndex=new RewriteRuleSubtreeStream(adaptor,"rule classPropertyIndex"); + RewriteRuleSubtreeStream stream_classPropertyArray=new RewriteRuleSubtreeStream(adaptor,"rule classPropertyArray"); + RewriteRuleSubtreeStream stream_classPropertySpecifier=new RewriteRuleSubtreeStream(adaptor,"rule classPropertySpecifier"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 93) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:30: ( ( customAttribute )? ( 'class' )? 'property' ident ( classPropertyArray )? ( ':' genericTypeIdent )? ( classPropertyIndex )? ( classPropertySpecifier )* ';' ( classPropertyEndSpecifier )* -> ^( 'property' ^( TkVariableIdents ident ) ^( TkVariableType ( genericTypeIdent )? ) ( classPropertySpecifier )* ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:32: ( customAttribute )? ( 'class' )? 'property' ident ( classPropertyArray )? ( ':' genericTypeIdent )? ( classPropertyIndex )? ( classPropertySpecifier )* ';' ( classPropertyEndSpecifier )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:32: ( customAttribute )? + int alt152=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt152=1; + } + break; + case CLASS: + { + int LA152_2 = input.LA(2); + if ( (synpred207_Delphi()) ) { + alt152=1; + } + } + break; + case PROPERTY: + { + int LA152_3 = input.LA(2); + if ( (synpred207_Delphi()) ) { + alt152=1; + } + } + break; + } + switch (alt152) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_classProperty9491); + customAttribute453=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute453.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:51: ( 'class' )? + int alt153=2; + int LA153_0 = input.LA(1); + if ( (LA153_0==CLASS) ) { + alt153=1; + } + switch (alt153) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:52: 'class' + { + string_literal454=(Token)match(input,CLASS,FOLLOW_CLASS_in_classProperty9496); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal454); + + } + break; + + } + + string_literal455=(Token)match(input,PROPERTY,FOLLOW_PROPERTY_in_classProperty9500); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_PROPERTY.add(string_literal455); + + pushFollow(FOLLOW_ident_in_classProperty9502); + ident456=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident456.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:79: ( classPropertyArray )? + int alt154=2; + int LA154_0 = input.LA(1); + if ( (LA154_0==LBRACK) ) { + alt154=1; + } + switch (alt154) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:80: classPropertyArray + { + pushFollow(FOLLOW_classPropertyArray_in_classProperty9505); + classPropertyArray457=classPropertyArray(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classPropertyArray.add(classPropertyArray457.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:101: ( ':' genericTypeIdent )? + int alt155=2; + int LA155_0 = input.LA(1); + if ( (LA155_0==COLON) ) { + alt155=1; + } + switch (alt155) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:102: ':' genericTypeIdent + { + char_literal458=(Token)match(input,COLON,FOLLOW_COLON_in_classProperty9510); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal458); + + pushFollow(FOLLOW_genericTypeIdent_in_classProperty9512); + genericTypeIdent459=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_genericTypeIdent.add(genericTypeIdent459.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:125: ( classPropertyIndex )? + int alt156=2; + int LA156_0 = input.LA(1); + if ( (LA156_0==INDEX) ) { + alt156=1; + } + switch (alt156) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:126: classPropertyIndex + { + pushFollow(FOLLOW_classPropertyIndex_in_classProperty9517); + classPropertyIndex460=classPropertyIndex(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classPropertyIndex.add(classPropertyIndex460.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:147: ( classPropertySpecifier )* + loop157: + while (true) { + int alt157=2; + int LA157_0 = input.LA(1); + if ( (LA157_0==DEFAULT||LA157_0==DISPID||LA157_0==IMPLEMENTS||LA157_0==NODEFAULT||(LA157_0 >= READ && LA157_0 <= READONLY)||LA157_0==STORED||(LA157_0 >= WRITE && LA157_0 <= WRITEONLY)) ) { + alt157=1; + } + + switch (alt157) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:148: classPropertySpecifier + { + pushFollow(FOLLOW_classPropertySpecifier_in_classProperty9522); + classPropertySpecifier461=classPropertySpecifier(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classPropertySpecifier.add(classPropertySpecifier461.getTree()); + } + break; + + default : + break loop157; + } + } + + char_literal462=(Token)match(input,SEMI,FOLLOW_SEMI_in_classProperty9526); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal462); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:177: ( classPropertyEndSpecifier )* + loop158: + while (true) { + int alt158=2; + switch ( input.LA(1) ) { + case STORED: + { + int LA158_2 = input.LA(2); + if ( ((LA158_2 >= ADD && LA158_2 <= ANSISTRING)||LA158_2==AS||(LA158_2 >= AT && LA158_2 <= AT2)||LA158_2==BREAK||(LA158_2 >= CONTAINS && LA158_2 <= DEFAULT)||LA158_2==DISPID||LA158_2==DIV||LA158_2==DOT||(LA158_2 >= DQ && LA158_2 <= DW)||LA158_2==EQUAL||LA158_2==EXIT||LA158_2==EXPORT||LA158_2==FALSE||LA158_2==FINAL||(LA158_2 >= FUNCTION && LA158_2 <= GE)||(LA158_2 >= GT && LA158_2 <= HELPER)||(LA158_2 >= IMPLEMENTS && LA158_2 <= INHERITED)||LA158_2==IS||LA158_2==LBRACK||LA158_2==LE||(LA158_2 >= LOCAL && LA158_2 <= NAME)||LA158_2==NIL||(LA158_2 >= NOT && LA158_2 <= OBJECT)||(LA158_2 >= OPERATOR && LA158_2 <= OUT)||(LA158_2 >= PLUS && LA158_2 <= POINTER2)||LA158_2==PROCEDURE||LA158_2==QuotedString||(LA158_2 >= READ && LA158_2 <= READONLY)||(LA158_2 >= REFERENCE && LA158_2 <= REGISTER)||LA158_2==REMOVE||LA158_2==SEMI||(LA158_2 >= SHL && LA158_2 <= STATIC)||(LA158_2 >= STORED && LA158_2 <= STRING)||LA158_2==TRUE||(LA158_2 >= TkHexNum && LA158_2 <= TkIntNum)||LA158_2==TkRealNum||LA158_2==UNSAFE||(LA158_2 >= VARARGS && LA158_2 <= VIRTUAL)||(LA158_2 >= WRITE && LA158_2 <= WRITEONLY)||(LA158_2 >= XOR && LA158_2 <= 210)) ) { + alt158=1; + } + + } + break; + case DEFAULT: + { + int LA158_3 = input.LA(2); + if ( ((LA158_3 >= ADD && LA158_3 <= ANSISTRING)||LA158_3==AS||(LA158_3 >= AT && LA158_3 <= AT2)||LA158_3==BREAK||(LA158_3 >= CONTAINS && LA158_3 <= DEFAULT)||LA158_3==DISPID||LA158_3==DIV||LA158_3==DOT||(LA158_3 >= DQ && LA158_3 <= DW)||LA158_3==EQUAL||LA158_3==EXIT||LA158_3==EXPORT||LA158_3==FALSE||LA158_3==FINAL||(LA158_3 >= FUNCTION && LA158_3 <= GE)||(LA158_3 >= GT && LA158_3 <= HELPER)||(LA158_3 >= IMPLEMENTS && LA158_3 <= INHERITED)||LA158_3==IS||LA158_3==LBRACK||LA158_3==LE||(LA158_3 >= LOCAL && LA158_3 <= NAME)||LA158_3==NIL||(LA158_3 >= NOT && LA158_3 <= OBJECT)||(LA158_3 >= OPERATOR && LA158_3 <= OUT)||(LA158_3 >= PLUS && LA158_3 <= POINTER2)||LA158_3==PROCEDURE||LA158_3==QuotedString||(LA158_3 >= READ && LA158_3 <= READONLY)||(LA158_3 >= REFERENCE && LA158_3 <= REGISTER)||LA158_3==REMOVE||LA158_3==SEMI||(LA158_3 >= SHL && LA158_3 <= STATIC)||(LA158_3 >= STORED && LA158_3 <= STRING)||LA158_3==TRUE||(LA158_3 >= TkHexNum && LA158_3 <= TkIntNum)||LA158_3==TkRealNum||LA158_3==UNSAFE||(LA158_3 >= VARARGS && LA158_3 <= VIRTUAL)||(LA158_3 >= WRITE && LA158_3 <= WRITEONLY)||(LA158_3 >= XOR && LA158_3 <= 210)) ) { + alt158=1; + } + + } + break; + case NODEFAULT: + { + alt158=1; + } + break; + } + switch (alt158) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:178: classPropertyEndSpecifier + { + pushFollow(FOLLOW_classPropertyEndSpecifier_in_classProperty9529); + classPropertyEndSpecifier463=classPropertyEndSpecifier(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_classPropertyEndSpecifier.add(classPropertyEndSpecifier463.getTree()); + } + break; + + default : + break loop158; + } + } + + // AST REWRITE + // elements: classPropertySpecifier, PROPERTY, ident, genericTypeIdent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 376:31: -> ^( 'property' ^( TkVariableIdents ident ) ^( TkVariableType ( genericTypeIdent )? ) ( classPropertySpecifier )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:376:34: ^( 'property' ^( TkVariableIdents ident ) ^( TkVariableType ( genericTypeIdent )? ) ( classPropertySpecifier )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_PROPERTY.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:376:47: ^( TkVariableIdents ident ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableIdents, "TkVariableIdents"), root_2); + adaptor.addChild(root_2, stream_ident.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:376:73: ^( TkVariableType ( genericTypeIdent )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:376:90: ( genericTypeIdent )? + if ( stream_genericTypeIdent.hasNext() ) { + adaptor.addChild(root_2, stream_genericTypeIdent.nextTree()); + } + stream_genericTypeIdent.reset(); + + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:376:109: ( classPropertySpecifier )* + while ( stream_classPropertySpecifier.hasNext() ) { + adaptor.addChild(root_1, stream_classPropertySpecifier.nextTree()); + } + stream_classPropertySpecifier.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 93, classProperty_StartIndex); } + + } + return retval; + } + // $ANTLR end "classProperty" + + + public static class classPropertyArray_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classPropertyArray" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:380:1: classPropertyArray : '[' formalParameterList ']' ; + public final DelphiParser.classPropertyArray_return classPropertyArray() throws RecognitionException { + DelphiParser.classPropertyArray_return retval = new DelphiParser.classPropertyArray_return(); + retval.start = input.LT(1); + int classPropertyArray_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal464=null; + Token char_literal466=null; + ParserRuleReturnScope formalParameterList465 =null; + + Object char_literal464_tree=null; + Object char_literal466_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 94) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:380:30: ( '[' formalParameterList ']' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:380:32: '[' formalParameterList ']' + { + root_0 = (Object)adaptor.nil(); + + + char_literal464=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_classPropertyArray9695); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal464_tree = (Object)adaptor.create(char_literal464); + adaptor.addChild(root_0, char_literal464_tree); + } + + pushFollow(FOLLOW_formalParameterList_in_classPropertyArray9697); + formalParameterList465=formalParameterList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterList465.getTree()); + + char_literal466=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_classPropertyArray9699); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal466_tree = (Object)adaptor.create(char_literal466); + adaptor.addChild(root_0, char_literal466_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 94, classPropertyArray_StartIndex); } + + } + return retval; + } + // $ANTLR end "classPropertyArray" + + + public static class classPropertyIndex_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classPropertyIndex" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:1: classPropertyIndex : 'index' expression ( ';' )? ; + public final DelphiParser.classPropertyIndex_return classPropertyIndex() throws RecognitionException { + DelphiParser.classPropertyIndex_return retval = new DelphiParser.classPropertyIndex_return(); + retval.start = input.LT(1); + int classPropertyIndex_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal467=null; + Token char_literal469=null; + ParserRuleReturnScope expression468 =null; + + Object string_literal467_tree=null; + Object char_literal469_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 95) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:30: ( 'index' expression ( ';' )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:32: 'index' expression ( ';' )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal467=(Token)match(input,INDEX,FOLLOW_INDEX_in_classPropertyIndex9746); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal467_tree = (Object)adaptor.create(string_literal467); + adaptor.addChild(root_0, string_literal467_tree); + } + + pushFollow(FOLLOW_expression_in_classPropertyIndex9748); + expression468=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression468.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:51: ( ';' )? + int alt159=2; + int LA159_0 = input.LA(1); + if ( (LA159_0==SEMI) ) { + int LA159_1 = input.LA(2); + if ( (synpred214_Delphi()) ) { + alt159=1; + } + } + switch (alt159) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:52: ';' + { + char_literal469=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyIndex9751); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal469_tree = (Object)adaptor.create(char_literal469); + adaptor.addChild(root_0, char_literal469_tree); + } + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 95, classPropertyIndex_StartIndex); } + + } + return retval; + } + // $ANTLR end "classPropertyIndex" + + + public static class classPropertySpecifier_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classPropertySpecifier" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:384:1: classPropertySpecifier : ( classPropertyReadWrite | classPropertyDispInterface | STORED expression | 'default' expression | 'default' | 'nodefault' | IMPLEMENTS genericTypeIdent ); + public final DelphiParser.classPropertySpecifier_return classPropertySpecifier() throws RecognitionException { + DelphiParser.classPropertySpecifier_return retval = new DelphiParser.classPropertySpecifier_return(); + retval.start = input.LT(1); + int classPropertySpecifier_StartIndex = input.index(); + + Object root_0 = null; + + Token STORED472=null; + Token string_literal474=null; + Token string_literal476=null; + Token string_literal477=null; + Token IMPLEMENTS478=null; + ParserRuleReturnScope classPropertyReadWrite470 =null; + ParserRuleReturnScope classPropertyDispInterface471 =null; + ParserRuleReturnScope expression473 =null; + ParserRuleReturnScope expression475 =null; + ParserRuleReturnScope genericTypeIdent479 =null; + + Object STORED472_tree=null; + Object string_literal474_tree=null; + Object string_literal476_tree=null; + Object string_literal477_tree=null; + Object IMPLEMENTS478_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 96) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:384:30: ( classPropertyReadWrite | classPropertyDispInterface | STORED expression | 'default' expression | 'default' | 'nodefault' | IMPLEMENTS genericTypeIdent ) + int alt160=7; + switch ( input.LA(1) ) { + case READ: + case WRITE: + { + alt160=1; + } + break; + case DISPID: + case READONLY: + case WRITEONLY: + { + alt160=2; + } + break; + case STORED: + { + alt160=3; + } + break; + case DEFAULT: + { + int LA160_4 = input.LA(2); + if ( (synpred218_Delphi()) ) { + alt160=4; + } + else if ( (synpred219_Delphi()) ) { + alt160=5; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 160, 4, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case NODEFAULT: + { + alt160=6; + } + break; + case IMPLEMENTS: + { + alt160=7; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 160, 0, input); + throw nvae; + } + switch (alt160) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:384:32: classPropertyReadWrite + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classPropertyReadWrite_in_classPropertySpecifier9798); + classPropertyReadWrite470=classPropertyReadWrite(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classPropertyReadWrite470.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:385:32: classPropertyDispInterface + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_classPropertyDispInterface_in_classPropertySpecifier9834); + classPropertyDispInterface471=classPropertyDispInterface(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, classPropertyDispInterface471.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:386:32: STORED expression + { + root_0 = (Object)adaptor.nil(); + + + STORED472=(Token)match(input,STORED,FOLLOW_STORED_in_classPropertySpecifier9867); if (state.failed) return retval; + if ( state.backtracking==0 ) { + STORED472_tree = (Object)adaptor.create(STORED472); + adaptor.addChild(root_0, STORED472_tree); + } + + pushFollow(FOLLOW_expression_in_classPropertySpecifier9869); + expression473=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression473.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:387:32: 'default' expression + { + root_0 = (Object)adaptor.nil(); + + + string_literal474=(Token)match(input,DEFAULT,FOLLOW_DEFAULT_in_classPropertySpecifier9902); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal474_tree = (Object)adaptor.create(string_literal474); + adaptor.addChild(root_0, string_literal474_tree); + } + + pushFollow(FOLLOW_expression_in_classPropertySpecifier9904); + expression475=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression475.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:388:32: 'default' + { + root_0 = (Object)adaptor.nil(); + + + string_literal476=(Token)match(input,DEFAULT,FOLLOW_DEFAULT_in_classPropertySpecifier9937); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal476_tree = (Object)adaptor.create(string_literal476); + adaptor.addChild(root_0, string_literal476_tree); + } + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:389:32: 'nodefault' + { + root_0 = (Object)adaptor.nil(); + + + string_literal477=(Token)match(input,NODEFAULT,FOLLOW_NODEFAULT_in_classPropertySpecifier9986); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal477_tree = (Object)adaptor.create(string_literal477); + adaptor.addChild(root_0, string_literal477_tree); + } + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:390:32: IMPLEMENTS genericTypeIdent + { + root_0 = (Object)adaptor.nil(); + + + IMPLEMENTS478=(Token)match(input,IMPLEMENTS,FOLLOW_IMPLEMENTS_in_classPropertySpecifier10019); if (state.failed) return retval; + if ( state.backtracking==0 ) { + IMPLEMENTS478_tree = (Object)adaptor.create(IMPLEMENTS478); + adaptor.addChild(root_0, IMPLEMENTS478_tree); + } + + pushFollow(FOLLOW_genericTypeIdent_in_classPropertySpecifier10021); + genericTypeIdent479=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericTypeIdent479.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 96, classPropertySpecifier_StartIndex); } + + } + return retval; + } + // $ANTLR end "classPropertySpecifier" + + + public static class classPropertyEndSpecifier_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classPropertyEndSpecifier" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:392:1: classPropertyEndSpecifier : ( STORED expression ';' | 'default' expression ';' | 'default' ';' | 'nodefault' ';' ); + public final DelphiParser.classPropertyEndSpecifier_return classPropertyEndSpecifier() throws RecognitionException { + DelphiParser.classPropertyEndSpecifier_return retval = new DelphiParser.classPropertyEndSpecifier_return(); + retval.start = input.LT(1); + int classPropertyEndSpecifier_StartIndex = input.index(); + + Object root_0 = null; + + Token STORED480=null; + Token char_literal482=null; + Token string_literal483=null; + Token char_literal485=null; + Token string_literal486=null; + Token char_literal487=null; + Token string_literal488=null; + Token char_literal489=null; + ParserRuleReturnScope expression481 =null; + ParserRuleReturnScope expression484 =null; + + Object STORED480_tree=null; + Object char_literal482_tree=null; + Object string_literal483_tree=null; + Object char_literal485_tree=null; + Object string_literal486_tree=null; + Object char_literal487_tree=null; + Object string_literal488_tree=null; + Object char_literal489_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 97) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:392:30: ( STORED expression ';' | 'default' expression ';' | 'default' ';' | 'nodefault' ';' ) + int alt161=4; + switch ( input.LA(1) ) { + case STORED: + { + alt161=1; + } + break; + case DEFAULT: + { + int LA161_2 = input.LA(2); + if ( (LA161_2==SEMI) ) { + int LA161_4 = input.LA(3); + if ( (synpred222_Delphi()) ) { + alt161=2; + } + else if ( (synpred223_Delphi()) ) { + alt161=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) { + input.consume(); + } + NoViableAltException nvae = + new NoViableAltException("", 161, 4, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + else if ( ((LA161_2 >= ADD && LA161_2 <= ANSISTRING)||LA161_2==AS||(LA161_2 >= AT && LA161_2 <= AT2)||LA161_2==BREAK||(LA161_2 >= CONTAINS && LA161_2 <= DEFAULT)||LA161_2==DISPID||LA161_2==DIV||LA161_2==DOT||(LA161_2 >= DQ && LA161_2 <= DW)||LA161_2==EQUAL||LA161_2==EXIT||LA161_2==EXPORT||LA161_2==FALSE||LA161_2==FINAL||(LA161_2 >= FUNCTION && LA161_2 <= GE)||(LA161_2 >= GT && LA161_2 <= HELPER)||(LA161_2 >= IMPLEMENTS && LA161_2 <= INHERITED)||LA161_2==IS||LA161_2==LBRACK||LA161_2==LE||(LA161_2 >= LOCAL && LA161_2 <= NAME)||LA161_2==NIL||(LA161_2 >= NOT && LA161_2 <= OBJECT)||(LA161_2 >= OPERATOR && LA161_2 <= OUT)||(LA161_2 >= PLUS && LA161_2 <= POINTER2)||LA161_2==PROCEDURE||LA161_2==QuotedString||(LA161_2 >= READ && LA161_2 <= READONLY)||(LA161_2 >= REFERENCE && LA161_2 <= REGISTER)||LA161_2==REMOVE||(LA161_2 >= SHL && LA161_2 <= STATIC)||(LA161_2 >= STORED && LA161_2 <= STRING)||LA161_2==TRUE||(LA161_2 >= TkHexNum && LA161_2 <= TkIntNum)||LA161_2==TkRealNum||LA161_2==UNSAFE||(LA161_2 >= VARARGS && LA161_2 <= VIRTUAL)||(LA161_2 >= WRITE && LA161_2 <= WRITEONLY)||(LA161_2 >= XOR && LA161_2 <= 210)) ) { + alt161=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 161, 2, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case NODEFAULT: + { + alt161=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 161, 0, input); + throw nvae; + } + switch (alt161) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:392:32: STORED expression ';' + { + root_0 = (Object)adaptor.nil(); + + + STORED480=(Token)match(input,STORED,FOLLOW_STORED_in_classPropertyEndSpecifier10061); if (state.failed) return retval; + if ( state.backtracking==0 ) { + STORED480_tree = (Object)adaptor.create(STORED480); + adaptor.addChild(root_0, STORED480_tree); + } + + pushFollow(FOLLOW_expression_in_classPropertyEndSpecifier10063); + expression481=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression481.getTree()); + + char_literal482=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyEndSpecifier10065); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal482_tree = (Object)adaptor.create(char_literal482); + adaptor.addChild(root_0, char_literal482_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:393:32: 'default' expression ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal483=(Token)match(input,DEFAULT,FOLLOW_DEFAULT_in_classPropertyEndSpecifier10102); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal483_tree = (Object)adaptor.create(string_literal483); + adaptor.addChild(root_0, string_literal483_tree); + } + + pushFollow(FOLLOW_expression_in_classPropertyEndSpecifier10104); + expression484=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression484.getTree()); + + char_literal485=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyEndSpecifier10106); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal485_tree = (Object)adaptor.create(char_literal485); + adaptor.addChild(root_0, char_literal485_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:394:32: 'default' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal486=(Token)match(input,DEFAULT,FOLLOW_DEFAULT_in_classPropertyEndSpecifier10139); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal486_tree = (Object)adaptor.create(string_literal486); + adaptor.addChild(root_0, string_literal486_tree); + } + + char_literal487=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyEndSpecifier10141); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal487_tree = (Object)adaptor.create(char_literal487); + adaptor.addChild(root_0, char_literal487_tree); + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:395:32: 'nodefault' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal488=(Token)match(input,NODEFAULT,FOLLOW_NODEFAULT_in_classPropertyEndSpecifier10174); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal488_tree = (Object)adaptor.create(string_literal488); + adaptor.addChild(root_0, string_literal488_tree); + } + + char_literal489=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyEndSpecifier10176); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal489_tree = (Object)adaptor.create(char_literal489); + adaptor.addChild(root_0, char_literal489_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 97, classPropertyEndSpecifier_StartIndex); } + + } + return retval; + } + // $ANTLR end "classPropertyEndSpecifier" + + + public static class classPropertyReadWrite_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classPropertyReadWrite" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:398:1: classPropertyReadWrite : ( 'read' qualifiedIdent ( '[' expression ']' )? -> ^( 'read' qualifiedIdent ) | 'write' qualifiedIdent ( '[' expression ']' )? -> ^( 'write' qualifiedIdent ) ); + public final DelphiParser.classPropertyReadWrite_return classPropertyReadWrite() throws RecognitionException { + DelphiParser.classPropertyReadWrite_return retval = new DelphiParser.classPropertyReadWrite_return(); + retval.start = input.LT(1); + int classPropertyReadWrite_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal490=null; + Token char_literal492=null; + Token char_literal494=null; + Token string_literal495=null; + Token char_literal497=null; + Token char_literal499=null; + ParserRuleReturnScope qualifiedIdent491 =null; + ParserRuleReturnScope expression493 =null; + ParserRuleReturnScope qualifiedIdent496 =null; + ParserRuleReturnScope expression498 =null; + + Object string_literal490_tree=null; + Object char_literal492_tree=null; + Object char_literal494_tree=null; + Object string_literal495_tree=null; + Object char_literal497_tree=null; + Object char_literal499_tree=null; + RewriteRuleTokenStream stream_READ=new RewriteRuleTokenStream(adaptor,"token READ"); + RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); + RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); + RewriteRuleTokenStream stream_WRITE=new RewriteRuleTokenStream(adaptor,"token WRITE"); + RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression"); + RewriteRuleSubtreeStream stream_qualifiedIdent=new RewriteRuleSubtreeStream(adaptor,"rule qualifiedIdent"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 98) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:398:30: ( 'read' qualifiedIdent ( '[' expression ']' )? -> ^( 'read' qualifiedIdent ) | 'write' qualifiedIdent ( '[' expression ']' )? -> ^( 'write' qualifiedIdent ) ) + int alt164=2; + int LA164_0 = input.LA(1); + if ( (LA164_0==READ) ) { + alt164=1; + } + else if ( (LA164_0==WRITE) ) { + alt164=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 164, 0, input); + throw nvae; + } + + switch (alt164) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:398:32: 'read' qualifiedIdent ( '[' expression ']' )? + { + string_literal490=(Token)match(input,READ,FOLLOW_READ_in_classPropertyReadWrite10220); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_READ.add(string_literal490); + + pushFollow(FOLLOW_qualifiedIdent_in_classPropertyReadWrite10222); + qualifiedIdent491=qualifiedIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_qualifiedIdent.add(qualifiedIdent491.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:398:54: ( '[' expression ']' )? + int alt162=2; + int LA162_0 = input.LA(1); + if ( (LA162_0==LBRACK) ) { + alt162=1; + } + switch (alt162) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:398:55: '[' expression ']' + { + char_literal492=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_classPropertyReadWrite10225); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LBRACK.add(char_literal492); + + pushFollow(FOLLOW_expression_in_classPropertyReadWrite10227); + expression493=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_expression.add(expression493.getTree()); + char_literal494=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_classPropertyReadWrite10229); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RBRACK.add(char_literal494); + + } + break; + + } + + // AST REWRITE + // elements: READ, qualifiedIdent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 399:30: -> ^( 'read' qualifiedIdent ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:399:33: ^( 'read' qualifiedIdent ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_READ.nextNode(), root_1); + adaptor.addChild(root_1, stream_qualifiedIdent.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:400:32: 'write' qualifiedIdent ( '[' expression ']' )? + { + string_literal495=(Token)match(input,WRITE,FOLLOW_WRITE_in_classPropertyReadWrite10303); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_WRITE.add(string_literal495); + + pushFollow(FOLLOW_qualifiedIdent_in_classPropertyReadWrite10305); + qualifiedIdent496=qualifiedIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_qualifiedIdent.add(qualifiedIdent496.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:400:55: ( '[' expression ']' )? + int alt163=2; + int LA163_0 = input.LA(1); + if ( (LA163_0==LBRACK) ) { + alt163=1; + } + switch (alt163) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:400:56: '[' expression ']' + { + char_literal497=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_classPropertyReadWrite10308); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LBRACK.add(char_literal497); + + pushFollow(FOLLOW_expression_in_classPropertyReadWrite10310); + expression498=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_expression.add(expression498.getTree()); + char_literal499=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_classPropertyReadWrite10312); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RBRACK.add(char_literal499); + + } + break; + + } + + // AST REWRITE + // elements: WRITE, qualifiedIdent + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 401:30: -> ^( 'write' qualifiedIdent ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:401:33: ^( 'write' qualifiedIdent ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_WRITE.nextNode(), root_1); + adaptor.addChild(root_1, stream_qualifiedIdent.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 98, classPropertyReadWrite_StartIndex); } + + } + return retval; + } + // $ANTLR end "classPropertyReadWrite" + + + public static class classPropertyDispInterface_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "classPropertyDispInterface" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:403:1: classPropertyDispInterface : ( 'readonly' ';' | 'writeonly' ';' | dispIDDirective ); + public final DelphiParser.classPropertyDispInterface_return classPropertyDispInterface() throws RecognitionException { + DelphiParser.classPropertyDispInterface_return retval = new DelphiParser.classPropertyDispInterface_return(); + retval.start = input.LT(1); + int classPropertyDispInterface_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal500=null; + Token char_literal501=null; + Token string_literal502=null; + Token char_literal503=null; + ParserRuleReturnScope dispIDDirective504 =null; + + Object string_literal500_tree=null; + Object char_literal501_tree=null; + Object string_literal502_tree=null; + Object char_literal503_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 99) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:403:30: ( 'readonly' ';' | 'writeonly' ';' | dispIDDirective ) + int alt165=3; + switch ( input.LA(1) ) { + case READONLY: + { + alt165=1; + } + break; + case WRITEONLY: + { + alt165=2; + } + break; + case DISPID: + { + alt165=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 165, 0, input); + throw nvae; + } + switch (alt165) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:403:32: 'readonly' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal500=(Token)match(input,READONLY,FOLLOW_READONLY_in_classPropertyDispInterface10391); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal500_tree = (Object)adaptor.create(string_literal500); + adaptor.addChild(root_0, string_literal500_tree); + } + + char_literal501=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyDispInterface10393); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal501_tree = (Object)adaptor.create(char_literal501); + adaptor.addChild(root_0, char_literal501_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:404:32: 'writeonly' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal502=(Token)match(input,WRITEONLY,FOLLOW_WRITEONLY_in_classPropertyDispInterface10426); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal502_tree = (Object)adaptor.create(string_literal502); + adaptor.addChild(root_0, string_literal502_tree); + } + + char_literal503=(Token)match(input,SEMI,FOLLOW_SEMI_in_classPropertyDispInterface10428); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal503_tree = (Object)adaptor.create(char_literal503); + adaptor.addChild(root_0, char_literal503_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:405:32: dispIDDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_dispIDDirective_in_classPropertyDispInterface10461); + dispIDDirective504=dispIDDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, dispIDDirective504.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 99, classPropertyDispInterface_StartIndex); } + + } + return retval; + } + // $ANTLR end "classPropertyDispInterface" + + + public static class visibility_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "visibility" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:1: visibility : ( ( STRICT )? 'protected' | ( STRICT )? 'private' | 'public' | 'published' | 'automated' ); + public final DelphiParser.visibility_return visibility() throws RecognitionException { + DelphiParser.visibility_return retval = new DelphiParser.visibility_return(); + retval.start = input.LT(1); + int visibility_StartIndex = input.index(); + + Object root_0 = null; + + Token STRICT505=null; + Token string_literal506=null; + Token STRICT507=null; + Token string_literal508=null; + Token string_literal509=null; + Token string_literal510=null; + Token string_literal511=null; + + Object STRICT505_tree=null; + Object string_literal506_tree=null; + Object STRICT507_tree=null; + Object string_literal508_tree=null; + Object string_literal509_tree=null; + Object string_literal510_tree=null; + Object string_literal511_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 100) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:30: ( ( STRICT )? 'protected' | ( STRICT )? 'private' | 'public' | 'published' | 'automated' ) + int alt168=5; + switch ( input.LA(1) ) { + case STRICT: + { + int LA168_1 = input.LA(2); + if ( (LA168_1==PROTECTED) ) { + alt168=1; + } + else if ( (LA168_1==PRIVATE) ) { + alt168=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 168, 1, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case PROTECTED: + { + alt168=1; + } + break; + case PRIVATE: + { + alt168=2; + } + break; + case PUBLIC: + { + alt168=3; + } + break; + case PUBLISHED: + { + alt168=4; + } + break; + case AUTOMATED: + { + alt168=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 168, 0, input); + throw nvae; + } + switch (alt168) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:32: ( STRICT )? 'protected' + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:32: ( STRICT )? + int alt166=2; + int LA166_0 = input.LA(1); + if ( (LA166_0==STRICT) ) { + alt166=1; + } + switch (alt166) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:407:33: STRICT + { + STRICT505=(Token)match(input,STRICT,FOLLOW_STRICT_in_visibility10517); if (state.failed) return retval; + if ( state.backtracking==0 ) { + STRICT505_tree = (Object)adaptor.create(STRICT505); + adaptor.addChild(root_0, STRICT505_tree); + } + + } + break; + + } + + string_literal506=(Token)match(input,PROTECTED,FOLLOW_PROTECTED_in_visibility10521); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal506_tree = (Object)adaptor.create(string_literal506); + adaptor.addChild(root_0, string_literal506_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:408:32: ( STRICT )? 'private' + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:408:32: ( STRICT )? + int alt167=2; + int LA167_0 = input.LA(1); + if ( (LA167_0==STRICT) ) { + alt167=1; + } + switch (alt167) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:408:33: STRICT + { + STRICT507=(Token)match(input,STRICT,FOLLOW_STRICT_in_visibility10555); if (state.failed) return retval; + if ( state.backtracking==0 ) { + STRICT507_tree = (Object)adaptor.create(STRICT507); + adaptor.addChild(root_0, STRICT507_tree); + } + + } + break; + + } + + string_literal508=(Token)match(input,PRIVATE,FOLLOW_PRIVATE_in_visibility10559); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal508_tree = (Object)adaptor.create(string_literal508); + adaptor.addChild(root_0, string_literal508_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:409:32: 'public' + { + root_0 = (Object)adaptor.nil(); + + + string_literal509=(Token)match(input,PUBLIC,FOLLOW_PUBLIC_in_visibility10592); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal509_tree = (Object)adaptor.create(string_literal509); + adaptor.addChild(root_0, string_literal509_tree); + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:410:32: 'published' + { + root_0 = (Object)adaptor.nil(); + + + string_literal510=(Token)match(input,PUBLISHED,FOLLOW_PUBLISHED_in_visibility10625); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal510_tree = (Object)adaptor.create(string_literal510); + adaptor.addChild(root_0, string_literal510_tree); + } + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:411:32: 'automated' + { + root_0 = (Object)adaptor.nil(); + + + string_literal511=(Token)match(input,AUTOMATED,FOLLOW_AUTOMATED_in_visibility10658); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal511_tree = (Object)adaptor.create(string_literal511); + adaptor.addChild(root_0, string_literal511_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 100, visibility_StartIndex); } + + } + return retval; + } + // $ANTLR end "visibility" + + + public static class exportedProcHeading_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "exportedProcHeading" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:1: exportedProcHeading : ( 'procedure' ident ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( functionDirective )* | 'function' ident ( formalParameterSection )? ';' ( functionDirective )* ); + public final DelphiParser.exportedProcHeading_return exportedProcHeading() throws RecognitionException { + DelphiParser.exportedProcHeading_return retval = new DelphiParser.exportedProcHeading_return(); + retval.start = input.LT(1); + int exportedProcHeading_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal512=null; + Token char_literal515=null; + Token char_literal518=null; + Token string_literal520=null; + Token char_literal523=null; + ParserRuleReturnScope ident513 =null; + ParserRuleReturnScope formalParameterSection514 =null; + ParserRuleReturnScope customAttribute516 =null; + ParserRuleReturnScope typeDecl517 =null; + ParserRuleReturnScope functionDirective519 =null; + ParserRuleReturnScope ident521 =null; + ParserRuleReturnScope formalParameterSection522 =null; + ParserRuleReturnScope functionDirective524 =null; + + Object string_literal512_tree=null; + Object char_literal515_tree=null; + Object char_literal518_tree=null; + Object string_literal520_tree=null; + Object char_literal523_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 101) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:30: ( 'procedure' ident ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( functionDirective )* | 'function' ident ( formalParameterSection )? ';' ( functionDirective )* ) + int alt174=2; + int LA174_0 = input.LA(1); + if ( (LA174_0==PROCEDURE) ) { + alt174=1; + } + else if ( (LA174_0==FUNCTION) ) { + alt174=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 174, 0, input); + throw nvae; + } + + switch (alt174) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:32: 'procedure' ident ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( functionDirective )* + { + root_0 = (Object)adaptor.nil(); + + + string_literal512=(Token)match(input,PROCEDURE,FOLLOW_PROCEDURE_in_exportedProcHeading10712); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal512_tree = (Object)adaptor.create(string_literal512); + adaptor.addChild(root_0, string_literal512_tree); + } + + pushFollow(FOLLOW_ident_in_exportedProcHeading10714); + ident513=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident513.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:50: ( formalParameterSection )? + int alt169=2; + int LA169_0 = input.LA(1); + if ( (LA169_0==LPAREN) ) { + alt169=1; + } + switch (alt169) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:51: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_exportedProcHeading10717); + formalParameterSection514=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection514.getTree()); + + } + break; + + } + + char_literal515=(Token)match(input,COLON,FOLLOW_COLON_in_exportedProcHeading10721); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal515_tree = (Object)adaptor.create(char_literal515); + adaptor.addChild(root_0, char_literal515_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:80: ( customAttribute )? + int alt170=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA170_1 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case PACKED: + { + int LA170_2 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case ARRAY: + { + int LA170_3 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case SET: + { + int LA170_4 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case FILE: + { + int LA170_5 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case CLASS: + { + int LA170_6 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case DISPINTERFACE: + case INTERFACE: + { + int LA170_7 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case OBJECT: + { + int LA170_8 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case RECORD: + { + int LA170_9 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case POINTER2: + { + int LA170_10 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case POINTER: + { + int LA170_11 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case STRING: + { + int LA170_12 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case TYPE: + { + int LA170_13 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case ANSISTRING: + { + int LA170_14 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case FUNCTION: + { + int LA170_15 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case PROCEDURE: + { + int LA170_16 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case REFERENCE: + { + int LA170_17 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case VARIANT: + { + int LA170_18 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case TkIdentifier: + { + int LA170_19 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case 198: + { + int LA170_20 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case TRUE: + { + int LA170_21 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case LPAREN: + { + int LA170_22 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case AT2: + { + int LA170_23 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case 199: + { + int LA170_24 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case NOT: + { + int LA170_25 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case PLUS: + { + int LA170_26 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case MINUS: + { + int LA170_27 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case TkRealNum: + { + int LA170_28 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case TkHexNum: + case TkIntNum: + { + int LA170_29 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case FALSE: + { + int LA170_30 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case IN: + { + int LA170_31 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case NIL: + { + int LA170_32 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case 210: + { + int LA170_33 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case ControlChar: + { + int LA170_34 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case QuotedString: + { + int LA170_35 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case 203: + { + int LA170_36 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case INHERITED: + { + int LA170_37 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case 209: + { + int LA170_38 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case DOT: + { + int LA170_39 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case LT: + { + int LA170_40 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA170_41 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case ADD: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OPERATOR: + case OUT: + case READ: + case READONLY: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case UNSAFE: + case VARARGS: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA170_42 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case EQUAL: + { + int LA170_43 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case GE: + case GT: + case IS: + case LE: + case NOT_EQUAL: + { + int LA170_44 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case DOTDOT: + { + int LA170_45 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + case SEMI: + { + int LA170_46 = input.LA(2); + if ( (synpred236_Delphi()) ) { + alt170=1; + } + } + break; + } + switch (alt170) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:81: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_exportedProcHeading10724); + customAttribute516=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, customAttribute516.getTree()); + + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_exportedProcHeading10728); + typeDecl517=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl517.getTree()); + + char_literal518=(Token)match(input,SEMI,FOLLOW_SEMI_in_exportedProcHeading10730); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal518_tree = (Object)adaptor.create(char_literal518); + adaptor.addChild(root_0, char_literal518_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:112: ( functionDirective )* + loop171: + while (true) { + int alt171=2; + int LA171_0 = input.LA(1); + if ( (LA171_0==ASSEMBLER||LA171_0==CDECL||LA171_0==DEPRECATED||(LA171_0 >= EXPERIMENTAL && LA171_0 <= EXPORT)||LA171_0==EXTERNAL||LA171_0==FAR||LA171_0==INLINE||(LA171_0 >= LIBRARY && LA171_0 <= LOCAL)||LA171_0==NEAR||LA171_0==OVERLOAD||(LA171_0 >= PASCAL && LA171_0 <= PLATFORM)||LA171_0==REGISTER||LA171_0==SAFECALL||LA171_0==STDCALL||LA171_0==UNSAFE||LA171_0==VARARGS) ) { + alt171=1; + } + + switch (alt171) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:113: functionDirective + { + pushFollow(FOLLOW_functionDirective_in_exportedProcHeading10733); + functionDirective519=functionDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, functionDirective519.getTree()); + + } + break; + + default : + break loop171; + } + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:417:32: 'function' ident ( formalParameterSection )? ';' ( functionDirective )* + { + root_0 = (Object)adaptor.nil(); + + + string_literal520=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_exportedProcHeading10768); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal520_tree = (Object)adaptor.create(string_literal520); + adaptor.addChild(root_0, string_literal520_tree); + } + + pushFollow(FOLLOW_ident_in_exportedProcHeading10770); + ident521=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident521.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:417:49: ( formalParameterSection )? + int alt172=2; + int LA172_0 = input.LA(1); + if ( (LA172_0==LPAREN) ) { + alt172=1; + } + switch (alt172) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:417:50: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_exportedProcHeading10773); + formalParameterSection522=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection522.getTree()); + + } + break; + + } + + char_literal523=(Token)match(input,SEMI,FOLLOW_SEMI_in_exportedProcHeading10777); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal523_tree = (Object)adaptor.create(char_literal523); + adaptor.addChild(root_0, char_literal523_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:417:79: ( functionDirective )* + loop173: + while (true) { + int alt173=2; + int LA173_0 = input.LA(1); + if ( (LA173_0==ASSEMBLER||LA173_0==CDECL||LA173_0==DEPRECATED||(LA173_0 >= EXPERIMENTAL && LA173_0 <= EXPORT)||LA173_0==EXTERNAL||LA173_0==FAR||LA173_0==INLINE||(LA173_0 >= LIBRARY && LA173_0 <= LOCAL)||LA173_0==NEAR||LA173_0==OVERLOAD||(LA173_0 >= PASCAL && LA173_0 <= PLATFORM)||LA173_0==REGISTER||LA173_0==SAFECALL||LA173_0==STDCALL||LA173_0==UNSAFE||LA173_0==VARARGS) ) { + alt173=1; + } + + switch (alt173) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:417:80: functionDirective + { + pushFollow(FOLLOW_functionDirective_in_exportedProcHeading10780); + functionDirective524=functionDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, functionDirective524.getTree()); + + } + break; + + default : + break loop173; + } + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 101, exportedProcHeading_StartIndex); } + + } + return retval; + } + // $ANTLR end "exportedProcHeading" + + + public static class methodDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "methodDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:1: methodDecl : methodDeclHeading ';' ( methodDirective )* ( methodBody )? -> methodDeclHeading ( methodBody )? ; + public final DelphiParser.methodDecl_return methodDecl() throws RecognitionException { + DelphiParser.methodDecl_return retval = new DelphiParser.methodDecl_return(); + retval.start = input.LT(1); + int methodDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal526=null; + ParserRuleReturnScope methodDeclHeading525 =null; + ParserRuleReturnScope methodDirective527 =null; + ParserRuleReturnScope methodBody528 =null; + + Object char_literal526_tree=null; + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleSubtreeStream stream_methodBody=new RewriteRuleSubtreeStream(adaptor,"rule methodBody"); + RewriteRuleSubtreeStream stream_methodDirective=new RewriteRuleSubtreeStream(adaptor,"rule methodDirective"); + RewriteRuleSubtreeStream stream_methodDeclHeading=new RewriteRuleSubtreeStream(adaptor,"rule methodDeclHeading"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 102) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:30: ( methodDeclHeading ';' ( methodDirective )* ( methodBody )? -> methodDeclHeading ( methodBody )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:32: methodDeclHeading ';' ( methodDirective )* ( methodBody )? + { + pushFollow(FOLLOW_methodDeclHeading_in_methodDecl10837); + methodDeclHeading525=methodDeclHeading(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodDeclHeading.add(methodDeclHeading525.getTree()); + char_literal526=(Token)match(input,SEMI,FOLLOW_SEMI_in_methodDecl10839); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal526); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:54: ( methodDirective )* + loop175: + while (true) { + int alt175=2; + alt175 = dfa175.predict(input); + switch (alt175) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:55: methodDirective + { + pushFollow(FOLLOW_methodDirective_in_methodDecl10842); + methodDirective527=methodDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodDirective.add(methodDirective527.getTree()); + } + break; + + default : + break loop175; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:73: ( methodBody )? + int alt176=2; + switch ( input.LA(1) ) { + case LABEL: + { + int LA176_1 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case CONST: + case RESOURCESTRING: + { + int LA176_2 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case TYPE: + { + int LA176_3 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case THREADVAR: + case VAR: + { + int LA176_4 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case LBRACK: + { + int LA176_5 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case CLASS: + { + int LA176_6 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case PROCEDURE: + { + int LA176_7 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case FUNCTION: + { + int LA176_8 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + { + int LA176_9 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case EXPORTS: + { + int LA176_10 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case BEGIN: + { + int LA176_11 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case ASM: + { + int LA176_12 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + case SEMI: + { + int LA176_13 = input.LA(2); + if ( (synpred242_Delphi()) ) { + alt176=1; + } + } + break; + } + switch (alt176) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:74: methodBody + { + pushFollow(FOLLOW_methodBody_in_methodDecl10847); + methodBody528=methodBody(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodBody.add(methodBody528.getTree()); + } + break; + + } + + // AST REWRITE + // elements: methodBody, methodDeclHeading + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 419:87: -> methodDeclHeading ( methodBody )? + { + adaptor.addChild(root_0, stream_methodDeclHeading.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:108: ( methodBody )? + if ( stream_methodBody.hasNext() ) { + adaptor.addChild(root_0, stream_methodBody.nextTree()); + } + stream_methodBody.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 102, methodDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "methodDecl" + + + public static class methodDeclHeading_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "methodDeclHeading" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:1: methodDeclHeading : ( ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ) | ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) | ( customAttribute )? 'class' 'operator' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? -> ( customAttribute )? 'class' ^( 'operator' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) ); + public final DelphiParser.methodDeclHeading_return methodDeclHeading() throws RecognitionException { + DelphiParser.methodDeclHeading_return retval = new DelphiParser.methodDeclHeading_return(); + retval.start = input.LT(1); + int methodDeclHeading_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal530=null; + Token string_literal535=null; + Token string_literal536=null; + Token char_literal539=null; + Token string_literal543=null; + Token string_literal544=null; + Token char_literal547=null; + ParserRuleReturnScope customAttribute529 =null; + ParserRuleReturnScope methodKey531 =null; + ParserRuleReturnScope methodName532 =null; + ParserRuleReturnScope formalParameterSection533 =null; + ParserRuleReturnScope customAttribute534 =null; + ParserRuleReturnScope methodName537 =null; + ParserRuleReturnScope formalParameterSection538 =null; + ParserRuleReturnScope customAttribute540 =null; + ParserRuleReturnScope typeDecl541 =null; + ParserRuleReturnScope customAttribute542 =null; + ParserRuleReturnScope methodName545 =null; + ParserRuleReturnScope formalParameterSection546 =null; + ParserRuleReturnScope customAttribute548 =null; + ParserRuleReturnScope typeDecl549 =null; + + Object string_literal530_tree=null; + Object string_literal535_tree=null; + Object string_literal536_tree=null; + Object char_literal539_tree=null; + Object string_literal543_tree=null; + Object string_literal544_tree=null; + Object char_literal547_tree=null; + RewriteRuleTokenStream stream_OPERATOR=new RewriteRuleTokenStream(adaptor,"token OPERATOR"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleTokenStream stream_CLASS=new RewriteRuleTokenStream(adaptor,"token CLASS"); + RewriteRuleTokenStream stream_FUNCTION=new RewriteRuleTokenStream(adaptor,"token FUNCTION"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_methodKey=new RewriteRuleSubtreeStream(adaptor,"rule methodKey"); + RewriteRuleSubtreeStream stream_formalParameterSection=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterSection"); + RewriteRuleSubtreeStream stream_methodName=new RewriteRuleSubtreeStream(adaptor,"rule methodName"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 103) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:30: ( ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ) | ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) | ( customAttribute )? 'class' 'operator' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? -> ( customAttribute )? 'class' ^( 'operator' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) ) + int alt189=3; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA189_1 = input.LA(2); + if ( (synpred246_Delphi()) ) { + alt189=1; + } + else if ( (synpred252_Delphi()) ) { + alt189=2; + } + else if ( (true) ) { + alt189=3; + } + + } + break; + case CLASS: + { + int LA189_2 = input.LA(2); + if ( (synpred246_Delphi()) ) { + alt189=1; + } + else if ( (synpred252_Delphi()) ) { + alt189=2; + } + else if ( (true) ) { + alt189=3; + } + + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case PROCEDURE: + { + alt189=1; + } + break; + case FUNCTION: + { + alt189=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 189, 0, input); + throw nvae; + } + switch (alt189) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:32: ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:32: ( customAttribute )? + int alt177=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt177=1; + } + break; + case CLASS: + { + int LA177_2 = input.LA(2); + if ( (synpred243_Delphi()) ) { + alt177=1; + } + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case PROCEDURE: + { + int LA177_3 = input.LA(2); + if ( (synpred243_Delphi()) ) { + alt177=1; + } + } + break; + } + switch (alt177) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_methodDeclHeading10907); + customAttribute529=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute529.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:51: ( 'class' )? + int alt178=2; + int LA178_0 = input.LA(1); + if ( (LA178_0==CLASS) ) { + alt178=1; + } + switch (alt178) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:52: 'class' + { + string_literal530=(Token)match(input,CLASS,FOLLOW_CLASS_in_methodDeclHeading10912); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal530); + + } + break; + + } + + pushFollow(FOLLOW_methodKey_in_methodDeclHeading10917); + methodKey531=methodKey(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodKey.add(methodKey531.getTree()); + pushFollow(FOLLOW_methodName_in_methodDeclHeading10919); + methodName532=methodName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodName.add(methodName532.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:84: ( formalParameterSection )? + int alt179=2; + int LA179_0 = input.LA(1); + if ( (LA179_0==LPAREN) ) { + alt179=1; + } + switch (alt179) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:85: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_methodDeclHeading10922); + formalParameterSection533=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection533.getTree()); + } + break; + + } + + // AST REWRITE + // elements: customAttribute, CLASS, methodKey, methodName, formalParameterSection + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 422:30: -> ( customAttribute )? ( 'class' )? ^( methodKey ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:33: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_0, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:52: ( 'class' )? + if ( stream_CLASS.hasNext() ) { + adaptor.addChild(root_0, stream_CLASS.nextNode()); + } + stream_CLASS.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:64: ^( methodKey ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_methodKey.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:76: ^( TkFunctionName methodName ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); + adaptor.addChild(root_2, stream_methodName.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:105: ^( TkFunctionArgs ( formalParameterSection )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:422:122: ( formalParameterSection )? + if ( stream_formalParameterSection.hasNext() ) { + adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); + } + stream_formalParameterSection.reset(); + + adaptor.addChild(root_1, root_2); + } + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:32: ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:32: ( customAttribute )? + int alt180=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt180=1; + } + break; + case CLASS: + { + int LA180_2 = input.LA(2); + if ( (synpred247_Delphi()) ) { + alt180=1; + } + } + break; + case FUNCTION: + { + int LA180_3 = input.LA(2); + if ( (synpred247_Delphi()) ) { + alt180=1; + } + } + break; + } + switch (alt180) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_methodDeclHeading11020); + customAttribute534=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute534.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:51: ( 'class' )? + int alt181=2; + int LA181_0 = input.LA(1); + if ( (LA181_0==CLASS) ) { + alt181=1; + } + switch (alt181) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:52: 'class' + { + string_literal535=(Token)match(input,CLASS,FOLLOW_CLASS_in_methodDeclHeading11025); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal535); + + } + break; + + } + + string_literal536=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_methodDeclHeading11029); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_FUNCTION.add(string_literal536); + + pushFollow(FOLLOW_methodName_in_methodDeclHeading11031); + methodName537=methodName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodName.add(methodName537.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:84: ( formalParameterSection )? + int alt182=2; + int LA182_0 = input.LA(1); + if ( (LA182_0==LPAREN) ) { + alt182=1; + } + switch (alt182) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:85: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_methodDeclHeading11034); + formalParameterSection538=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection538.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:110: ( ':' ( customAttribute )? typeDecl )? + int alt184=2; + int LA184_0 = input.LA(1); + if ( (LA184_0==COLON) ) { + alt184=1; + } + switch (alt184) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:111: ':' ( customAttribute )? typeDecl + { + char_literal539=(Token)match(input,COLON,FOLLOW_COLON_in_methodDeclHeading11039); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal539); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:115: ( customAttribute )? + int alt183=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA183_1 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case PACKED: + { + int LA183_2 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case ARRAY: + { + int LA183_3 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case SET: + { + int LA183_4 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case FILE: + { + int LA183_5 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case CLASS: + { + int LA183_6 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case DISPINTERFACE: + case INTERFACE: + { + int LA183_7 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case OBJECT: + { + int LA183_8 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case RECORD: + { + int LA183_9 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case POINTER2: + { + int LA183_10 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case POINTER: + { + int LA183_11 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case STRING: + { + int LA183_12 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case TYPE: + { + int LA183_13 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case ANSISTRING: + { + int LA183_14 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case FUNCTION: + { + int LA183_15 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case PROCEDURE: + { + int LA183_16 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case REFERENCE: + { + int LA183_17 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case VARIANT: + { + int LA183_18 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case TkIdentifier: + { + int LA183_19 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case 198: + { + int LA183_20 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case TRUE: + { + int LA183_21 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case LPAREN: + { + int LA183_22 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case AT2: + { + int LA183_23 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case 199: + { + int LA183_24 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case NOT: + { + int LA183_25 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case PLUS: + { + int LA183_26 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case MINUS: + { + int LA183_27 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case TkRealNum: + { + int LA183_28 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case TkHexNum: + case TkIntNum: + { + int LA183_29 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case FALSE: + { + int LA183_30 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case IN: + { + int LA183_31 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case NIL: + { + int LA183_32 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case 210: + { + int LA183_33 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case ControlChar: + { + int LA183_34 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case QuotedString: + { + int LA183_35 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case 203: + { + int LA183_36 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case INHERITED: + { + int LA183_37 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case 209: + { + int LA183_38 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case DOT: + { + int LA183_39 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case LT: + { + int LA183_40 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA183_41 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case ADD: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OPERATOR: + case OUT: + case READ: + case READONLY: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case UNSAFE: + case VARARGS: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA183_42 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case EQUAL: + { + int LA183_43 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case GE: + case GT: + case IS: + case LE: + case NOT_EQUAL: + { + int LA183_44 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case DOTDOT: + { + int LA183_45 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + case SEMI: + { + int LA183_46 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt183=1; + } + } + break; + } + switch (alt183) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:116: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_methodDeclHeading11042); + customAttribute540=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute540.getTree()); + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_methodDeclHeading11046); + typeDecl541=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl541.getTree()); + } + break; + + } + + // AST REWRITE + // elements: methodName, typeDecl, CLASS, formalParameterSection, customAttribute, FUNCTION, customAttribute + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 424:30: -> ( customAttribute )? ( 'class' )? ^( 'function' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:33: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_0, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:52: ( 'class' )? + if ( stream_CLASS.hasNext() ) { + adaptor.addChild(root_0, stream_CLASS.nextNode()); + } + stream_CLASS.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:63: ^( 'function' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_FUNCTION.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:76: ^( TkFunctionName methodName ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); + adaptor.addChild(root_2, stream_methodName.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:105: ^( TkFunctionArgs ( formalParameterSection )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:122: ( formalParameterSection )? + if ( stream_formalParameterSection.hasNext() ) { + adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); + } + stream_formalParameterSection.reset(); + + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:149: ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:168: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_2, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:424:187: ( typeDecl )? + if ( stream_typeDecl.hasNext() ) { + adaptor.addChild(root_2, stream_typeDecl.nextTree()); + } + stream_typeDecl.reset(); + + adaptor.addChild(root_1, root_2); + } + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:32: ( customAttribute )? 'class' 'operator' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:32: ( customAttribute )? + int alt185=2; + int LA185_0 = input.LA(1); + if ( (LA185_0==LBRACK) ) { + alt185=1; + } + else if ( (LA185_0==CLASS) ) { + int LA185_2 = input.LA(2); + if ( (synpred253_Delphi()) ) { + alt185=1; + } + } + switch (alt185) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_methodDeclHeading11155); + customAttribute542=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute542.getTree()); + } + break; + + } + + string_literal543=(Token)match(input,CLASS,FOLLOW_CLASS_in_methodDeclHeading11159); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_CLASS.add(string_literal543); + + string_literal544=(Token)match(input,OPERATOR,FOLLOW_OPERATOR_in_methodDeclHeading11161); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_OPERATOR.add(string_literal544); + + pushFollow(FOLLOW_methodName_in_methodDeclHeading11163); + methodName545=methodName(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_methodName.add(methodName545.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:81: ( formalParameterSection )? + int alt186=2; + int LA186_0 = input.LA(1); + if ( (LA186_0==LPAREN) ) { + alt186=1; + } + switch (alt186) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:82: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_methodDeclHeading11166); + formalParameterSection546=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection546.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:107: ( ':' ( customAttribute )? typeDecl )? + int alt188=2; + int LA188_0 = input.LA(1); + if ( (LA188_0==COLON) ) { + alt188=1; + } + switch (alt188) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:108: ':' ( customAttribute )? typeDecl + { + char_literal547=(Token)match(input,COLON,FOLLOW_COLON_in_methodDeclHeading11171); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal547); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:112: ( customAttribute )? + int alt187=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA187_1 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case PACKED: + { + int LA187_2 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case ARRAY: + { + int LA187_3 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case SET: + { + int LA187_4 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case FILE: + { + int LA187_5 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case CLASS: + { + int LA187_6 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case DISPINTERFACE: + case INTERFACE: + { + int LA187_7 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case OBJECT: + { + int LA187_8 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case RECORD: + { + int LA187_9 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case POINTER2: + { + int LA187_10 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case POINTER: + { + int LA187_11 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case STRING: + { + int LA187_12 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case TYPE: + { + int LA187_13 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case ANSISTRING: + { + int LA187_14 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case FUNCTION: + { + int LA187_15 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case PROCEDURE: + { + int LA187_16 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case REFERENCE: + { + int LA187_17 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case VARIANT: + { + int LA187_18 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case TkIdentifier: + { + int LA187_19 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case 198: + { + int LA187_20 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case TRUE: + { + int LA187_21 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case LPAREN: + { + int LA187_22 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case AT2: + { + int LA187_23 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case 199: + { + int LA187_24 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case NOT: + { + int LA187_25 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case PLUS: + { + int LA187_26 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case MINUS: + { + int LA187_27 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case TkRealNum: + { + int LA187_28 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case TkHexNum: + case TkIntNum: + { + int LA187_29 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case FALSE: + { + int LA187_30 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case IN: + { + int LA187_31 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case NIL: + { + int LA187_32 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case 210: + { + int LA187_33 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case ControlChar: + { + int LA187_34 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case QuotedString: + { + int LA187_35 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case 203: + { + int LA187_36 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case INHERITED: + { + int LA187_37 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case 209: + { + int LA187_38 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case DOT: + { + int LA187_39 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case LT: + { + int LA187_40 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA187_41 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case ADD: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OPERATOR: + case OUT: + case READ: + case READONLY: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case UNSAFE: + case VARARGS: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA187_42 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case EQUAL: + { + int LA187_43 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case GE: + case GT: + case IS: + case LE: + case NOT_EQUAL: + { + int LA187_44 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case DOTDOT: + { + int LA187_45 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + case SEMI: + { + int LA187_46 = input.LA(2); + if ( (synpred255_Delphi()) ) { + alt187=1; + } + } + break; + } + switch (alt187) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:113: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_methodDeclHeading11174); + customAttribute548=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute548.getTree()); + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_methodDeclHeading11178); + typeDecl549=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl549.getTree()); + } + break; + + } + + // AST REWRITE + // elements: customAttribute, CLASS, methodName, OPERATOR, formalParameterSection, customAttribute, typeDecl + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 426:30: -> ( customAttribute )? 'class' ^( 'operator' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:33: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_0, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + adaptor.addChild(root_0, stream_CLASS.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:60: ^( 'operator' ^( TkFunctionName methodName ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_OPERATOR.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:73: ^( TkFunctionName methodName ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); + adaptor.addChild(root_2, stream_methodName.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:102: ^( TkFunctionArgs ( formalParameterSection )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:119: ( formalParameterSection )? + if ( stream_formalParameterSection.hasNext() ) { + adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); + } + stream_formalParameterSection.reset(); + + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:146: ^( TkFunctionReturn ( customAttribute )? ( typeDecl )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:165: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_2, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:426:184: ( typeDecl )? + if ( stream_typeDecl.hasNext() ) { + adaptor.addChild(root_2, stream_typeDecl.nextTree()); + } + stream_typeDecl.reset(); + + adaptor.addChild(root_1, root_2); + } + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 103, methodDeclHeading_StartIndex); } + + } + return retval; + } + // $ANTLR end "methodDeclHeading" + + + public static class methodKey_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "methodKey" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:428:1: methodKey : ( 'procedure' | 'constructor' | 'destructor' ); + public final DelphiParser.methodKey_return methodKey() throws RecognitionException { + DelphiParser.methodKey_return retval = new DelphiParser.methodKey_return(); + retval.start = input.LT(1); + int methodKey_StartIndex = input.index(); + + Object root_0 = null; + + Token set550=null; + + Object set550_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 104) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:428:30: ( 'procedure' | 'constructor' | 'destructor' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set550=input.LT(1); + if ( input.LA(1)==CONSTRUCTOR||input.LA(1)==DESTRUCTOR||input.LA(1)==PROCEDURE ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set550)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 104, methodKey_StartIndex); } + + } + return retval; + } + // $ANTLR end "methodKey" + + + public static class methodName_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "methodName" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:432:1: methodName : ident ( genericDefinition )? ( '.' ident ( genericDefinition )? )* ; + public final DelphiParser.methodName_return methodName() throws RecognitionException { + DelphiParser.methodName_return retval = new DelphiParser.methodName_return(); + retval.start = input.LT(1); + int methodName_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal553=null; + ParserRuleReturnScope ident551 =null; + ParserRuleReturnScope genericDefinition552 =null; + ParserRuleReturnScope ident554 =null; + ParserRuleReturnScope genericDefinition555 =null; + + Object char_literal553_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 105) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:432:30: ( ident ( genericDefinition )? ( '.' ident ( genericDefinition )? )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:432:32: ident ( genericDefinition )? ( '.' ident ( genericDefinition )? )* + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_ident_in_methodName11427); + ident551=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident551.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:432:38: ( genericDefinition )? + int alt190=2; + int LA190_0 = input.LA(1); + if ( (LA190_0==LT) ) { + alt190=1; + } + switch (alt190) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:432:39: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_methodName11430); + genericDefinition552=genericDefinition(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericDefinition552.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:432:59: ( '.' ident ( genericDefinition )? )* + loop192: + while (true) { + int alt192=2; + int LA192_0 = input.LA(1); + if ( (LA192_0==DOT) ) { + alt192=1; + } + + switch (alt192) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:432:60: '.' ident ( genericDefinition )? + { + char_literal553=(Token)match(input,DOT,FOLLOW_DOT_in_methodName11435); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal553_tree = (Object)adaptor.create(char_literal553); + adaptor.addChild(root_0, char_literal553_tree); + } + + pushFollow(FOLLOW_ident_in_methodName11437); + ident554=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident554.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:432:70: ( genericDefinition )? + int alt191=2; + int LA191_0 = input.LA(1); + if ( (LA191_0==LT) ) { + alt191=1; + } + switch (alt191) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:432:71: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_methodName11440); + genericDefinition555=genericDefinition(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericDefinition555.getTree()); + + } + break; + + } + + } + break; + + default : + break loop192; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 105, methodName_StartIndex); } + + } + return retval; + } + // $ANTLR end "methodName" + + + public static class procDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "procDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:1: procDecl : procDeclHeading ';' ( functionDirective )* ( procBody )? -> procDeclHeading ( procBody )? ; + public final DelphiParser.procDecl_return procDecl() throws RecognitionException { + DelphiParser.procDecl_return retval = new DelphiParser.procDecl_return(); + retval.start = input.LT(1); + int procDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal557=null; + ParserRuleReturnScope procDeclHeading556 =null; + ParserRuleReturnScope functionDirective558 =null; + ParserRuleReturnScope procBody559 =null; + + Object char_literal557_tree=null; + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleSubtreeStream stream_procDeclHeading=new RewriteRuleSubtreeStream(adaptor,"rule procDeclHeading"); + RewriteRuleSubtreeStream stream_functionDirective=new RewriteRuleSubtreeStream(adaptor,"rule functionDirective"); + RewriteRuleSubtreeStream stream_procBody=new RewriteRuleSubtreeStream(adaptor,"rule procBody"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 106) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:30: ( procDeclHeading ';' ( functionDirective )* ( procBody )? -> procDeclHeading ( procBody )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:32: procDeclHeading ';' ( functionDirective )* ( procBody )? + { + pushFollow(FOLLOW_procDeclHeading_in_procDecl11501); + procDeclHeading556=procDeclHeading(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_procDeclHeading.add(procDeclHeading556.getTree()); + char_literal557=(Token)match(input,SEMI,FOLLOW_SEMI_in_procDecl11503); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal557); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:52: ( functionDirective )* + loop193: + while (true) { + int alt193=2; + alt193 = dfa193.predict(input); + switch (alt193) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:53: functionDirective + { + pushFollow(FOLLOW_functionDirective_in_procDecl11506); + functionDirective558=functionDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_functionDirective.add(functionDirective558.getTree()); + } + break; + + default : + break loop193; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:73: ( procBody )? + int alt194=2; + switch ( input.LA(1) ) { + case FORWARD: + { + alt194=1; + } + break; + case EXTERNAL: + { + int LA194_2 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case LABEL: + { + int LA194_3 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case CONST: + case RESOURCESTRING: + { + int LA194_4 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case TYPE: + { + int LA194_5 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case THREADVAR: + case VAR: + { + int LA194_6 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case LBRACK: + { + int LA194_7 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case CLASS: + { + int LA194_8 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case PROCEDURE: + { + int LA194_9 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case FUNCTION: + { + int LA194_10 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + { + int LA194_11 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case EXPORTS: + { + int LA194_12 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case BEGIN: + { + int LA194_13 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case ASM: + { + int LA194_14 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + case SEMI: + { + int LA194_15 = input.LA(2); + if ( (synpred263_Delphi()) ) { + alt194=1; + } + } + break; + } + switch (alt194) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:74: procBody + { + pushFollow(FOLLOW_procBody_in_procDecl11511); + procBody559=procBody(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_procBody.add(procBody559.getTree()); + } + break; + + } + + // AST REWRITE + // elements: procDeclHeading, procBody + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 434:85: -> procDeclHeading ( procBody )? + { + adaptor.addChild(root_0, stream_procDeclHeading.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:104: ( procBody )? + if ( stream_procBody.hasNext() ) { + adaptor.addChild(root_0, stream_procBody.nextTree()); + } + stream_procBody.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 106, procDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "procDecl" + + + public static class procDeclHeading_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "procDeclHeading" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:1: procDeclHeading : ( ( customAttribute )? 'procedure' ident ( formalParameterSection )? -> ^( 'procedure' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ) | ( customAttribute )? 'function' ident ( formalParameterSection )? ':' typeDecl -> ^( 'function' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn typeDecl ) ) ); + public final DelphiParser.procDeclHeading_return procDeclHeading() throws RecognitionException { + DelphiParser.procDeclHeading_return retval = new DelphiParser.procDeclHeading_return(); + retval.start = input.LT(1); + int procDeclHeading_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal561=null; + Token string_literal565=null; + Token char_literal568=null; + ParserRuleReturnScope customAttribute560 =null; + ParserRuleReturnScope ident562 =null; + ParserRuleReturnScope formalParameterSection563 =null; + ParserRuleReturnScope customAttribute564 =null; + ParserRuleReturnScope ident566 =null; + ParserRuleReturnScope formalParameterSection567 =null; + ParserRuleReturnScope typeDecl569 =null; + + Object string_literal561_tree=null; + Object string_literal565_tree=null; + Object char_literal568_tree=null; + RewriteRuleTokenStream stream_PROCEDURE=new RewriteRuleTokenStream(adaptor,"token PROCEDURE"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleTokenStream stream_FUNCTION=new RewriteRuleTokenStream(adaptor,"token FUNCTION"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); + RewriteRuleSubtreeStream stream_formalParameterSection=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterSection"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 107) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:30: ( ( customAttribute )? 'procedure' ident ( formalParameterSection )? -> ^( 'procedure' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ) | ( customAttribute )? 'function' ident ( formalParameterSection )? ':' typeDecl -> ^( 'function' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn typeDecl ) ) ) + int alt199=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA199_1 = input.LA(2); + if ( (synpred266_Delphi()) ) { + alt199=1; + } + else if ( (true) ) { + alt199=2; + } + + } + break; + case PROCEDURE: + { + alt199=1; + } + break; + case FUNCTION: + { + alt199=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 199, 0, input); + throw nvae; + } + switch (alt199) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:32: ( customAttribute )? 'procedure' ident ( formalParameterSection )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:32: ( customAttribute )? + int alt195=2; + int LA195_0 = input.LA(1); + if ( (LA195_0==LBRACK) ) { + alt195=1; + } + else if ( (LA195_0==PROCEDURE) ) { + int LA195_2 = input.LA(2); + if ( (synpred264_Delphi()) ) { + alt195=1; + } + } + switch (alt195) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_procDeclHeading11577); + customAttribute560=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute560.getTree()); + } + break; + + } + + string_literal561=(Token)match(input,PROCEDURE,FOLLOW_PROCEDURE_in_procDeclHeading11581); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_PROCEDURE.add(string_literal561); + + pushFollow(FOLLOW_ident_in_procDeclHeading11583); + ident562=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident562.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:69: ( formalParameterSection )? + int alt196=2; + int LA196_0 = input.LA(1); + if ( (LA196_0==LPAREN) ) { + alt196=1; + } + switch (alt196) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:70: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_procDeclHeading11586); + formalParameterSection563=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection563.getTree()); + } + break; + + } + + // AST REWRITE + // elements: PROCEDURE, ident, formalParameterSection + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 437:30: -> ^( 'procedure' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:437:33: ^( 'procedure' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_PROCEDURE.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:437:47: ^( TkFunctionName ident ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); + adaptor.addChild(root_2, stream_ident.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:437:71: ^( TkFunctionArgs ( formalParameterSection )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:437:88: ( formalParameterSection )? + if ( stream_formalParameterSection.hasNext() ) { + adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); + } + stream_formalParameterSection.reset(); + + adaptor.addChild(root_1, root_2); + } + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:438:32: ( customAttribute )? 'function' ident ( formalParameterSection )? ':' typeDecl + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:438:32: ( customAttribute )? + int alt197=2; + int LA197_0 = input.LA(1); + if ( (LA197_0==LBRACK) ) { + alt197=1; + } + else if ( (LA197_0==FUNCTION) ) { + int LA197_2 = input.LA(2); + if ( (synpred267_Delphi()) ) { + alt197=1; + } + } + switch (alt197) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:438:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_procDeclHeading11686); + customAttribute564=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute564.getTree()); + } + break; + + } + + string_literal565=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_procDeclHeading11690); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_FUNCTION.add(string_literal565); + + pushFollow(FOLLOW_ident_in_procDeclHeading11692); + ident566=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident566.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:438:68: ( formalParameterSection )? + int alt198=2; + int LA198_0 = input.LA(1); + if ( (LA198_0==LPAREN) ) { + alt198=1; + } + switch (alt198) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:438:69: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_procDeclHeading11695); + formalParameterSection567=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterSection.add(formalParameterSection567.getTree()); + } + break; + + } + + char_literal568=(Token)match(input,COLON,FOLLOW_COLON_in_procDeclHeading11699); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal568); + + pushFollow(FOLLOW_typeDecl_in_procDeclHeading11701); + typeDecl569=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl569.getTree()); + // AST REWRITE + // elements: typeDecl, FUNCTION, formalParameterSection, ident + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 439:30: -> ^( 'function' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn typeDecl ) ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:439:33: ^( 'function' ^( TkFunctionName ident ) ^( TkFunctionArgs ( formalParameterSection )? ) ^( TkFunctionReturn typeDecl ) ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_FUNCTION.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:439:46: ^( TkFunctionName ident ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionName, "TkFunctionName"), root_2); + adaptor.addChild(root_2, stream_ident.nextTree()); + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:439:70: ^( TkFunctionArgs ( formalParameterSection )? ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionArgs, "TkFunctionArgs"), root_2); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:439:87: ( formalParameterSection )? + if ( stream_formalParameterSection.hasNext() ) { + adaptor.addChild(root_2, stream_formalParameterSection.nextTree()); + } + stream_formalParameterSection.reset(); + + adaptor.addChild(root_1, root_2); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:439:114: ^( TkFunctionReturn typeDecl ) + { + Object root_2 = (Object)adaptor.nil(); + root_2 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkFunctionReturn, "TkFunctionReturn"), root_2); + adaptor.addChild(root_2, stream_typeDecl.nextTree()); + adaptor.addChild(root_1, root_2); + } + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 107, procDeclHeading_StartIndex); } + + } + return retval; + } + // $ANTLR end "procDeclHeading" + + + public static class formalParameterSection_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "formalParameterSection" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:441:1: formalParameterSection : '(' ( formalParameterList )? ')' -> ( formalParameterList )? ; + public final DelphiParser.formalParameterSection_return formalParameterSection() throws RecognitionException { + DelphiParser.formalParameterSection_return retval = new DelphiParser.formalParameterSection_return(); + retval.start = input.LT(1); + int formalParameterSection_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal570=null; + Token char_literal572=null; + ParserRuleReturnScope formalParameterList571 =null; + + Object char_literal570_tree=null; + Object char_literal572_tree=null; + RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); + RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); + RewriteRuleSubtreeStream stream_formalParameterList=new RewriteRuleSubtreeStream(adaptor,"rule formalParameterList"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 108) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:441:30: ( '(' ( formalParameterList )? ')' -> ( formalParameterList )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:441:32: '(' ( formalParameterList )? ')' + { + char_literal570=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_formalParameterSection11801); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LPAREN.add(char_literal570); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:441:36: ( formalParameterList )? + int alt200=2; + int LA200_0 = input.LA(1); + if ( (LA200_0==ADD||LA200_0==ANSISTRING||LA200_0==AT||LA200_0==BREAK||LA200_0==CONST||(LA200_0 >= CONTAINS && LA200_0 <= CONTINUE)||LA200_0==DEFAULT||LA200_0==DISPID||(LA200_0 >= DQ && LA200_0 <= DW)||LA200_0==EXIT||LA200_0==EXPORT||LA200_0==FALSE||LA200_0==FINAL||LA200_0==HELPER||(LA200_0 >= IMPLEMENTS && LA200_0 <= INDEX)||LA200_0==LBRACK||LA200_0==LOCAL||LA200_0==MESSAGE||LA200_0==NAME||LA200_0==OBJECT||LA200_0==OPERATOR||LA200_0==OUT||LA200_0==POINTER||(LA200_0 >= READ && LA200_0 <= READONLY)||(LA200_0 >= REFERENCE && LA200_0 <= REGISTER)||LA200_0==REMOVE||LA200_0==STATIC||(LA200_0 >= STORED && LA200_0 <= STRING)||LA200_0==TRUE||LA200_0==TkIdentifier||LA200_0==UNSAFE||(LA200_0 >= VAR && LA200_0 <= VIRTUAL)||(LA200_0 >= WRITE && LA200_0 <= WRITEONLY)||LA200_0==198) ) { + alt200=1; + } + switch (alt200) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:441:37: formalParameterList + { + pushFollow(FOLLOW_formalParameterList_in_formalParameterSection11804); + formalParameterList571=formalParameterList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameterList.add(formalParameterList571.getTree()); + } + break; + + } + + char_literal572=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_formalParameterSection11808); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RPAREN.add(char_literal572); + + // AST REWRITE + // elements: formalParameterList + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 441:63: -> ( formalParameterList )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:441:66: ( formalParameterList )? + if ( stream_formalParameterList.hasNext() ) { + adaptor.addChild(root_0, stream_formalParameterList.nextTree()); + } + stream_formalParameterList.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 108, formalParameterSection_StartIndex); } + + } + return retval; + } + // $ANTLR end "formalParameterSection" + + + public static class formalParameterList_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "formalParameterList" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:443:1: formalParameterList : formalParameter ( ';' formalParameter )* -> formalParameter ( formalParameter )* ; + public final DelphiParser.formalParameterList_return formalParameterList() throws RecognitionException { + DelphiParser.formalParameterList_return retval = new DelphiParser.formalParameterList_return(); + retval.start = input.LT(1); + int formalParameterList_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal574=null; + ParserRuleReturnScope formalParameter573 =null; + ParserRuleReturnScope formalParameter575 =null; + + Object char_literal574_tree=null; + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleSubtreeStream stream_formalParameter=new RewriteRuleSubtreeStream(adaptor,"rule formalParameter"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 109) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:443:30: ( formalParameter ( ';' formalParameter )* -> formalParameter ( formalParameter )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:443:32: formalParameter ( ';' formalParameter )* + { + pushFollow(FOLLOW_formalParameter_in_formalParameterList11861); + formalParameter573=formalParameter(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameter.add(formalParameter573.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:443:48: ( ';' formalParameter )* + loop201: + while (true) { + int alt201=2; + int LA201_0 = input.LA(1); + if ( (LA201_0==SEMI) ) { + alt201=1; + } + + switch (alt201) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:443:49: ';' formalParameter + { + char_literal574=(Token)match(input,SEMI,FOLLOW_SEMI_in_formalParameterList11864); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal574); + + pushFollow(FOLLOW_formalParameter_in_formalParameterList11866); + formalParameter575=formalParameter(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_formalParameter.add(formalParameter575.getTree()); + } + break; + + default : + break loop201; + } + } + + // AST REWRITE + // elements: formalParameter, formalParameter + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 443:71: -> formalParameter ( formalParameter )* + { + adaptor.addChild(root_0, stream_formalParameter.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:443:90: ( formalParameter )* + while ( stream_formalParameter.hasNext() ) { + adaptor.addChild(root_0, stream_formalParameter.nextTree()); + } + stream_formalParameter.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 109, formalParameterList_StartIndex); } + + } + return retval; + } + // $ANTLR end "formalParameterList" + + + public static class formalParameter_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "formalParameter" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:1: formalParameter : ( customAttribute )? ( parmType )? identListFlat ( ':' typeDecl )? ( '=' expression )? -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType ( typeDecl )? ) ( ^( TkVariableParam parmType ) )? ; + public final DelphiParser.formalParameter_return formalParameter() throws RecognitionException { + DelphiParser.formalParameter_return retval = new DelphiParser.formalParameter_return(); + retval.start = input.LT(1); + int formalParameter_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal579=null; + Token char_literal581=null; + ParserRuleReturnScope customAttribute576 =null; + ParserRuleReturnScope parmType577 =null; + ParserRuleReturnScope identListFlat578 =null; + ParserRuleReturnScope typeDecl580 =null; + ParserRuleReturnScope expression582 =null; + + Object char_literal579_tree=null; + Object char_literal581_tree=null; + RewriteRuleTokenStream stream_EQUAL=new RewriteRuleTokenStream(adaptor,"token EQUAL"); + RewriteRuleTokenStream stream_COLON=new RewriteRuleTokenStream(adaptor,"token COLON"); + RewriteRuleSubtreeStream stream_customAttribute=new RewriteRuleSubtreeStream(adaptor,"rule customAttribute"); + RewriteRuleSubtreeStream stream_identListFlat=new RewriteRuleSubtreeStream(adaptor,"rule identListFlat"); + RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression"); + RewriteRuleSubtreeStream stream_parmType=new RewriteRuleSubtreeStream(adaptor,"rule parmType"); + RewriteRuleSubtreeStream stream_typeDecl=new RewriteRuleSubtreeStream(adaptor,"rule typeDecl"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 110) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:30: ( ( customAttribute )? ( parmType )? identListFlat ( ':' typeDecl )? ( '=' expression )? -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType ( typeDecl )? ) ( ^( TkVariableParam parmType ) )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:32: ( customAttribute )? ( parmType )? identListFlat ( ':' typeDecl )? ( '=' expression )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:32: ( customAttribute )? + int alt202=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt202=1; + } + break; + case OUT: + { + int LA202_2 = input.LA(2); + if ( (synpred271_Delphi()) ) { + alt202=1; + } + } + break; + case TkIdentifier: + { + int LA202_3 = input.LA(2); + if ( (synpred271_Delphi()) ) { + alt202=1; + } + } + break; + case 198: + { + int LA202_4 = input.LA(2); + if ( (synpred271_Delphi()) ) { + alt202=1; + } + } + break; + case CONST: + case VAR: + { + int LA202_5 = input.LA(2); + if ( (synpred271_Delphi()) ) { + alt202=1; + } + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA202_6 = input.LA(2); + if ( (synpred271_Delphi()) ) { + alt202=1; + } + } + break; + } + switch (alt202) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_formalParameter11928); + customAttribute576=customAttribute(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttribute.add(customAttribute576.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:51: ( parmType )? + int alt203=2; + int LA203_0 = input.LA(1); + if ( (LA203_0==OUT) ) { + int LA203_1 = input.LA(2); + if ( (LA203_1==ADD||LA203_1==ANSISTRING||LA203_1==AT||LA203_1==BREAK||(LA203_1 >= CONTAINS && LA203_1 <= CONTINUE)||LA203_1==DEFAULT||LA203_1==DISPID||(LA203_1 >= DQ && LA203_1 <= DW)||LA203_1==EXIT||LA203_1==EXPORT||LA203_1==FALSE||LA203_1==FINAL||LA203_1==HELPER||(LA203_1 >= IMPLEMENTS && LA203_1 <= INDEX)||LA203_1==LOCAL||LA203_1==MESSAGE||LA203_1==NAME||LA203_1==OBJECT||LA203_1==OPERATOR||LA203_1==OUT||LA203_1==POINTER||(LA203_1 >= READ && LA203_1 <= READONLY)||(LA203_1 >= REFERENCE && LA203_1 <= REGISTER)||LA203_1==REMOVE||LA203_1==STATIC||(LA203_1 >= STORED && LA203_1 <= STRING)||LA203_1==TRUE||LA203_1==TkIdentifier||LA203_1==UNSAFE||(LA203_1 >= VARARGS && LA203_1 <= VIRTUAL)||(LA203_1 >= WRITE && LA203_1 <= WRITEONLY)||LA203_1==198) ) { + alt203=1; + } + } + else if ( (LA203_0==CONST||LA203_0==VAR) ) { + alt203=1; + } + switch (alt203) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:52: parmType + { + pushFollow(FOLLOW_parmType_in_formalParameter11933); + parmType577=parmType(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_parmType.add(parmType577.getTree()); + } + break; + + } + + pushFollow(FOLLOW_identListFlat_in_formalParameter11937); + identListFlat578=identListFlat(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_identListFlat.add(identListFlat578.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:77: ( ':' typeDecl )? + int alt204=2; + int LA204_0 = input.LA(1); + if ( (LA204_0==COLON) ) { + alt204=1; + } + switch (alt204) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:78: ':' typeDecl + { + char_literal579=(Token)match(input,COLON,FOLLOW_COLON_in_formalParameter11940); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COLON.add(char_literal579); + + pushFollow(FOLLOW_typeDecl_in_formalParameter11942); + typeDecl580=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_typeDecl.add(typeDecl580.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:93: ( '=' expression )? + int alt205=2; + int LA205_0 = input.LA(1); + if ( (LA205_0==EQUAL) ) { + alt205=1; + } + switch (alt205) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:94: '=' expression + { + char_literal581=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_formalParameter11947); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_EQUAL.add(char_literal581); + + pushFollow(FOLLOW_expression_in_formalParameter11949); + expression582=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_expression.add(expression582.getTree()); + } + break; + + } + + // AST REWRITE + // elements: typeDecl, parmType, customAttribute, identListFlat + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 445:111: -> ( customAttribute )? ^( TkVariableIdents identListFlat ) ^( TkVariableType ( typeDecl )? ) ( ^( TkVariableParam parmType ) )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:114: ( customAttribute )? + if ( stream_customAttribute.hasNext() ) { + adaptor.addChild(root_0, stream_customAttribute.nextTree()); + } + stream_customAttribute.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:133: ^( TkVariableIdents identListFlat ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableIdents, "TkVariableIdents"), root_1); + adaptor.addChild(root_1, stream_identListFlat.nextTree()); + adaptor.addChild(root_0, root_1); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:167: ^( TkVariableType ( typeDecl )? ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableType, "TkVariableType"), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:184: ( typeDecl )? + if ( stream_typeDecl.hasNext() ) { + adaptor.addChild(root_1, stream_typeDecl.nextTree()); + } + stream_typeDecl.reset(); + + adaptor.addChild(root_0, root_1); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:195: ( ^( TkVariableParam parmType ) )? + if ( stream_parmType.hasNext() ) { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:195: ^( TkVariableParam parmType ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkVariableParam, "TkVariableParam"), root_1); + adaptor.addChild(root_1, stream_parmType.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + stream_parmType.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 110, formalParameter_StartIndex); } + + } + return retval; + } + // $ANTLR end "formalParameter" + + + public static class parmType_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "parmType" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:448:1: parmType : ( 'const' | 'var' | 'out' ); + public final DelphiParser.parmType_return parmType() throws RecognitionException { + DelphiParser.parmType_return retval = new DelphiParser.parmType_return(); + retval.start = input.LT(1); + int parmType_StartIndex = input.index(); + + Object root_0 = null; + + Token set583=null; + + Object set583_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 111) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:448:30: ( 'const' | 'var' | 'out' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set583=input.LT(1); + if ( input.LA(1)==CONST||input.LA(1)==OUT||input.LA(1)==VAR ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set583)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 111, parmType_StartIndex); } + + } + return retval; + } + // $ANTLR end "parmType" + + + public static class methodBody_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "methodBody" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:452:1: methodBody : block ';' -> block ; + public final DelphiParser.methodBody_return methodBody() throws RecognitionException { + DelphiParser.methodBody_return retval = new DelphiParser.methodBody_return(); + retval.start = input.LT(1); + int methodBody_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal585=null; + ParserRuleReturnScope block584 =null; + + Object char_literal585_tree=null; + RewriteRuleTokenStream stream_SEMI=new RewriteRuleTokenStream(adaptor,"token SEMI"); + RewriteRuleSubtreeStream stream_block=new RewriteRuleSubtreeStream(adaptor,"rule block"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 112) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:452:30: ( block ';' -> block ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:452:32: block ';' + { + pushFollow(FOLLOW_block_in_methodBody12172); + block584=block(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_block.add(block584.getTree()); + char_literal585=(Token)match(input,SEMI,FOLLOW_SEMI_in_methodBody12174); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_SEMI.add(char_literal585); + + // AST REWRITE + // elements: block + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 452:42: -> block + { + adaptor.addChild(root_0, stream_block.nextTree()); + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 112, methodBody_StartIndex); } + + } + return retval; + } + // $ANTLR end "methodBody" + + + public static class procBody_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "procBody" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:454:1: procBody : ( 'forward' ';' ( functionDirective )* | 'external' ( 'name' expression | 'index' expression )* ( functionDirective )* | block ';' ); + public final DelphiParser.procBody_return procBody() throws RecognitionException { + DelphiParser.procBody_return retval = new DelphiParser.procBody_return(); + retval.start = input.LT(1); + int procBody_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal586=null; + Token char_literal587=null; + Token string_literal589=null; + Token string_literal590=null; + Token string_literal592=null; + Token char_literal596=null; + ParserRuleReturnScope functionDirective588 =null; + ParserRuleReturnScope expression591 =null; + ParserRuleReturnScope expression593 =null; + ParserRuleReturnScope functionDirective594 =null; + ParserRuleReturnScope block595 =null; + + Object string_literal586_tree=null; + Object char_literal587_tree=null; + Object string_literal589_tree=null; + Object string_literal590_tree=null; + Object string_literal592_tree=null; + Object char_literal596_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 113) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:454:30: ( 'forward' ';' ( functionDirective )* | 'external' ( 'name' expression | 'index' expression )* ( functionDirective )* | block ';' ) + int alt209=3; + switch ( input.LA(1) ) { + case FORWARD: + { + alt209=1; + } + break; + case EXTERNAL: + { + alt209=2; + } + break; + case ASM: + case BEGIN: + case CLASS: + case CONST: + case CONSTRUCTOR: + case DESTRUCTOR: + case EXPORTS: + case FUNCTION: + case LABEL: + case LBRACK: + case PROCEDURE: + case RESOURCESTRING: + case SEMI: + case THREADVAR: + case TYPE: + case VAR: + { + alt209=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 209, 0, input); + throw nvae; + } + switch (alt209) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:454:32: 'forward' ';' ( functionDirective )* + { + root_0 = (Object)adaptor.nil(); + + + string_literal586=(Token)match(input,FORWARD,FOLLOW_FORWARD_in_procBody12235); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal586_tree = (Object)adaptor.create(string_literal586); + adaptor.addChild(root_0, string_literal586_tree); + } + + char_literal587=(Token)match(input,SEMI,FOLLOW_SEMI_in_procBody12237); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal587_tree = (Object)adaptor.create(char_literal587); + adaptor.addChild(root_0, char_literal587_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:454:46: ( functionDirective )* + loop206: + while (true) { + int alt206=2; + alt206 = dfa206.predict(input); + switch (alt206) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:454:47: functionDirective + { + pushFollow(FOLLOW_functionDirective_in_procBody12240); + functionDirective588=functionDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, functionDirective588.getTree()); + + } + break; + + default : + break loop206; + } + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:32: 'external' ( 'name' expression | 'index' expression )* ( functionDirective )* + { + root_0 = (Object)adaptor.nil(); + + + string_literal589=(Token)match(input,EXTERNAL,FOLLOW_EXTERNAL_in_procBody12278); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal589_tree = (Object)adaptor.create(string_literal589); + adaptor.addChild(root_0, string_literal589_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:43: ( 'name' expression | 'index' expression )* + loop207: + while (true) { + int alt207=3; + int LA207_0 = input.LA(1); + if ( (LA207_0==NAME) ) { + int LA207_2 = input.LA(2); + if ( (synpred279_Delphi()) ) { + alt207=1; + } + + } + else if ( (LA207_0==INDEX) ) { + int LA207_3 = input.LA(2); + if ( (synpred280_Delphi()) ) { + alt207=2; + } + + } + + switch (alt207) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:44: 'name' expression + { + string_literal590=(Token)match(input,NAME,FOLLOW_NAME_in_procBody12281); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal590_tree = (Object)adaptor.create(string_literal590); + adaptor.addChild(root_0, string_literal590_tree); + } + + pushFollow(FOLLOW_expression_in_procBody12283); + expression591=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression591.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:64: 'index' expression + { + string_literal592=(Token)match(input,INDEX,FOLLOW_INDEX_in_procBody12287); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal592_tree = (Object)adaptor.create(string_literal592); + adaptor.addChild(root_0, string_literal592_tree); + } + + pushFollow(FOLLOW_expression_in_procBody12289); + expression593=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression593.getTree()); + + } + break; + + default : + break loop207; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:85: ( functionDirective )* + loop208: + while (true) { + int alt208=2; + switch ( input.LA(1) ) { + case REGISTER: + { + int LA208_2 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case OVERLOAD: + { + int LA208_3 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case INLINE: + { + int LA208_4 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case ASSEMBLER: + { + int LA208_5 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case CDECL: + { + int LA208_6 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case PASCAL: + { + int LA208_7 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case EXPORT: + { + int LA208_8 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case SAFECALL: + { + int LA208_9 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case STDCALL: + { + int LA208_10 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case LOCAL: + { + int LA208_11 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case FAR: + { + int LA208_12 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case VARARGS: + { + int LA208_13 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case NEAR: + { + int LA208_14 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case DEPRECATED: + { + int LA208_15 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case EXPERIMENTAL: + { + int LA208_16 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case PLATFORM: + { + int LA208_17 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case LIBRARY: + { + int LA208_18 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case UNSAFE: + { + int LA208_19 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + case EXTERNAL: + { + int LA208_20 = input.LA(2); + if ( (synpred281_Delphi()) ) { + alt208=1; + } + + } + break; + } + switch (alt208) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:86: functionDirective + { + pushFollow(FOLLOW_functionDirective_in_procBody12294); + functionDirective594=functionDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, functionDirective594.getTree()); + + } + break; + + default : + break loop208; + } + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:456:32: block ';' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_block_in_procBody12330); + block595=block(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, block595.getTree()); + + char_literal596=(Token)match(input,SEMI,FOLLOW_SEMI_in_procBody12332); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal596_tree = (Object)adaptor.create(char_literal596); + adaptor.addChild(root_0, char_literal596_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 113, procBody_StartIndex); } + + } + return retval; + } + // $ANTLR end "procBody" + + + public static class customAttribute_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "customAttribute" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:461:1: customAttribute : customAttributeList ; + public final DelphiParser.customAttribute_return customAttribute() throws RecognitionException { + DelphiParser.customAttribute_return retval = new DelphiParser.customAttribute_return(); + retval.start = input.LT(1); + int customAttribute_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope customAttributeList597 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 114) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:461:30: ( customAttributeList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:461:32: customAttributeList + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_customAttributeList_in_customAttribute12385); + customAttributeList597=customAttributeList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, customAttributeList597.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 114, customAttribute_StartIndex); } + + } + return retval; + } + // $ANTLR end "customAttribute" + + + public static class customAttributeList_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "customAttributeList" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:463:1: customAttributeList : ( customAttributeDecl )* ; + public final DelphiParser.customAttributeList_return customAttributeList() throws RecognitionException { + DelphiParser.customAttributeList_return retval = new DelphiParser.customAttributeList_return(); + retval.start = input.LT(1); + int customAttributeList_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope customAttributeDecl598 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 115) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:463:30: ( ( customAttributeDecl )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:463:32: ( customAttributeDecl )* + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:463:32: ( customAttributeDecl )* + loop210: + while (true) { + int alt210=2; + int LA210_0 = input.LA(1); + if ( (LA210_0==LBRACK) ) { + int LA210_2 = input.LA(2); + if ( (synpred283_Delphi()) ) { + alt210=1; + } + + } + + switch (alt210) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:463:33: customAttributeDecl + { + pushFollow(FOLLOW_customAttributeDecl_in_customAttributeList12432); + customAttributeDecl598=customAttributeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, customAttributeDecl598.getTree()); + + } + break; + + default : + break loop210; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 115, customAttributeList_StartIndex); } + + } + return retval; + } + // $ANTLR end "customAttributeList" + + + public static class customAttributeDecl_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "customAttributeDecl" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:1: customAttributeDecl : '[' customAttributeIdent ( '(' ( expressionList )? ')' )? ']' -> ^( TkCustomAttribute '[' customAttributeIdent ( '(' ( expressionList )? ')' )? ']' ) ; + public final DelphiParser.customAttributeDecl_return customAttributeDecl() throws RecognitionException { + DelphiParser.customAttributeDecl_return retval = new DelphiParser.customAttributeDecl_return(); + retval.start = input.LT(1); + int customAttributeDecl_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal599=null; + Token char_literal601=null; + Token char_literal603=null; + Token char_literal604=null; + ParserRuleReturnScope customAttributeIdent600 =null; + ParserRuleReturnScope expressionList602 =null; + + Object char_literal599_tree=null; + Object char_literal601_tree=null; + Object char_literal603_tree=null; + Object char_literal604_tree=null; + RewriteRuleTokenStream stream_RBRACK=new RewriteRuleTokenStream(adaptor,"token RBRACK"); + RewriteRuleTokenStream stream_LBRACK=new RewriteRuleTokenStream(adaptor,"token LBRACK"); + RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); + RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); + RewriteRuleSubtreeStream stream_expressionList=new RewriteRuleSubtreeStream(adaptor,"rule expressionList"); + RewriteRuleSubtreeStream stream_customAttributeIdent=new RewriteRuleSubtreeStream(adaptor,"rule customAttributeIdent"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 116) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:30: ( '[' customAttributeIdent ( '(' ( expressionList )? ')' )? ']' -> ^( TkCustomAttribute '[' customAttributeIdent ( '(' ( expressionList )? ')' )? ']' ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:32: '[' customAttributeIdent ( '(' ( expressionList )? ')' )? ']' + { + char_literal599=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_customAttributeDecl12480); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LBRACK.add(char_literal599); + + pushFollow(FOLLOW_customAttributeIdent_in_customAttributeDecl12482); + customAttributeIdent600=customAttributeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_customAttributeIdent.add(customAttributeIdent600.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:57: ( '(' ( expressionList )? ')' )? + int alt212=2; + int LA212_0 = input.LA(1); + if ( (LA212_0==LPAREN) ) { + alt212=1; + } + switch (alt212) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:58: '(' ( expressionList )? ')' + { + char_literal601=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_customAttributeDecl12485); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LPAREN.add(char_literal601); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:62: ( expressionList )? + int alt211=2; + int LA211_0 = input.LA(1); + if ( ((LA211_0 >= ADD && LA211_0 <= ANSISTRING)||LA211_0==AS||(LA211_0 >= AT && LA211_0 <= AT2)||LA211_0==BREAK||LA211_0==COMMA||(LA211_0 >= CONTAINS && LA211_0 <= DEFAULT)||LA211_0==DISPID||LA211_0==DIV||LA211_0==DOT||(LA211_0 >= DQ && LA211_0 <= DW)||LA211_0==EQUAL||LA211_0==EXIT||LA211_0==EXPORT||LA211_0==FALSE||LA211_0==FINAL||(LA211_0 >= FUNCTION && LA211_0 <= GE)||(LA211_0 >= GT && LA211_0 <= HELPER)||(LA211_0 >= IMPLEMENTS && LA211_0 <= INHERITED)||LA211_0==IS||LA211_0==LBRACK||LA211_0==LE||(LA211_0 >= LOCAL && LA211_0 <= NAME)||LA211_0==NIL||(LA211_0 >= NOT && LA211_0 <= OBJECT)||(LA211_0 >= OPERATOR && LA211_0 <= OUT)||(LA211_0 >= PLUS && LA211_0 <= POINTER2)||LA211_0==PROCEDURE||LA211_0==QuotedString||(LA211_0 >= READ && LA211_0 <= READONLY)||(LA211_0 >= REFERENCE && LA211_0 <= REGISTER)||LA211_0==REMOVE||(LA211_0 >= SHL && LA211_0 <= STATIC)||(LA211_0 >= STORED && LA211_0 <= STRING)||LA211_0==TRUE||(LA211_0 >= TkHexNum && LA211_0 <= TkIntNum)||LA211_0==TkRealNum||LA211_0==UNSAFE||(LA211_0 >= VARARGS && LA211_0 <= VIRTUAL)||(LA211_0 >= WRITE && LA211_0 <= WRITEONLY)||(LA211_0 >= XOR && LA211_0 <= 210)) ) { + alt211=1; + } + else if ( (LA211_0==RPAREN) ) { + int LA211_2 = input.LA(2); + if ( (synpred284_Delphi()) ) { + alt211=1; + } + } + switch (alt211) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:63: expressionList + { + pushFollow(FOLLOW_expressionList_in_customAttributeDecl12488); + expressionList602=expressionList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_expressionList.add(expressionList602.getTree()); + } + break; + + } + + char_literal603=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_customAttributeDecl12492); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RPAREN.add(char_literal603); + + } + break; + + } + + char_literal604=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_customAttributeDecl12496); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RBRACK.add(char_literal604); + + // AST REWRITE + // elements: RPAREN, RBRACK, expressionList, LBRACK, customAttributeIdent, LPAREN + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 465:91: -> ^( TkCustomAttribute '[' customAttributeIdent ( '(' ( expressionList )? ')' )? ']' ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:94: ^( TkCustomAttribute '[' customAttributeIdent ( '(' ( expressionList )? ')' )? ']' ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkCustomAttribute, "TkCustomAttribute"), root_1); + adaptor.addChild(root_1, stream_LBRACK.nextNode()); + adaptor.addChild(root_1, stream_customAttributeIdent.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:139: ( '(' ( expressionList )? ')' )? + if ( stream_RPAREN.hasNext()||stream_expressionList.hasNext()||stream_LPAREN.hasNext() ) { + adaptor.addChild(root_1, stream_LPAREN.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:144: ( expressionList )? + if ( stream_expressionList.hasNext() ) { + adaptor.addChild(root_1, stream_expressionList.nextTree()); + } + stream_expressionList.reset(); + + adaptor.addChild(root_1, stream_RPAREN.nextNode()); + } + stream_RPAREN.reset(); + stream_expressionList.reset(); + stream_LPAREN.reset(); + + adaptor.addChild(root_1, stream_RBRACK.nextNode()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 116, customAttributeDecl_StartIndex); } + + } + return retval; + } + // $ANTLR end "customAttributeDecl" + + + public static class customAttributeIdent_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "customAttributeIdent" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:1: customAttributeIdent : qualifiedIdent ( ':' qualifiedIdent )? ; + public final DelphiParser.customAttributeIdent_return customAttributeIdent() throws RecognitionException { + DelphiParser.customAttributeIdent_return retval = new DelphiParser.customAttributeIdent_return(); + retval.start = input.LT(1); + int customAttributeIdent_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal606=null; + ParserRuleReturnScope qualifiedIdent605 =null; + ParserRuleReturnScope qualifiedIdent607 =null; + + Object char_literal606_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 117) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:30: ( qualifiedIdent ( ':' qualifiedIdent )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:32: qualifiedIdent ( ':' qualifiedIdent )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_qualifiedIdent_in_customAttributeIdent12566); + qualifiedIdent605=qualifiedIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, qualifiedIdent605.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:47: ( ':' qualifiedIdent )? + int alt213=2; + int LA213_0 = input.LA(1); + if ( (LA213_0==COLON) ) { + alt213=1; + } + switch (alt213) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:467:48: ':' qualifiedIdent + { + char_literal606=(Token)match(input,COLON,FOLLOW_COLON_in_customAttributeIdent12569); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal606_tree = (Object)adaptor.create(char_literal606); + adaptor.addChild(root_0, char_literal606_tree); + } + + pushFollow(FOLLOW_qualifiedIdent_in_customAttributeIdent12571); + qualifiedIdent607=qualifiedIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, qualifiedIdent607.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 117, customAttributeIdent_StartIndex); } + + } + return retval; + } + // $ANTLR end "customAttributeIdent" + + + public static class expression_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "expression" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:472:1: expression : ( anonymousExpression -> ^( TkAnonymousExpression anonymousExpression ) | simpleExpression ( relOp simpleExpression )? ( '=' expression )? ); + public final DelphiParser.expression_return expression() throws RecognitionException { + DelphiParser.expression_return retval = new DelphiParser.expression_return(); + retval.start = input.LT(1); + int expression_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal612=null; + ParserRuleReturnScope anonymousExpression608 =null; + ParserRuleReturnScope simpleExpression609 =null; + ParserRuleReturnScope relOp610 =null; + ParserRuleReturnScope simpleExpression611 =null; + ParserRuleReturnScope expression613 =null; + + Object char_literal612_tree=null; + RewriteRuleSubtreeStream stream_anonymousExpression=new RewriteRuleSubtreeStream(adaptor,"rule anonymousExpression"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 118) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:472:30: ( anonymousExpression -> ^( TkAnonymousExpression anonymousExpression ) | simpleExpression ( relOp simpleExpression )? ( '=' expression )? ) + int alt216=2; + switch ( input.LA(1) ) { + case PROCEDURE: + { + int LA216_1 = input.LA(2); + if ( (synpred287_Delphi()) ) { + alt216=1; + } + else if ( (true) ) { + alt216=2; + } + + } + break; + case FUNCTION: + { + int LA216_2 = input.LA(2); + if ( (synpred287_Delphi()) ) { + alt216=1; + } + else if ( (true) ) { + alt216=2; + } + + } + break; + case EOF: + case ABSOLUTE: + case ADD: + case AND: + case ANSISTRING: + case AS: + case ASM: + case ASSEMBLER: + case ASSIGN: + case AT: + case AT2: + case AUTOMATED: + case BEGIN: + case BREAK: + case CASE: + case CDECL: + case CLASS: + case COLON: + case COMMA: + case CONST: + case CONSTRUCTOR: + case CONTAINS: + case CONTINUE: + case ControlChar: + case DEFAULT: + case DELAYED: + case DEPRECATED: + case DESTRUCTOR: + case DISPID: + case DIV: + case DO: + case DOT: + case DOTDOT: + case DOWNTO: + case DQ: + case DW: + case ELSE: + case END: + case EQUAL: + case EXCEPT: + case EXIT: + case EXPERIMENTAL: + case EXPORT: + case EXPORTS: + case EXTERNAL: + case FALSE: + case FAR: + case FINAL: + case FINALIZATION: + case FINALLY: + case GE: + case GT: + case HELPER: + case IMPLEMENTATION: + case IMPLEMENTS: + case IN: + case INDEX: + case INHERITED: + case INITIALIZATION: + case INLINE: + case IS: + case LABEL: + case LBRACK: + case LE: + case LIBRARY: + case LOCAL: + case LPAREN: + case LT: + case MESSAGE: + case MINUS: + case MOD: + case NAME: + case NEAR: + case NIL: + case NODEFAULT: + case NOT: + case NOT_EQUAL: + case OBJECT: + case OF: + case ON: + case OPERATOR: + case OR: + case OUT: + case OVERLOAD: + case PASCAL: + case PLATFORM: + case PLUS: + case POINTER: + case POINTER2: + case PRIVATE: + case PROPERTY: + case PROTECTED: + case PUBLIC: + case PUBLISHED: + case QuotedString: + case RBRACK: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case RESIDENT: + case RESOURCESTRING: + case RPAREN: + case SAFECALL: + case SEMI: + case SHL: + case SHR: + case SLASH: + case STAR: + case STATIC: + case STDCALL: + case STORED: + case STRICT: + case STRING: + case THEN: + case THREADVAR: + case TO: + case TRUE: + case TYPE: + case TkHexNum: + case TkIdentifier: + case TkIntNum: + case TkRealNum: + case UNSAFE: + case UNTIL: + case VAR: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + case XOR: + case 198: + case 199: + case 200: + case 201: + case 202: + case 203: + case 204: + case 205: + case 206: + case 207: + case 208: + case 209: + case 210: + { + alt216=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 216, 0, input); + throw nvae; + } + switch (alt216) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:472:32: anonymousExpression + { + pushFollow(FOLLOW_anonymousExpression_in_expression12631); + anonymousExpression608=anonymousExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_anonymousExpression.add(anonymousExpression608.getTree()); + // AST REWRITE + // elements: anonymousExpression + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 472:52: -> ^( TkAnonymousExpression anonymousExpression ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:472:55: ^( TkAnonymousExpression anonymousExpression ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TkAnonymousExpression, "TkAnonymousExpression"), root_1); + adaptor.addChild(root_1, stream_anonymousExpression.nextTree()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:32: simpleExpression ( relOp simpleExpression )? ( '=' expression )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_simpleExpression_in_expression12672); + simpleExpression609=simpleExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleExpression609.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:49: ( relOp simpleExpression )? + int alt214=2; + switch ( input.LA(1) ) { + case EQUAL: + { + int LA214_1 = input.LA(2); + if ( (synpred288_Delphi()) ) { + alt214=1; + } + } + break; + case IN: + { + int LA214_2 = input.LA(2); + if ( (synpred288_Delphi()) ) { + alt214=1; + } + } + break; + case LT: + { + int LA214_4 = input.LA(2); + if ( (synpred288_Delphi()) ) { + alt214=1; + } + } + break; + case GT: + { + int LA214_5 = input.LA(2); + if ( (synpred288_Delphi()) ) { + alt214=1; + } + } + break; + case GE: + case IS: + case LE: + case NOT_EQUAL: + { + int LA214_6 = input.LA(2); + if ( (synpred288_Delphi()) ) { + alt214=1; + } + } + break; + } + switch (alt214) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:50: relOp simpleExpression + { + pushFollow(FOLLOW_relOp_in_expression12675); + relOp610=relOp(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, relOp610.getTree()); + + pushFollow(FOLLOW_simpleExpression_in_expression12677); + simpleExpression611=simpleExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleExpression611.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:75: ( '=' expression )? + int alt215=2; + int LA215_0 = input.LA(1); + if ( (LA215_0==EQUAL) ) { + int LA215_1 = input.LA(2); + if ( (synpred289_Delphi()) ) { + alt215=1; + } + } + switch (alt215) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:76: '=' expression + { + char_literal612=(Token)match(input,EQUAL,FOLLOW_EQUAL_in_expression12682); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal612_tree = (Object)adaptor.create(char_literal612); + adaptor.addChild(root_0, char_literal612_tree); + } + + pushFollow(FOLLOW_expression_in_expression12684); + expression613=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression613.getTree()); + + } + break; + + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 118, expression_StartIndex); } + + } + return retval; + } + // $ANTLR end "expression" + + + public static class anonymousExpression_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "anonymousExpression" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:1: anonymousExpression : ( 'procedure' ( formalParameterSection )? block | 'function' ( formalParameterSection )? ':' typeDecl block ); + public final DelphiParser.anonymousExpression_return anonymousExpression() throws RecognitionException { + DelphiParser.anonymousExpression_return retval = new DelphiParser.anonymousExpression_return(); + retval.start = input.LT(1); + int anonymousExpression_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal614=null; + Token string_literal617=null; + Token char_literal619=null; + ParserRuleReturnScope formalParameterSection615 =null; + ParserRuleReturnScope block616 =null; + ParserRuleReturnScope formalParameterSection618 =null; + ParserRuleReturnScope typeDecl620 =null; + ParserRuleReturnScope block621 =null; + + Object string_literal614_tree=null; + Object string_literal617_tree=null; + Object char_literal619_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 119) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:30: ( 'procedure' ( formalParameterSection )? block | 'function' ( formalParameterSection )? ':' typeDecl block ) + int alt219=2; + int LA219_0 = input.LA(1); + if ( (LA219_0==PROCEDURE) ) { + alt219=1; + } + else if ( (LA219_0==FUNCTION) ) { + alt219=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 219, 0, input); + throw nvae; + } + + switch (alt219) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:32: 'procedure' ( formalParameterSection )? block + { + root_0 = (Object)adaptor.nil(); + + + string_literal614=(Token)match(input,PROCEDURE,FOLLOW_PROCEDURE_in_anonymousExpression12735); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal614_tree = (Object)adaptor.create(string_literal614); + adaptor.addChild(root_0, string_literal614_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:44: ( formalParameterSection )? + int alt217=2; + alt217 = dfa217.predict(input); + switch (alt217) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:45: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_anonymousExpression12738); + formalParameterSection615=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection615.getTree()); + + } + break; + + } + + pushFollow(FOLLOW_block_in_anonymousExpression12742); + block616=block(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, block616.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:476:32: 'function' ( formalParameterSection )? ':' typeDecl block + { + root_0 = (Object)adaptor.nil(); + + + string_literal617=(Token)match(input,FUNCTION,FOLLOW_FUNCTION_in_anonymousExpression12775); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal617_tree = (Object)adaptor.create(string_literal617); + adaptor.addChild(root_0, string_literal617_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:476:43: ( formalParameterSection )? + int alt218=2; + int LA218_0 = input.LA(1); + if ( (LA218_0==LPAREN) ) { + alt218=1; + } + switch (alt218) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:476:44: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_anonymousExpression12778); + formalParameterSection618=formalParameterSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, formalParameterSection618.getTree()); + + } + break; + + } + + char_literal619=(Token)match(input,COLON,FOLLOW_COLON_in_anonymousExpression12782); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal619_tree = (Object)adaptor.create(char_literal619); + adaptor.addChild(root_0, char_literal619_tree); + } + + pushFollow(FOLLOW_typeDecl_in_anonymousExpression12784); + typeDecl620=typeDecl(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeDecl620.getTree()); + + pushFollow(FOLLOW_block_in_anonymousExpression12786); + block621=block(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, block621.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 119, anonymousExpression_StartIndex); } + + } + return retval; + } + // $ANTLR end "anonymousExpression" + + + public static class simpleExpression_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "simpleExpression" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:1: simpleExpression : factor ( operator factor )* ; + public final DelphiParser.simpleExpression_return simpleExpression() throws RecognitionException { + DelphiParser.simpleExpression_return retval = new DelphiParser.simpleExpression_return(); + retval.start = input.LT(1); + int simpleExpression_StartIndex = input.index(); + + Object root_0 = null; + + ParserRuleReturnScope factor622 =null; + ParserRuleReturnScope operator623 =null; + ParserRuleReturnScope factor624 =null; + + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 120) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:30: ( factor ( operator factor )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:32: factor ( operator factor )* + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_factor_in_simpleExpression12835); + factor622=factor(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, factor622.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:39: ( operator factor )* + loop220: + while (true) { + int alt220=2; + switch ( input.LA(1) ) { + case PLUS: + { + int LA220_2 = input.LA(2); + if ( (synpred293_Delphi()) ) { + alt220=1; + } + + } + break; + case MINUS: + { + int LA220_3 = input.LA(2); + if ( (synpred293_Delphi()) ) { + alt220=1; + } + + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA220_4 = input.LA(2); + if ( (synpred293_Delphi()) ) { + alt220=1; + } + + } + break; + } + switch (alt220) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:40: operator factor + { + pushFollow(FOLLOW_operator_in_simpleExpression12838); + operator623=operator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, operator623.getTree()); + + pushFollow(FOLLOW_factor_in_simpleExpression12840); + factor624=factor(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, factor624.getTree()); + + } + break; + + default : + break loop220; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 120, simpleExpression_StartIndex); } + + } + return retval; + } + // $ANTLR end "simpleExpression" + + + public static class factor_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "factor" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:480:1: factor : ( '@' factor | '@@' factor | 'not' factor | '+' factor | '-' factor | '^' ident | intRealNum | 'true' | 'false' | 'nil' | 'nil^' | '(' expression ')' designator | '(' expression ')' ( '^' )? ( '.' expression )? | stringFactor ( '.' simpleExpression )? | setSection | designator | typeId '(' expression ')' ); + public final DelphiParser.factor_return factor() throws RecognitionException { + DelphiParser.factor_return retval = new DelphiParser.factor_return(); + retval.start = input.LT(1); + int factor_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal625=null; + Token string_literal627=null; + Token string_literal629=null; + Token char_literal631=null; + Token char_literal633=null; + Token char_literal635=null; + Token string_literal638=null; + Token string_literal639=null; + Token string_literal640=null; + Token string_literal641=null; + Token char_literal642=null; + Token char_literal644=null; + Token char_literal646=null; + Token char_literal648=null; + Token char_literal649=null; + Token char_literal650=null; + Token char_literal653=null; + Token char_literal658=null; + Token char_literal660=null; + ParserRuleReturnScope factor626 =null; + ParserRuleReturnScope factor628 =null; + ParserRuleReturnScope factor630 =null; + ParserRuleReturnScope factor632 =null; + ParserRuleReturnScope factor634 =null; + ParserRuleReturnScope ident636 =null; + ParserRuleReturnScope intRealNum637 =null; + ParserRuleReturnScope expression643 =null; + ParserRuleReturnScope designator645 =null; + ParserRuleReturnScope expression647 =null; + ParserRuleReturnScope expression651 =null; + ParserRuleReturnScope stringFactor652 =null; + ParserRuleReturnScope simpleExpression654 =null; + ParserRuleReturnScope setSection655 =null; + ParserRuleReturnScope designator656 =null; + ParserRuleReturnScope typeId657 =null; + ParserRuleReturnScope expression659 =null; + + Object char_literal625_tree=null; + Object string_literal627_tree=null; + Object string_literal629_tree=null; + Object char_literal631_tree=null; + Object char_literal633_tree=null; + Object char_literal635_tree=null; + Object string_literal638_tree=null; + Object string_literal639_tree=null; + Object string_literal640_tree=null; + Object string_literal641_tree=null; + Object char_literal642_tree=null; + Object char_literal644_tree=null; + Object char_literal646_tree=null; + Object char_literal648_tree=null; + Object char_literal649_tree=null; + Object char_literal650_tree=null; + Object char_literal653_tree=null; + Object char_literal658_tree=null; + Object char_literal660_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 121) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:480:30: ( '@' factor | '@@' factor | 'not' factor | '+' factor | '-' factor | '^' ident | intRealNum | 'true' | 'false' | 'nil' | 'nil^' | '(' expression ')' designator | '(' expression ')' ( '^' )? ( '.' expression )? | stringFactor ( '.' simpleExpression )? | setSection | designator | typeId '(' expression ')' ) + int alt224=17; + alt224 = dfa224.predict(input); + switch (alt224) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:480:32: '@' factor + { + root_0 = (Object)adaptor.nil(); + + + char_literal625=(Token)match(input,AT2,FOLLOW_AT2_in_factor12901); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal625_tree = (Object)adaptor.create(char_literal625); + adaptor.addChild(root_0, char_literal625_tree); + } + + pushFollow(FOLLOW_factor_in_factor12903); + factor626=factor(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, factor626.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:32: '@@' factor + { + root_0 = (Object)adaptor.nil(); + + + string_literal627=(Token)match(input,199,FOLLOW_199_in_factor12936); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal627_tree = (Object)adaptor.create(string_literal627); + adaptor.addChild(root_0, string_literal627_tree); + } + + pushFollow(FOLLOW_factor_in_factor12938); + factor628=factor(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, factor628.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:482:32: 'not' factor + { + root_0 = (Object)adaptor.nil(); + + + string_literal629=(Token)match(input,NOT,FOLLOW_NOT_in_factor12978); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal629_tree = (Object)adaptor.create(string_literal629); + adaptor.addChild(root_0, string_literal629_tree); + } + + pushFollow(FOLLOW_factor_in_factor12980); + factor630=factor(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, factor630.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:483:32: '+' factor + { + root_0 = (Object)adaptor.nil(); + + + char_literal631=(Token)match(input,PLUS,FOLLOW_PLUS_in_factor13013); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal631_tree = (Object)adaptor.create(char_literal631); + adaptor.addChild(root_0, char_literal631_tree); + } + + pushFollow(FOLLOW_factor_in_factor13015); + factor632=factor(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, factor632.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:484:32: '-' factor + { + root_0 = (Object)adaptor.nil(); + + + char_literal633=(Token)match(input,MINUS,FOLLOW_MINUS_in_factor13048); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal633_tree = (Object)adaptor.create(char_literal633); + adaptor.addChild(root_0, char_literal633_tree); + } + + pushFollow(FOLLOW_factor_in_factor13050); + factor634=factor(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, factor634.getTree()); + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:485:32: '^' ident + { + root_0 = (Object)adaptor.nil(); + + + char_literal635=(Token)match(input,POINTER2,FOLLOW_POINTER2_in_factor13083); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal635_tree = (Object)adaptor.create(char_literal635); + adaptor.addChild(root_0, char_literal635_tree); + } + + pushFollow(FOLLOW_ident_in_factor13085); + ident636=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident636.getTree()); + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:486:32: intRealNum + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_intRealNum_in_factor13129); + intRealNum637=intRealNum(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, intRealNum637.getTree()); + + } + break; + case 8 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:32: 'true' + { + root_0 = (Object)adaptor.nil(); + + + string_literal638=(Token)match(input,TRUE,FOLLOW_TRUE_in_factor13162); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal638_tree = (Object)adaptor.create(string_literal638); + adaptor.addChild(root_0, string_literal638_tree); + } + + } + break; + case 9 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:32: 'false' + { + root_0 = (Object)adaptor.nil(); + + + string_literal639=(Token)match(input,FALSE,FOLLOW_FALSE_in_factor13195); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal639_tree = (Object)adaptor.create(string_literal639); + adaptor.addChild(root_0, string_literal639_tree); + } + + } + break; + case 10 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:489:32: 'nil' + { + root_0 = (Object)adaptor.nil(); + + + string_literal640=(Token)match(input,NIL,FOLLOW_NIL_in_factor13228); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal640_tree = (Object)adaptor.create(string_literal640); + adaptor.addChild(root_0, string_literal640_tree); + } + + } + break; + case 11 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:32: 'nil^' + { + root_0 = (Object)adaptor.nil(); + + + string_literal641=(Token)match(input,210,FOLLOW_210_in_factor13261); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal641_tree = (Object)adaptor.create(string_literal641); + adaptor.addChild(root_0, string_literal641_tree); + } + + } + break; + case 12 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:491:32: '(' expression ')' designator + { + root_0 = (Object)adaptor.nil(); + + + char_literal642=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_factor13339); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal642_tree = (Object)adaptor.create(char_literal642); + adaptor.addChild(root_0, char_literal642_tree); + } + + pushFollow(FOLLOW_expression_in_factor13341); + expression643=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression643.getTree()); + + char_literal644=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_factor13343); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal644_tree = (Object)adaptor.create(char_literal644); + adaptor.addChild(root_0, char_literal644_tree); + } + + pushFollow(FOLLOW_designator_in_factor13345); + designator645=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator645.getTree()); + + } + break; + case 13 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:32: '(' expression ')' ( '^' )? ( '.' expression )? + { + root_0 = (Object)adaptor.nil(); + + + char_literal646=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_factor13378); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal646_tree = (Object)adaptor.create(char_literal646); + adaptor.addChild(root_0, char_literal646_tree); + } + + pushFollow(FOLLOW_expression_in_factor13380); + expression647=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression647.getTree()); + + char_literal648=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_factor13382); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal648_tree = (Object)adaptor.create(char_literal648); + adaptor.addChild(root_0, char_literal648_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:51: ( '^' )? + int alt221=2; + int LA221_0 = input.LA(1); + if ( (LA221_0==POINTER2) ) { + int LA221_1 = input.LA(2); + if ( (synpred306_Delphi()) ) { + alt221=1; + } + } + switch (alt221) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:52: '^' + { + char_literal649=(Token)match(input,POINTER2,FOLLOW_POINTER2_in_factor13385); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal649_tree = (Object)adaptor.create(char_literal649); + adaptor.addChild(root_0, char_literal649_tree); + } + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:58: ( '.' expression )? + int alt222=2; + int LA222_0 = input.LA(1); + if ( (LA222_0==DOT) ) { + int LA222_1 = input.LA(2); + if ( (synpred307_Delphi()) ) { + alt222=1; + } + } + switch (alt222) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:59: '.' expression + { + char_literal650=(Token)match(input,DOT,FOLLOW_DOT_in_factor13390); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal650_tree = (Object)adaptor.create(char_literal650); + adaptor.addChild(root_0, char_literal650_tree); + } + + pushFollow(FOLLOW_expression_in_factor13392); + expression651=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression651.getTree()); + + } + break; + + } + + } + break; + case 14 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:32: stringFactor ( '.' simpleExpression )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_stringFactor_in_factor13435); + stringFactor652=stringFactor(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, stringFactor652.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:45: ( '.' simpleExpression )? + int alt223=2; + int LA223_0 = input.LA(1); + if ( (LA223_0==DOT) ) { + int LA223_1 = input.LA(2); + if ( (synpred309_Delphi()) ) { + alt223=1; + } + } + switch (alt223) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:46: '.' simpleExpression + { + char_literal653=(Token)match(input,DOT,FOLLOW_DOT_in_factor13438); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal653_tree = (Object)adaptor.create(char_literal653); + adaptor.addChild(root_0, char_literal653_tree); + } + + pushFollow(FOLLOW_simpleExpression_in_factor13440); + simpleExpression654=simpleExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleExpression654.getTree()); + + } + break; + + } + + } + break; + case 15 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:494:32: setSection + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_setSection_in_factor13475); + setSection655=setSection(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, setSection655.getTree()); + + } + break; + case 16 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:495:32: designator + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_designator_in_factor13508); + designator656=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator656.getTree()); + + } + break; + case 17 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:496:32: typeId '(' expression ')' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_typeId_in_factor13541); + typeId657=typeId(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId657.getTree()); + + char_literal658=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_factor13543); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal658_tree = (Object)adaptor.create(char_literal658); + adaptor.addChild(root_0, char_literal658_tree); + } + + pushFollow(FOLLOW_expression_in_factor13545); + expression659=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression659.getTree()); + + char_literal660=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_factor13547); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal660_tree = (Object)adaptor.create(char_literal660); + adaptor.addChild(root_0, char_literal660_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 121, factor_StartIndex); } + + } + return retval; + } + // $ANTLR end "factor" + + + public static class stringFactor_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "stringFactor" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:1: stringFactor : ( ( controlString ) ( QuotedString ( controlString ) )* ( QuotedString )? | QuotedString ( ( controlString ) QuotedString )* ( controlString )? ); + public final DelphiParser.stringFactor_return stringFactor() throws RecognitionException { + DelphiParser.stringFactor_return retval = new DelphiParser.stringFactor_return(); + retval.start = input.LT(1); + int stringFactor_StartIndex = input.index(); + + Object root_0 = null; + + Token QuotedString662=null; + Token QuotedString664=null; + Token QuotedString665=null; + Token QuotedString667=null; + ParserRuleReturnScope controlString661 =null; + ParserRuleReturnScope controlString663 =null; + ParserRuleReturnScope controlString666 =null; + ParserRuleReturnScope controlString668 =null; + + Object QuotedString662_tree=null; + Object QuotedString664_tree=null; + Object QuotedString665_tree=null; + Object QuotedString667_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 122) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:30: ( ( controlString ) ( QuotedString ( controlString ) )* ( QuotedString )? | QuotedString ( ( controlString ) QuotedString )* ( controlString )? ) + int alt229=2; + int LA229_0 = input.LA(1); + if ( (LA229_0==ControlChar) ) { + alt229=1; + } + else if ( (LA229_0==QuotedString) ) { + alt229=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 229, 0, input); + throw nvae; + } + + switch (alt229) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:32: ( controlString ) ( QuotedString ( controlString ) )* ( QuotedString )? + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:32: ( controlString ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:33: controlString + { + pushFollow(FOLLOW_controlString_in_stringFactor13601); + controlString661=controlString(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, controlString661.getTree()); + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:48: ( QuotedString ( controlString ) )* + loop225: + while (true) { + int alt225=2; + int LA225_0 = input.LA(1); + if ( (LA225_0==QuotedString) ) { + int LA225_1 = input.LA(2); + if ( (LA225_1==ControlChar) ) { + int LA225_3 = input.LA(3); + if ( (synpred313_Delphi()) ) { + alt225=1; + } + + } + + } + + switch (alt225) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:49: QuotedString ( controlString ) + { + QuotedString662=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_stringFactor13605); if (state.failed) return retval; + if ( state.backtracking==0 ) { + QuotedString662_tree = (Object)adaptor.create(QuotedString662); + adaptor.addChild(root_0, QuotedString662_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:62: ( controlString ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:63: controlString + { + pushFollow(FOLLOW_controlString_in_stringFactor13608); + controlString663=controlString(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, controlString663.getTree()); + + } + + } + break; + + default : + break loop225; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:80: ( QuotedString )? + int alt226=2; + int LA226_0 = input.LA(1); + if ( (LA226_0==QuotedString) ) { + int LA226_1 = input.LA(2); + if ( (synpred314_Delphi()) ) { + alt226=1; + } + } + switch (alt226) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:81: QuotedString + { + QuotedString664=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_stringFactor13614); if (state.failed) return retval; + if ( state.backtracking==0 ) { + QuotedString664_tree = (Object)adaptor.create(QuotedString664); + adaptor.addChild(root_0, QuotedString664_tree); + } + + } + break; + + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:32: QuotedString ( ( controlString ) QuotedString )* ( controlString )? + { + root_0 = (Object)adaptor.nil(); + + + QuotedString665=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_stringFactor13649); if (state.failed) return retval; + if ( state.backtracking==0 ) { + QuotedString665_tree = (Object)adaptor.create(QuotedString665); + adaptor.addChild(root_0, QuotedString665_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:45: ( ( controlString ) QuotedString )* + loop227: + while (true) { + int alt227=2; + alt227 = dfa227.predict(input); + switch (alt227) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:46: ( controlString ) QuotedString + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:46: ( controlString ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:47: controlString + { + pushFollow(FOLLOW_controlString_in_stringFactor13653); + controlString666=controlString(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, controlString666.getTree()); + + } + + QuotedString667=(Token)match(input,QuotedString,FOLLOW_QuotedString_in_stringFactor13656); if (state.failed) return retval; + if ( state.backtracking==0 ) { + QuotedString667_tree = (Object)adaptor.create(QuotedString667); + adaptor.addChild(root_0, QuotedString667_tree); + } + + } + break; + + default : + break loop227; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:77: ( controlString )? + int alt228=2; + int LA228_0 = input.LA(1); + if ( (LA228_0==ControlChar) ) { + int LA228_1 = input.LA(2); + if ( (synpred317_Delphi()) ) { + alt228=1; + } + } + switch (alt228) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:78: controlString + { + pushFollow(FOLLOW_controlString_in_stringFactor13661); + controlString668=controlString(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, controlString668.getTree()); + + } + break; + + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 122, stringFactor_StartIndex); } + + } + return retval; + } + // $ANTLR end "stringFactor" + + + public static class controlString_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "controlString" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:1: controlString : ControlChar ( ControlChar )* ; + public final DelphiParser.controlString_return controlString() throws RecognitionException { + DelphiParser.controlString_return retval = new DelphiParser.controlString_return(); + retval.start = input.LT(1); + int controlString_StartIndex = input.index(); + + Object root_0 = null; + + Token ControlChar669=null; + Token ControlChar670=null; + + Object ControlChar669_tree=null; + Object ControlChar670_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 123) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:30: ( ControlChar ( ControlChar )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:32: ControlChar ( ControlChar )* + { + root_0 = (Object)adaptor.nil(); + + + ControlChar669=(Token)match(input,ControlChar,FOLLOW_ControlChar_in_controlString13715); if (state.failed) return retval; + if ( state.backtracking==0 ) { + ControlChar669_tree = (Object)adaptor.create(ControlChar669); + adaptor.addChild(root_0, ControlChar669_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:44: ( ControlChar )* + loop230: + while (true) { + int alt230=2; + int LA230_0 = input.LA(1); + if ( (LA230_0==ControlChar) ) { + int LA230_2 = input.LA(2); + if ( (synpred318_Delphi()) ) { + alt230=1; + } + + } + + switch (alt230) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:45: ControlChar + { + ControlChar670=(Token)match(input,ControlChar,FOLLOW_ControlChar_in_controlString13718); if (state.failed) return retval; + if ( state.backtracking==0 ) { + ControlChar670_tree = (Object)adaptor.create(ControlChar670); + adaptor.addChild(root_0, ControlChar670_tree); + } + + } + break; + + default : + break loop230; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 123, controlString_StartIndex); } + + } + return retval; + } + // $ANTLR end "controlString" + + + public static class setSection_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "setSection" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:1: setSection : '[' ( expression ( ( ',' | '..' ) expression )* )? ']' ; + public final DelphiParser.setSection_return setSection() throws RecognitionException { + DelphiParser.setSection_return retval = new DelphiParser.setSection_return(); + retval.start = input.LT(1); + int setSection_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal671=null; + Token set673=null; + Token char_literal675=null; + ParserRuleReturnScope expression672 =null; + ParserRuleReturnScope expression674 =null; + + Object char_literal671_tree=null; + Object set673_tree=null; + Object char_literal675_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 124) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:30: ( '[' ( expression ( ( ',' | '..' ) expression )* )? ']' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:32: '[' ( expression ( ( ',' | '..' ) expression )* )? ']' + { + root_0 = (Object)adaptor.nil(); + + + char_literal671=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_setSection13775); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal671_tree = (Object)adaptor.create(char_literal671); + adaptor.addChild(root_0, char_literal671_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:36: ( expression ( ( ',' | '..' ) expression )* )? + int alt232=2; + int LA232_0 = input.LA(1); + if ( ((LA232_0 >= ADD && LA232_0 <= ANSISTRING)||LA232_0==AS||(LA232_0 >= AT && LA232_0 <= AT2)||LA232_0==BREAK||LA232_0==COMMA||(LA232_0 >= CONTAINS && LA232_0 <= DEFAULT)||LA232_0==DISPID||LA232_0==DIV||(LA232_0 >= DOT && LA232_0 <= DOTDOT)||(LA232_0 >= DQ && LA232_0 <= DW)||LA232_0==EQUAL||LA232_0==EXIT||LA232_0==EXPORT||LA232_0==FALSE||LA232_0==FINAL||(LA232_0 >= FUNCTION && LA232_0 <= GE)||(LA232_0 >= GT && LA232_0 <= HELPER)||(LA232_0 >= IMPLEMENTS && LA232_0 <= INHERITED)||LA232_0==IS||LA232_0==LBRACK||LA232_0==LE||(LA232_0 >= LOCAL && LA232_0 <= NAME)||LA232_0==NIL||(LA232_0 >= NOT && LA232_0 <= OBJECT)||(LA232_0 >= OPERATOR && LA232_0 <= OUT)||(LA232_0 >= PLUS && LA232_0 <= POINTER2)||LA232_0==PROCEDURE||LA232_0==QuotedString||(LA232_0 >= READ && LA232_0 <= READONLY)||(LA232_0 >= REFERENCE && LA232_0 <= REGISTER)||LA232_0==REMOVE||(LA232_0 >= SHL && LA232_0 <= STATIC)||(LA232_0 >= STORED && LA232_0 <= STRING)||LA232_0==TRUE||(LA232_0 >= TkHexNum && LA232_0 <= TkIntNum)||LA232_0==TkRealNum||LA232_0==UNSAFE||(LA232_0 >= VARARGS && LA232_0 <= VIRTUAL)||(LA232_0 >= WRITE && LA232_0 <= WRITEONLY)||(LA232_0 >= XOR && LA232_0 <= 210)) ) { + alt232=1; + } + else if ( (LA232_0==RBRACK) ) { + int LA232_2 = input.LA(2); + if ( (synpred321_Delphi()) ) { + alt232=1; + } + } + switch (alt232) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:37: expression ( ( ',' | '..' ) expression )* + { + pushFollow(FOLLOW_expression_in_setSection13778); + expression672=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression672.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:48: ( ( ',' | '..' ) expression )* + loop231: + while (true) { + int alt231=2; + int LA231_0 = input.LA(1); + if ( (LA231_0==COMMA||LA231_0==DOTDOT) ) { + alt231=1; + } + + switch (alt231) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:49: ( ',' | '..' ) expression + { + set673=input.LT(1); + if ( input.LA(1)==COMMA||input.LA(1)==DOTDOT ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set673)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + pushFollow(FOLLOW_expression_in_setSection13789); + expression674=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression674.getTree()); + + } + break; + + default : + break loop231; + } + } + + } + break; + + } + + char_literal675=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_setSection13795); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal675_tree = (Object)adaptor.create(char_literal675); + adaptor.addChild(root_0, char_literal675_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 124, setSection_StartIndex); } + + } + return retval; + } + // $ANTLR end "setSection" + + + public static class designator_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "designator" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:1: designator : ( 'Inherited' )? ( 'inherited' )? ( ( qualifiedIdent | typeId ) )? ( designatorItem )* ; + public final DelphiParser.designator_return designator() throws RecognitionException { + DelphiParser.designator_return retval = new DelphiParser.designator_return(); + retval.start = input.LT(1); + int designator_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal676=null; + Token string_literal677=null; + ParserRuleReturnScope qualifiedIdent678 =null; + ParserRuleReturnScope typeId679 =null; + ParserRuleReturnScope designatorItem680 =null; + + Object string_literal676_tree=null; + Object string_literal677_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 125) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:30: ( ( 'Inherited' )? ( 'inherited' )? ( ( qualifiedIdent | typeId ) )? ( designatorItem )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:32: ( 'Inherited' )? ( 'inherited' )? ( ( qualifiedIdent | typeId ) )? ( designatorItem )* + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:32: ( 'Inherited' )? + int alt233=2; + int LA233_0 = input.LA(1); + if ( (LA233_0==203) ) { + int LA233_1 = input.LA(2); + if ( (synpred322_Delphi()) ) { + alt233=1; + } + } + switch (alt233) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:33: 'Inherited' + { + string_literal676=(Token)match(input,203,FOLLOW_203_in_designator13852); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal676_tree = (Object)adaptor.create(string_literal676); + adaptor.addChild(root_0, string_literal676_tree); + } + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:47: ( 'inherited' )? + int alt234=2; + int LA234_0 = input.LA(1); + if ( (LA234_0==INHERITED) ) { + int LA234_1 = input.LA(2); + if ( (synpred323_Delphi()) ) { + alt234=1; + } + } + switch (alt234) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:48: 'inherited' + { + string_literal677=(Token)match(input,INHERITED,FOLLOW_INHERITED_in_designator13857); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal677_tree = (Object)adaptor.create(string_literal677); + adaptor.addChild(root_0, string_literal677_tree); + } + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:62: ( ( qualifiedIdent | typeId ) )? + int alt236=2; + switch ( input.LA(1) ) { + case TkIdentifier: + { + int LA236_1 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case 198: + { + int LA236_2 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case IN: + { + int LA236_3 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case TRUE: + { + int LA236_5 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case FALSE: + { + int LA236_6 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case NAME: + { + int LA236_7 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case READ: + { + int LA236_8 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case WRITE: + { + int LA236_9 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case READONLY: + { + int LA236_10 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case WRITEONLY: + { + int LA236_11 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case DISPID: + { + int LA236_12 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case STORED: + { + int LA236_13 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case DEFAULT: + { + int LA236_14 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case IMPLEMENTS: + { + int LA236_15 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case REGISTER: + { + int LA236_16 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case EXPORT: + { + int LA236_17 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case LOCAL: + { + int LA236_18 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case VARARGS: + { + int LA236_19 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case UNSAFE: + { + int LA236_20 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case INDEX: + { + int LA236_21 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case STRICT: + { + int LA236_22 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case OPERATOR: + { + int LA236_23 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case AT: + { + int LA236_24 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + case ADD: + case ANSISTRING: + case BREAK: + case CONTAINS: + case CONTINUE: + case DQ: + case DW: + case EXIT: + case FINAL: + case HELPER: + case MESSAGE: + case OBJECT: + case OUT: + case POINTER: + case REFERENCE: + case REMOVE: + case STATIC: + case STRING: + case VARIANT: + case VIRTUAL: + { + int LA236_25 = input.LA(2); + if ( (synpred325_Delphi()) ) { + alt236=1; + } + } + break; + } + switch (alt236) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:64: ( qualifiedIdent | typeId ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:64: ( qualifiedIdent | typeId ) + int alt235=2; + switch ( input.LA(1) ) { + case TkIdentifier: + { + int LA235_1 = input.LA(2); + if ( (synpred324_Delphi()) ) { + alt235=1; + } + else if ( (true) ) { + alt235=2; + } + + } + break; + case 198: + { + int LA235_2 = input.LA(2); + if ( (LA235_2==TkIdentifier) ) { + int LA235_6 = input.LA(3); + if ( (synpred324_Delphi()) ) { + alt235=1; + } + else if ( (true) ) { + alt235=2; + } + + } + else if ( ((LA235_2 >= ABSOLUTE && LA235_2 <= ASSEMBLY)||LA235_2==AT||LA235_2==AUTOMATED||(LA235_2 >= BEGIN && LA235_2 <= CLASS)||(LA235_2 >= CONST && LA235_2 <= CONTINUE)||LA235_2==DEFAULT||(LA235_2 >= DEPRECATED && LA235_2 <= DO)||(LA235_2 >= DOWNTO && LA235_2 <= DYNAMIC)||(LA235_2 >= ELSE && LA235_2 <= END)||(LA235_2 >= EXCEPT && LA235_2 <= FUNCTION)||LA235_2==GOTO||LA235_2==HELPER||(LA235_2 >= IF && LA235_2 <= LABEL)||(LA235_2 >= LIBRARY && LA235_2 <= LOCAL)||LA235_2==MESSAGE||(LA235_2 >= MOD && LA235_2 <= NOT)||(LA235_2 >= OBJECT && LA235_2 <= PLATFORM)||LA235_2==POINTER||(LA235_2 >= PRIVATE && LA235_2 <= PUBLISHED)||LA235_2==RAISE||(LA235_2 >= READ && LA235_2 <= RESOURCESTRING)||(LA235_2 >= SAFECALL && LA235_2 <= SEALED)||(LA235_2 >= SET && LA235_2 <= SHR)||(LA235_2 >= STATIC && LA235_2 <= TYPE)||(LA235_2 >= UNIT && LA235_2 <= USES)||(LA235_2 >= VAR && LA235_2 <= WRITEONLY)||LA235_2==XOR) ) { + int LA235_7 = input.LA(3); + if ( (synpred324_Delphi()) ) { + alt235=1; + } + else if ( (true) ) { + alt235=2; + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 235, 2, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA235_3 = input.LA(2); + if ( (synpred324_Delphi()) ) { + alt235=1; + } + else if ( (true) ) { + alt235=2; + } + + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 235, 0, input); + throw nvae; + } + switch (alt235) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:65: qualifiedIdent + { + pushFollow(FOLLOW_qualifiedIdent_in_designator13864); + qualifiedIdent678=qualifiedIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, qualifiedIdent678.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:82: typeId + { + pushFollow(FOLLOW_typeId_in_designator13868); + typeId679=typeId(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId679.getTree()); + + } + break; + + } + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:93: ( designatorItem )* + loop237: + while (true) { + int alt237=2; + alt237 = dfa237.predict(input); + switch (alt237) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:94: designatorItem + { + pushFollow(FOLLOW_designatorItem_in_designator13875); + designatorItem680=designatorItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designatorItem680.getTree()); + + } + break; + + default : + break loop237; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 125, designator_StartIndex); } + + } + return retval; + } + // $ANTLR end "designator" + + + public static class designatorItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "designatorItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:508:1: designatorItem : ( '^' | '^^' | ( '.' | '@' ) ident | ( '<' genericTypeIdent ( ',' genericTypeIdent )* '>' ) | '[' expressionList ']' | '(' ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* )? ')' -> '(' ( expression ( colonConstruct )? ( expression ( colonConstruct )? )* )? ')' ); + public final DelphiParser.designatorItem_return designatorItem() throws RecognitionException { + DelphiParser.designatorItem_return retval = new DelphiParser.designatorItem_return(); + retval.start = input.LT(1); + int designatorItem_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal681=null; + Token string_literal682=null; + Token set683=null; + Token char_literal685=null; + Token char_literal687=null; + Token char_literal689=null; + Token char_literal690=null; + Token char_literal692=null; + Token char_literal693=null; + Token char_literal696=null; + Token char_literal699=null; + ParserRuleReturnScope ident684 =null; + ParserRuleReturnScope genericTypeIdent686 =null; + ParserRuleReturnScope genericTypeIdent688 =null; + ParserRuleReturnScope expressionList691 =null; + ParserRuleReturnScope expression694 =null; + ParserRuleReturnScope colonConstruct695 =null; + ParserRuleReturnScope expression697 =null; + ParserRuleReturnScope colonConstruct698 =null; + + Object char_literal681_tree=null; + Object string_literal682_tree=null; + Object set683_tree=null; + Object char_literal685_tree=null; + Object char_literal687_tree=null; + Object char_literal689_tree=null; + Object char_literal690_tree=null; + Object char_literal692_tree=null; + Object char_literal693_tree=null; + Object char_literal696_tree=null; + Object char_literal699_tree=null; + RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); + RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN"); + RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN"); + RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression"); + RewriteRuleSubtreeStream stream_colonConstruct=new RewriteRuleSubtreeStream(adaptor,"rule colonConstruct"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 126) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:508:30: ( '^' | '^^' | ( '.' | '@' ) ident | ( '<' genericTypeIdent ( ',' genericTypeIdent )* '>' ) | '[' expressionList ']' | '(' ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* )? ')' -> '(' ( expression ( colonConstruct )? ( expression ( colonConstruct )? )* )? ')' ) + int alt243=6; + switch ( input.LA(1) ) { + case POINTER2: + { + alt243=1; + } + break; + case 209: + { + alt243=2; + } + break; + case AT2: + case DOT: + { + alt243=3; + } + break; + case LT: + { + alt243=4; + } + break; + case LBRACK: + { + alt243=5; + } + break; + case LPAREN: + { + alt243=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 243, 0, input); + throw nvae; + } + switch (alt243) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:508:32: '^' + { + root_0 = (Object)adaptor.nil(); + + + char_literal681=(Token)match(input,POINTER2,FOLLOW_POINTER2_in_designatorItem13928); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal681_tree = (Object)adaptor.create(char_literal681); + adaptor.addChild(root_0, char_literal681_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:509:32: '^^' + { + root_0 = (Object)adaptor.nil(); + + + string_literal682=(Token)match(input,209,FOLLOW_209_in_designatorItem13961); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal682_tree = (Object)adaptor.create(string_literal682); + adaptor.addChild(root_0, string_literal682_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:510:32: ( '.' | '@' ) ident + { + root_0 = (Object)adaptor.nil(); + + + set683=input.LT(1); + if ( input.LA(1)==AT2||input.LA(1)==DOT ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set683)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + pushFollow(FOLLOW_ident_in_designatorItem14002); + ident684=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident684.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:511:32: ( '<' genericTypeIdent ( ',' genericTypeIdent )* '>' ) + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:511:32: ( '<' genericTypeIdent ( ',' genericTypeIdent )* '>' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:511:33: '<' genericTypeIdent ( ',' genericTypeIdent )* '>' + { + char_literal685=(Token)match(input,LT,FOLLOW_LT_in_designatorItem14050); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal685_tree = (Object)adaptor.create(char_literal685); + adaptor.addChild(root_0, char_literal685_tree); + } + + pushFollow(FOLLOW_genericTypeIdent_in_designatorItem14052); + genericTypeIdent686=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericTypeIdent686.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:511:54: ( ',' genericTypeIdent )* + loop238: + while (true) { + int alt238=2; + int LA238_0 = input.LA(1); + if ( (LA238_0==COMMA) ) { + alt238=1; + } + + switch (alt238) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:511:55: ',' genericTypeIdent + { + char_literal687=(Token)match(input,COMMA,FOLLOW_COMMA_in_designatorItem14055); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal687_tree = (Object)adaptor.create(char_literal687); + adaptor.addChild(root_0, char_literal687_tree); + } + + pushFollow(FOLLOW_genericTypeIdent_in_designatorItem14057); + genericTypeIdent688=genericTypeIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, genericTypeIdent688.getTree()); + + } + break; + + default : + break loop238; + } + } + + char_literal689=(Token)match(input,GT,FOLLOW_GT_in_designatorItem14061); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal689_tree = (Object)adaptor.create(char_literal689); + adaptor.addChild(root_0, char_literal689_tree); + } + + } + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:512:32: '[' expressionList ']' + { + root_0 = (Object)adaptor.nil(); + + + char_literal690=(Token)match(input,LBRACK,FOLLOW_LBRACK_in_designatorItem14102); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal690_tree = (Object)adaptor.create(char_literal690); + adaptor.addChild(root_0, char_literal690_tree); + } + + pushFollow(FOLLOW_expressionList_in_designatorItem14104); + expressionList691=expressionList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expressionList691.getTree()); + + char_literal692=(Token)match(input,RBRACK,FOLLOW_RBRACK_in_designatorItem14106); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal692_tree = (Object)adaptor.create(char_literal692); + adaptor.addChild(root_0, char_literal692_tree); + } + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:32: '(' ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* )? ')' + { + char_literal693=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_designatorItem14139); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_LPAREN.add(char_literal693); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:36: ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* )? + int alt242=2; + int LA242_0 = input.LA(1); + if ( ((LA242_0 >= ADD && LA242_0 <= ANSISTRING)||LA242_0==AS||(LA242_0 >= AT && LA242_0 <= AT2)||LA242_0==BREAK||(LA242_0 >= COLON && LA242_0 <= COMMA)||(LA242_0 >= CONTAINS && LA242_0 <= DEFAULT)||LA242_0==DISPID||LA242_0==DIV||LA242_0==DOT||(LA242_0 >= DQ && LA242_0 <= DW)||LA242_0==EQUAL||LA242_0==EXIT||LA242_0==EXPORT||LA242_0==FALSE||LA242_0==FINAL||(LA242_0 >= FUNCTION && LA242_0 <= GE)||(LA242_0 >= GT && LA242_0 <= HELPER)||(LA242_0 >= IMPLEMENTS && LA242_0 <= INHERITED)||LA242_0==IS||LA242_0==LBRACK||LA242_0==LE||(LA242_0 >= LOCAL && LA242_0 <= NAME)||LA242_0==NIL||(LA242_0 >= NOT && LA242_0 <= OBJECT)||(LA242_0 >= OPERATOR && LA242_0 <= OUT)||(LA242_0 >= PLUS && LA242_0 <= POINTER2)||LA242_0==PROCEDURE||LA242_0==QuotedString||(LA242_0 >= READ && LA242_0 <= READONLY)||(LA242_0 >= REFERENCE && LA242_0 <= REGISTER)||LA242_0==REMOVE||(LA242_0 >= SHL && LA242_0 <= STATIC)||(LA242_0 >= STORED && LA242_0 <= STRING)||LA242_0==TRUE||(LA242_0 >= TkHexNum && LA242_0 <= TkIntNum)||LA242_0==TkRealNum||LA242_0==UNSAFE||(LA242_0 >= VARARGS && LA242_0 <= VIRTUAL)||(LA242_0 >= WRITE && LA242_0 <= WRITEONLY)||(LA242_0 >= XOR && LA242_0 <= 210)) ) { + alt242=1; + } + else if ( (LA242_0==RPAREN) ) { + int LA242_2 = input.LA(2); + if ( (synpred337_Delphi()) ) { + alt242=1; + } + } + switch (alt242) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:37: expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* + { + pushFollow(FOLLOW_expression_in_designatorItem14142); + expression694=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_expression.add(expression694.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:48: ( colonConstruct )? + int alt239=2; + int LA239_0 = input.LA(1); + if ( (LA239_0==COLON) ) { + alt239=1; + } + switch (alt239) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:49: colonConstruct + { + pushFollow(FOLLOW_colonConstruct_in_designatorItem14145); + colonConstruct695=colonConstruct(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_colonConstruct.add(colonConstruct695.getTree()); + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:66: ( ',' expression ( colonConstruct )? )* + loop241: + while (true) { + int alt241=2; + int LA241_0 = input.LA(1); + if ( (LA241_0==COMMA) ) { + alt241=1; + } + + switch (alt241) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:67: ',' expression ( colonConstruct )? + { + char_literal696=(Token)match(input,COMMA,FOLLOW_COMMA_in_designatorItem14150); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COMMA.add(char_literal696); + + pushFollow(FOLLOW_expression_in_designatorItem14152); + expression697=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_expression.add(expression697.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:82: ( colonConstruct )? + int alt240=2; + int LA240_0 = input.LA(1); + if ( (LA240_0==COLON) ) { + alt240=1; + } + switch (alt240) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:83: colonConstruct + { + pushFollow(FOLLOW_colonConstruct_in_designatorItem14155); + colonConstruct698=colonConstruct(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_colonConstruct.add(colonConstruct698.getTree()); + } + break; + + } + + } + break; + + default : + break loop241; + } + } + + } + break; + + } + + char_literal699=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_designatorItem14163); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_RPAREN.add(char_literal699); + + // AST REWRITE + // elements: expression, expression, LPAREN, colonConstruct, RPAREN, colonConstruct + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 513:108: -> '(' ( expression ( colonConstruct )? ( expression ( colonConstruct )? )* )? ')' + { + adaptor.addChild(root_0, stream_LPAREN.nextNode()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:115: ( expression ( colonConstruct )? ( expression ( colonConstruct )? )* )? + if ( stream_expression.hasNext()||stream_expression.hasNext()||stream_colonConstruct.hasNext() ) { + adaptor.addChild(root_0, stream_expression.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:127: ( colonConstruct )? + if ( stream_colonConstruct.hasNext() ) { + adaptor.addChild(root_0, stream_colonConstruct.nextTree()); + } + stream_colonConstruct.reset(); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:145: ( expression ( colonConstruct )? )* + while ( stream_expression.hasNext() ) { + adaptor.addChild(root_0, stream_expression.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:157: ( colonConstruct )? + if ( stream_colonConstruct.hasNext() ) { + adaptor.addChild(root_0, stream_colonConstruct.nextTree()); + } + stream_colonConstruct.reset(); + + } + stream_expression.reset(); + + } + stream_expression.reset(); + stream_expression.reset(); + stream_colonConstruct.reset(); + + adaptor.addChild(root_0, stream_RPAREN.nextNode()); + } + + + retval.tree = root_0; + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 126, designatorItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "designatorItem" + + + public static class expressionList_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "expressionList" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:515:1: expressionList : expression ( ',' expression )* ; + public final DelphiParser.expressionList_return expressionList() throws RecognitionException { + DelphiParser.expressionList_return retval = new DelphiParser.expressionList_return(); + retval.start = input.LT(1); + int expressionList_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal701=null; + ParserRuleReturnScope expression700 =null; + ParserRuleReturnScope expression702 =null; + + Object char_literal701_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 127) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:515:30: ( expression ( ',' expression )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:515:32: expression ( ',' expression )* + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_expression_in_expressionList14240); + expression700=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression700.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:515:43: ( ',' expression )* + loop244: + while (true) { + int alt244=2; + int LA244_0 = input.LA(1); + if ( (LA244_0==COMMA) ) { + alt244=1; + } + + switch (alt244) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:515:44: ',' expression + { + char_literal701=(Token)match(input,COMMA,FOLLOW_COMMA_in_expressionList14243); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal701_tree = (Object)adaptor.create(char_literal701); + adaptor.addChild(root_0, char_literal701_tree); + } + + pushFollow(FOLLOW_expression_in_expressionList14245); + expression702=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression702.getTree()); + + } + break; + + default : + break loop244; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 127, expressionList_StartIndex); } + + } + return retval; + } + // $ANTLR end "expressionList" + + + public static class colonConstruct_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "colonConstruct" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:517:1: colonConstruct : ':' expression ( ':' expression )? ; + public final DelphiParser.colonConstruct_return colonConstruct() throws RecognitionException { + DelphiParser.colonConstruct_return retval = new DelphiParser.colonConstruct_return(); + retval.start = input.LT(1); + int colonConstruct_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal703=null; + Token char_literal705=null; + ParserRuleReturnScope expression704 =null; + ParserRuleReturnScope expression706 =null; + + Object char_literal703_tree=null; + Object char_literal705_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 128) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:517:30: ( ':' expression ( ':' expression )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:517:32: ':' expression ( ':' expression )? + { + root_0 = (Object)adaptor.nil(); + + + char_literal703=(Token)match(input,COLON,FOLLOW_COLON_in_colonConstruct14298); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal703_tree = (Object)adaptor.create(char_literal703); + adaptor.addChild(root_0, char_literal703_tree); + } + + pushFollow(FOLLOW_expression_in_colonConstruct14300); + expression704=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression704.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:517:47: ( ':' expression )? + int alt245=2; + int LA245_0 = input.LA(1); + if ( (LA245_0==COLON) ) { + alt245=1; + } + switch (alt245) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:517:48: ':' expression + { + char_literal705=(Token)match(input,COLON,FOLLOW_COLON_in_colonConstruct14303); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal705_tree = (Object)adaptor.create(char_literal705); + adaptor.addChild(root_0, char_literal705_tree); + } + + pushFollow(FOLLOW_expression_in_colonConstruct14305); + expression706=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression706.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 128, colonConstruct_StartIndex); } + + } + return retval; + } + // $ANTLR end "colonConstruct" + + + public static class operator_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "operator" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:520:1: operator : ( '+' | '-' | 'or' | 'OR' | 'xor' | 'XOR' | '*' | '/' | 'div' | 'DIV' | 'mod' | 'MOD' | 'and' | 'AND' | 'shl' | 'SHL' | 'shr' | 'SHR' | 'as' | 'AS' ); + public final DelphiParser.operator_return operator() throws RecognitionException { + DelphiParser.operator_return retval = new DelphiParser.operator_return(); + retval.start = input.LT(1); + int operator_StartIndex = input.index(); + + Object root_0 = null; + + Token set707=null; + + Object set707_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 129) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:520:30: ( '+' | '-' | 'or' | 'OR' | 'xor' | 'XOR' | '*' | '/' | 'div' | 'DIV' | 'mod' | 'MOD' | 'and' | 'AND' | 'shl' | 'SHL' | 'shr' | 'SHR' | 'as' | 'AS' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set707=input.LT(1); + if ( input.LA(1)==AND||input.LA(1)==AS||input.LA(1)==DIV||(input.LA(1) >= MINUS && input.LA(1) <= MOD)||input.LA(1)==OR||input.LA(1)==PLUS||(input.LA(1) >= SHL && input.LA(1) <= STAR)||input.LA(1)==XOR||(input.LA(1) >= 200 && input.LA(1) <= 202)||(input.LA(1) >= 204 && input.LA(1) <= 208) ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set707)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 129, operator_StartIndex); } + + } + return retval; + } + // $ANTLR end "operator" + + + public static class relOp_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "relOp" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:541:1: relOp : ( '<' | '>' | '<=' | '>=' | '<>' | '=' | 'in' | 'is' ); + public final DelphiParser.relOp_return relOp() throws RecognitionException { + DelphiParser.relOp_return retval = new DelphiParser.relOp_return(); + retval.start = input.LT(1); + int relOp_StartIndex = input.index(); + + Object root_0 = null; + + Token set708=null; + + Object set708_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 130) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:541:30: ( '<' | '>' | '<=' | '>=' | '<>' | '=' | 'in' | 'is' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set708=input.LT(1); + if ( input.LA(1)==EQUAL||input.LA(1)==GE||input.LA(1)==GT||input.LA(1)==IN||input.LA(1)==IS||input.LA(1)==LE||input.LA(1)==LT||input.LA(1)==NOT_EQUAL ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set708)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 130, relOp_StartIndex); } + + } + return retval; + } + // $ANTLR end "relOp" + + + public static class statement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "statement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:554:1: statement : ( ifStatement | caseStatement | repeatStatement | whileStatement | forStatement | withStatement | tryStatement | raiseStatement | assemblerStatement | compoundStatement | label ':' statement | simpleStatement ); + public final DelphiParser.statement_return statement() throws RecognitionException { + DelphiParser.statement_return retval = new DelphiParser.statement_return(); + retval.start = input.LT(1); + int statement_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal720=null; + ParserRuleReturnScope ifStatement709 =null; + ParserRuleReturnScope caseStatement710 =null; + ParserRuleReturnScope repeatStatement711 =null; + ParserRuleReturnScope whileStatement712 =null; + ParserRuleReturnScope forStatement713 =null; + ParserRuleReturnScope withStatement714 =null; + ParserRuleReturnScope tryStatement715 =null; + ParserRuleReturnScope raiseStatement716 =null; + ParserRuleReturnScope assemblerStatement717 =null; + ParserRuleReturnScope compoundStatement718 =null; + ParserRuleReturnScope label719 =null; + ParserRuleReturnScope statement721 =null; + ParserRuleReturnScope simpleStatement722 =null; + + Object char_literal720_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 131) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:554:30: ( ifStatement | caseStatement | repeatStatement | whileStatement | forStatement | withStatement | tryStatement | raiseStatement | assemblerStatement | compoundStatement | label ':' statement | simpleStatement ) + int alt246=12; + switch ( input.LA(1) ) { + case IF: + { + alt246=1; + } + break; + case CASE: + { + alt246=2; + } + break; + case REPEAT: + { + alt246=3; + } + break; + case WHILE: + { + alt246=4; + } + break; + case FOR: + { + alt246=5; + } + break; + case WITH: + { + alt246=6; + } + break; + case TRY: + { + alt246=7; + } + break; + case RAISE: + { + alt246=8; + } + break; + case ASM: + { + alt246=9; + } + break; + case BEGIN: + { + alt246=10; + } + break; + case TkIdentifier: + { + int LA246_11 = input.LA(2); + if ( (LA246_11==COLON) ) { + int LA246_22 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_11==EOF||(LA246_11 >= ADD && LA246_11 <= ANSISTRING)||LA246_11==AS||(LA246_11 >= ASSIGN && LA246_11 <= AT2)||LA246_11==BREAK||LA246_11==COMMA||(LA246_11 >= CONTAINS && LA246_11 <= DEFAULT)||LA246_11==DISPID||LA246_11==DIV||(LA246_11 >= DOT && LA246_11 <= DOTDOT)||(LA246_11 >= DQ && LA246_11 <= DW)||(LA246_11 >= ELSE && LA246_11 <= EXIT)||LA246_11==EXPORT||LA246_11==FALSE||(LA246_11 >= FINAL && LA246_11 <= FINALLY)||(LA246_11 >= FUNCTION && LA246_11 <= GE)||(LA246_11 >= GT && LA246_11 <= HELPER)||(LA246_11 >= IMPLEMENTS && LA246_11 <= INHERITED)||LA246_11==IS||LA246_11==LBRACK||LA246_11==LE||(LA246_11 >= LOCAL && LA246_11 <= NAME)||LA246_11==NIL||(LA246_11 >= NOT && LA246_11 <= OBJECT)||(LA246_11 >= ON && LA246_11 <= OUT)||(LA246_11 >= PLUS && LA246_11 <= POINTER2)||LA246_11==PROCEDURE||LA246_11==QuotedString||(LA246_11 >= READ && LA246_11 <= READONLY)||(LA246_11 >= REFERENCE && LA246_11 <= REGISTER)||LA246_11==REMOVE||LA246_11==SEMI||(LA246_11 >= SHL && LA246_11 <= STATIC)||(LA246_11 >= STORED && LA246_11 <= STRING)||LA246_11==TRUE||(LA246_11 >= TkHexNum && LA246_11 <= TkIntNum)||LA246_11==TkRealNum||(LA246_11 >= UNSAFE && LA246_11 <= UNTIL)||(LA246_11 >= VARARGS && LA246_11 <= VIRTUAL)||(LA246_11 >= WRITE && LA246_11 <= WRITEONLY)||(LA246_11 >= XOR && LA246_11 <= 210)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 11, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case TkIntNum: + { + int LA246_12 = input.LA(2); + if ( (LA246_12==COLON) ) { + int LA246_23 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_12==AND||LA246_12==AS||LA246_12==COMMA||LA246_12==DIV||LA246_12==DOTDOT||LA246_12==EQUAL||LA246_12==GE||LA246_12==GT||LA246_12==IN||LA246_12==IS||LA246_12==LE||LA246_12==LT||(LA246_12 >= MINUS && LA246_12 <= MOD)||LA246_12==NOT_EQUAL||LA246_12==OR||LA246_12==PLUS||(LA246_12 >= SHL && LA246_12 <= STAR)||LA246_12==XOR||(LA246_12 >= 200 && LA246_12 <= 202)||(LA246_12 >= 204 && LA246_12 <= 208)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 12, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case TkHexNum: + { + int LA246_13 = input.LA(2); + if ( (LA246_13==COLON) ) { + int LA246_24 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_13==AND||LA246_13==AS||LA246_13==COMMA||LA246_13==DIV||LA246_13==DOTDOT||LA246_13==EQUAL||LA246_13==GE||LA246_13==GT||LA246_13==IN||LA246_13==IS||LA246_13==LE||LA246_13==LT||(LA246_13 >= MINUS && LA246_13 <= MOD)||LA246_13==NOT_EQUAL||LA246_13==OR||LA246_13==PLUS||(LA246_13 >= SHL && LA246_13 <= STAR)||LA246_13==XOR||(LA246_13 >= 200 && LA246_13 <= 202)||(LA246_13 >= 204 && LA246_13 <= 208)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 13, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case TRUE: + { + int LA246_14 = input.LA(2); + if ( (LA246_14==COLON) ) { + int LA246_25 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_14==EOF||(LA246_14 >= ADD && LA246_14 <= ANSISTRING)||LA246_14==AS||(LA246_14 >= ASSIGN && LA246_14 <= AT2)||LA246_14==BREAK||LA246_14==COMMA||(LA246_14 >= CONTAINS && LA246_14 <= DEFAULT)||LA246_14==DISPID||LA246_14==DIV||(LA246_14 >= DOT && LA246_14 <= DOTDOT)||(LA246_14 >= DQ && LA246_14 <= DW)||(LA246_14 >= ELSE && LA246_14 <= EXIT)||LA246_14==EXPORT||LA246_14==FALSE||(LA246_14 >= FINAL && LA246_14 <= FINALLY)||(LA246_14 >= FUNCTION && LA246_14 <= GE)||(LA246_14 >= GT && LA246_14 <= HELPER)||(LA246_14 >= IMPLEMENTS && LA246_14 <= INHERITED)||LA246_14==IS||LA246_14==LBRACK||LA246_14==LE||(LA246_14 >= LOCAL && LA246_14 <= NAME)||LA246_14==NIL||(LA246_14 >= NOT && LA246_14 <= OBJECT)||(LA246_14 >= ON && LA246_14 <= OUT)||(LA246_14 >= PLUS && LA246_14 <= POINTER2)||LA246_14==PROCEDURE||LA246_14==QuotedString||(LA246_14 >= READ && LA246_14 <= READONLY)||(LA246_14 >= REFERENCE && LA246_14 <= REGISTER)||LA246_14==REMOVE||LA246_14==SEMI||(LA246_14 >= SHL && LA246_14 <= STATIC)||(LA246_14 >= STORED && LA246_14 <= STRING)||LA246_14==TRUE||(LA246_14 >= TkHexNum && LA246_14 <= TkIntNum)||LA246_14==TkRealNum||(LA246_14 >= UNSAFE && LA246_14 <= UNTIL)||(LA246_14 >= VARARGS && LA246_14 <= VIRTUAL)||(LA246_14 >= WRITE && LA246_14 <= WRITEONLY)||(LA246_14 >= XOR && LA246_14 <= 210)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 14, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case EOF: + case AND: + case AS: + case ASSIGN: + case AT2: + case COLON: + case COMMA: + case ControlChar: + case DIV: + case DOT: + case DOTDOT: + case ELSE: + case END: + case EQUAL: + case EXCEPT: + case FINALIZATION: + case FINALLY: + case FUNCTION: + case GE: + case GOTO: + case GT: + case INHERITED: + case IS: + case LBRACK: + case LE: + case LPAREN: + case LT: + case MINUS: + case MOD: + case NIL: + case NOT: + case NOT_EQUAL: + case ON: + case OR: + case PLUS: + case POINTER2: + case PROCEDURE: + case QuotedString: + case SEMI: + case SHL: + case SHR: + case SLASH: + case STAR: + case TkRealNum: + case UNTIL: + case VAR: + case XOR: + case 198: + case 199: + case 200: + case 201: + case 202: + case 203: + case 204: + case 205: + case 206: + case 207: + case 208: + case 209: + case 210: + { + alt246=12; + } + break; + case FALSE: + { + int LA246_16 = input.LA(2); + if ( (LA246_16==COLON) ) { + int LA246_26 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_16==EOF||(LA246_16 >= ADD && LA246_16 <= ANSISTRING)||LA246_16==AS||(LA246_16 >= ASSIGN && LA246_16 <= AT2)||LA246_16==BREAK||LA246_16==COMMA||(LA246_16 >= CONTAINS && LA246_16 <= DEFAULT)||LA246_16==DISPID||LA246_16==DIV||(LA246_16 >= DOT && LA246_16 <= DOTDOT)||(LA246_16 >= DQ && LA246_16 <= DW)||(LA246_16 >= ELSE && LA246_16 <= EXIT)||LA246_16==EXPORT||LA246_16==FALSE||(LA246_16 >= FINAL && LA246_16 <= FINALLY)||(LA246_16 >= FUNCTION && LA246_16 <= GE)||(LA246_16 >= GT && LA246_16 <= HELPER)||(LA246_16 >= IMPLEMENTS && LA246_16 <= INHERITED)||LA246_16==IS||LA246_16==LBRACK||LA246_16==LE||(LA246_16 >= LOCAL && LA246_16 <= NAME)||LA246_16==NIL||(LA246_16 >= NOT && LA246_16 <= OBJECT)||(LA246_16 >= ON && LA246_16 <= OUT)||(LA246_16 >= PLUS && LA246_16 <= POINTER2)||LA246_16==PROCEDURE||LA246_16==QuotedString||(LA246_16 >= READ && LA246_16 <= READONLY)||(LA246_16 >= REFERENCE && LA246_16 <= REGISTER)||LA246_16==REMOVE||LA246_16==SEMI||(LA246_16 >= SHL && LA246_16 <= STATIC)||(LA246_16 >= STORED && LA246_16 <= STRING)||LA246_16==TRUE||(LA246_16 >= TkHexNum && LA246_16 <= TkIntNum)||LA246_16==TkRealNum||(LA246_16 >= UNSAFE && LA246_16 <= UNTIL)||(LA246_16 >= VARARGS && LA246_16 <= VIRTUAL)||(LA246_16 >= WRITE && LA246_16 <= WRITEONLY)||(LA246_16 >= XOR && LA246_16 <= 210)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 16, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case IN: + { + int LA246_17 = input.LA(2); + if ( (LA246_17==COLON) ) { + int LA246_27 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_17==EOF||(LA246_17 >= ADD && LA246_17 <= ANSISTRING)||LA246_17==AS||(LA246_17 >= ASSIGN && LA246_17 <= AT2)||LA246_17==BREAK||LA246_17==COMMA||(LA246_17 >= CONTAINS && LA246_17 <= DEFAULT)||LA246_17==DISPID||LA246_17==DIV||(LA246_17 >= DOT && LA246_17 <= DOTDOT)||(LA246_17 >= DQ && LA246_17 <= DW)||(LA246_17 >= ELSE && LA246_17 <= EXIT)||LA246_17==EXPORT||LA246_17==FALSE||(LA246_17 >= FINAL && LA246_17 <= FINALLY)||(LA246_17 >= FUNCTION && LA246_17 <= GE)||(LA246_17 >= GT && LA246_17 <= HELPER)||(LA246_17 >= IMPLEMENTS && LA246_17 <= INHERITED)||LA246_17==IS||LA246_17==LBRACK||LA246_17==LE||(LA246_17 >= LOCAL && LA246_17 <= NAME)||LA246_17==NIL||(LA246_17 >= NOT && LA246_17 <= OBJECT)||(LA246_17 >= ON && LA246_17 <= OUT)||(LA246_17 >= PLUS && LA246_17 <= POINTER2)||LA246_17==PROCEDURE||LA246_17==QuotedString||(LA246_17 >= READ && LA246_17 <= READONLY)||(LA246_17 >= REFERENCE && LA246_17 <= REGISTER)||LA246_17==REMOVE||LA246_17==SEMI||(LA246_17 >= SHL && LA246_17 <= STATIC)||(LA246_17 >= STORED && LA246_17 <= STRING)||LA246_17==TRUE||(LA246_17 >= TkHexNum && LA246_17 <= TkIntNum)||LA246_17==TkRealNum||(LA246_17 >= UNSAFE && LA246_17 <= UNTIL)||(LA246_17 >= VARARGS && LA246_17 <= VIRTUAL)||(LA246_17 >= WRITE && LA246_17 <= WRITEONLY)||(LA246_17 >= XOR && LA246_17 <= 210)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 17, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case EXIT: + { + int LA246_18 = input.LA(2); + if ( (LA246_18==COLON) ) { + int LA246_28 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_18==EOF||(LA246_18 >= ADD && LA246_18 <= ANSISTRING)||LA246_18==AS||(LA246_18 >= ASSIGN && LA246_18 <= AT2)||LA246_18==BREAK||LA246_18==COMMA||(LA246_18 >= CONTAINS && LA246_18 <= DEFAULT)||LA246_18==DISPID||LA246_18==DIV||(LA246_18 >= DOT && LA246_18 <= DOTDOT)||(LA246_18 >= DQ && LA246_18 <= DW)||(LA246_18 >= ELSE && LA246_18 <= EXIT)||LA246_18==EXPORT||LA246_18==FALSE||(LA246_18 >= FINAL && LA246_18 <= FINALLY)||(LA246_18 >= FUNCTION && LA246_18 <= GE)||(LA246_18 >= GT && LA246_18 <= HELPER)||(LA246_18 >= IMPLEMENTS && LA246_18 <= INHERITED)||LA246_18==IS||LA246_18==LBRACK||LA246_18==LE||(LA246_18 >= LOCAL && LA246_18 <= NAME)||LA246_18==NIL||(LA246_18 >= NOT && LA246_18 <= OBJECT)||(LA246_18 >= ON && LA246_18 <= OUT)||(LA246_18 >= PLUS && LA246_18 <= POINTER2)||LA246_18==PROCEDURE||LA246_18==QuotedString||(LA246_18 >= READ && LA246_18 <= READONLY)||(LA246_18 >= REFERENCE && LA246_18 <= REGISTER)||LA246_18==REMOVE||LA246_18==SEMI||(LA246_18 >= SHL && LA246_18 <= STATIC)||(LA246_18 >= STORED && LA246_18 <= STRING)||LA246_18==TRUE||(LA246_18 >= TkHexNum && LA246_18 <= TkIntNum)||LA246_18==TkRealNum||(LA246_18 >= UNSAFE && LA246_18 <= UNTIL)||(LA246_18 >= VARARGS && LA246_18 <= VIRTUAL)||(LA246_18 >= WRITE && LA246_18 <= WRITEONLY)||(LA246_18 >= XOR && LA246_18 <= 210)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 18, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case BREAK: + { + int LA246_19 = input.LA(2); + if ( (LA246_19==COLON) ) { + int LA246_29 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_19==EOF||(LA246_19 >= ADD && LA246_19 <= ANSISTRING)||LA246_19==AS||(LA246_19 >= ASSIGN && LA246_19 <= AT2)||LA246_19==BREAK||LA246_19==COMMA||(LA246_19 >= CONTAINS && LA246_19 <= DEFAULT)||LA246_19==DISPID||LA246_19==DIV||(LA246_19 >= DOT && LA246_19 <= DOTDOT)||(LA246_19 >= DQ && LA246_19 <= DW)||(LA246_19 >= ELSE && LA246_19 <= EXIT)||LA246_19==EXPORT||LA246_19==FALSE||(LA246_19 >= FINAL && LA246_19 <= FINALLY)||(LA246_19 >= FUNCTION && LA246_19 <= GE)||(LA246_19 >= GT && LA246_19 <= HELPER)||(LA246_19 >= IMPLEMENTS && LA246_19 <= INHERITED)||LA246_19==IS||LA246_19==LBRACK||LA246_19==LE||(LA246_19 >= LOCAL && LA246_19 <= NAME)||LA246_19==NIL||(LA246_19 >= NOT && LA246_19 <= OBJECT)||(LA246_19 >= ON && LA246_19 <= OUT)||(LA246_19 >= PLUS && LA246_19 <= POINTER2)||LA246_19==PROCEDURE||LA246_19==QuotedString||(LA246_19 >= READ && LA246_19 <= READONLY)||(LA246_19 >= REFERENCE && LA246_19 <= REGISTER)||LA246_19==REMOVE||LA246_19==SEMI||(LA246_19 >= SHL && LA246_19 <= STATIC)||(LA246_19 >= STORED && LA246_19 <= STRING)||LA246_19==TRUE||(LA246_19 >= TkHexNum && LA246_19 <= TkIntNum)||LA246_19==TkRealNum||(LA246_19 >= UNSAFE && LA246_19 <= UNTIL)||(LA246_19 >= VARARGS && LA246_19 <= VIRTUAL)||(LA246_19 >= WRITE && LA246_19 <= WRITEONLY)||(LA246_19 >= XOR && LA246_19 <= 210)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 19, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case CONTINUE: + { + int LA246_20 = input.LA(2); + if ( (LA246_20==COLON) ) { + int LA246_30 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_20==EOF||(LA246_20 >= ADD && LA246_20 <= ANSISTRING)||LA246_20==AS||(LA246_20 >= ASSIGN && LA246_20 <= AT2)||LA246_20==BREAK||LA246_20==COMMA||(LA246_20 >= CONTAINS && LA246_20 <= DEFAULT)||LA246_20==DISPID||LA246_20==DIV||(LA246_20 >= DOT && LA246_20 <= DOTDOT)||(LA246_20 >= DQ && LA246_20 <= DW)||(LA246_20 >= ELSE && LA246_20 <= EXIT)||LA246_20==EXPORT||LA246_20==FALSE||(LA246_20 >= FINAL && LA246_20 <= FINALLY)||(LA246_20 >= FUNCTION && LA246_20 <= GE)||(LA246_20 >= GT && LA246_20 <= HELPER)||(LA246_20 >= IMPLEMENTS && LA246_20 <= INHERITED)||LA246_20==IS||LA246_20==LBRACK||LA246_20==LE||(LA246_20 >= LOCAL && LA246_20 <= NAME)||LA246_20==NIL||(LA246_20 >= NOT && LA246_20 <= OBJECT)||(LA246_20 >= ON && LA246_20 <= OUT)||(LA246_20 >= PLUS && LA246_20 <= POINTER2)||LA246_20==PROCEDURE||LA246_20==QuotedString||(LA246_20 >= READ && LA246_20 <= READONLY)||(LA246_20 >= REFERENCE && LA246_20 <= REGISTER)||LA246_20==REMOVE||LA246_20==SEMI||(LA246_20 >= SHL && LA246_20 <= STATIC)||(LA246_20 >= STORED && LA246_20 <= STRING)||LA246_20==TRUE||(LA246_20 >= TkHexNum && LA246_20 <= TkIntNum)||LA246_20==TkRealNum||(LA246_20 >= UNSAFE && LA246_20 <= UNTIL)||(LA246_20 >= VARARGS && LA246_20 <= VIRTUAL)||(LA246_20 >= WRITE && LA246_20 <= WRITEONLY)||(LA246_20 >= XOR && LA246_20 <= 210)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 20, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case ADD: + case ANSISTRING: + case AT: + case CONTAINS: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA246_21 = input.LA(2); + if ( (LA246_21==COLON) ) { + int LA246_31 = input.LA(3); + if ( (synpred376_Delphi()) ) { + alt246=11; + } + else if ( (true) ) { + alt246=12; + } + + } + else if ( (LA246_21==EOF||(LA246_21 >= ADD && LA246_21 <= ANSISTRING)||LA246_21==AS||(LA246_21 >= ASSIGN && LA246_21 <= AT2)||LA246_21==BREAK||LA246_21==COMMA||(LA246_21 >= CONTAINS && LA246_21 <= DEFAULT)||LA246_21==DISPID||LA246_21==DIV||(LA246_21 >= DOT && LA246_21 <= DOTDOT)||(LA246_21 >= DQ && LA246_21 <= DW)||(LA246_21 >= ELSE && LA246_21 <= EXIT)||LA246_21==EXPORT||LA246_21==FALSE||(LA246_21 >= FINAL && LA246_21 <= FINALLY)||(LA246_21 >= FUNCTION && LA246_21 <= GE)||(LA246_21 >= GT && LA246_21 <= HELPER)||(LA246_21 >= IMPLEMENTS && LA246_21 <= INHERITED)||LA246_21==IS||LA246_21==LBRACK||LA246_21==LE||(LA246_21 >= LOCAL && LA246_21 <= NAME)||LA246_21==NIL||(LA246_21 >= NOT && LA246_21 <= OBJECT)||(LA246_21 >= ON && LA246_21 <= OUT)||(LA246_21 >= PLUS && LA246_21 <= POINTER2)||LA246_21==PROCEDURE||LA246_21==QuotedString||(LA246_21 >= READ && LA246_21 <= READONLY)||(LA246_21 >= REFERENCE && LA246_21 <= REGISTER)||LA246_21==REMOVE||LA246_21==SEMI||(LA246_21 >= SHL && LA246_21 <= STATIC)||(LA246_21 >= STORED && LA246_21 <= STRING)||LA246_21==TRUE||(LA246_21 >= TkHexNum && LA246_21 <= TkIntNum)||LA246_21==TkRealNum||(LA246_21 >= UNSAFE && LA246_21 <= UNTIL)||(LA246_21 >= VARARGS && LA246_21 <= VIRTUAL)||(LA246_21 >= WRITE && LA246_21 <= WRITEONLY)||(LA246_21 >= XOR && LA246_21 <= 210)) ) { + alt246=12; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 246, 21, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 246, 0, input); + throw nvae; + } + switch (alt246) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:554:32: ifStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_ifStatement_in_statement15343); + ifStatement709=ifStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ifStatement709.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:555:32: caseStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_caseStatement_in_statement15376); + caseStatement710=caseStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, caseStatement710.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:556:32: repeatStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_repeatStatement_in_statement15409); + repeatStatement711=repeatStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, repeatStatement711.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:557:32: whileStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_whileStatement_in_statement15442); + whileStatement712=whileStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, whileStatement712.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:558:32: forStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_forStatement_in_statement15475); + forStatement713=forStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, forStatement713.getTree()); + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:559:32: withStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_withStatement_in_statement15508); + withStatement714=withStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, withStatement714.getTree()); + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:560:32: tryStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_tryStatement_in_statement15541); + tryStatement715=tryStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, tryStatement715.getTree()); + + } + break; + case 8 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:561:32: raiseStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_raiseStatement_in_statement15574); + raiseStatement716=raiseStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, raiseStatement716.getTree()); + + } + break; + case 9 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:562:32: assemblerStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_assemblerStatement_in_statement15607); + assemblerStatement717=assemblerStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, assemblerStatement717.getTree()); + + } + break; + case 10 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:563:32: compoundStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_compoundStatement_in_statement15640); + compoundStatement718=compoundStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, compoundStatement718.getTree()); + + } + break; + case 11 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:564:32: label ':' statement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_label_in_statement15673); + label719=label(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, label719.getTree()); + + char_literal720=(Token)match(input,COLON,FOLLOW_COLON_in_statement15675); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal720_tree = (Object)adaptor.create(char_literal720); + adaptor.addChild(root_0, char_literal720_tree); + } + + pushFollow(FOLLOW_statement_in_statement15677); + statement721=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement721.getTree()); + + } + break; + case 12 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:565:32: simpleStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_simpleStatement_in_statement15710); + simpleStatement722=simpleStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, simpleStatement722.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 131, statement_StartIndex); } + + } + return retval; + } + // $ANTLR end "statement" + + + public static class ifStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "ifStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:567:1: ifStatement : 'if' expression 'then' statement ( 'else' statement )? ; + public final DelphiParser.ifStatement_return ifStatement() throws RecognitionException { + DelphiParser.ifStatement_return retval = new DelphiParser.ifStatement_return(); + retval.start = input.LT(1); + int ifStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal723=null; + Token string_literal725=null; + Token string_literal727=null; + ParserRuleReturnScope expression724 =null; + ParserRuleReturnScope statement726 =null; + ParserRuleReturnScope statement728 =null; + + Object string_literal723_tree=null; + Object string_literal725_tree=null; + Object string_literal727_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 132) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:567:30: ( 'if' expression 'then' statement ( 'else' statement )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:567:32: 'if' expression 'then' statement ( 'else' statement )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal723=(Token)match(input,IF,FOLLOW_IF_in_ifStatement15764); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal723_tree = (Object)adaptor.create(string_literal723); + adaptor.addChild(root_0, string_literal723_tree); + } + + pushFollow(FOLLOW_expression_in_ifStatement15766); + expression724=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression724.getTree()); + + string_literal725=(Token)match(input,THEN,FOLLOW_THEN_in_ifStatement15768); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal725_tree = (Object)adaptor.create(string_literal725); + adaptor.addChild(root_0, string_literal725_tree); + } + + pushFollow(FOLLOW_statement_in_ifStatement15770); + statement726=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement726.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:567:65: ( 'else' statement )? + int alt247=2; + int LA247_0 = input.LA(1); + if ( (LA247_0==ELSE) ) { + int LA247_1 = input.LA(2); + if ( (synpred377_Delphi()) ) { + alt247=1; + } + } + switch (alt247) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:567:66: 'else' statement + { + string_literal727=(Token)match(input,ELSE,FOLLOW_ELSE_in_ifStatement15773); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal727_tree = (Object)adaptor.create(string_literal727); + adaptor.addChild(root_0, string_literal727_tree); + } + + pushFollow(FOLLOW_statement_in_ifStatement15775); + statement728=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement728.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 132, ifStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "ifStatement" + + + public static class caseStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "caseStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:569:1: caseStatement : 'case' expression 'of' ( caseItem )* ( 'else' statementList ( ';' )? )? 'end' ; + public final DelphiParser.caseStatement_return caseStatement() throws RecognitionException { + DelphiParser.caseStatement_return retval = new DelphiParser.caseStatement_return(); + retval.start = input.LT(1); + int caseStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal729=null; + Token string_literal731=null; + Token string_literal733=null; + Token char_literal735=null; + Token string_literal736=null; + ParserRuleReturnScope expression730 =null; + ParserRuleReturnScope caseItem732 =null; + ParserRuleReturnScope statementList734 =null; + + Object string_literal729_tree=null; + Object string_literal731_tree=null; + Object string_literal733_tree=null; + Object char_literal735_tree=null; + Object string_literal736_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 133) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:569:30: ( 'case' expression 'of' ( caseItem )* ( 'else' statementList ( ';' )? )? 'end' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:569:32: 'case' expression 'of' ( caseItem )* ( 'else' statementList ( ';' )? )? 'end' + { + root_0 = (Object)adaptor.nil(); + + + string_literal729=(Token)match(input,CASE,FOLLOW_CASE_in_caseStatement15829); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal729_tree = (Object)adaptor.create(string_literal729); + adaptor.addChild(root_0, string_literal729_tree); + } + + pushFollow(FOLLOW_expression_in_caseStatement15831); + expression730=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression730.getTree()); + + string_literal731=(Token)match(input,OF,FOLLOW_OF_in_caseStatement15833); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal731_tree = (Object)adaptor.create(string_literal731); + adaptor.addChild(root_0, string_literal731_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:569:55: ( caseItem )* + loop248: + while (true) { + int alt248=2; + int LA248_0 = input.LA(1); + if ( ((LA248_0 >= ADD && LA248_0 <= ANSISTRING)||LA248_0==AS||(LA248_0 >= AT && LA248_0 <= AT2)||LA248_0==BREAK||(LA248_0 >= COLON && LA248_0 <= COMMA)||(LA248_0 >= CONTAINS && LA248_0 <= DEFAULT)||LA248_0==DISPID||LA248_0==DIV||(LA248_0 >= DOT && LA248_0 <= DOTDOT)||(LA248_0 >= DQ && LA248_0 <= DW)||LA248_0==EQUAL||LA248_0==EXIT||LA248_0==EXPORT||LA248_0==FALSE||LA248_0==FINAL||(LA248_0 >= FUNCTION && LA248_0 <= GE)||(LA248_0 >= GT && LA248_0 <= HELPER)||(LA248_0 >= IMPLEMENTS && LA248_0 <= INHERITED)||LA248_0==IS||LA248_0==LBRACK||LA248_0==LE||(LA248_0 >= LOCAL && LA248_0 <= NAME)||LA248_0==NIL||(LA248_0 >= NOT && LA248_0 <= OBJECT)||(LA248_0 >= OPERATOR && LA248_0 <= OUT)||(LA248_0 >= PLUS && LA248_0 <= POINTER2)||LA248_0==PROCEDURE||LA248_0==QuotedString||(LA248_0 >= READ && LA248_0 <= READONLY)||(LA248_0 >= REFERENCE && LA248_0 <= REGISTER)||LA248_0==REMOVE||(LA248_0 >= SHL && LA248_0 <= STATIC)||(LA248_0 >= STORED && LA248_0 <= STRING)||LA248_0==TRUE||(LA248_0 >= TkHexNum && LA248_0 <= TkIntNum)||LA248_0==TkRealNum||LA248_0==UNSAFE||(LA248_0 >= VARARGS && LA248_0 <= VIRTUAL)||(LA248_0 >= WRITE && LA248_0 <= WRITEONLY)||(LA248_0 >= XOR && LA248_0 <= 210)) ) { + alt248=1; + } + + switch (alt248) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:569:56: caseItem + { + pushFollow(FOLLOW_caseItem_in_caseStatement15836); + caseItem732=caseItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, caseItem732.getTree()); + + } + break; + + default : + break loop248; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:569:67: ( 'else' statementList ( ';' )? )? + int alt250=2; + int LA250_0 = input.LA(1); + if ( (LA250_0==ELSE) ) { + alt250=1; + } + switch (alt250) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:569:68: 'else' statementList ( ';' )? + { + string_literal733=(Token)match(input,ELSE,FOLLOW_ELSE_in_caseStatement15841); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal733_tree = (Object)adaptor.create(string_literal733); + adaptor.addChild(root_0, string_literal733_tree); + } + + pushFollow(FOLLOW_statementList_in_caseStatement15843); + statementList734=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList734.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:569:89: ( ';' )? + int alt249=2; + int LA249_0 = input.LA(1); + if ( (LA249_0==SEMI) ) { + alt249=1; + } + switch (alt249) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:569:90: ';' + { + char_literal735=(Token)match(input,SEMI,FOLLOW_SEMI_in_caseStatement15846); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal735_tree = (Object)adaptor.create(char_literal735); + adaptor.addChild(root_0, char_literal735_tree); + } + + } + break; + + } + + } + break; + + } + + string_literal736=(Token)match(input,END,FOLLOW_END_in_caseStatement15852); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal736_tree = (Object)adaptor.create(string_literal736); + adaptor.addChild(root_0, string_literal736_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 133, caseStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "caseStatement" + + + public static class caseItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "caseItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:1: caseItem : caseLabel ( ',' caseLabel )* ':' statement ( ';' )? ; + public final DelphiParser.caseItem_return caseItem() throws RecognitionException { + DelphiParser.caseItem_return retval = new DelphiParser.caseItem_return(); + retval.start = input.LT(1); + int caseItem_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal738=null; + Token char_literal740=null; + Token char_literal742=null; + ParserRuleReturnScope caseLabel737 =null; + ParserRuleReturnScope caseLabel739 =null; + ParserRuleReturnScope statement741 =null; + + Object char_literal738_tree=null; + Object char_literal740_tree=null; + Object char_literal742_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 134) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:30: ( caseLabel ( ',' caseLabel )* ':' statement ( ';' )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:32: caseLabel ( ',' caseLabel )* ':' statement ( ';' )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_caseLabel_in_caseItem15909); + caseLabel737=caseLabel(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, caseLabel737.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:42: ( ',' caseLabel )* + loop251: + while (true) { + int alt251=2; + int LA251_0 = input.LA(1); + if ( (LA251_0==COMMA) ) { + alt251=1; + } + + switch (alt251) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:43: ',' caseLabel + { + char_literal738=(Token)match(input,COMMA,FOLLOW_COMMA_in_caseItem15912); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal738_tree = (Object)adaptor.create(char_literal738); + adaptor.addChild(root_0, char_literal738_tree); + } + + pushFollow(FOLLOW_caseLabel_in_caseItem15914); + caseLabel739=caseLabel(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, caseLabel739.getTree()); + + } + break; + + default : + break loop251; + } + } + + char_literal740=(Token)match(input,COLON,FOLLOW_COLON_in_caseItem15918); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal740_tree = (Object)adaptor.create(char_literal740); + adaptor.addChild(root_0, char_literal740_tree); + } + + pushFollow(FOLLOW_statement_in_caseItem15920); + statement741=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement741.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:73: ( ';' )? + int alt252=2; + int LA252_0 = input.LA(1); + if ( (LA252_0==SEMI) ) { + alt252=1; + } + switch (alt252) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:571:74: ';' + { + char_literal742=(Token)match(input,SEMI,FOLLOW_SEMI_in_caseItem15923); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal742_tree = (Object)adaptor.create(char_literal742); + adaptor.addChild(root_0, char_literal742_tree); + } + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 134, caseItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "caseItem" + + + public static class caseLabel_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "caseLabel" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:573:1: caseLabel : expression ( '..' expression )? ; + public final DelphiParser.caseLabel_return caseLabel() throws RecognitionException { + DelphiParser.caseLabel_return retval = new DelphiParser.caseLabel_return(); + retval.start = input.LT(1); + int caseLabel_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal744=null; + ParserRuleReturnScope expression743 =null; + ParserRuleReturnScope expression745 =null; + + Object string_literal744_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 135) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:573:30: ( expression ( '..' expression )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:573:32: expression ( '..' expression )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_expression_in_caseLabel15982); + expression743=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression743.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:573:43: ( '..' expression )? + int alt253=2; + int LA253_0 = input.LA(1); + if ( (LA253_0==DOTDOT) ) { + alt253=1; + } + switch (alt253) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:573:44: '..' expression + { + string_literal744=(Token)match(input,DOTDOT,FOLLOW_DOTDOT_in_caseLabel15985); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal744_tree = (Object)adaptor.create(string_literal744); + adaptor.addChild(root_0, string_literal744_tree); + } + + pushFollow(FOLLOW_expression_in_caseLabel15987); + expression745=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression745.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 135, caseLabel_StartIndex); } + + } + return retval; + } + // $ANTLR end "caseLabel" + + + public static class repeatStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "repeatStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:1: repeatStatement : 'repeat' ( statementList )? 'until' expression ; + public final DelphiParser.repeatStatement_return repeatStatement() throws RecognitionException { + DelphiParser.repeatStatement_return retval = new DelphiParser.repeatStatement_return(); + retval.start = input.LT(1); + int repeatStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal746=null; + Token string_literal748=null; + ParserRuleReturnScope statementList747 =null; + ParserRuleReturnScope expression749 =null; + + Object string_literal746_tree=null; + Object string_literal748_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 136) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:30: ( 'repeat' ( statementList )? 'until' expression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:32: 'repeat' ( statementList )? 'until' expression + { + root_0 = (Object)adaptor.nil(); + + + string_literal746=(Token)match(input,REPEAT,FOLLOW_REPEAT_in_repeatStatement16039); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal746_tree = (Object)adaptor.create(string_literal746); + adaptor.addChild(root_0, string_literal746_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:41: ( statementList )? + int alt254=2; + int LA254_0 = input.LA(1); + if ( (LA254_0==ADD||LA254_0==ANSISTRING||LA254_0==ASM||(LA254_0 >= ASSIGN && LA254_0 <= AT2)||(LA254_0 >= BEGIN && LA254_0 <= CASE)||(LA254_0 >= CONTAINS && LA254_0 <= CONTINUE)||LA254_0==DEFAULT||LA254_0==DISPID||LA254_0==DOT||(LA254_0 >= DQ && LA254_0 <= DW)||LA254_0==EXIT||LA254_0==EXPORT||LA254_0==FALSE||LA254_0==FINAL||LA254_0==FOR||LA254_0==GOTO||LA254_0==HELPER||LA254_0==IF||(LA254_0 >= IMPLEMENTS && LA254_0 <= INHERITED)||LA254_0==LBRACK||(LA254_0 >= LOCAL && LA254_0 <= MESSAGE)||LA254_0==NAME||LA254_0==OBJECT||LA254_0==OPERATOR||LA254_0==OUT||(LA254_0 >= POINTER && LA254_0 <= POINTER2)||LA254_0==RAISE||(LA254_0 >= READ && LA254_0 <= READONLY)||(LA254_0 >= REFERENCE && LA254_0 <= REGISTER)||(LA254_0 >= REMOVE && LA254_0 <= REPEAT)||LA254_0==SEMI||LA254_0==STATIC||(LA254_0 >= STORED && LA254_0 <= STRING)||(LA254_0 >= TRUE && LA254_0 <= TRY)||(LA254_0 >= TkHexNum && LA254_0 <= TkIntNum)||LA254_0==UNSAFE||(LA254_0 >= VAR && LA254_0 <= WRITEONLY)||LA254_0==198||LA254_0==203||LA254_0==209) ) { + alt254=1; + } + else if ( (LA254_0==UNTIL) ) { + int LA254_2 = input.LA(2); + if ( (synpred384_Delphi()) ) { + alt254=1; + } + } + switch (alt254) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:42: statementList + { + pushFollow(FOLLOW_statementList_in_repeatStatement16042); + statementList747=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList747.getTree()); + + } + break; + + } + + string_literal748=(Token)match(input,UNTIL,FOLLOW_UNTIL_in_repeatStatement16046); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal748_tree = (Object)adaptor.create(string_literal748); + adaptor.addChild(root_0, string_literal748_tree); + } + + pushFollow(FOLLOW_expression_in_repeatStatement16048); + expression749=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression749.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 136, repeatStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "repeatStatement" + + + public static class whileStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "whileStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:577:1: whileStatement : 'while' expression 'do' statement ; + public final DelphiParser.whileStatement_return whileStatement() throws RecognitionException { + DelphiParser.whileStatement_return retval = new DelphiParser.whileStatement_return(); + retval.start = input.LT(1); + int whileStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal750=null; + Token string_literal752=null; + ParserRuleReturnScope expression751 =null; + ParserRuleReturnScope statement753 =null; + + Object string_literal750_tree=null; + Object string_literal752_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 137) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:577:30: ( 'while' expression 'do' statement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:577:32: 'while' expression 'do' statement + { + root_0 = (Object)adaptor.nil(); + + + string_literal750=(Token)match(input,WHILE,FOLLOW_WHILE_in_whileStatement16099); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal750_tree = (Object)adaptor.create(string_literal750); + adaptor.addChild(root_0, string_literal750_tree); + } + + pushFollow(FOLLOW_expression_in_whileStatement16101); + expression751=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression751.getTree()); + + string_literal752=(Token)match(input,DO,FOLLOW_DO_in_whileStatement16103); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal752_tree = (Object)adaptor.create(string_literal752); + adaptor.addChild(root_0, string_literal752_tree); + } + + pushFollow(FOLLOW_statement_in_whileStatement16105); + statement753=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement753.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 137, whileStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "whileStatement" + + + public static class forStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "forStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:579:1: forStatement : ( 'for' ( 'var' )? designator ':=' expression 'to' expression 'do' statement | 'for' ( 'var' )? designator ':=' expression 'downto' expression 'do' statement | 'for' ( 'var' )? designator 'in' expression 'do' statement ); + public final DelphiParser.forStatement_return forStatement() throws RecognitionException { + DelphiParser.forStatement_return retval = new DelphiParser.forStatement_return(); + retval.start = input.LT(1); + int forStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal754=null; + Token string_literal755=null; + Token string_literal757=null; + Token string_literal759=null; + Token string_literal761=null; + Token string_literal763=null; + Token string_literal764=null; + Token string_literal766=null; + Token string_literal768=null; + Token string_literal770=null; + Token string_literal772=null; + Token string_literal773=null; + Token string_literal775=null; + Token string_literal777=null; + ParserRuleReturnScope designator756 =null; + ParserRuleReturnScope expression758 =null; + ParserRuleReturnScope expression760 =null; + ParserRuleReturnScope statement762 =null; + ParserRuleReturnScope designator765 =null; + ParserRuleReturnScope expression767 =null; + ParserRuleReturnScope expression769 =null; + ParserRuleReturnScope statement771 =null; + ParserRuleReturnScope designator774 =null; + ParserRuleReturnScope expression776 =null; + ParserRuleReturnScope statement778 =null; + + Object string_literal754_tree=null; + Object string_literal755_tree=null; + Object string_literal757_tree=null; + Object string_literal759_tree=null; + Object string_literal761_tree=null; + Object string_literal763_tree=null; + Object string_literal764_tree=null; + Object string_literal766_tree=null; + Object string_literal768_tree=null; + Object string_literal770_tree=null; + Object string_literal772_tree=null; + Object string_literal773_tree=null; + Object string_literal775_tree=null; + Object string_literal777_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 138) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:579:30: ( 'for' ( 'var' )? designator ':=' expression 'to' expression 'do' statement | 'for' ( 'var' )? designator ':=' expression 'downto' expression 'do' statement | 'for' ( 'var' )? designator 'in' expression 'do' statement ) + int alt258=3; + int LA258_0 = input.LA(1); + if ( (LA258_0==FOR) ) { + int LA258_1 = input.LA(2); + if ( (synpred386_Delphi()) ) { + alt258=1; + } + else if ( (synpred388_Delphi()) ) { + alt258=2; + } + else if ( (true) ) { + alt258=3; + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 258, 0, input); + throw nvae; + } + + switch (alt258) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:579:32: 'for' ( 'var' )? designator ':=' expression 'to' expression 'do' statement + { + root_0 = (Object)adaptor.nil(); + + + string_literal754=(Token)match(input,FOR,FOLLOW_FOR_in_forStatement16158); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal754_tree = (Object)adaptor.create(string_literal754); + adaptor.addChild(root_0, string_literal754_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:579:38: ( 'var' )? + int alt255=2; + int LA255_0 = input.LA(1); + if ( (LA255_0==VAR) ) { + alt255=1; + } + switch (alt255) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:579:39: 'var' + { + string_literal755=(Token)match(input,VAR,FOLLOW_VAR_in_forStatement16161); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal755_tree = (Object)adaptor.create(string_literal755); + adaptor.addChild(root_0, string_literal755_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_designator_in_forStatement16165); + designator756=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator756.getTree()); + + string_literal757=(Token)match(input,ASSIGN,FOLLOW_ASSIGN_in_forStatement16167); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal757_tree = (Object)adaptor.create(string_literal757); + adaptor.addChild(root_0, string_literal757_tree); + } + + pushFollow(FOLLOW_expression_in_forStatement16169); + expression758=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression758.getTree()); + + string_literal759=(Token)match(input,TO,FOLLOW_TO_in_forStatement16171); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal759_tree = (Object)adaptor.create(string_literal759); + adaptor.addChild(root_0, string_literal759_tree); + } + + pushFollow(FOLLOW_expression_in_forStatement16173); + expression760=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression760.getTree()); + + string_literal761=(Token)match(input,DO,FOLLOW_DO_in_forStatement16175); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal761_tree = (Object)adaptor.create(string_literal761); + adaptor.addChild(root_0, string_literal761_tree); + } + + pushFollow(FOLLOW_statement_in_forStatement16177); + statement762=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement762.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:580:32: 'for' ( 'var' )? designator ':=' expression 'downto' expression 'do' statement + { + root_0 = (Object)adaptor.nil(); + + + string_literal763=(Token)match(input,FOR,FOLLOW_FOR_in_forStatement16210); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal763_tree = (Object)adaptor.create(string_literal763); + adaptor.addChild(root_0, string_literal763_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:580:38: ( 'var' )? + int alt256=2; + int LA256_0 = input.LA(1); + if ( (LA256_0==VAR) ) { + alt256=1; + } + switch (alt256) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:580:39: 'var' + { + string_literal764=(Token)match(input,VAR,FOLLOW_VAR_in_forStatement16213); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal764_tree = (Object)adaptor.create(string_literal764); + adaptor.addChild(root_0, string_literal764_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_designator_in_forStatement16217); + designator765=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator765.getTree()); + + string_literal766=(Token)match(input,ASSIGN,FOLLOW_ASSIGN_in_forStatement16219); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal766_tree = (Object)adaptor.create(string_literal766); + adaptor.addChild(root_0, string_literal766_tree); + } + + pushFollow(FOLLOW_expression_in_forStatement16221); + expression767=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression767.getTree()); + + string_literal768=(Token)match(input,DOWNTO,FOLLOW_DOWNTO_in_forStatement16223); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal768_tree = (Object)adaptor.create(string_literal768); + adaptor.addChild(root_0, string_literal768_tree); + } + + pushFollow(FOLLOW_expression_in_forStatement16225); + expression769=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression769.getTree()); + + string_literal770=(Token)match(input,DO,FOLLOW_DO_in_forStatement16227); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal770_tree = (Object)adaptor.create(string_literal770); + adaptor.addChild(root_0, string_literal770_tree); + } + + pushFollow(FOLLOW_statement_in_forStatement16229); + statement771=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement771.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:581:32: 'for' ( 'var' )? designator 'in' expression 'do' statement + { + root_0 = (Object)adaptor.nil(); + + + string_literal772=(Token)match(input,FOR,FOLLOW_FOR_in_forStatement16262); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal772_tree = (Object)adaptor.create(string_literal772); + adaptor.addChild(root_0, string_literal772_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:581:38: ( 'var' )? + int alt257=2; + int LA257_0 = input.LA(1); + if ( (LA257_0==VAR) ) { + alt257=1; + } + switch (alt257) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:581:39: 'var' + { + string_literal773=(Token)match(input,VAR,FOLLOW_VAR_in_forStatement16265); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal773_tree = (Object)adaptor.create(string_literal773); + adaptor.addChild(root_0, string_literal773_tree); + } + + } + break; + + } + + pushFollow(FOLLOW_designator_in_forStatement16269); + designator774=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator774.getTree()); + + string_literal775=(Token)match(input,IN,FOLLOW_IN_in_forStatement16271); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal775_tree = (Object)adaptor.create(string_literal775); + adaptor.addChild(root_0, string_literal775_tree); + } + + pushFollow(FOLLOW_expression_in_forStatement16273); + expression776=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression776.getTree()); + + string_literal777=(Token)match(input,DO,FOLLOW_DO_in_forStatement16275); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal777_tree = (Object)adaptor.create(string_literal777); + adaptor.addChild(root_0, string_literal777_tree); + } + + pushFollow(FOLLOW_statement_in_forStatement16277); + statement778=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement778.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 138, forStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "forStatement" + + + public static class withStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "withStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:1: withStatement : 'with' withItemList 'do' statement ; + public final DelphiParser.withStatement_return withStatement() throws RecognitionException { + DelphiParser.withStatement_return retval = new DelphiParser.withStatement_return(); + retval.start = input.LT(1); + int withStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal779=null; + Token string_literal781=null; + ParserRuleReturnScope withItemList780 =null; + ParserRuleReturnScope statement782 =null; + + Object string_literal779_tree=null; + Object string_literal781_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 139) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:30: ( 'with' withItemList 'do' statement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:583:32: 'with' withItemList 'do' statement + { + root_0 = (Object)adaptor.nil(); + + + string_literal779=(Token)match(input,WITH,FOLLOW_WITH_in_withStatement16329); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal779_tree = (Object)adaptor.create(string_literal779); + adaptor.addChild(root_0, string_literal779_tree); + } + + pushFollow(FOLLOW_withItemList_in_withStatement16331); + withItemList780=withItemList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, withItemList780.getTree()); + + string_literal781=(Token)match(input,DO,FOLLOW_DO_in_withStatement16333); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal781_tree = (Object)adaptor.create(string_literal781); + adaptor.addChild(root_0, string_literal781_tree); + } + + pushFollow(FOLLOW_statement_in_withStatement16335); + statement782=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement782.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 139, withStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "withStatement" + + + public static class withItemList_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "withItemList" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:585:1: withItemList : withItem ( ',' withItem )* ; + public final DelphiParser.withItemList_return withItemList() throws RecognitionException { + DelphiParser.withItemList_return retval = new DelphiParser.withItemList_return(); + retval.start = input.LT(1); + int withItemList_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal784=null; + ParserRuleReturnScope withItem783 =null; + ParserRuleReturnScope withItem785 =null; + + Object char_literal784_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 140) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:585:30: ( withItem ( ',' withItem )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:585:32: withItem ( ',' withItem )* + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_withItem_in_withItemList16388); + withItem783=withItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, withItem783.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:585:41: ( ',' withItem )* + loop259: + while (true) { + int alt259=2; + int LA259_0 = input.LA(1); + if ( (LA259_0==COMMA) ) { + alt259=1; + } + + switch (alt259) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:585:42: ',' withItem + { + char_literal784=(Token)match(input,COMMA,FOLLOW_COMMA_in_withItemList16391); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal784_tree = (Object)adaptor.create(char_literal784); + adaptor.addChild(root_0, char_literal784_tree); + } + + pushFollow(FOLLOW_withItem_in_withItemList16393); + withItem785=withItem(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, withItem785.getTree()); + + } + break; + + default : + break loop259; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 140, withItemList_StartIndex); } + + } + return retval; + } + // $ANTLR end "withItemList" + + + public static class withItem_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "withItem" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:587:1: withItem : designator ( 'as' designator )? ; + public final DelphiParser.withItem_return withItem() throws RecognitionException { + DelphiParser.withItem_return retval = new DelphiParser.withItem_return(); + retval.start = input.LT(1); + int withItem_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal787=null; + ParserRuleReturnScope designator786 =null; + ParserRuleReturnScope designator788 =null; + + Object string_literal787_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 141) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:587:30: ( designator ( 'as' designator )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:587:32: designator ( 'as' designator )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_designator_in_withItem16452); + designator786=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator786.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:587:43: ( 'as' designator )? + int alt260=2; + int LA260_0 = input.LA(1); + if ( (LA260_0==AS) ) { + alt260=1; + } + switch (alt260) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:587:44: 'as' designator + { + string_literal787=(Token)match(input,AS,FOLLOW_AS_in_withItem16455); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal787_tree = (Object)adaptor.create(string_literal787); + adaptor.addChild(root_0, string_literal787_tree); + } + + pushFollow(FOLLOW_designator_in_withItem16457); + designator788=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator788.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 141, withItem_StartIndex); } + + } + return retval; + } + // $ANTLR end "withItem" + + + public static class compoundStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "compoundStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:589:1: compoundStatement : 'begin' ( statementList )? 'end' -> ^( 'begin' ( statementList )? 'end' ) ; + public final DelphiParser.compoundStatement_return compoundStatement() throws RecognitionException { + DelphiParser.compoundStatement_return retval = new DelphiParser.compoundStatement_return(); + retval.start = input.LT(1); + int compoundStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal789=null; + Token string_literal791=null; + ParserRuleReturnScope statementList790 =null; + + Object string_literal789_tree=null; + Object string_literal791_tree=null; + RewriteRuleTokenStream stream_END=new RewriteRuleTokenStream(adaptor,"token END"); + RewriteRuleTokenStream stream_BEGIN=new RewriteRuleTokenStream(adaptor,"token BEGIN"); + RewriteRuleSubtreeStream stream_statementList=new RewriteRuleSubtreeStream(adaptor,"rule statementList"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 142) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:589:30: ( 'begin' ( statementList )? 'end' -> ^( 'begin' ( statementList )? 'end' ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:589:32: 'begin' ( statementList )? 'end' + { + string_literal789=(Token)match(input,BEGIN,FOLLOW_BEGIN_in_compoundStatement16507); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_BEGIN.add(string_literal789); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:589:40: ( statementList )? + int alt261=2; + int LA261_0 = input.LA(1); + if ( (LA261_0==ADD||LA261_0==ANSISTRING||LA261_0==ASM||(LA261_0 >= ASSIGN && LA261_0 <= AT2)||(LA261_0 >= BEGIN && LA261_0 <= CASE)||(LA261_0 >= CONTAINS && LA261_0 <= CONTINUE)||LA261_0==DEFAULT||LA261_0==DISPID||LA261_0==DOT||(LA261_0 >= DQ && LA261_0 <= DW)||LA261_0==EXIT||LA261_0==EXPORT||LA261_0==FALSE||LA261_0==FINAL||LA261_0==FOR||LA261_0==GOTO||LA261_0==HELPER||LA261_0==IF||(LA261_0 >= IMPLEMENTS && LA261_0 <= INHERITED)||LA261_0==LBRACK||(LA261_0 >= LOCAL && LA261_0 <= MESSAGE)||LA261_0==NAME||LA261_0==OBJECT||LA261_0==OPERATOR||LA261_0==OUT||(LA261_0 >= POINTER && LA261_0 <= POINTER2)||LA261_0==RAISE||(LA261_0 >= READ && LA261_0 <= READONLY)||(LA261_0 >= REFERENCE && LA261_0 <= REGISTER)||(LA261_0 >= REMOVE && LA261_0 <= REPEAT)||LA261_0==SEMI||LA261_0==STATIC||(LA261_0 >= STORED && LA261_0 <= STRING)||(LA261_0 >= TRUE && LA261_0 <= TRY)||(LA261_0 >= TkHexNum && LA261_0 <= TkIntNum)||LA261_0==UNSAFE||(LA261_0 >= VAR && LA261_0 <= WRITEONLY)||LA261_0==198||LA261_0==203||LA261_0==209) ) { + alt261=1; + } + else if ( (LA261_0==END) ) { + int LA261_2 = input.LA(2); + if ( (synpred392_Delphi()) ) { + alt261=1; + } + } + switch (alt261) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:589:41: statementList + { + pushFollow(FOLLOW_statementList_in_compoundStatement16510); + statementList790=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_statementList.add(statementList790.getTree()); + } + break; + + } + + string_literal791=(Token)match(input,END,FOLLOW_END_in_compoundStatement16514); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_END.add(string_literal791); + + // AST REWRITE + // elements: BEGIN, END, statementList + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 589:63: -> ^( 'begin' ( statementList )? 'end' ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:589:66: ^( 'begin' ( statementList )? 'end' ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_BEGIN.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:589:76: ( statementList )? + if ( stream_statementList.hasNext() ) { + adaptor.addChild(root_1, stream_statementList.nextTree()); + } + stream_statementList.reset(); + + adaptor.addChild(root_1, stream_END.nextNode()); + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 142, compoundStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "compoundStatement" + + + public static class statementList_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "statementList" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:1: statementList : ( statement )? ( ';' ( statement )? )* ; + public final DelphiParser.statementList_return statementList() throws RecognitionException { + DelphiParser.statementList_return retval = new DelphiParser.statementList_return(); + retval.start = input.LT(1); + int statementList_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal793=null; + ParserRuleReturnScope statement792 =null; + ParserRuleReturnScope statement794 =null; + + Object char_literal793_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 143) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:30: ( ( statement )? ( ';' ( statement )? )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:32: ( statement )? ( ';' ( statement )? )* + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:32: ( statement )? + int alt262=2; + switch ( input.LA(1) ) { + case ADD: + case ANSISTRING: + case ASM: + case ASSIGN: + case AT: + case AT2: + case BEGIN: + case BREAK: + case CASE: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DOT: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case FOR: + case GOTO: + case HELPER: + case IF: + case IMPLEMENTS: + case IN: + case INDEX: + case INHERITED: + case LBRACK: + case LOCAL: + case LPAREN: + case LT: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case POINTER2: + case RAISE: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case REPEAT: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case TRY: + case TkHexNum: + case TkIdentifier: + case TkIntNum: + case UNSAFE: + case VAR: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WHILE: + case WITH: + case WRITE: + case WRITEONLY: + case 198: + case 203: + case 209: + { + alt262=1; + } + break; + case SEMI: + { + int LA262_2 = input.LA(2); + if ( (synpred393_Delphi()) ) { + alt262=1; + } + } + break; + case FINALIZATION: + { + int LA262_3 = input.LA(2); + if ( (synpred393_Delphi()) ) { + alt262=1; + } + } + break; + case END: + { + int LA262_4 = input.LA(2); + if ( (synpred393_Delphi()) ) { + alt262=1; + } + } + break; + case EOF: + { + int LA262_5 = input.LA(2); + if ( (synpred393_Delphi()) ) { + alt262=1; + } + } + break; + case UNTIL: + { + int LA262_6 = input.LA(2); + if ( (synpred393_Delphi()) ) { + alt262=1; + } + } + break; + case EXCEPT: + { + int LA262_7 = input.LA(2); + if ( (synpred393_Delphi()) ) { + alt262=1; + } + } + break; + case FINALLY: + { + int LA262_8 = input.LA(2); + if ( (synpred393_Delphi()) ) { + alt262=1; + } + } + break; + } + switch (alt262) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:33: statement + { + pushFollow(FOLLOW_statement_in_statementList16580); + statement792=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement792.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:45: ( ';' ( statement )? )* + loop264: + while (true) { + int alt264=2; + int LA264_0 = input.LA(1); + if ( (LA264_0==SEMI) ) { + int LA264_2 = input.LA(2); + if ( (synpred395_Delphi()) ) { + alt264=1; + } + + } + + switch (alt264) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:46: ';' ( statement )? + { + char_literal793=(Token)match(input,SEMI,FOLLOW_SEMI_in_statementList16585); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal793_tree = (Object)adaptor.create(char_literal793); + adaptor.addChild(root_0, char_literal793_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:50: ( statement )? + int alt263=2; + switch ( input.LA(1) ) { + case ADD: + case ANSISTRING: + case ASM: + case ASSIGN: + case AT: + case AT2: + case BEGIN: + case BREAK: + case CASE: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DOT: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case FOR: + case GOTO: + case HELPER: + case IF: + case IMPLEMENTS: + case IN: + case INDEX: + case INHERITED: + case LBRACK: + case LOCAL: + case LPAREN: + case LT: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case POINTER2: + case RAISE: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case REPEAT: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case TRY: + case TkHexNum: + case TkIdentifier: + case TkIntNum: + case UNSAFE: + case VAR: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WHILE: + case WITH: + case WRITE: + case WRITEONLY: + case 198: + case 203: + case 209: + { + alt263=1; + } + break; + case FINALIZATION: + { + int LA263_2 = input.LA(2); + if ( (synpred394_Delphi()) ) { + alt263=1; + } + } + break; + case END: + { + int LA263_3 = input.LA(2); + if ( (synpred394_Delphi()) ) { + alt263=1; + } + } + break; + case EOF: + { + int LA263_4 = input.LA(2); + if ( (synpred394_Delphi()) ) { + alt263=1; + } + } + break; + case SEMI: + { + int LA263_5 = input.LA(2); + if ( (synpred394_Delphi()) ) { + alt263=1; + } + } + break; + case UNTIL: + { + int LA263_6 = input.LA(2); + if ( (synpred394_Delphi()) ) { + alt263=1; + } + } + break; + case EXCEPT: + { + int LA263_7 = input.LA(2); + if ( (synpred394_Delphi()) ) { + alt263=1; + } + } + break; + case FINALLY: + { + int LA263_8 = input.LA(2); + if ( (synpred394_Delphi()) ) { + alt263=1; + } + } + break; + } + switch (alt263) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:51: statement + { + pushFollow(FOLLOW_statement_in_statementList16588); + statement794=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement794.getTree()); + + } + break; + + } + + } + break; + + default : + break loop264; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 143, statementList_StartIndex); } + + } + return retval; + } + // $ANTLR end "statementList" + + + public static class simpleStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "simpleStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:593:1: simpleStatement : ( designator ':=' expression | designator | gotoStatement | inlineVarDeclaration ); + public final DelphiParser.simpleStatement_return simpleStatement() throws RecognitionException { + DelphiParser.simpleStatement_return retval = new DelphiParser.simpleStatement_return(); + retval.start = input.LT(1); + int simpleStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal796=null; + ParserRuleReturnScope designator795 =null; + ParserRuleReturnScope expression797 =null; + ParserRuleReturnScope designator798 =null; + ParserRuleReturnScope gotoStatement799 =null; + ParserRuleReturnScope inlineVarDeclaration800 =null; + + Object string_literal796_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 144) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:593:30: ( designator ':=' expression | designator | gotoStatement | inlineVarDeclaration ) + int alt265=4; + switch ( input.LA(1) ) { + case 203: + { + int LA265_1 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 1, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case INHERITED: + { + int LA265_2 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 2, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case TkIdentifier: + { + int LA265_3 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 3, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case 198: + { + int LA265_4 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 4, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case TRUE: + { + int LA265_5 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 5, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case POINTER2: + { + int LA265_6 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 6, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case 209: + { + int LA265_7 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 7, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case AT2: + { + int LA265_8 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 8, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case LT: + { + int LA265_9 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 9, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case LBRACK: + { + int LA265_10 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 10, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case LPAREN: + { + int LA265_11 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 11, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case ASSIGN: + { + alt265=1; + } + break; + case EOF: + case AND: + case AS: + case COLON: + case COMMA: + case ControlChar: + case DIV: + case DOTDOT: + case ELSE: + case END: + case EQUAL: + case EXCEPT: + case FINALIZATION: + case FINALLY: + case FUNCTION: + case GE: + case GT: + case IS: + case LE: + case MINUS: + case MOD: + case NIL: + case NOT: + case NOT_EQUAL: + case ON: + case OR: + case PLUS: + case PROCEDURE: + case QuotedString: + case SEMI: + case SHL: + case SHR: + case SLASH: + case STAR: + case TkHexNum: + case TkIntNum: + case TkRealNum: + case UNTIL: + case XOR: + case 199: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + case 210: + { + alt265=2; + } + break; + case DOT: + { + int LA265_19 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 19, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case FALSE: + { + int LA265_26 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 26, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case IN: + { + int LA265_27 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 27, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case EXIT: + { + int LA265_33 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + else if ( (synpred398_Delphi()) ) { + alt265=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 33, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case GOTO: + { + alt265=3; + } + break; + case BREAK: + { + int LA265_45 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + else if ( (synpred398_Delphi()) ) { + alt265=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 45, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case CONTINUE: + { + int LA265_46 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + else if ( (synpred398_Delphi()) ) { + alt265=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 46, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case ADD: + case ANSISTRING: + case AT: + case CONTAINS: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA265_47 = input.LA(2); + if ( (synpred396_Delphi()) ) { + alt265=1; + } + else if ( (synpred397_Delphi()) ) { + alt265=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 265, 47, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case VAR: + { + alt265=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 265, 0, input); + throw nvae; + } + switch (alt265) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:593:32: designator ':=' expression + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_designator_in_simpleStatement16642); + designator795=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator795.getTree()); + + string_literal796=(Token)match(input,ASSIGN,FOLLOW_ASSIGN_in_simpleStatement16644); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal796_tree = (Object)adaptor.create(string_literal796); + adaptor.addChild(root_0, string_literal796_tree); + } + + pushFollow(FOLLOW_expression_in_simpleStatement16646); + expression797=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression797.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:32: designator + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_designator_in_simpleStatement16679); + designator798=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator798.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:595:32: gotoStatement + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_gotoStatement_in_simpleStatement16713); + gotoStatement799=gotoStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, gotoStatement799.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:596:32: inlineVarDeclaration + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_inlineVarDeclaration_in_simpleStatement16746); + inlineVarDeclaration800=inlineVarDeclaration(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, inlineVarDeclaration800.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 144, simpleStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "simpleStatement" + + + public static class gotoStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "gotoStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:598:1: gotoStatement : ( 'goto' label | 'exit' ( '(' expression ')' )? | 'break' | 'continue' ); + public final DelphiParser.gotoStatement_return gotoStatement() throws RecognitionException { + DelphiParser.gotoStatement_return retval = new DelphiParser.gotoStatement_return(); + retval.start = input.LT(1); + int gotoStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal801=null; + Token string_literal803=null; + Token char_literal804=null; + Token char_literal806=null; + Token string_literal807=null; + Token string_literal808=null; + ParserRuleReturnScope label802 =null; + ParserRuleReturnScope expression805 =null; + + Object string_literal801_tree=null; + Object string_literal803_tree=null; + Object char_literal804_tree=null; + Object char_literal806_tree=null; + Object string_literal807_tree=null; + Object string_literal808_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 145) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:598:30: ( 'goto' label | 'exit' ( '(' expression ')' )? | 'break' | 'continue' ) + int alt267=4; + switch ( input.LA(1) ) { + case GOTO: + { + alt267=1; + } + break; + case EXIT: + { + alt267=2; + } + break; + case BREAK: + { + alt267=3; + } + break; + case CONTINUE: + { + alt267=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 267, 0, input); + throw nvae; + } + switch (alt267) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:598:32: 'goto' label + { + root_0 = (Object)adaptor.nil(); + + + string_literal801=(Token)match(input,GOTO,FOLLOW_GOTO_in_gotoStatement16798); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal801_tree = (Object)adaptor.create(string_literal801); + adaptor.addChild(root_0, string_literal801_tree); + } + + pushFollow(FOLLOW_label_in_gotoStatement16800); + label802=label(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, label802.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:599:32: 'exit' ( '(' expression ')' )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal803=(Token)match(input,EXIT,FOLLOW_EXIT_in_gotoStatement16833); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal803_tree = (Object)adaptor.create(string_literal803); + adaptor.addChild(root_0, string_literal803_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:599:39: ( '(' expression ')' )? + int alt266=2; + int LA266_0 = input.LA(1); + if ( (LA266_0==LPAREN) ) { + int LA266_1 = input.LA(2); + if ( (synpred400_Delphi()) ) { + alt266=1; + } + } + switch (alt266) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:599:40: '(' expression ')' + { + char_literal804=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_gotoStatement16836); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal804_tree = (Object)adaptor.create(char_literal804); + adaptor.addChild(root_0, char_literal804_tree); + } + + pushFollow(FOLLOW_expression_in_gotoStatement16838); + expression805=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression805.getTree()); + + char_literal806=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_gotoStatement16840); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal806_tree = (Object)adaptor.create(char_literal806); + adaptor.addChild(root_0, char_literal806_tree); + } + + } + break; + + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:600:32: 'break' + { + root_0 = (Object)adaptor.nil(); + + + string_literal807=(Token)match(input,BREAK,FOLLOW_BREAK_in_gotoStatement16875); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal807_tree = (Object)adaptor.create(string_literal807); + adaptor.addChild(root_0, string_literal807_tree); + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:601:32: 'continue' + { + root_0 = (Object)adaptor.nil(); + + + string_literal808=(Token)match(input,CONTINUE,FOLLOW_CONTINUE_in_gotoStatement16908); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal808_tree = (Object)adaptor.create(string_literal808); + adaptor.addChild(root_0, string_literal808_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 145, gotoStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "gotoStatement" + + + public static class constExpression_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "constExpression" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:606:1: constExpression : ( '(' recordConstExpression ( ';' recordConstExpression )* ')' | '(' constExpression ( ',' constExpression )* ')' ( constExpression )? | expression ); + public final DelphiParser.constExpression_return constExpression() throws RecognitionException { + DelphiParser.constExpression_return retval = new DelphiParser.constExpression_return(); + retval.start = input.LT(1); + int constExpression_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal809=null; + Token char_literal811=null; + Token char_literal813=null; + Token char_literal814=null; + Token char_literal816=null; + Token char_literal818=null; + ParserRuleReturnScope recordConstExpression810 =null; + ParserRuleReturnScope recordConstExpression812 =null; + ParserRuleReturnScope constExpression815 =null; + ParserRuleReturnScope constExpression817 =null; + ParserRuleReturnScope constExpression819 =null; + ParserRuleReturnScope expression820 =null; + + Object char_literal809_tree=null; + Object char_literal811_tree=null; + Object char_literal813_tree=null; + Object char_literal814_tree=null; + Object char_literal816_tree=null; + Object char_literal818_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 146) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:606:30: ( '(' recordConstExpression ( ';' recordConstExpression )* ')' | '(' constExpression ( ',' constExpression )* ')' ( constExpression )? | expression ) + int alt271=3; + alt271 = dfa271.predict(input); + switch (alt271) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:606:32: '(' recordConstExpression ( ';' recordConstExpression )* ')' + { + root_0 = (Object)adaptor.nil(); + + + char_literal809=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_constExpression16961); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal809_tree = (Object)adaptor.create(char_literal809); + adaptor.addChild(root_0, char_literal809_tree); + } + + pushFollow(FOLLOW_recordConstExpression_in_constExpression16963); + recordConstExpression810=recordConstExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, recordConstExpression810.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:606:58: ( ';' recordConstExpression )* + loop268: + while (true) { + int alt268=2; + int LA268_0 = input.LA(1); + if ( (LA268_0==SEMI) ) { + alt268=1; + } + + switch (alt268) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:606:59: ';' recordConstExpression + { + char_literal811=(Token)match(input,SEMI,FOLLOW_SEMI_in_constExpression16966); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal811_tree = (Object)adaptor.create(char_literal811); + adaptor.addChild(root_0, char_literal811_tree); + } + + pushFollow(FOLLOW_recordConstExpression_in_constExpression16968); + recordConstExpression812=recordConstExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, recordConstExpression812.getTree()); + + } + break; + + default : + break loop268; + } + } + + char_literal813=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_constExpression16972); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal813_tree = (Object)adaptor.create(char_literal813); + adaptor.addChild(root_0, char_literal813_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:32: '(' constExpression ( ',' constExpression )* ')' ( constExpression )? + { + root_0 = (Object)adaptor.nil(); + + + char_literal814=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_constExpression17006); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal814_tree = (Object)adaptor.create(char_literal814); + adaptor.addChild(root_0, char_literal814_tree); + } + + pushFollow(FOLLOW_constExpression_in_constExpression17008); + constExpression815=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression815.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:52: ( ',' constExpression )* + loop269: + while (true) { + int alt269=2; + int LA269_0 = input.LA(1); + if ( (LA269_0==COMMA) ) { + alt269=1; + } + + switch (alt269) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:53: ',' constExpression + { + char_literal816=(Token)match(input,COMMA,FOLLOW_COMMA_in_constExpression17011); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal816_tree = (Object)adaptor.create(char_literal816); + adaptor.addChild(root_0, char_literal816_tree); + } + + pushFollow(FOLLOW_constExpression_in_constExpression17013); + constExpression817=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression817.getTree()); + + } + break; + + default : + break loop269; + } + } + + char_literal818=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_constExpression17017); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal818_tree = (Object)adaptor.create(char_literal818); + adaptor.addChild(root_0, char_literal818_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:79: ( constExpression )? + int alt270=2; + alt270 = dfa270.predict(input); + switch (alt270) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:80: constExpression + { + pushFollow(FOLLOW_constExpression_in_constExpression17020); + constExpression819=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression819.getTree()); + + } + break; + + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:608:32: expression + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_expression_in_constExpression17056); + expression820=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression820.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 146, constExpression_StartIndex); } + + } + return retval; + } + // $ANTLR end "constExpression" + + + public static class recordConstExpression_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "recordConstExpression" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:610:1: recordConstExpression : ident ':' constExpression ( ';' )? ; + public final DelphiParser.recordConstExpression_return recordConstExpression() throws RecognitionException { + DelphiParser.recordConstExpression_return retval = new DelphiParser.recordConstExpression_return(); + retval.start = input.LT(1); + int recordConstExpression_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal822=null; + Token char_literal824=null; + ParserRuleReturnScope ident821 =null; + ParserRuleReturnScope constExpression823 =null; + + Object char_literal822_tree=null; + Object char_literal824_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 147) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:610:30: ( ident ':' constExpression ( ';' )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:610:32: ident ':' constExpression ( ';' )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_ident_in_recordConstExpression17100); + ident821=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident821.getTree()); + + char_literal822=(Token)match(input,COLON,FOLLOW_COLON_in_recordConstExpression17102); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal822_tree = (Object)adaptor.create(char_literal822); + adaptor.addChild(root_0, char_literal822_tree); + } + + pushFollow(FOLLOW_constExpression_in_recordConstExpression17104); + constExpression823=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression823.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:610:58: ( ';' )? + int alt272=2; + int LA272_0 = input.LA(1); + if ( (LA272_0==SEMI) ) { + int LA272_1 = input.LA(2); + if ( (LA272_1==EOF||LA272_1==RPAREN||LA272_1==SEMI) ) { + alt272=1; + } + } + switch (alt272) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:610:59: ';' + { + char_literal824=(Token)match(input,SEMI,FOLLOW_SEMI_in_recordConstExpression17107); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal824_tree = (Object)adaptor.create(char_literal824); + adaptor.addChild(root_0, char_literal824_tree); + } + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 147, recordConstExpression_StartIndex); } + + } + return retval; + } + // $ANTLR end "recordConstExpression" + + + public static class tryStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "tryStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:1: tryStatement : ( 'try' ( statementList )? 'except' handlerList 'end' | 'try' ( statementList )? 'finally' ( statementList )? 'end' ); + public final DelphiParser.tryStatement_return tryStatement() throws RecognitionException { + DelphiParser.tryStatement_return retval = new DelphiParser.tryStatement_return(); + retval.start = input.LT(1); + int tryStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal825=null; + Token string_literal827=null; + Token string_literal829=null; + Token string_literal830=null; + Token string_literal832=null; + Token string_literal834=null; + ParserRuleReturnScope statementList826 =null; + ParserRuleReturnScope handlerList828 =null; + ParserRuleReturnScope statementList831 =null; + ParserRuleReturnScope statementList833 =null; + + Object string_literal825_tree=null; + Object string_literal827_tree=null; + Object string_literal829_tree=null; + Object string_literal830_tree=null; + Object string_literal832_tree=null; + Object string_literal834_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 148) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:30: ( 'try' ( statementList )? 'except' handlerList 'end' | 'try' ( statementList )? 'finally' ( statementList )? 'end' ) + int alt276=2; + int LA276_0 = input.LA(1); + if ( (LA276_0==TRY) ) { + int LA276_1 = input.LA(2); + if ( (synpred410_Delphi()) ) { + alt276=1; + } + else if ( (true) ) { + alt276=2; + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 276, 0, input); + throw nvae; + } + + switch (alt276) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:32: 'try' ( statementList )? 'except' handlerList 'end' + { + root_0 = (Object)adaptor.nil(); + + + string_literal825=(Token)match(input,TRY,FOLLOW_TRY_in_tryStatement17165); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal825_tree = (Object)adaptor.create(string_literal825); + adaptor.addChild(root_0, string_literal825_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:38: ( statementList )? + int alt273=2; + int LA273_0 = input.LA(1); + if ( (LA273_0==ADD||LA273_0==ANSISTRING||LA273_0==ASM||(LA273_0 >= ASSIGN && LA273_0 <= AT2)||(LA273_0 >= BEGIN && LA273_0 <= CASE)||(LA273_0 >= CONTAINS && LA273_0 <= CONTINUE)||LA273_0==DEFAULT||LA273_0==DISPID||LA273_0==DOT||(LA273_0 >= DQ && LA273_0 <= DW)||LA273_0==EXIT||LA273_0==EXPORT||LA273_0==FALSE||LA273_0==FINAL||LA273_0==FOR||LA273_0==GOTO||LA273_0==HELPER||LA273_0==IF||(LA273_0 >= IMPLEMENTS && LA273_0 <= INHERITED)||LA273_0==LBRACK||(LA273_0 >= LOCAL && LA273_0 <= MESSAGE)||LA273_0==NAME||LA273_0==OBJECT||LA273_0==OPERATOR||LA273_0==OUT||(LA273_0 >= POINTER && LA273_0 <= POINTER2)||LA273_0==RAISE||(LA273_0 >= READ && LA273_0 <= READONLY)||(LA273_0 >= REFERENCE && LA273_0 <= REGISTER)||(LA273_0 >= REMOVE && LA273_0 <= REPEAT)||LA273_0==SEMI||LA273_0==STATIC||(LA273_0 >= STORED && LA273_0 <= STRING)||(LA273_0 >= TRUE && LA273_0 <= TRY)||(LA273_0 >= TkHexNum && LA273_0 <= TkIntNum)||LA273_0==UNSAFE||(LA273_0 >= VAR && LA273_0 <= WRITEONLY)||LA273_0==198||LA273_0==203||LA273_0==209) ) { + alt273=1; + } + else if ( (LA273_0==EXCEPT) ) { + int LA273_2 = input.LA(2); + if ( (synpred409_Delphi()) ) { + alt273=1; + } + } + switch (alt273) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:39: statementList + { + pushFollow(FOLLOW_statementList_in_tryStatement17168); + statementList826=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList826.getTree()); + + } + break; + + } + + string_literal827=(Token)match(input,EXCEPT,FOLLOW_EXCEPT_in_tryStatement17172); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal827_tree = (Object)adaptor.create(string_literal827); + adaptor.addChild(root_0, string_literal827_tree); + } + + pushFollow(FOLLOW_handlerList_in_tryStatement17174); + handlerList828=handlerList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, handlerList828.getTree()); + + string_literal829=(Token)match(input,END,FOLLOW_END_in_tryStatement17176); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal829_tree = (Object)adaptor.create(string_literal829); + adaptor.addChild(root_0, string_literal829_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:32: 'try' ( statementList )? 'finally' ( statementList )? 'end' + { + root_0 = (Object)adaptor.nil(); + + + string_literal830=(Token)match(input,TRY,FOLLOW_TRY_in_tryStatement17209); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal830_tree = (Object)adaptor.create(string_literal830); + adaptor.addChild(root_0, string_literal830_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:38: ( statementList )? + int alt274=2; + int LA274_0 = input.LA(1); + if ( (LA274_0==ADD||LA274_0==ANSISTRING||LA274_0==ASM||(LA274_0 >= ASSIGN && LA274_0 <= AT2)||(LA274_0 >= BEGIN && LA274_0 <= CASE)||(LA274_0 >= CONTAINS && LA274_0 <= CONTINUE)||LA274_0==DEFAULT||LA274_0==DISPID||LA274_0==DOT||(LA274_0 >= DQ && LA274_0 <= DW)||LA274_0==EXIT||LA274_0==EXPORT||LA274_0==FALSE||LA274_0==FINAL||LA274_0==FOR||LA274_0==GOTO||LA274_0==HELPER||LA274_0==IF||(LA274_0 >= IMPLEMENTS && LA274_0 <= INHERITED)||LA274_0==LBRACK||(LA274_0 >= LOCAL && LA274_0 <= MESSAGE)||LA274_0==NAME||LA274_0==OBJECT||LA274_0==OPERATOR||LA274_0==OUT||(LA274_0 >= POINTER && LA274_0 <= POINTER2)||LA274_0==RAISE||(LA274_0 >= READ && LA274_0 <= READONLY)||(LA274_0 >= REFERENCE && LA274_0 <= REGISTER)||(LA274_0 >= REMOVE && LA274_0 <= REPEAT)||LA274_0==SEMI||LA274_0==STATIC||(LA274_0 >= STORED && LA274_0 <= STRING)||(LA274_0 >= TRUE && LA274_0 <= TRY)||(LA274_0 >= TkHexNum && LA274_0 <= TkIntNum)||LA274_0==UNSAFE||(LA274_0 >= VAR && LA274_0 <= WRITEONLY)||LA274_0==198||LA274_0==203||LA274_0==209) ) { + alt274=1; + } + else if ( (LA274_0==FINALLY) ) { + int LA274_2 = input.LA(2); + if ( (synpred411_Delphi()) ) { + alt274=1; + } + } + switch (alt274) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:39: statementList + { + pushFollow(FOLLOW_statementList_in_tryStatement17212); + statementList831=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList831.getTree()); + + } + break; + + } + + string_literal832=(Token)match(input,FINALLY,FOLLOW_FINALLY_in_tryStatement17216); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal832_tree = (Object)adaptor.create(string_literal832); + adaptor.addChild(root_0, string_literal832_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:65: ( statementList )? + int alt275=2; + int LA275_0 = input.LA(1); + if ( (LA275_0==ADD||LA275_0==ANSISTRING||LA275_0==ASM||(LA275_0 >= ASSIGN && LA275_0 <= AT2)||(LA275_0 >= BEGIN && LA275_0 <= CASE)||(LA275_0 >= CONTAINS && LA275_0 <= CONTINUE)||LA275_0==DEFAULT||LA275_0==DISPID||LA275_0==DOT||(LA275_0 >= DQ && LA275_0 <= DW)||LA275_0==EXIT||LA275_0==EXPORT||LA275_0==FALSE||LA275_0==FINAL||LA275_0==FOR||LA275_0==GOTO||LA275_0==HELPER||LA275_0==IF||(LA275_0 >= IMPLEMENTS && LA275_0 <= INHERITED)||LA275_0==LBRACK||(LA275_0 >= LOCAL && LA275_0 <= MESSAGE)||LA275_0==NAME||LA275_0==OBJECT||LA275_0==OPERATOR||LA275_0==OUT||(LA275_0 >= POINTER && LA275_0 <= POINTER2)||LA275_0==RAISE||(LA275_0 >= READ && LA275_0 <= READONLY)||(LA275_0 >= REFERENCE && LA275_0 <= REGISTER)||(LA275_0 >= REMOVE && LA275_0 <= REPEAT)||LA275_0==SEMI||LA275_0==STATIC||(LA275_0 >= STORED && LA275_0 <= STRING)||(LA275_0 >= TRUE && LA275_0 <= TRY)||(LA275_0 >= TkHexNum && LA275_0 <= TkIntNum)||LA275_0==UNSAFE||(LA275_0 >= VAR && LA275_0 <= WRITEONLY)||LA275_0==198||LA275_0==203||LA275_0==209) ) { + alt275=1; + } + else if ( (LA275_0==END) ) { + int LA275_2 = input.LA(2); + if ( (synpred412_Delphi()) ) { + alt275=1; + } + } + switch (alt275) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:66: statementList + { + pushFollow(FOLLOW_statementList_in_tryStatement17219); + statementList833=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList833.getTree()); + + } + break; + + } + + string_literal834=(Token)match(input,END,FOLLOW_END_in_tryStatement17223); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal834_tree = (Object)adaptor.create(string_literal834); + adaptor.addChild(root_0, string_literal834_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 148, tryStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "tryStatement" + + + public static class handlerList_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "handlerList" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:1: handlerList : ( ( handler )* ( 'else' statementList )? | statementList ); + public final DelphiParser.handlerList_return handlerList() throws RecognitionException { + DelphiParser.handlerList_return retval = new DelphiParser.handlerList_return(); + retval.start = input.LT(1); + int handlerList_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal836=null; + ParserRuleReturnScope handler835 =null; + ParserRuleReturnScope statementList837 =null; + ParserRuleReturnScope statementList838 =null; + + Object string_literal836_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 149) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:30: ( ( handler )* ( 'else' statementList )? | statementList ) + int alt279=2; + switch ( input.LA(1) ) { + case ELSE: + case ON: + { + alt279=1; + } + break; + case END: + { + int LA279_2 = input.LA(2); + if ( (synpred415_Delphi()) ) { + alt279=1; + } + else if ( (true) ) { + alt279=2; + } + + } + break; + case ADD: + case ANSISTRING: + case ASM: + case ASSIGN: + case AT: + case AT2: + case BEGIN: + case BREAK: + case CASE: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DOT: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case FOR: + case GOTO: + case HELPER: + case IF: + case IMPLEMENTS: + case IN: + case INDEX: + case INHERITED: + case LBRACK: + case LOCAL: + case LPAREN: + case LT: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case POINTER2: + case RAISE: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case REPEAT: + case SEMI: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case TRY: + case TkHexNum: + case TkIdentifier: + case TkIntNum: + case UNSAFE: + case VAR: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WHILE: + case WITH: + case WRITE: + case WRITEONLY: + case 198: + case 203: + case 209: + { + alt279=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 279, 0, input); + throw nvae; + } + switch (alt279) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:32: ( handler )* ( 'else' statementList )? + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:32: ( handler )* + loop277: + while (true) { + int alt277=2; + int LA277_0 = input.LA(1); + if ( (LA277_0==ON) ) { + alt277=1; + } + + switch (alt277) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:33: handler + { + pushFollow(FOLLOW_handler_in_handlerList17278); + handler835=handler(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, handler835.getTree()); + + } + break; + + default : + break loop277; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:43: ( 'else' statementList )? + int alt278=2; + int LA278_0 = input.LA(1); + if ( (LA278_0==ELSE) ) { + alt278=1; + } + switch (alt278) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:44: 'else' statementList + { + string_literal836=(Token)match(input,ELSE,FOLLOW_ELSE_in_handlerList17283); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal836_tree = (Object)adaptor.create(string_literal836); + adaptor.addChild(root_0, string_literal836_tree); + } + + pushFollow(FOLLOW_statementList_in_handlerList17285); + statementList837=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList837.getTree()); + + } + break; + + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:619:32: statementList + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_statementList_in_handlerList17320); + statementList838=statementList(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statementList838.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 149, handlerList_StartIndex); } + + } + return retval; + } + // $ANTLR end "handlerList" + + + public static class handler_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "handler" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:621:1: handler : 'on' ( handlerIdent )? typeId 'do' handlerStatement ; + public final DelphiParser.handler_return handler() throws RecognitionException { + DelphiParser.handler_return retval = new DelphiParser.handler_return(); + retval.start = input.LT(1); + int handler_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal839=null; + Token string_literal842=null; + ParserRuleReturnScope handlerIdent840 =null; + ParserRuleReturnScope typeId841 =null; + ParserRuleReturnScope handlerStatement843 =null; + + Object string_literal839_tree=null; + Object string_literal842_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 150) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:621:30: ( 'on' ( handlerIdent )? typeId 'do' handlerStatement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:621:32: 'on' ( handlerIdent )? typeId 'do' handlerStatement + { + root_0 = (Object)adaptor.nil(); + + + string_literal839=(Token)match(input,ON,FOLLOW_ON_in_handler17378); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal839_tree = (Object)adaptor.create(string_literal839); + adaptor.addChild(root_0, string_literal839_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:621:37: ( handlerIdent )? + int alt280=2; + switch ( input.LA(1) ) { + case TkIdentifier: + { + int LA280_1 = input.LA(2); + if ( (LA280_1==COLON) ) { + alt280=1; + } + } + break; + case 198: + { + int LA280_2 = input.LA(2); + if ( (LA280_2==TkIdentifier) ) { + int LA280_6 = input.LA(3); + if ( (LA280_6==COLON) ) { + alt280=1; + } + } + else if ( ((LA280_2 >= ABSOLUTE && LA280_2 <= ASSEMBLY)||LA280_2==AT||LA280_2==AUTOMATED||(LA280_2 >= BEGIN && LA280_2 <= CLASS)||(LA280_2 >= CONST && LA280_2 <= CONTINUE)||LA280_2==DEFAULT||(LA280_2 >= DEPRECATED && LA280_2 <= DO)||(LA280_2 >= DOWNTO && LA280_2 <= DYNAMIC)||(LA280_2 >= ELSE && LA280_2 <= END)||(LA280_2 >= EXCEPT && LA280_2 <= FUNCTION)||LA280_2==GOTO||LA280_2==HELPER||(LA280_2 >= IF && LA280_2 <= LABEL)||(LA280_2 >= LIBRARY && LA280_2 <= LOCAL)||LA280_2==MESSAGE||(LA280_2 >= MOD && LA280_2 <= NOT)||(LA280_2 >= OBJECT && LA280_2 <= PLATFORM)||LA280_2==POINTER||(LA280_2 >= PRIVATE && LA280_2 <= PUBLISHED)||LA280_2==RAISE||(LA280_2 >= READ && LA280_2 <= RESOURCESTRING)||(LA280_2 >= SAFECALL && LA280_2 <= SEALED)||(LA280_2 >= SET && LA280_2 <= SHR)||(LA280_2 >= STATIC && LA280_2 <= TYPE)||(LA280_2 >= UNIT && LA280_2 <= USES)||(LA280_2 >= VAR && LA280_2 <= WRITEONLY)||LA280_2==XOR) ) { + int LA280_7 = input.LA(3); + if ( (LA280_7==COLON) ) { + alt280=1; + } + } + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA280_3 = input.LA(2); + if ( (LA280_3==COLON) ) { + alt280=1; + } + } + break; + } + switch (alt280) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:621:38: handlerIdent + { + pushFollow(FOLLOW_handlerIdent_in_handler17381); + handlerIdent840=handlerIdent(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, handlerIdent840.getTree()); + + } + break; + + } + + pushFollow(FOLLOW_typeId_in_handler17385); + typeId841=typeId(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, typeId841.getTree()); + + string_literal842=(Token)match(input,DO,FOLLOW_DO_in_handler17387); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal842_tree = (Object)adaptor.create(string_literal842); + adaptor.addChild(root_0, string_literal842_tree); + } + + pushFollow(FOLLOW_handlerStatement_in_handler17389); + handlerStatement843=handlerStatement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, handlerStatement843.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 150, handler_StartIndex); } + + } + return retval; + } + // $ANTLR end "handler" + + + public static class handlerIdent_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "handlerIdent" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:623:1: handlerIdent : ident ':' ; + public final DelphiParser.handlerIdent_return handlerIdent() throws RecognitionException { + DelphiParser.handlerIdent_return retval = new DelphiParser.handlerIdent_return(); + retval.start = input.LT(1); + int handlerIdent_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal845=null; + ParserRuleReturnScope ident844 =null; + + Object char_literal845_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 151) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:623:30: ( ident ':' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:623:32: ident ':' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_ident_in_handlerIdent17444); + ident844=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident844.getTree()); + + char_literal845=(Token)match(input,COLON,FOLLOW_COLON_in_handlerIdent17446); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal845_tree = (Object)adaptor.create(char_literal845); + adaptor.addChild(root_0, char_literal845_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 151, handlerIdent_StartIndex); } + + } + return retval; + } + // $ANTLR end "handlerIdent" + + + public static class handlerStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "handlerStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:1: handlerStatement : ( statement ( ';' )? | ';' ); + public final DelphiParser.handlerStatement_return handlerStatement() throws RecognitionException { + DelphiParser.handlerStatement_return retval = new DelphiParser.handlerStatement_return(); + retval.start = input.LT(1); + int handlerStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal847=null; + Token char_literal848=null; + ParserRuleReturnScope statement846 =null; + + Object char_literal847_tree=null; + Object char_literal848_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 152) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:30: ( statement ( ';' )? | ';' ) + int alt282=2; + int LA282_0 = input.LA(1); + if ( (LA282_0==EOF||LA282_0==ADD||LA282_0==ANSISTRING||LA282_0==ASM||(LA282_0 >= ASSIGN && LA282_0 <= AT2)||(LA282_0 >= BEGIN && LA282_0 <= CASE)||(LA282_0 >= CONTAINS && LA282_0 <= CONTINUE)||LA282_0==DEFAULT||LA282_0==DISPID||LA282_0==DOT||(LA282_0 >= DQ && LA282_0 <= DW)||(LA282_0 >= ELSE && LA282_0 <= END)||LA282_0==EXIT||LA282_0==EXPORT||LA282_0==FALSE||LA282_0==FINAL||LA282_0==FOR||LA282_0==GOTO||LA282_0==HELPER||LA282_0==IF||(LA282_0 >= IMPLEMENTS && LA282_0 <= INHERITED)||LA282_0==LBRACK||(LA282_0 >= LOCAL && LA282_0 <= MESSAGE)||LA282_0==NAME||LA282_0==OBJECT||(LA282_0 >= ON && LA282_0 <= OPERATOR)||LA282_0==OUT||(LA282_0 >= POINTER && LA282_0 <= POINTER2)||LA282_0==RAISE||(LA282_0 >= READ && LA282_0 <= READONLY)||(LA282_0 >= REFERENCE && LA282_0 <= REGISTER)||(LA282_0 >= REMOVE && LA282_0 <= REPEAT)||LA282_0==STATIC||(LA282_0 >= STORED && LA282_0 <= STRING)||(LA282_0 >= TRUE && LA282_0 <= TRY)||(LA282_0 >= TkHexNum && LA282_0 <= TkIntNum)||LA282_0==UNSAFE||(LA282_0 >= VAR && LA282_0 <= WRITEONLY)||LA282_0==198||LA282_0==203||LA282_0==209) ) { + alt282=1; + } + else if ( (LA282_0==SEMI) ) { + int LA282_2 = input.LA(2); + if ( (synpred418_Delphi()) ) { + alt282=1; + } + else if ( (true) ) { + alt282=2; + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 282, 0, input); + throw nvae; + } + + switch (alt282) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:32: statement ( ';' )? + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_statement_in_handlerStatement17495); + statement846=statement(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, statement846.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:42: ( ';' )? + int alt281=2; + int LA281_0 = input.LA(1); + if ( (LA281_0==SEMI) ) { + alt281=1; + } + switch (alt281) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:43: ';' + { + char_literal847=(Token)match(input,SEMI,FOLLOW_SEMI_in_handlerStatement17498); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal847_tree = (Object)adaptor.create(char_literal847); + adaptor.addChild(root_0, char_literal847_tree); + } + + } + break; + + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:626:32: ';' + { + root_0 = (Object)adaptor.nil(); + + + char_literal848=(Token)match(input,SEMI,FOLLOW_SEMI_in_handlerStatement17533); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal848_tree = (Object)adaptor.create(char_literal848); + adaptor.addChild(root_0, char_literal848_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 152, handlerStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "handlerStatement" + + + public static class raiseStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "raiseStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:1: raiseStatement : 'raise' ( designator )? ( AT designator )? ; + public final DelphiParser.raiseStatement_return raiseStatement() throws RecognitionException { + DelphiParser.raiseStatement_return retval = new DelphiParser.raiseStatement_return(); + retval.start = input.LT(1); + int raiseStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal849=null; + Token AT851=null; + ParserRuleReturnScope designator850 =null; + ParserRuleReturnScope designator852 =null; + + Object string_literal849_tree=null; + Object AT851_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 153) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:30: ( 'raise' ( designator )? ( AT designator )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:32: 'raise' ( designator )? ( AT designator )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal849=(Token)match(input,RAISE,FOLLOW_RAISE_in_raiseStatement17584); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal849_tree = (Object)adaptor.create(string_literal849); + adaptor.addChild(root_0, string_literal849_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:40: ( designator )? + int alt283=2; + switch ( input.LA(1) ) { + case 203: + { + int LA283_1 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case INHERITED: + { + int LA283_2 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case TkIdentifier: + { + int LA283_3 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case 198: + { + int LA283_4 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case AT: + { + int LA283_5 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case POINTER2: + { + int LA283_6 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case 209: + { + int LA283_7 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case AT2: + { + int LA283_8 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case LT: + { + int LA283_9 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case LBRACK: + { + int LA283_10 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case LPAREN: + { + int LA283_11 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case TRUE: + { + int LA283_12 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case ELSE: + { + int LA283_13 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case EOF: + { + int LA283_14 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case SEMI: + { + int LA283_15 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case END: + { + int LA283_16 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case PROCEDURE: + { + int LA283_17 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case FUNCTION: + { + int LA283_18 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case DOT: + { + int LA283_19 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case 199: + { + int LA283_20 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case NOT: + { + int LA283_21 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case PLUS: + { + int LA283_22 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case MINUS: + { + int LA283_23 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case TkRealNum: + { + int LA283_24 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case TkHexNum: + case TkIntNum: + { + int LA283_25 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case FALSE: + { + int LA283_26 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case IN: + { + int LA283_27 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case NIL: + { + int LA283_28 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case 210: + { + int LA283_29 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case ControlChar: + { + int LA283_30 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case QuotedString: + { + int LA283_31 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA283_32 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case ADD: + case ANSISTRING: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA283_33 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case EQUAL: + { + int LA283_34 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case GE: + case GT: + case IS: + case LE: + case NOT_EQUAL: + { + int LA283_35 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case DOTDOT: + { + int LA283_36 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case COMMA: + { + int LA283_37 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case COLON: + { + int LA283_38 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case FINALIZATION: + { + int LA283_39 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case UNTIL: + { + int LA283_40 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case EXCEPT: + { + int LA283_41 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case FINALLY: + { + int LA283_42 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + case ON: + { + int LA283_43 = input.LA(2); + if ( (synpred419_Delphi()) ) { + alt283=1; + } + } + break; + } + switch (alt283) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:41: designator + { + pushFollow(FOLLOW_designator_in_raiseStatement17587); + designator850=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator850.getTree()); + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:54: ( AT designator )? + int alt284=2; + int LA284_0 = input.LA(1); + if ( (LA284_0==AT) ) { + int LA284_1 = input.LA(2); + if ( (synpred420_Delphi()) ) { + alt284=1; + } + } + switch (alt284) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:55: AT designator + { + AT851=(Token)match(input,AT,FOLLOW_AT_in_raiseStatement17592); if (state.failed) return retval; + if ( state.backtracking==0 ) { + AT851_tree = (Object)adaptor.create(AT851); + adaptor.addChild(root_0, AT851_tree); + } + + pushFollow(FOLLOW_designator_in_raiseStatement17594); + designator852=designator(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, designator852.getTree()); + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 153, raiseStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "raiseStatement" + + + public static class assemblerStatement_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "assemblerStatement" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:633:1: assemblerStatement : 'asm' (~ ( 'end' ) )* 'end' ; + public final DelphiParser.assemblerStatement_return assemblerStatement() throws RecognitionException { + DelphiParser.assemblerStatement_return retval = new DelphiParser.assemblerStatement_return(); + retval.start = input.LT(1); + int assemblerStatement_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal853=null; + Token set854=null; + Token string_literal855=null; + + Object string_literal853_tree=null; + Object set854_tree=null; + Object string_literal855_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 154) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:633:30: ( 'asm' (~ ( 'end' ) )* 'end' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:633:32: 'asm' (~ ( 'end' ) )* 'end' + { + root_0 = (Object)adaptor.nil(); + + + string_literal853=(Token)match(input,ASM,FOLLOW_ASM_in_assemblerStatement17647); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal853_tree = (Object)adaptor.create(string_literal853); + adaptor.addChild(root_0, string_literal853_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:633:38: (~ ( 'end' ) )* + loop285: + while (true) { + int alt285=2; + int LA285_0 = input.LA(1); + if ( ((LA285_0 >= ABSOLUTE && LA285_0 <= ELSE)||(LA285_0 >= EQUAL && LA285_0 <= 210)) ) { + alt285=1; + } + + switch (alt285) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + set854=input.LT(1); + if ( (input.LA(1) >= ABSOLUTE && input.LA(1) <= ELSE)||(input.LA(1) >= EQUAL && input.LA(1) <= 210) ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set854)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + break; + + default : + break loop285; + } + } + + string_literal855=(Token)match(input,END,FOLLOW_END_in_assemblerStatement17655); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal855_tree = (Object)adaptor.create(string_literal855); + adaptor.addChild(root_0, string_literal855_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 154, assemblerStatement_StartIndex); } + + } + return retval; + } + // $ANTLR end "assemblerStatement" + + + public static class methodDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "methodDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:638:1: methodDirective : ( reintroduceDirective | overloadDirective | bindingDirective | abstractDirective | inlineDirective | callConvention | hintingDirective ';' | oldCallConventionDirective | dispIDDirective | externalDirective ); + public final DelphiParser.methodDirective_return methodDirective() throws RecognitionException { + DelphiParser.methodDirective_return retval = new DelphiParser.methodDirective_return(); + retval.start = input.LT(1); + int methodDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal863=null; + ParserRuleReturnScope reintroduceDirective856 =null; + ParserRuleReturnScope overloadDirective857 =null; + ParserRuleReturnScope bindingDirective858 =null; + ParserRuleReturnScope abstractDirective859 =null; + ParserRuleReturnScope inlineDirective860 =null; + ParserRuleReturnScope callConvention861 =null; + ParserRuleReturnScope hintingDirective862 =null; + ParserRuleReturnScope oldCallConventionDirective864 =null; + ParserRuleReturnScope dispIDDirective865 =null; + ParserRuleReturnScope externalDirective866 =null; + + Object char_literal863_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 155) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:638:30: ( reintroduceDirective | overloadDirective | bindingDirective | abstractDirective | inlineDirective | callConvention | hintingDirective ';' | oldCallConventionDirective | dispIDDirective | externalDirective ) + int alt286=10; + switch ( input.LA(1) ) { + case REINTRODUCE: + { + alt286=1; + } + break; + case OVERLOAD: + { + alt286=2; + } + break; + case DYNAMIC: + case MESSAGE: + case OVERRIDE: + case STATIC: + case VIRTUAL: + { + alt286=3; + } + break; + case ABSTRACT: + case FINAL: + { + alt286=4; + } + break; + case ASSEMBLER: + case INLINE: + { + alt286=5; + } + break; + case CDECL: + case EXPORT: + case PASCAL: + case REGISTER: + case SAFECALL: + case STDCALL: + { + alt286=6; + } + break; + case DEPRECATED: + case EXPERIMENTAL: + case LIBRARY: + case PLATFORM: + { + alt286=7; + } + break; + case FAR: + case LOCAL: + case NEAR: + { + alt286=8; + } + break; + case DISPID: + { + alt286=9; + } + break; + case EXTERNAL: + case VARARGS: + { + alt286=10; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 286, 0, input); + throw nvae; + } + switch (alt286) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:638:32: reintroduceDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_reintroduceDirective_in_methodDirective17728); + reintroduceDirective856=reintroduceDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, reintroduceDirective856.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:639:32: overloadDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_overloadDirective_in_methodDirective17770); + overloadDirective857=overloadDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, overloadDirective857.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:640:32: bindingDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_bindingDirective_in_methodDirective17815); + bindingDirective858=bindingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, bindingDirective858.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:641:32: abstractDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_abstractDirective_in_methodDirective17861); + abstractDirective859=abstractDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, abstractDirective859.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:642:32: inlineDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_inlineDirective_in_methodDirective17906); + inlineDirective860=inlineDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, inlineDirective860.getTree()); + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:643:32: callConvention + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_callConvention_in_methodDirective17953); + callConvention861=callConvention(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, callConvention861.getTree()); + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:644:32: hintingDirective ';' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_hintingDirective_in_methodDirective18001); + hintingDirective862=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, hintingDirective862.getTree()); + + char_literal863=(Token)match(input,SEMI,FOLLOW_SEMI_in_methodDirective18003); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal863_tree = (Object)adaptor.create(char_literal863); + adaptor.addChild(root_0, char_literal863_tree); + } + + } + break; + case 8 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:645:32: oldCallConventionDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_oldCallConventionDirective_in_methodDirective18045); + oldCallConventionDirective864=oldCallConventionDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, oldCallConventionDirective864.getTree()); + + } + break; + case 9 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:646:32: dispIDDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_dispIDDirective_in_methodDirective18081); + dispIDDirective865=dispIDDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, dispIDDirective865.getTree()); + + } + break; + case 10 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:647:32: externalDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_externalDirective_in_methodDirective18114); + externalDirective866=externalDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, externalDirective866.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 155, methodDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "methodDirective" + + + public static class functionDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "functionDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:649:1: functionDirective : ( overloadDirective | inlineDirective | callConvention | oldCallConventionDirective | hintingDirective ';' | ( callConventionNoSemi )? externalDirective | externalDirective | 'unsafe' ';' ); + public final DelphiParser.functionDirective_return functionDirective() throws RecognitionException { + DelphiParser.functionDirective_return retval = new DelphiParser.functionDirective_return(); + retval.start = input.LT(1); + int functionDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal872=null; + Token string_literal876=null; + Token char_literal877=null; + ParserRuleReturnScope overloadDirective867 =null; + ParserRuleReturnScope inlineDirective868 =null; + ParserRuleReturnScope callConvention869 =null; + ParserRuleReturnScope oldCallConventionDirective870 =null; + ParserRuleReturnScope hintingDirective871 =null; + ParserRuleReturnScope callConventionNoSemi873 =null; + ParserRuleReturnScope externalDirective874 =null; + ParserRuleReturnScope externalDirective875 =null; + + Object char_literal872_tree=null; + Object string_literal876_tree=null; + Object char_literal877_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 156) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:649:30: ( overloadDirective | inlineDirective | callConvention | oldCallConventionDirective | hintingDirective ';' | ( callConventionNoSemi )? externalDirective | externalDirective | 'unsafe' ';' ) + int alt288=8; + switch ( input.LA(1) ) { + case OVERLOAD: + { + alt288=1; + } + break; + case ASSEMBLER: + case INLINE: + { + alt288=2; + } + break; + case CDECL: + { + int LA288_4 = input.LA(2); + if ( (synpred434_Delphi()) ) { + alt288=3; + } + else if ( (synpred438_Delphi()) ) { + alt288=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 288, 4, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case PASCAL: + { + int LA288_5 = input.LA(2); + if ( (synpred434_Delphi()) ) { + alt288=3; + } + else if ( (synpred438_Delphi()) ) { + alt288=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 288, 5, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case REGISTER: + { + int LA288_6 = input.LA(2); + if ( (synpred434_Delphi()) ) { + alt288=3; + } + else if ( (synpred438_Delphi()) ) { + alt288=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 288, 6, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case SAFECALL: + { + int LA288_7 = input.LA(2); + if ( (synpred434_Delphi()) ) { + alt288=3; + } + else if ( (synpred438_Delphi()) ) { + alt288=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 288, 7, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case STDCALL: + { + int LA288_8 = input.LA(2); + if ( (synpred434_Delphi()) ) { + alt288=3; + } + else if ( (synpred438_Delphi()) ) { + alt288=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 288, 8, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case EXPORT: + { + int LA288_9 = input.LA(2); + if ( (synpred434_Delphi()) ) { + alt288=3; + } + else if ( (synpred438_Delphi()) ) { + alt288=6; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 288, 9, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case FAR: + case LOCAL: + case NEAR: + { + alt288=4; + } + break; + case DEPRECATED: + case EXPERIMENTAL: + case LIBRARY: + case PLATFORM: + { + alt288=5; + } + break; + case VARARGS: + { + int LA288_17 = input.LA(2); + if ( (synpred438_Delphi()) ) { + alt288=6; + } + else if ( (synpred439_Delphi()) ) { + alt288=7; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 288, 17, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case EXTERNAL: + { + int LA288_18 = input.LA(2); + if ( (synpred438_Delphi()) ) { + alt288=6; + } + else if ( (synpred439_Delphi()) ) { + alt288=7; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 288, 18, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case UNSAFE: + { + alt288=8; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 288, 0, input); + throw nvae; + } + switch (alt288) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:649:32: overloadDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_overloadDirective_in_functionDirective18162); + overloadDirective867=overloadDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, overloadDirective867.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:650:32: inlineDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_inlineDirective_in_functionDirective18205); + inlineDirective868=inlineDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, inlineDirective868.getTree()); + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:651:32: callConvention + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_callConvention_in_functionDirective18250); + callConvention869=callConvention(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, callConvention869.getTree()); + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:652:32: oldCallConventionDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_oldCallConventionDirective_in_functionDirective18296); + oldCallConventionDirective870=oldCallConventionDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, oldCallConventionDirective870.getTree()); + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:653:32: hintingDirective ';' + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_hintingDirective_in_functionDirective18330); + hintingDirective871=hintingDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, hintingDirective871.getTree()); + + char_literal872=(Token)match(input,SEMI,FOLLOW_SEMI_in_functionDirective18332); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal872_tree = (Object)adaptor.create(char_literal872); + adaptor.addChild(root_0, char_literal872_tree); + } + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:654:32: ( callConventionNoSemi )? externalDirective + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:654:32: ( callConventionNoSemi )? + int alt287=2; + int LA287_0 = input.LA(1); + if ( (LA287_0==CDECL||LA287_0==EXPORT||LA287_0==PASCAL||LA287_0==REGISTER||LA287_0==SAFECALL||LA287_0==STDCALL) ) { + alt287=1; + } + switch (alt287) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:654:33: callConventionNoSemi + { + pushFollow(FOLLOW_callConventionNoSemi_in_functionDirective18373); + callConventionNoSemi873=callConventionNoSemi(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, callConventionNoSemi873.getTree()); + + } + break; + + } + + pushFollow(FOLLOW_externalDirective_in_functionDirective18377); + externalDirective874=externalDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, externalDirective874.getTree()); + + } + break; + case 7 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:655:32: externalDirective + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_externalDirective_in_functionDirective18420); + externalDirective875=externalDirective(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, externalDirective875.getTree()); + + } + break; + case 8 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:656:32: 'unsafe' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal876=(Token)match(input,UNSAFE,FOLLOW_UNSAFE_in_functionDirective18453); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal876_tree = (Object)adaptor.create(string_literal876); + adaptor.addChild(root_0, string_literal876_tree); + } + + char_literal877=(Token)match(input,SEMI,FOLLOW_SEMI_in_functionDirective18455); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal877_tree = (Object)adaptor.create(char_literal877); + adaptor.addChild(root_0, char_literal877_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 156, functionDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "functionDirective" + + + public static class reintroduceDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "reintroduceDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:658:1: reintroduceDirective : 'reintroduce' ( ';' )? ; + public final DelphiParser.reintroduceDirective_return reintroduceDirective() throws RecognitionException { + DelphiParser.reintroduceDirective_return retval = new DelphiParser.reintroduceDirective_return(); + retval.start = input.LT(1); + int reintroduceDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal878=null; + Token char_literal879=null; + + Object string_literal878_tree=null; + Object char_literal879_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 157) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:658:30: ( 'reintroduce' ( ';' )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:658:32: 'reintroduce' ( ';' )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal878=(Token)match(input,REINTRODUCE,FOLLOW_REINTRODUCE_in_reintroduceDirective18515); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal878_tree = (Object)adaptor.create(string_literal878); + adaptor.addChild(root_0, string_literal878_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:658:46: ( ';' )? + int alt289=2; + int LA289_0 = input.LA(1); + if ( (LA289_0==SEMI) ) { + int LA289_1 = input.LA(2); + if ( (synpred440_Delphi()) ) { + alt289=1; + } + } + switch (alt289) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:658:47: ';' + { + char_literal879=(Token)match(input,SEMI,FOLLOW_SEMI_in_reintroduceDirective18518); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal879_tree = (Object)adaptor.create(char_literal879); + adaptor.addChild(root_0, char_literal879_tree); + } + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 157, reintroduceDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "reintroduceDirective" + + + public static class overloadDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "overloadDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:660:1: overloadDirective : 'overload' ( ';' )? ; + public final DelphiParser.overloadDirective_return overloadDirective() throws RecognitionException { + DelphiParser.overloadDirective_return retval = new DelphiParser.overloadDirective_return(); + retval.start = input.LT(1); + int overloadDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal880=null; + Token char_literal881=null; + + Object string_literal880_tree=null; + Object char_literal881_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 158) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:660:30: ( 'overload' ( ';' )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:660:32: 'overload' ( ';' )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal880=(Token)match(input,OVERLOAD,FOLLOW_OVERLOAD_in_overloadDirective18568); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal880_tree = (Object)adaptor.create(string_literal880); + adaptor.addChild(root_0, string_literal880_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:660:43: ( ';' )? + int alt290=2; + int LA290_0 = input.LA(1); + if ( (LA290_0==SEMI) ) { + int LA290_1 = input.LA(2); + if ( (synpred441_Delphi()) ) { + alt290=1; + } + } + switch (alt290) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:660:44: ';' + { + char_literal881=(Token)match(input,SEMI,FOLLOW_SEMI_in_overloadDirective18571); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal881_tree = (Object)adaptor.create(char_literal881); + adaptor.addChild(root_0, char_literal881_tree); + } + + } + break; + + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 158, overloadDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "overloadDirective" + + + public static class bindingDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "bindingDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:662:1: bindingDirective : ( 'message' expression ';' | 'static' ';' | 'dynamic' ';' | 'override' ';' | 'virtual' ';' ); + public final DelphiParser.bindingDirective_return bindingDirective() throws RecognitionException { + DelphiParser.bindingDirective_return retval = new DelphiParser.bindingDirective_return(); + retval.start = input.LT(1); + int bindingDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal882=null; + Token char_literal884=null; + Token string_literal885=null; + Token char_literal886=null; + Token string_literal887=null; + Token char_literal888=null; + Token string_literal889=null; + Token char_literal890=null; + Token string_literal891=null; + Token char_literal892=null; + ParserRuleReturnScope expression883 =null; + + Object string_literal882_tree=null; + Object char_literal884_tree=null; + Object string_literal885_tree=null; + Object char_literal886_tree=null; + Object string_literal887_tree=null; + Object char_literal888_tree=null; + Object string_literal889_tree=null; + Object char_literal890_tree=null; + Object string_literal891_tree=null; + Object char_literal892_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 159) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:662:30: ( 'message' expression ';' | 'static' ';' | 'dynamic' ';' | 'override' ';' | 'virtual' ';' ) + int alt291=5; + switch ( input.LA(1) ) { + case MESSAGE: + { + alt291=1; + } + break; + case STATIC: + { + alt291=2; + } + break; + case DYNAMIC: + { + alt291=3; + } + break; + case OVERRIDE: + { + alt291=4; + } + break; + case VIRTUAL: + { + alt291=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 291, 0, input); + throw nvae; + } + switch (alt291) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:662:32: 'message' expression ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal882=(Token)match(input,MESSAGE,FOLLOW_MESSAGE_in_bindingDirective18626); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal882_tree = (Object)adaptor.create(string_literal882); + adaptor.addChild(root_0, string_literal882_tree); + } + + pushFollow(FOLLOW_expression_in_bindingDirective18628); + expression883=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression883.getTree()); + + char_literal884=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective18630); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal884_tree = (Object)adaptor.create(char_literal884); + adaptor.addChild(root_0, char_literal884_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:663:32: 'static' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal885=(Token)match(input,STATIC,FOLLOW_STATIC_in_bindingDirective18663); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal885_tree = (Object)adaptor.create(string_literal885); + adaptor.addChild(root_0, string_literal885_tree); + } + + char_literal886=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective18665); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal886_tree = (Object)adaptor.create(char_literal886); + adaptor.addChild(root_0, char_literal886_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:664:32: 'dynamic' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal887=(Token)match(input,DYNAMIC,FOLLOW_DYNAMIC_in_bindingDirective18698); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal887_tree = (Object)adaptor.create(string_literal887); + adaptor.addChild(root_0, string_literal887_tree); + } + + char_literal888=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective18700); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal888_tree = (Object)adaptor.create(char_literal888); + adaptor.addChild(root_0, char_literal888_tree); + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:665:32: 'override' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal889=(Token)match(input,OVERRIDE,FOLLOW_OVERRIDE_in_bindingDirective18733); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal889_tree = (Object)adaptor.create(string_literal889); + adaptor.addChild(root_0, string_literal889_tree); + } + + char_literal890=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective18735); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal890_tree = (Object)adaptor.create(char_literal890); + adaptor.addChild(root_0, char_literal890_tree); + } + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:666:32: 'virtual' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal891=(Token)match(input,VIRTUAL,FOLLOW_VIRTUAL_in_bindingDirective18768); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal891_tree = (Object)adaptor.create(string_literal891); + adaptor.addChild(root_0, string_literal891_tree); + } + + char_literal892=(Token)match(input,SEMI,FOLLOW_SEMI_in_bindingDirective18770); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal892_tree = (Object)adaptor.create(char_literal892); + adaptor.addChild(root_0, char_literal892_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 159, bindingDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "bindingDirective" + + + public static class abstractDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "abstractDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:668:1: abstractDirective : ( 'abstract' ';' | 'final' ';' ); + public final DelphiParser.abstractDirective_return abstractDirective() throws RecognitionException { + DelphiParser.abstractDirective_return retval = new DelphiParser.abstractDirective_return(); + retval.start = input.LT(1); + int abstractDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal893=null; + Token char_literal894=null; + Token string_literal895=null; + Token char_literal896=null; + + Object string_literal893_tree=null; + Object char_literal894_tree=null; + Object string_literal895_tree=null; + Object char_literal896_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 160) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:668:30: ( 'abstract' ';' | 'final' ';' ) + int alt292=2; + int LA292_0 = input.LA(1); + if ( (LA292_0==ABSTRACT) ) { + alt292=1; + } + else if ( (LA292_0==FINAL) ) { + alt292=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 292, 0, input); + throw nvae; + } + + switch (alt292) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:668:32: 'abstract' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal893=(Token)match(input,ABSTRACT,FOLLOW_ABSTRACT_in_abstractDirective18818); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal893_tree = (Object)adaptor.create(string_literal893); + adaptor.addChild(root_0, string_literal893_tree); + } + + char_literal894=(Token)match(input,SEMI,FOLLOW_SEMI_in_abstractDirective18820); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal894_tree = (Object)adaptor.create(char_literal894); + adaptor.addChild(root_0, char_literal894_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:669:32: 'final' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal895=(Token)match(input,FINAL,FOLLOW_FINAL_in_abstractDirective18853); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal895_tree = (Object)adaptor.create(string_literal895); + adaptor.addChild(root_0, string_literal895_tree); + } + + char_literal896=(Token)match(input,SEMI,FOLLOW_SEMI_in_abstractDirective18855); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal896_tree = (Object)adaptor.create(char_literal896); + adaptor.addChild(root_0, char_literal896_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 160, abstractDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "abstractDirective" + + + public static class inlineDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "inlineDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:671:1: inlineDirective : ( 'inline' ';' | 'assembler' ';' ); + public final DelphiParser.inlineDirective_return inlineDirective() throws RecognitionException { + DelphiParser.inlineDirective_return retval = new DelphiParser.inlineDirective_return(); + retval.start = input.LT(1); + int inlineDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal897=null; + Token char_literal898=null; + Token string_literal899=null; + Token char_literal900=null; + + Object string_literal897_tree=null; + Object char_literal898_tree=null; + Object string_literal899_tree=null; + Object char_literal900_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 161) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:671:30: ( 'inline' ';' | 'assembler' ';' ) + int alt293=2; + int LA293_0 = input.LA(1); + if ( (LA293_0==INLINE) ) { + alt293=1; + } + else if ( (LA293_0==ASSEMBLER) ) { + alt293=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 293, 0, input); + throw nvae; + } + + switch (alt293) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:671:32: 'inline' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal897=(Token)match(input,INLINE,FOLLOW_INLINE_in_inlineDirective18905); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal897_tree = (Object)adaptor.create(string_literal897); + adaptor.addChild(root_0, string_literal897_tree); + } + + char_literal898=(Token)match(input,SEMI,FOLLOW_SEMI_in_inlineDirective18907); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal898_tree = (Object)adaptor.create(char_literal898); + adaptor.addChild(root_0, char_literal898_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:672:32: 'assembler' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal899=(Token)match(input,ASSEMBLER,FOLLOW_ASSEMBLER_in_inlineDirective18940); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal899_tree = (Object)adaptor.create(string_literal899); + adaptor.addChild(root_0, string_literal899_tree); + } + + char_literal900=(Token)match(input,SEMI,FOLLOW_SEMI_in_inlineDirective18942); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal900_tree = (Object)adaptor.create(char_literal900); + adaptor.addChild(root_0, char_literal900_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 161, inlineDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "inlineDirective" + + + public static class callConvention_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "callConvention" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:674:1: callConvention : ( 'cdecl' ';' | 'pascal' ';' | 'register' ';' | 'safecall' ';' | 'stdcall' ';' | 'export' ';' ); + public final DelphiParser.callConvention_return callConvention() throws RecognitionException { + DelphiParser.callConvention_return retval = new DelphiParser.callConvention_return(); + retval.start = input.LT(1); + int callConvention_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal901=null; + Token char_literal902=null; + Token string_literal903=null; + Token char_literal904=null; + Token string_literal905=null; + Token char_literal906=null; + Token string_literal907=null; + Token char_literal908=null; + Token string_literal909=null; + Token char_literal910=null; + Token string_literal911=null; + Token char_literal912=null; + + Object string_literal901_tree=null; + Object char_literal902_tree=null; + Object string_literal903_tree=null; + Object char_literal904_tree=null; + Object string_literal905_tree=null; + Object char_literal906_tree=null; + Object string_literal907_tree=null; + Object char_literal908_tree=null; + Object string_literal909_tree=null; + Object char_literal910_tree=null; + Object string_literal911_tree=null; + Object char_literal912_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 162) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:674:30: ( 'cdecl' ';' | 'pascal' ';' | 'register' ';' | 'safecall' ';' | 'stdcall' ';' | 'export' ';' ) + int alt294=6; + switch ( input.LA(1) ) { + case CDECL: + { + alt294=1; + } + break; + case PASCAL: + { + alt294=2; + } + break; + case REGISTER: + { + alt294=3; + } + break; + case SAFECALL: + { + alt294=4; + } + break; + case STDCALL: + { + alt294=5; + } + break; + case EXPORT: + { + alt294=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 294, 0, input); + throw nvae; + } + switch (alt294) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:674:32: 'cdecl' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal901=(Token)match(input,CDECL,FOLLOW_CDECL_in_callConvention18994); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal901_tree = (Object)adaptor.create(string_literal901); + adaptor.addChild(root_0, string_literal901_tree); + } + + char_literal902=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention18996); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal902_tree = (Object)adaptor.create(char_literal902); + adaptor.addChild(root_0, char_literal902_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:675:32: 'pascal' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal903=(Token)match(input,PASCAL,FOLLOW_PASCAL_in_callConvention19033); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal903_tree = (Object)adaptor.create(string_literal903); + adaptor.addChild(root_0, string_literal903_tree); + } + + char_literal904=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention19035); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal904_tree = (Object)adaptor.create(char_literal904); + adaptor.addChild(root_0, char_literal904_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:676:32: 'register' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal905=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_callConvention19071); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal905_tree = (Object)adaptor.create(string_literal905); + adaptor.addChild(root_0, string_literal905_tree); + } + + char_literal906=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention19073); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal906_tree = (Object)adaptor.create(char_literal906); + adaptor.addChild(root_0, char_literal906_tree); + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:677:32: 'safecall' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal907=(Token)match(input,SAFECALL,FOLLOW_SAFECALL_in_callConvention19107); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal907_tree = (Object)adaptor.create(string_literal907); + adaptor.addChild(root_0, string_literal907_tree); + } + + char_literal908=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention19109); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal908_tree = (Object)adaptor.create(char_literal908); + adaptor.addChild(root_0, char_literal908_tree); + } + + } + break; + case 5 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:678:32: 'stdcall' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal909=(Token)match(input,STDCALL,FOLLOW_STDCALL_in_callConvention19143); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal909_tree = (Object)adaptor.create(string_literal909); + adaptor.addChild(root_0, string_literal909_tree); + } + + char_literal910=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention19145); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal910_tree = (Object)adaptor.create(char_literal910); + adaptor.addChild(root_0, char_literal910_tree); + } + + } + break; + case 6 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:679:32: 'export' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal911=(Token)match(input,EXPORT,FOLLOW_EXPORT_in_callConvention19180); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal911_tree = (Object)adaptor.create(string_literal911); + adaptor.addChild(root_0, string_literal911_tree); + } + + char_literal912=(Token)match(input,SEMI,FOLLOW_SEMI_in_callConvention19182); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal912_tree = (Object)adaptor.create(char_literal912); + adaptor.addChild(root_0, char_literal912_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 162, callConvention_StartIndex); } + + } + return retval; + } + // $ANTLR end "callConvention" + + + public static class callConventionNoSemi_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "callConventionNoSemi" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:681:1: callConventionNoSemi : ( 'cdecl' | 'pascal' | 'register' | 'safecall' | 'stdcall' | 'export' ); + public final DelphiParser.callConventionNoSemi_return callConventionNoSemi() throws RecognitionException { + DelphiParser.callConventionNoSemi_return retval = new DelphiParser.callConventionNoSemi_return(); + retval.start = input.LT(1); + int callConventionNoSemi_StartIndex = input.index(); + + Object root_0 = null; + + Token set913=null; + + Object set913_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 163) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:681:30: ( 'cdecl' | 'pascal' | 'register' | 'safecall' | 'stdcall' | 'export' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set913=input.LT(1); + if ( input.LA(1)==CDECL||input.LA(1)==EXPORT||input.LA(1)==PASCAL||input.LA(1)==REGISTER||input.LA(1)==SAFECALL||input.LA(1)==STDCALL ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set913)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 163, callConventionNoSemi_StartIndex); } + + } + return retval; + } + // $ANTLR end "callConventionNoSemi" + + + public static class oldCallConventionDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "oldCallConventionDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:688:1: oldCallConventionDirective : ( 'far' ';' | 'local' ';' | 'near' ';' ); + public final DelphiParser.oldCallConventionDirective_return oldCallConventionDirective() throws RecognitionException { + DelphiParser.oldCallConventionDirective_return retval = new DelphiParser.oldCallConventionDirective_return(); + retval.start = input.LT(1); + int oldCallConventionDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal914=null; + Token char_literal915=null; + Token string_literal916=null; + Token char_literal917=null; + Token string_literal918=null; + Token char_literal919=null; + + Object string_literal914_tree=null; + Object char_literal915_tree=null; + Object string_literal916_tree=null; + Object char_literal917_tree=null; + Object string_literal918_tree=null; + Object char_literal919_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 164) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:688:30: ( 'far' ';' | 'local' ';' | 'near' ';' ) + int alt295=3; + switch ( input.LA(1) ) { + case FAR: + { + alt295=1; + } + break; + case LOCAL: + { + alt295=2; + } + break; + case NEAR: + { + alt295=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 295, 0, input); + throw nvae; + } + switch (alt295) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:688:32: 'far' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal914=(Token)match(input,FAR,FOLLOW_FAR_in_oldCallConventionDirective19448); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal914_tree = (Object)adaptor.create(string_literal914); + adaptor.addChild(root_0, string_literal914_tree); + } + + char_literal915=(Token)match(input,SEMI,FOLLOW_SEMI_in_oldCallConventionDirective19450); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal915_tree = (Object)adaptor.create(char_literal915); + adaptor.addChild(root_0, char_literal915_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:689:32: 'local' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal916=(Token)match(input,LOCAL,FOLLOW_LOCAL_in_oldCallConventionDirective19489); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal916_tree = (Object)adaptor.create(string_literal916); + adaptor.addChild(root_0, string_literal916_tree); + } + + char_literal917=(Token)match(input,SEMI,FOLLOW_SEMI_in_oldCallConventionDirective19491); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal917_tree = (Object)adaptor.create(char_literal917); + adaptor.addChild(root_0, char_literal917_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:690:32: 'near' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal918=(Token)match(input,NEAR,FOLLOW_NEAR_in_oldCallConventionDirective19528); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal918_tree = (Object)adaptor.create(string_literal918); + adaptor.addChild(root_0, string_literal918_tree); + } + + char_literal919=(Token)match(input,SEMI,FOLLOW_SEMI_in_oldCallConventionDirective19530); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal919_tree = (Object)adaptor.create(char_literal919); + adaptor.addChild(root_0, char_literal919_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 164, oldCallConventionDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "oldCallConventionDirective" + + + public static class hintingDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "hintingDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:692:1: hintingDirective : ( 'deprecated' ( stringFactor )? | 'experimental' | 'platform' | 'library' ); + public final DelphiParser.hintingDirective_return hintingDirective() throws RecognitionException { + DelphiParser.hintingDirective_return retval = new DelphiParser.hintingDirective_return(); + retval.start = input.LT(1); + int hintingDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal920=null; + Token string_literal922=null; + Token string_literal923=null; + Token string_literal924=null; + ParserRuleReturnScope stringFactor921 =null; + + Object string_literal920_tree=null; + Object string_literal922_tree=null; + Object string_literal923_tree=null; + Object string_literal924_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 165) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:692:30: ( 'deprecated' ( stringFactor )? | 'experimental' | 'platform' | 'library' ) + int alt297=4; + switch ( input.LA(1) ) { + case DEPRECATED: + { + alt297=1; + } + break; + case EXPERIMENTAL: + { + alt297=2; + } + break; + case PLATFORM: + { + alt297=3; + } + break; + case LIBRARY: + { + alt297=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 297, 0, input); + throw nvae; + } + switch (alt297) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:692:32: 'deprecated' ( stringFactor )? + { + root_0 = (Object)adaptor.nil(); + + + string_literal920=(Token)match(input,DEPRECATED,FOLLOW_DEPRECATED_in_hintingDirective19584); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal920_tree = (Object)adaptor.create(string_literal920); + adaptor.addChild(root_0, string_literal920_tree); + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:692:45: ( stringFactor )? + int alt296=2; + int LA296_0 = input.LA(1); + if ( (LA296_0==ControlChar||LA296_0==QuotedString) ) { + alt296=1; + } + switch (alt296) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:692:46: stringFactor + { + pushFollow(FOLLOW_stringFactor_in_hintingDirective19587); + stringFactor921=stringFactor(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, stringFactor921.getTree()); + + } + break; + + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:693:32: 'experimental' + { + root_0 = (Object)adaptor.nil(); + + + string_literal922=(Token)match(input,EXPERIMENTAL,FOLLOW_EXPERIMENTAL_in_hintingDirective19622); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal922_tree = (Object)adaptor.create(string_literal922); + adaptor.addChild(root_0, string_literal922_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:694:32: 'platform' + { + root_0 = (Object)adaptor.nil(); + + + string_literal923=(Token)match(input,PLATFORM,FOLLOW_PLATFORM_in_hintingDirective19657); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal923_tree = (Object)adaptor.create(string_literal923); + adaptor.addChild(root_0, string_literal923_tree); + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:695:32: 'library' + { + root_0 = (Object)adaptor.nil(); + + + string_literal924=(Token)match(input,LIBRARY,FOLLOW_LIBRARY_in_hintingDirective19690); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal924_tree = (Object)adaptor.create(string_literal924); + adaptor.addChild(root_0, string_literal924_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 165, hintingDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "hintingDirective" + + + public static class externalDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "externalDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:697:1: externalDirective : ( 'varargs' ';' | 'external' ';' | 'external' constExpression ( externalSpecifier )* ( 'delayed' )? ';' ); + public final DelphiParser.externalDirective_return externalDirective() throws RecognitionException { + DelphiParser.externalDirective_return retval = new DelphiParser.externalDirective_return(); + retval.start = input.LT(1); + int externalDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal925=null; + Token char_literal926=null; + Token string_literal927=null; + Token char_literal928=null; + Token string_literal929=null; + Token string_literal932=null; + Token char_literal933=null; + ParserRuleReturnScope constExpression930 =null; + ParserRuleReturnScope externalSpecifier931 =null; + + Object string_literal925_tree=null; + Object char_literal926_tree=null; + Object string_literal927_tree=null; + Object char_literal928_tree=null; + Object string_literal929_tree=null; + Object string_literal932_tree=null; + Object char_literal933_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 166) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:697:30: ( 'varargs' ';' | 'external' ';' | 'external' constExpression ( externalSpecifier )* ( 'delayed' )? ';' ) + int alt300=3; + int LA300_0 = input.LA(1); + if ( (LA300_0==VARARGS) ) { + alt300=1; + } + else if ( (LA300_0==EXTERNAL) ) { + int LA300_2 = input.LA(2); + if ( (LA300_2==SEMI) ) { + int LA300_3 = input.LA(3); + if ( (synpred465_Delphi()) ) { + alt300=2; + } + else if ( (true) ) { + alt300=3; + } + + } + else if ( ((LA300_2 >= ADD && LA300_2 <= ANSISTRING)||LA300_2==AS||(LA300_2 >= AT && LA300_2 <= AT2)||LA300_2==BREAK||(LA300_2 >= CONTAINS && LA300_2 <= DELAYED)||LA300_2==DISPID||LA300_2==DIV||LA300_2==DOT||(LA300_2 >= DQ && LA300_2 <= DW)||LA300_2==EQUAL||LA300_2==EXIT||LA300_2==EXPORT||LA300_2==FALSE||LA300_2==FINAL||(LA300_2 >= FUNCTION && LA300_2 <= GE)||(LA300_2 >= GT && LA300_2 <= HELPER)||(LA300_2 >= IMPLEMENTS && LA300_2 <= INHERITED)||LA300_2==IS||LA300_2==LBRACK||LA300_2==LE||(LA300_2 >= LOCAL && LA300_2 <= NAME)||LA300_2==NIL||(LA300_2 >= NOT && LA300_2 <= OBJECT)||(LA300_2 >= OPERATOR && LA300_2 <= OUT)||(LA300_2 >= PLUS && LA300_2 <= POINTER2)||LA300_2==PROCEDURE||LA300_2==QuotedString||(LA300_2 >= READ && LA300_2 <= READONLY)||(LA300_2 >= REFERENCE && LA300_2 <= REGISTER)||LA300_2==REMOVE||(LA300_2 >= SHL && LA300_2 <= STATIC)||(LA300_2 >= STORED && LA300_2 <= STRING)||LA300_2==TRUE||(LA300_2 >= TkHexNum && LA300_2 <= TkIntNum)||LA300_2==TkRealNum||LA300_2==UNSAFE||(LA300_2 >= VARARGS && LA300_2 <= VIRTUAL)||(LA300_2 >= WRITE && LA300_2 <= WRITEONLY)||(LA300_2 >= XOR && LA300_2 <= 210)) ) { + alt300=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 300, 2, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 300, 0, input); + throw nvae; + } + + switch (alt300) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:697:32: 'varargs' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal925=(Token)match(input,VARARGS,FOLLOW_VARARGS_in_externalDirective19738); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal925_tree = (Object)adaptor.create(string_literal925); + adaptor.addChild(root_0, string_literal925_tree); + } + + char_literal926=(Token)match(input,SEMI,FOLLOW_SEMI_in_externalDirective19740); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal926_tree = (Object)adaptor.create(char_literal926); + adaptor.addChild(root_0, char_literal926_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:698:32: 'external' ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal927=(Token)match(input,EXTERNAL,FOLLOW_EXTERNAL_in_externalDirective19776); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal927_tree = (Object)adaptor.create(string_literal927); + adaptor.addChild(root_0, string_literal927_tree); + } + + char_literal928=(Token)match(input,SEMI,FOLLOW_SEMI_in_externalDirective19778); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal928_tree = (Object)adaptor.create(char_literal928); + adaptor.addChild(root_0, char_literal928_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:699:32: 'external' constExpression ( externalSpecifier )* ( 'delayed' )? ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal929=(Token)match(input,EXTERNAL,FOLLOW_EXTERNAL_in_externalDirective19811); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal929_tree = (Object)adaptor.create(string_literal929); + adaptor.addChild(root_0, string_literal929_tree); + } + + pushFollow(FOLLOW_constExpression_in_externalDirective19813); + constExpression930=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression930.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:699:59: ( externalSpecifier )* + loop298: + while (true) { + int alt298=2; + int LA298_0 = input.LA(1); + if ( (LA298_0==INDEX||LA298_0==NAME) ) { + alt298=1; + } + + switch (alt298) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:699:60: externalSpecifier + { + pushFollow(FOLLOW_externalSpecifier_in_externalDirective19816); + externalSpecifier931=externalSpecifier(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, externalSpecifier931.getTree()); + + } + break; + + default : + break loop298; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:699:80: ( 'delayed' )? + int alt299=2; + int LA299_0 = input.LA(1); + if ( (LA299_0==DELAYED) ) { + alt299=1; + } + switch (alt299) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:699:81: 'delayed' + { + string_literal932=(Token)match(input,DELAYED,FOLLOW_DELAYED_in_externalDirective19821); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal932_tree = (Object)adaptor.create(string_literal932); + adaptor.addChild(root_0, string_literal932_tree); + } + + } + break; + + } + + char_literal933=(Token)match(input,SEMI,FOLLOW_SEMI_in_externalDirective19825); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal933_tree = (Object)adaptor.create(char_literal933); + adaptor.addChild(root_0, char_literal933_tree); + } + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 166, externalDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "externalDirective" + + + public static class externalSpecifier_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "externalSpecifier" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:701:1: externalSpecifier : ( 'name' constExpression | 'index' constExpression ); + public final DelphiParser.externalSpecifier_return externalSpecifier() throws RecognitionException { + DelphiParser.externalSpecifier_return retval = new DelphiParser.externalSpecifier_return(); + retval.start = input.LT(1); + int externalSpecifier_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal934=null; + Token string_literal936=null; + ParserRuleReturnScope constExpression935 =null; + ParserRuleReturnScope constExpression937 =null; + + Object string_literal934_tree=null; + Object string_literal936_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 167) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:701:30: ( 'name' constExpression | 'index' constExpression ) + int alt301=2; + int LA301_0 = input.LA(1); + if ( (LA301_0==NAME) ) { + alt301=1; + } + else if ( (LA301_0==INDEX) ) { + alt301=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 301, 0, input); + throw nvae; + } + + switch (alt301) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:701:32: 'name' constExpression + { + root_0 = (Object)adaptor.nil(); + + + string_literal934=(Token)match(input,NAME,FOLLOW_NAME_in_externalSpecifier19874); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal934_tree = (Object)adaptor.create(string_literal934); + adaptor.addChild(root_0, string_literal934_tree); + } + + pushFollow(FOLLOW_constExpression_in_externalSpecifier19876); + constExpression935=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression935.getTree()); + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:702:32: 'index' constExpression + { + root_0 = (Object)adaptor.nil(); + + + string_literal936=(Token)match(input,INDEX,FOLLOW_INDEX_in_externalSpecifier19909); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal936_tree = (Object)adaptor.create(string_literal936); + adaptor.addChild(root_0, string_literal936_tree); + } + + pushFollow(FOLLOW_constExpression_in_externalSpecifier19911); + constExpression937=constExpression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, constExpression937.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 167, externalSpecifier_StartIndex); } + + } + return retval; + } + // $ANTLR end "externalSpecifier" + + + public static class dispIDDirective_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "dispIDDirective" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:704:1: dispIDDirective : 'dispid' expression ';' ; + public final DelphiParser.dispIDDirective_return dispIDDirective() throws RecognitionException { + DelphiParser.dispIDDirective_return retval = new DelphiParser.dispIDDirective_return(); + retval.start = input.LT(1); + int dispIDDirective_StartIndex = input.index(); + + Object root_0 = null; + + Token string_literal938=null; + Token char_literal940=null; + ParserRuleReturnScope expression939 =null; + + Object string_literal938_tree=null; + Object char_literal940_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 168) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:704:30: ( 'dispid' expression ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:704:32: 'dispid' expression ';' + { + root_0 = (Object)adaptor.nil(); + + + string_literal938=(Token)match(input,DISPID,FOLLOW_DISPID_in_dispIDDirective19964); if (state.failed) return retval; + if ( state.backtracking==0 ) { + string_literal938_tree = (Object)adaptor.create(string_literal938); + adaptor.addChild(root_0, string_literal938_tree); + } + + pushFollow(FOLLOW_expression_in_dispIDDirective19966); + expression939=expression(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, expression939.getTree()); + + char_literal940=(Token)match(input,SEMI,FOLLOW_SEMI_in_dispIDDirective19968); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal940_tree = (Object)adaptor.create(char_literal940); + adaptor.addChild(root_0, char_literal940_tree); + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 168, dispIDDirective_StartIndex); } + + } + return retval; + } + // $ANTLR end "dispIDDirective" + + + public static class ident_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "ident" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:1: ident : ( TkIdentifier | '&' TkIdentifier -> TkIdentifier | '&' keywordsAsIdentifier -> keywordsAsIdentifier | usedKeywordsAsNames ); + public final DelphiParser.ident_return ident() throws RecognitionException { + DelphiParser.ident_return retval = new DelphiParser.ident_return(); + retval.start = input.LT(1); + int ident_StartIndex = input.index(); + + Object root_0 = null; + + Token TkIdentifier941=null; + Token char_literal942=null; + Token TkIdentifier943=null; + Token char_literal944=null; + ParserRuleReturnScope keywordsAsIdentifier945 =null; + ParserRuleReturnScope usedKeywordsAsNames946 =null; + + Object TkIdentifier941_tree=null; + Object char_literal942_tree=null; + Object TkIdentifier943_tree=null; + Object char_literal944_tree=null; + RewriteRuleTokenStream stream_198=new RewriteRuleTokenStream(adaptor,"token 198"); + RewriteRuleTokenStream stream_TkIdentifier=new RewriteRuleTokenStream(adaptor,"token TkIdentifier"); + RewriteRuleSubtreeStream stream_keywordsAsIdentifier=new RewriteRuleSubtreeStream(adaptor,"rule keywordsAsIdentifier"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 169) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:30: ( TkIdentifier | '&' TkIdentifier -> TkIdentifier | '&' keywordsAsIdentifier -> keywordsAsIdentifier | usedKeywordsAsNames ) + int alt302=4; + switch ( input.LA(1) ) { + case TkIdentifier: + { + alt302=1; + } + break; + case 198: + { + int LA302_2 = input.LA(2); + if ( (LA302_2==TkIdentifier) ) { + alt302=2; + } + else if ( ((LA302_2 >= ABSOLUTE && LA302_2 <= ASSEMBLY)||LA302_2==AT||LA302_2==AUTOMATED||(LA302_2 >= BEGIN && LA302_2 <= CLASS)||(LA302_2 >= CONST && LA302_2 <= CONTINUE)||LA302_2==DEFAULT||(LA302_2 >= DEPRECATED && LA302_2 <= DO)||(LA302_2 >= DOWNTO && LA302_2 <= DYNAMIC)||(LA302_2 >= ELSE && LA302_2 <= END)||(LA302_2 >= EXCEPT && LA302_2 <= FUNCTION)||LA302_2==GOTO||LA302_2==HELPER||(LA302_2 >= IF && LA302_2 <= LABEL)||(LA302_2 >= LIBRARY && LA302_2 <= LOCAL)||LA302_2==MESSAGE||(LA302_2 >= MOD && LA302_2 <= NOT)||(LA302_2 >= OBJECT && LA302_2 <= PLATFORM)||LA302_2==POINTER||(LA302_2 >= PRIVATE && LA302_2 <= PUBLISHED)||LA302_2==RAISE||(LA302_2 >= READ && LA302_2 <= RESOURCESTRING)||(LA302_2 >= SAFECALL && LA302_2 <= SEALED)||(LA302_2 >= SET && LA302_2 <= SHR)||(LA302_2 >= STATIC && LA302_2 <= TYPE)||(LA302_2 >= UNIT && LA302_2 <= USES)||(LA302_2 >= VAR && LA302_2 <= WRITEONLY)||LA302_2==XOR) ) { + alt302=3; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 302, 2, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + alt302=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 302, 0, input); + throw nvae; + } + switch (alt302) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:709:32: TkIdentifier + { + root_0 = (Object)adaptor.nil(); + + + TkIdentifier941=(Token)match(input,TkIdentifier,FOLLOW_TkIdentifier_in_ident20031); if (state.failed) return retval; + if ( state.backtracking==0 ) { + TkIdentifier941_tree = (Object)adaptor.create(TkIdentifier941); + adaptor.addChild(root_0, TkIdentifier941_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:710:32: '&' TkIdentifier + { + char_literal942=(Token)match(input,198,FOLLOW_198_in_ident20064); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_198.add(char_literal942); + + TkIdentifier943=(Token)match(input,TkIdentifier,FOLLOW_TkIdentifier_in_ident20066); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_TkIdentifier.add(TkIdentifier943); + + // AST REWRITE + // elements: TkIdentifier + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 710:49: -> TkIdentifier + { + adaptor.addChild(root_0, stream_TkIdentifier.nextNode()); + } + + + retval.tree = root_0; + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:711:32: '&' keywordsAsIdentifier + { + char_literal944=(Token)match(input,198,FOLLOW_198_in_ident20103); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_198.add(char_literal944); + + pushFollow(FOLLOW_keywordsAsIdentifier_in_ident20105); + keywordsAsIdentifier945=keywordsAsIdentifier(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_keywordsAsIdentifier.add(keywordsAsIdentifier945.getTree()); + // AST REWRITE + // elements: keywordsAsIdentifier + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 711:57: -> keywordsAsIdentifier + { + adaptor.addChild(root_0, stream_keywordsAsIdentifier.nextTree()); + } + + + retval.tree = root_0; + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:712:32: usedKeywordsAsNames + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_usedKeywordsAsNames_in_ident20142); + usedKeywordsAsNames946=usedKeywordsAsNames(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, usedKeywordsAsNames946.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 169, ident_StartIndex); } + + } + return retval; + } + // $ANTLR end "ident" + + + public static class usedKeywordsAsNames_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "usedKeywordsAsNames" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:714:1: usedKeywordsAsNames : ( ( NAME | READONLY | ADD | DISPID | AT | IN | MESSAGE | POINTER | INDEX | DEFAULT | STRING | CONTINUE ) | ( READ | WRITE | REGISTER | VARIANT | OPERATOR | REMOVE | LOCAL | REFERENCE | CONTAINS | FINAL ) | ( BREAK | EXIT | STRICT | OUT | OBJECT | EXPORT | ANSISTRING | IMPLEMENTS | STORED | HELPER ) | ( UNSAFE | STATIC | DQ | DW | VARARGS | VARIANT | VIRTUAL | WRITE | WRITEONLY | FALSE | TRUE ) ); + public final DelphiParser.usedKeywordsAsNames_return usedKeywordsAsNames() throws RecognitionException { + DelphiParser.usedKeywordsAsNames_return retval = new DelphiParser.usedKeywordsAsNames_return(); + retval.start = input.LT(1); + int usedKeywordsAsNames_StartIndex = input.index(); + + Object root_0 = null; + + Token set947=null; + + Object set947_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 170) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:714:30: ( ( NAME | READONLY | ADD | DISPID | AT | IN | MESSAGE | POINTER | INDEX | DEFAULT | STRING | CONTINUE ) | ( READ | WRITE | REGISTER | VARIANT | OPERATOR | REMOVE | LOCAL | REFERENCE | CONTAINS | FINAL ) | ( BREAK | EXIT | STRICT | OUT | OBJECT | EXPORT | ANSISTRING | IMPLEMENTS | STORED | HELPER ) | ( UNSAFE | STATIC | DQ | DW | VARARGS | VARIANT | VIRTUAL | WRITE | WRITEONLY | FALSE | TRUE ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set947=input.LT(1); + if ( input.LA(1)==ADD||input.LA(1)==ANSISTRING||input.LA(1)==AT||input.LA(1)==BREAK||(input.LA(1) >= CONTAINS && input.LA(1) <= CONTINUE)||input.LA(1)==DEFAULT||input.LA(1)==DISPID||(input.LA(1) >= DQ && input.LA(1) <= DW)||input.LA(1)==EXIT||input.LA(1)==EXPORT||input.LA(1)==FALSE||input.LA(1)==FINAL||input.LA(1)==HELPER||(input.LA(1) >= IMPLEMENTS && input.LA(1) <= INDEX)||input.LA(1)==LOCAL||input.LA(1)==MESSAGE||input.LA(1)==NAME||input.LA(1)==OBJECT||input.LA(1)==OPERATOR||input.LA(1)==OUT||input.LA(1)==POINTER||(input.LA(1) >= READ && input.LA(1) <= READONLY)||(input.LA(1) >= REFERENCE && input.LA(1) <= REGISTER)||input.LA(1)==REMOVE||input.LA(1)==STATIC||(input.LA(1) >= STORED && input.LA(1) <= STRING)||input.LA(1)==TRUE||input.LA(1)==UNSAFE||(input.LA(1) >= VARARGS && input.LA(1) <= VIRTUAL)||(input.LA(1) >= WRITE && input.LA(1) <= WRITEONLY) ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set947)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 170, usedKeywordsAsNames_StartIndex); } + + } + return retval; + } + // $ANTLR end "usedKeywordsAsNames" + + + public static class keywordsAsIdentifier_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "keywordsAsIdentifier" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:719:1: keywordsAsIdentifier : ( ( ABSOLUTE | ABSTRACT | ADD | AND | ANSISTRING | ARRAY | AS | ASM | ASSEMBLER | ASSEMBLY ) | ( AT | AUTOMATED | BEGIN | BREAK | CASE | CDECL | CLASS | CONST | CONSTRUCTOR | CONTAINS ) | ( CONTINUE | DEFAULT | DEPRECATED | DESTRUCTOR | DISPID | DISPINTERFACE | DIV | DO | DOWNTO ) | ( DQ | DW | DYNAMIC | ELSE | END | EXCEPT | EXIT | EXPERIMENTAL | EXPORT | EXPORTS | EXTERNAL ) | ( FAR | FILE | FINAL | FINALIZATION | FINALLY | FOR | FORWARD | FUNCTION | GOTO | HELPER | IF ) | ( IMPLEMENTATION | IMPLEMENTS | IN | INDEX | INHERITED | INITIALIZATION | INLINE | INTERFACE ) | ( IS | LABEL | LIBRARY | LOCAL | MESSAGE | MOD | NAME | NEAR | NIL | NODEFAULT | NOT | OBJECT ) | ( OF | ON | OPERATOR | OR | OUT | OVERLOAD | OVERRIDE | PACKAGE | PACKED | PASCAL | PLATFORM ) | ( POINTER | PRIVATE | PROCEDURE | PROGRAM | PROPERTY | PROTECTED | PUBLIC | PUBLISHED | RAISE ) | ( READ | READONLY | RECORD | REFERENCE | REGISTER | REINTRODUCE | REMOVE | REPEAT | REQUIRES ) | ( RESIDENT | RESOURCESTRING | SAFECALL | SEALED | SET | SHL | SHR | STATIC | STDCALL | STORED ) | ( STRICT | STRING | THEN | THREADVAR | TO | TRY | TYPE | UNIT | UNSAFE | UNTIL | USES | VAR ) | ( VARARGS | VARIANT | VIRTUAL | WHILE | WITH | WRITE | WRITEONLY | XOR | FALSE | TRUE ) ); + public final DelphiParser.keywordsAsIdentifier_return keywordsAsIdentifier() throws RecognitionException { + DelphiParser.keywordsAsIdentifier_return retval = new DelphiParser.keywordsAsIdentifier_return(); + retval.start = input.LT(1); + int keywordsAsIdentifier_StartIndex = input.index(); + + Object root_0 = null; + + Token set948=null; + + Object set948_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 171) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:719:30: ( ( ABSOLUTE | ABSTRACT | ADD | AND | ANSISTRING | ARRAY | AS | ASM | ASSEMBLER | ASSEMBLY ) | ( AT | AUTOMATED | BEGIN | BREAK | CASE | CDECL | CLASS | CONST | CONSTRUCTOR | CONTAINS ) | ( CONTINUE | DEFAULT | DEPRECATED | DESTRUCTOR | DISPID | DISPINTERFACE | DIV | DO | DOWNTO ) | ( DQ | DW | DYNAMIC | ELSE | END | EXCEPT | EXIT | EXPERIMENTAL | EXPORT | EXPORTS | EXTERNAL ) | ( FAR | FILE | FINAL | FINALIZATION | FINALLY | FOR | FORWARD | FUNCTION | GOTO | HELPER | IF ) | ( IMPLEMENTATION | IMPLEMENTS | IN | INDEX | INHERITED | INITIALIZATION | INLINE | INTERFACE ) | ( IS | LABEL | LIBRARY | LOCAL | MESSAGE | MOD | NAME | NEAR | NIL | NODEFAULT | NOT | OBJECT ) | ( OF | ON | OPERATOR | OR | OUT | OVERLOAD | OVERRIDE | PACKAGE | PACKED | PASCAL | PLATFORM ) | ( POINTER | PRIVATE | PROCEDURE | PROGRAM | PROPERTY | PROTECTED | PUBLIC | PUBLISHED | RAISE ) | ( READ | READONLY | RECORD | REFERENCE | REGISTER | REINTRODUCE | REMOVE | REPEAT | REQUIRES ) | ( RESIDENT | RESOURCESTRING | SAFECALL | SEALED | SET | SHL | SHR | STATIC | STDCALL | STORED ) | ( STRICT | STRING | THEN | THREADVAR | TO | TRY | TYPE | UNIT | UNSAFE | UNTIL | USES | VAR ) | ( VARARGS | VARIANT | VIRTUAL | WHILE | WITH | WRITE | WRITEONLY | XOR | FALSE | TRUE ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set948=input.LT(1); + if ( (input.LA(1) >= ABSOLUTE && input.LA(1) <= ASSEMBLY)||input.LA(1)==AT||input.LA(1)==AUTOMATED||(input.LA(1) >= BEGIN && input.LA(1) <= CLASS)||(input.LA(1) >= CONST && input.LA(1) <= CONTINUE)||input.LA(1)==DEFAULT||(input.LA(1) >= DEPRECATED && input.LA(1) <= DO)||(input.LA(1) >= DOWNTO && input.LA(1) <= DYNAMIC)||(input.LA(1) >= ELSE && input.LA(1) <= END)||(input.LA(1) >= EXCEPT && input.LA(1) <= FUNCTION)||input.LA(1)==GOTO||input.LA(1)==HELPER||(input.LA(1) >= IF && input.LA(1) <= LABEL)||(input.LA(1) >= LIBRARY && input.LA(1) <= LOCAL)||input.LA(1)==MESSAGE||(input.LA(1) >= MOD && input.LA(1) <= NOT)||(input.LA(1) >= OBJECT && input.LA(1) <= PLATFORM)||input.LA(1)==POINTER||(input.LA(1) >= PRIVATE && input.LA(1) <= PUBLISHED)||input.LA(1)==RAISE||(input.LA(1) >= READ && input.LA(1) <= RESOURCESTRING)||(input.LA(1) >= SAFECALL && input.LA(1) <= SEALED)||(input.LA(1) >= SET && input.LA(1) <= SHR)||(input.LA(1) >= STATIC && input.LA(1) <= TYPE)||(input.LA(1) >= UNIT && input.LA(1) <= USES)||(input.LA(1) >= VAR && input.LA(1) <= WRITEONLY)||input.LA(1)==XOR ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set948)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 171, keywordsAsIdentifier_StartIndex); } + + } + return retval; + } + // $ANTLR end "keywordsAsIdentifier" + + + public static class identList_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "identList" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:733:1: identList : ident ( ',' ident )* -> ^( ident ( ident )* ) ; + public final DelphiParser.identList_return identList() throws RecognitionException { + DelphiParser.identList_return retval = new DelphiParser.identList_return(); + retval.start = input.LT(1); + int identList_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal950=null; + ParserRuleReturnScope ident949 =null; + ParserRuleReturnScope ident951 =null; + + Object char_literal950_tree=null; + RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); + RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 172) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:733:30: ( ident ( ',' ident )* -> ^( ident ( ident )* ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:733:32: ident ( ',' ident )* + { + pushFollow(FOLLOW_ident_in_identList21451); + ident949=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident949.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:733:38: ( ',' ident )* + loop303: + while (true) { + int alt303=2; + int LA303_0 = input.LA(1); + if ( (LA303_0==COMMA) ) { + alt303=1; + } + + switch (alt303) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:733:39: ',' ident + { + char_literal950=(Token)match(input,COMMA,FOLLOW_COMMA_in_identList21454); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COMMA.add(char_literal950); + + pushFollow(FOLLOW_ident_in_identList21456); + ident951=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident951.getTree()); + } + break; + + default : + break loop303; + } + } + + // AST REWRITE + // elements: ident, ident + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 733:51: -> ^( ident ( ident )* ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:733:54: ^( ident ( ident )* ) + { + Object root_1 = (Object)adaptor.nil(); + root_1 = (Object)adaptor.becomeRoot(stream_ident.nextNode(), root_1); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:733:62: ( ident )* + while ( stream_ident.hasNext() ) { + adaptor.addChild(root_1, stream_ident.nextTree()); + } + stream_ident.reset(); + + adaptor.addChild(root_0, root_1); + } + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 172, identList_StartIndex); } + + } + return retval; + } + // $ANTLR end "identList" + + + public static class identListFlat_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "identListFlat" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:735:1: identListFlat : ident ( ',' ident )* -> ident ( ident )* ; + public final DelphiParser.identListFlat_return identListFlat() throws RecognitionException { + DelphiParser.identListFlat_return retval = new DelphiParser.identListFlat_return(); + retval.start = input.LT(1); + int identListFlat_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal953=null; + ParserRuleReturnScope ident952 =null; + ParserRuleReturnScope ident954 =null; + + Object char_literal953_tree=null; + RewriteRuleTokenStream stream_COMMA=new RewriteRuleTokenStream(adaptor,"token COMMA"); + RewriteRuleSubtreeStream stream_ident=new RewriteRuleSubtreeStream(adaptor,"rule ident"); + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 173) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:735:30: ( ident ( ',' ident )* -> ident ( ident )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:735:32: ident ( ',' ident )* + { + pushFollow(FOLLOW_ident_in_identListFlat21521); + ident952=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident952.getTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:735:38: ( ',' ident )* + loop304: + while (true) { + int alt304=2; + int LA304_0 = input.LA(1); + if ( (LA304_0==COMMA) ) { + alt304=1; + } + + switch (alt304) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:735:39: ',' ident + { + char_literal953=(Token)match(input,COMMA,FOLLOW_COMMA_in_identListFlat21524); if (state.failed) return retval; + if ( state.backtracking==0 ) stream_COMMA.add(char_literal953); + + pushFollow(FOLLOW_ident_in_identListFlat21526); + ident954=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) stream_ident.add(ident954.getTree()); + } + break; + + default : + break loop304; + } + } + + // AST REWRITE + // elements: ident, ident + // token labels: + // rule labels: retval + // token list labels: + // rule list labels: + // wildcard labels: + if ( state.backtracking==0 ) { + retval.tree = root_0; + RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null); + + root_0 = (Object)adaptor.nil(); + // 735:51: -> ident ( ident )* + { + adaptor.addChild(root_0, stream_ident.nextTree()); + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:735:60: ( ident )* + while ( stream_ident.hasNext() ) { + adaptor.addChild(root_0, stream_ident.nextTree()); + } + stream_ident.reset(); + + } + + + retval.tree = root_0; + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 173, identListFlat_StartIndex); } + + } + return retval; + } + // $ANTLR end "identListFlat" + + + public static class label_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "label" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:737:1: label : ( TkIdentifier | TkIntNum | TkHexNum | usedKeywordsAsNames ); + public final DelphiParser.label_return label() throws RecognitionException { + DelphiParser.label_return retval = new DelphiParser.label_return(); + retval.start = input.LT(1); + int label_StartIndex = input.index(); + + Object root_0 = null; + + Token TkIdentifier955=null; + Token TkIntNum956=null; + Token TkHexNum957=null; + ParserRuleReturnScope usedKeywordsAsNames958 =null; + + Object TkIdentifier955_tree=null; + Object TkIntNum956_tree=null; + Object TkHexNum957_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 174) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:737:30: ( TkIdentifier | TkIntNum | TkHexNum | usedKeywordsAsNames ) + int alt305=4; + switch ( input.LA(1) ) { + case TkIdentifier: + { + alt305=1; + } + break; + case TkIntNum: + { + alt305=2; + } + break; + case TkHexNum: + { + alt305=3; + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + alt305=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 305, 0, input); + throw nvae; + } + switch (alt305) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:737:32: TkIdentifier + { + root_0 = (Object)adaptor.nil(); + + + TkIdentifier955=(Token)match(input,TkIdentifier,FOLLOW_TkIdentifier_in_label21600); if (state.failed) return retval; + if ( state.backtracking==0 ) { + TkIdentifier955_tree = (Object)adaptor.create(TkIdentifier955); + adaptor.addChild(root_0, TkIdentifier955_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:738:32: TkIntNum + { + root_0 = (Object)adaptor.nil(); + + + TkIntNum956=(Token)match(input,TkIntNum,FOLLOW_TkIntNum_in_label21633); if (state.failed) return retval; + if ( state.backtracking==0 ) { + TkIntNum956_tree = (Object)adaptor.create(TkIntNum956); + adaptor.addChild(root_0, TkIntNum956_tree); + } + + } + break; + case 3 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:739:32: TkHexNum + { + root_0 = (Object)adaptor.nil(); + + + TkHexNum957=(Token)match(input,TkHexNum,FOLLOW_TkHexNum_in_label21666); if (state.failed) return retval; + if ( state.backtracking==0 ) { + TkHexNum957_tree = (Object)adaptor.create(TkHexNum957); + adaptor.addChild(root_0, TkHexNum957_tree); + } + + } + break; + case 4 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:740:32: usedKeywordsAsNames + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_usedKeywordsAsNames_in_label21699); + usedKeywordsAsNames958=usedKeywordsAsNames(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, usedKeywordsAsNames958.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 174, label_StartIndex); } + + } + return retval; + } + // $ANTLR end "label" + + + public static class intRealNum_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "intRealNum" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:742:1: intRealNum : ( TkRealNum | intNum ); + public final DelphiParser.intRealNum_return intRealNum() throws RecognitionException { + DelphiParser.intRealNum_return retval = new DelphiParser.intRealNum_return(); + retval.start = input.LT(1); + int intRealNum_StartIndex = input.index(); + + Object root_0 = null; + + Token TkRealNum959=null; + ParserRuleReturnScope intNum960 =null; + + Object TkRealNum959_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 175) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:742:30: ( TkRealNum | intNum ) + int alt306=2; + int LA306_0 = input.LA(1); + if ( (LA306_0==TkRealNum) ) { + alt306=1; + } + else if ( (LA306_0==TkHexNum||LA306_0==TkIntNum) ) { + alt306=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return retval;} + NoViableAltException nvae = + new NoViableAltException("", 306, 0, input); + throw nvae; + } + + switch (alt306) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:742:32: TkRealNum + { + root_0 = (Object)adaptor.nil(); + + + TkRealNum959=(Token)match(input,TkRealNum,FOLLOW_TkRealNum_in_intRealNum21754); if (state.failed) return retval; + if ( state.backtracking==0 ) { + TkRealNum959_tree = (Object)adaptor.create(TkRealNum959); + adaptor.addChild(root_0, TkRealNum959_tree); + } + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:743:32: intNum + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_intNum_in_intRealNum21787); + intNum960=intNum(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, intNum960.getTree()); + + } + break; + + } + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 175, intRealNum_StartIndex); } + + } + return retval; + } + // $ANTLR end "intRealNum" + + + public static class intNum_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "intNum" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:745:1: intNum : ( TkIntNum | TkHexNum ); + public final DelphiParser.intNum_return intNum() throws RecognitionException { + DelphiParser.intNum_return retval = new DelphiParser.intNum_return(); + retval.start = input.LT(1); + int intNum_StartIndex = input.index(); + + Object root_0 = null; + + Token set961=null; + + Object set961_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 176) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:745:30: ( TkIntNum | TkHexNum ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g: + { + root_0 = (Object)adaptor.nil(); + + + set961=input.LT(1); + if ( input.LA(1)==TkHexNum||input.LA(1)==TkIntNum ) { + input.consume(); + if ( state.backtracking==0 ) adaptor.addChild(root_0, (Object)adaptor.create(set961)); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return retval;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 176, intNum_StartIndex); } + + } + return retval; + } + // $ANTLR end "intNum" + + + public static class namespaceName_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "namespaceName" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:748:1: namespaceName : ident ( '.' ident )* ; + public final DelphiParser.namespaceName_return namespaceName() throws RecognitionException { + DelphiParser.namespaceName_return retval = new DelphiParser.namespaceName_return(); + retval.start = input.LT(1); + int namespaceName_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal963=null; + ParserRuleReturnScope ident962 =null; + ParserRuleReturnScope ident964 =null; + + Object char_literal963_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 177) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:748:30: ( ident ( '.' ident )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:748:32: ident ( '.' ident )* + { + root_0 = (Object)adaptor.nil(); + + + pushFollow(FOLLOW_ident_in_namespaceName21931); + ident962=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident962.getTree()); + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:748:38: ( '.' ident )* + loop307: + while (true) { + int alt307=2; + int LA307_0 = input.LA(1); + if ( (LA307_0==DOT) ) { + alt307=1; + } + + switch (alt307) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:748:39: '.' ident + { + char_literal963=(Token)match(input,DOT,FOLLOW_DOT_in_namespaceName21934); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal963_tree = (Object)adaptor.create(char_literal963); + adaptor.addChild(root_0, char_literal963_tree); + } + + pushFollow(FOLLOW_ident_in_namespaceName21936); + ident964=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident964.getTree()); + + } + break; + + default : + break loop307; + } + } + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 177, namespaceName_StartIndex); } + + } + return retval; + } + // $ANTLR end "namespaceName" + + + public static class qualifiedIdent_return extends ParserRuleReturnScope { + Object tree; + @Override + public Object getTree() { return tree; } + }; + + + // $ANTLR start "qualifiedIdent" + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:750:1: qualifiedIdent : ( ident '.' )* ident ; + public final DelphiParser.qualifiedIdent_return qualifiedIdent() throws RecognitionException { + DelphiParser.qualifiedIdent_return retval = new DelphiParser.qualifiedIdent_return(); + retval.start = input.LT(1); + int qualifiedIdent_StartIndex = input.index(); + + Object root_0 = null; + + Token char_literal966=null; + ParserRuleReturnScope ident965 =null; + ParserRuleReturnScope ident967 =null; + + Object char_literal966_tree=null; + + try { + if ( state.backtracking>0 && alreadyParsedRule(input, 178) ) { return retval; } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:750:30: ( ( ident '.' )* ident ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:750:33: ( ident '.' )* ident + { + root_0 = (Object)adaptor.nil(); + + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:750:33: ( ident '.' )* + loop308: + while (true) { + int alt308=2; + switch ( input.LA(1) ) { + case TkIdentifier: + { + int LA308_1 = input.LA(2); + if ( (LA308_1==DOT) ) { + int LA308_5 = input.LA(3); + if ( (synpred653_Delphi()) ) { + alt308=1; + } + + } + + } + break; + case 198: + { + int LA308_2 = input.LA(2); + if ( (LA308_2==TkIdentifier) ) { + int LA308_6 = input.LA(3); + if ( (LA308_6==DOT) ) { + int LA308_10 = input.LA(4); + if ( (synpred653_Delphi()) ) { + alt308=1; + } + + } + + } + else if ( ((LA308_2 >= ABSOLUTE && LA308_2 <= ASSEMBLY)||LA308_2==AT||LA308_2==AUTOMATED||(LA308_2 >= BEGIN && LA308_2 <= CLASS)||(LA308_2 >= CONST && LA308_2 <= CONTINUE)||LA308_2==DEFAULT||(LA308_2 >= DEPRECATED && LA308_2 <= DO)||(LA308_2 >= DOWNTO && LA308_2 <= DYNAMIC)||(LA308_2 >= ELSE && LA308_2 <= END)||(LA308_2 >= EXCEPT && LA308_2 <= FUNCTION)||LA308_2==GOTO||LA308_2==HELPER||(LA308_2 >= IF && LA308_2 <= LABEL)||(LA308_2 >= LIBRARY && LA308_2 <= LOCAL)||LA308_2==MESSAGE||(LA308_2 >= MOD && LA308_2 <= NOT)||(LA308_2 >= OBJECT && LA308_2 <= PLATFORM)||LA308_2==POINTER||(LA308_2 >= PRIVATE && LA308_2 <= PUBLISHED)||LA308_2==RAISE||(LA308_2 >= READ && LA308_2 <= RESOURCESTRING)||(LA308_2 >= SAFECALL && LA308_2 <= SEALED)||(LA308_2 >= SET && LA308_2 <= SHR)||(LA308_2 >= STATIC && LA308_2 <= TYPE)||(LA308_2 >= UNIT && LA308_2 <= USES)||(LA308_2 >= VAR && LA308_2 <= WRITEONLY)||LA308_2==XOR) ) { + int LA308_7 = input.LA(3); + if ( (LA308_7==DOT) ) { + int LA308_11 = input.LA(4); + if ( (synpred653_Delphi()) ) { + alt308=1; + } + + } + + } + + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA308_3 = input.LA(2); + if ( (LA308_3==DOT) ) { + int LA308_8 = input.LA(3); + if ( (synpred653_Delphi()) ) { + alt308=1; + } + + } + + } + break; + } + switch (alt308) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:750:34: ident '.' + { + pushFollow(FOLLOW_ident_in_qualifiedIdent21991); + ident965=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident965.getTree()); + + char_literal966=(Token)match(input,DOT,FOLLOW_DOT_in_qualifiedIdent21993); if (state.failed) return retval; + if ( state.backtracking==0 ) { + char_literal966_tree = (Object)adaptor.create(char_literal966); + adaptor.addChild(root_0, char_literal966_tree); + } + + } + break; + + default : + break loop308; + } + } + + pushFollow(FOLLOW_ident_in_qualifiedIdent21998); + ident967=ident(); + state._fsp--; + if (state.failed) return retval; + if ( state.backtracking==0 ) adaptor.addChild(root_0, ident967.getTree()); + + } + + retval.stop = input.LT(-1); + + if ( state.backtracking==0 ) { + retval.tree = (Object)adaptor.rulePostProcessing(root_0); + adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop); + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re); + } + finally { + // do for sure before leaving + if ( state.backtracking>0 ) { memoize(input, 178, qualifiedIdent_StartIndex); } + + } + return retval; + } + // $ANTLR end "qualifiedIdent" + + // $ANTLR start synpred23_Delphi + public final void synpred23_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:33: ( declSection ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:33: declSection + { + pushFollow(FOLLOW_declSection_in_synpred23_Delphi1593); + declSection(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred23_Delphi + + // $ANTLR start synpred24_Delphi + public final void synpred24_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:48: ( blockBody ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:135:48: blockBody + { + pushFollow(FOLLOW_blockBody_in_synpred24_Delphi1598); + blockBody(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred24_Delphi + + // $ANTLR start synpred30_Delphi + public final void synpred30_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:144:32: ( methodDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:144:32: methodDecl + { + pushFollow(FOLLOW_methodDecl_in_synpred30_Delphi1875); + methodDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred30_Delphi + + // $ANTLR start synpred31_Delphi + public final void synpred31_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:145:32: ( procDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:145:32: procDecl + { + pushFollow(FOLLOW_procDecl_in_synpred31_Delphi1908); + procDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred31_Delphi + + // $ANTLR start synpred35_Delphi + public final void synpred35_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:151:32: ( exportedProcHeading ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:151:32: exportedProcHeading + { + pushFollow(FOLLOW_exportedProcHeading_in_synpred35_Delphi2092); + exportedProcHeading(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred35_Delphi + + // $ANTLR start synpred37_Delphi + public final void synpred37_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:153:32: ( procDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:153:32: procDecl + { + pushFollow(FOLLOW_procDecl_in_synpred37_Delphi2158); + procDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred37_Delphi + + // $ANTLR start synpred39_Delphi + public final void synpred39_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:158:42: ( constDeclaration ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:158:42: constDeclaration + { + pushFollow(FOLLOW_constDeclaration_in_synpred39_Delphi2307); + constDeclaration(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred39_Delphi + + // $ANTLR start synpred41_Delphi + public final void synpred41_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:163:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred41_Delphi2462); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred41_Delphi + + // $ANTLR start synpred44_Delphi + public final void synpred44_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:165:56: ( typeDeclaration ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:165:56: typeDeclaration + { + pushFollow(FOLLOW_typeDeclaration_in_synpred44_Delphi2556); + typeDeclaration(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred44_Delphi + + // $ANTLR start synpred45_Delphi + public final void synpred45_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:167:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred45_Delphi2622); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred45_Delphi + + // $ANTLR start synpred47_Delphi + public final void synpred47_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:55: ( varDeclaration ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:169:55: varDeclaration + { + pushFollow(FOLLOW_varDeclaration_in_synpred47_Delphi2719); + varDeclaration(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred47_Delphi + + // $ANTLR start synpred49_Delphi + public final void synpred49_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:175:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred49_Delphi2879); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred49_Delphi + + // $ANTLR start synpred53_Delphi + public final void synpred53_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:177:32: ( 'var' ident ( ':' typeDecl )? ':=' expression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:177:32: 'var' ident ( ':' typeDecl )? ':=' expression + { + match(input,VAR,FOLLOW_VAR_in_synpred53_Delphi2963); if (state.failed) return; + + pushFollow(FOLLOW_ident_in_synpred53_Delphi2965); + ident(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:177:44: ( ':' typeDecl )? + int alt310=2; + int LA310_0 = input.LA(1); + if ( (LA310_0==COLON) ) { + alt310=1; + } + switch (alt310) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:177:45: ':' typeDecl + { + match(input,COLON,FOLLOW_COLON_in_synpred53_Delphi2968); if (state.failed) return; + + pushFollow(FOLLOW_typeDecl_in_synpred53_Delphi2970); + typeDecl(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + match(input,ASSIGN,FOLLOW_ASSIGN_in_synpred53_Delphi2974); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred53_Delphi2976); + expression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred53_Delphi + + // $ANTLR start synpred54_Delphi + public final void synpred54_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:32: ( 'absolute' qualifiedIdent ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:180:32: 'absolute' qualifiedIdent + { + match(input,ABSOLUTE,FOLLOW_ABSOLUTE_in_synpred54_Delphi3070); if (state.failed) return; + + pushFollow(FOLLOW_qualifiedIdent_in_synpred54_Delphi3072); + qualifiedIdent(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred54_Delphi + + // $ANTLR start synpred55_Delphi + public final void synpred55_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:181:32: ( 'absolute' constExpression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:181:32: 'absolute' constExpression + { + match(input,ABSOLUTE,FOLLOW_ABSOLUTE_in_synpred55_Delphi3105); if (state.failed) return; + + pushFollow(FOLLOW_constExpression_in_synpred55_Delphi3107); + constExpression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred55_Delphi + + // $ANTLR start synpred62_Delphi + public final void synpred62_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:191:32: ( strucType ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:191:32: strucType + { + pushFollow(FOLLOW_strucType_in_synpred62_Delphi3352); + strucType(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred62_Delphi + + // $ANTLR start synpred63_Delphi + public final void synpred63_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:192:32: ( pointerType ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:192:32: pointerType + { + pushFollow(FOLLOW_pointerType_in_synpred63_Delphi3385); + pointerType(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred63_Delphi + + // $ANTLR start synpred64_Delphi + public final void synpred64_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:193:32: ( stringType ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:193:32: stringType + { + pushFollow(FOLLOW_stringType_in_synpred64_Delphi3418); + stringType(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred64_Delphi + + // $ANTLR start synpred65_Delphi + public final void synpred65_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:194:32: ( procedureType ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:194:32: procedureType + { + pushFollow(FOLLOW_procedureType_in_synpred65_Delphi3451); + procedureType(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred65_Delphi + + // $ANTLR start synpred66_Delphi + public final void synpred66_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:195:32: ( variantType ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:195:32: variantType + { + pushFollow(FOLLOW_variantType_in_synpred66_Delphi3484); + variantType(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred66_Delphi + + // $ANTLR start synpred68_Delphi + public final void synpred68_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:50: ( genericPostfix ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:50: genericPostfix + { + pushFollow(FOLLOW_genericPostfix_in_synpred68_Delphi3525); + genericPostfix(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred68_Delphi + + // $ANTLR start synpred69_Delphi + public final void synpred69_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:68: ( '.' typeDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:68: '.' typeDecl + { + match(input,DOT,FOLLOW_DOT_in_synpred69_Delphi3530); if (state.failed) return; + + pushFollow(FOLLOW_typeDecl_in_synpred69_Delphi3532); + typeDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred69_Delphi + + // $ANTLR start synpred70_Delphi + public final void synpred70_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:84: ( paranthesePostfix ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:84: paranthesePostfix + { + pushFollow(FOLLOW_paranthesePostfix_in_synpred70_Delphi3537); + paranthesePostfix(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred70_Delphi + + // $ANTLR start synpred71_Delphi + public final void synpred71_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:32: ( ( 'type' )? typeId ( genericPostfix )? ( '.' typeDecl )* ( paranthesePostfix )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:32: ( 'type' )? typeId ( genericPostfix )? ( '.' typeDecl )* ( paranthesePostfix )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:32: ( 'type' )? + int alt312=2; + int LA312_0 = input.LA(1); + if ( (LA312_0==TYPE) ) { + alt312=1; + } + switch (alt312) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:33: 'type' + { + match(input,TYPE,FOLLOW_TYPE_in_synpred71_Delphi3518); if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_typeId_in_synpred71_Delphi3522); + typeId(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:49: ( genericPostfix )? + int alt313=2; + int LA313_0 = input.LA(1); + if ( (LA313_0==LT) ) { + alt313=1; + } + switch (alt313) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:50: genericPostfix + { + pushFollow(FOLLOW_genericPostfix_in_synpred71_Delphi3525); + genericPostfix(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:67: ( '.' typeDecl )* + loop314: + while (true) { + int alt314=2; + int LA314_0 = input.LA(1); + if ( (LA314_0==DOT) ) { + alt314=1; + } + + switch (alt314) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:68: '.' typeDecl + { + match(input,DOT,FOLLOW_DOT_in_synpred71_Delphi3530); if (state.failed) return; + + pushFollow(FOLLOW_typeDecl_in_synpred71_Delphi3532); + typeDecl(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop314; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:83: ( paranthesePostfix )? + int alt315=2; + int LA315_0 = input.LA(1); + if ( (LA315_0==LPAREN) ) { + alt315=1; + } + switch (alt315) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:196:84: paranthesePostfix + { + pushFollow(FOLLOW_paranthesePostfix_in_synpred71_Delphi3537); + paranthesePostfix(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred71_Delphi + + // $ANTLR start synpred81_Delphi + public final void synpred81_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:32: ( 'const' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:215:32: 'const' + { + match(input,CONST,FOLLOW_CONST_in_synpred81_Delphi4118); if (state.failed) return; + + } + + } + // $ANTLR end synpred81_Delphi + + // $ANTLR start synpred82_Delphi + public final void synpred82_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:40: ( 'of' typeDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:221:40: 'of' typeDecl + { + match(input,OF,FOLLOW_OF_in_synpred82_Delphi4290); if (state.failed) return; + + pushFollow(FOLLOW_typeDecl_in_synpred82_Delphi4292); + typeDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred82_Delphi + + // $ANTLR start synpred84_Delphi + public final void synpred84_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:42: ( '[' expression ']' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:226:42: '[' expression ']' + { + match(input,LBRACK,FOLLOW_LBRACK_in_synpred84_Delphi4441); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred84_Delphi4443); + expression(); + state._fsp--; + if (state.failed) return; + + match(input,RBRACK,FOLLOW_RBRACK_in_synpred84_Delphi4445); if (state.failed) return; + + } + + } + // $ANTLR end synpred84_Delphi + + // $ANTLR start synpred87_Delphi + public final void synpred87_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:227:54: ( codePageNumber ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:227:54: codePageNumber + { + pushFollow(FOLLOW_codePageNumber_in_synpred87_Delphi4492); + codePageNumber(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred87_Delphi + + // $ANTLR start synpred88_Delphi + public final void synpred88_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:32: ( methodType ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:231:32: methodType + { + pushFollow(FOLLOW_methodType_in_synpred88_Delphi4601); + methodType(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred88_Delphi + + // $ANTLR start synpred89_Delphi + public final void synpred89_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:232:32: ( simpleProcedureType ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:232:32: simpleProcedureType + { + pushFollow(FOLLOW_simpleProcedureType_in_synpred89_Delphi4634); + simpleProcedureType(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred89_Delphi + + // $ANTLR start synpred91_Delphi + public final void synpred91_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:55: ( ( ';' )? callConventionNoSemi ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:55: ( ';' )? callConventionNoSemi + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:55: ( ';' )? + int alt321=2; + int LA321_0 = input.LA(1); + if ( (LA321_0==SEMI) ) { + alt321=1; + } + switch (alt321) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:237:56: ';' + { + match(input,SEMI,FOLLOW_SEMI_in_synpred91_Delphi4777); if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_callConventionNoSemi_in_synpred91_Delphi4781); + callConventionNoSemi(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred91_Delphi + + // $ANTLR start synpred93_Delphi + public final void synpred93_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:74: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:241:74: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred93_Delphi4889); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred93_Delphi + + // $ANTLR start synpred95_Delphi + public final void synpred95_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:242:45: ( formalParameterSection ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:242:45: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_synpred95_Delphi4944); + formalParameterSection(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred95_Delphi + + // $ANTLR start synpred96_Delphi + public final void synpred96_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:246:32: ( ident ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:246:32: ident + { + pushFollow(FOLLOW_ident_in_synpred96_Delphi5056); + ident(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred96_Delphi + + // $ANTLR start synpred97_Delphi + public final void synpred97_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:247:32: ( subRangeType ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:247:32: subRangeType + { + pushFollow(FOLLOW_subRangeType_in_synpred97_Delphi5089); + subRangeType(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred97_Delphi + + // $ANTLR start synpred98_Delphi + public final void synpred98_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:49: ( '..' constExpression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:250:49: '..' constExpression + { + match(input,DOTDOT,FOLLOW_DOTDOT_in_synpred98_Delphi5178); if (state.failed) return; + + pushFollow(FOLLOW_constExpression_in_synpred98_Delphi5180); + constExpression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred98_Delphi + + // $ANTLR start synpred111_Delphi + public final void synpred111_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:277:32: ( classTypeTypeDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:277:32: classTypeTypeDecl + { + pushFollow(FOLLOW_classTypeTypeDecl_in_synpred111_Delphi5842); + classTypeTypeDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred111_Delphi + + // $ANTLR start synpred112_Delphi + public final void synpred112_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:278:32: ( classHelperDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:278:32: classHelperDecl + { + pushFollow(FOLLOW_classHelperDecl_in_synpred112_Delphi5875); + classHelperDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred112_Delphi + + // $ANTLR start synpred113_Delphi + public final void synpred113_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:279:32: ( classTypeDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:279:32: classTypeDecl + { + pushFollow(FOLLOW_classTypeDecl_in_synpred113_Delphi5916); + classTypeDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred113_Delphi + + // $ANTLR start synpred116_Delphi + public final void synpred116_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:32: ( recordDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:282:32: recordDecl + { + pushFollow(FOLLOW_recordDecl_in_synpred116_Delphi6039); + recordDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred116_Delphi + + // $ANTLR start synpred120_Delphi + public final void synpred120_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:32: ( 'class' ( classState )? ( classParent )? ( classItem )* 'end' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:32: 'class' ( classState )? ( classParent )? ( classItem )* 'end' + { + match(input,CLASS,FOLLOW_CLASS_in_synpred120_Delphi6200); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:40: ( classState )? + int alt326=2; + int LA326_0 = input.LA(1); + if ( (LA326_0==ABSTRACT||LA326_0==SEALED) ) { + alt326=1; + } + switch (alt326) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:41: classState + { + pushFollow(FOLLOW_classState_in_synpred120_Delphi6203); + classState(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:54: ( classParent )? + int alt327=2; + int LA327_0 = input.LA(1); + if ( (LA327_0==LPAREN) ) { + alt327=1; + } + switch (alt327) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:55: classParent + { + pushFollow(FOLLOW_classParent_in_synpred120_Delphi6208); + classParent(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:69: ( classItem )* + loop328: + while (true) { + int alt328=2; + int LA328_0 = input.LA(1); + if ( (LA328_0==ADD||LA328_0==ANSISTRING||LA328_0==AT||LA328_0==AUTOMATED||LA328_0==BREAK||LA328_0==CLASS||(LA328_0 >= CONST && LA328_0 <= CONTINUE)||LA328_0==DEFAULT||(LA328_0 >= DESTRUCTOR && LA328_0 <= DISPID)||(LA328_0 >= DQ && LA328_0 <= DW)||LA328_0==EXIT||LA328_0==EXPORT||LA328_0==FALSE||LA328_0==FINAL||LA328_0==FUNCTION||LA328_0==HELPER||(LA328_0 >= IMPLEMENTS && LA328_0 <= INDEX)||LA328_0==LBRACK||LA328_0==LOCAL||LA328_0==MESSAGE||LA328_0==NAME||LA328_0==OBJECT||LA328_0==OPERATOR||LA328_0==OUT||LA328_0==POINTER||(LA328_0 >= PRIVATE && LA328_0 <= PROCEDURE)||(LA328_0 >= PROPERTY && LA328_0 <= PUBLISHED)||(LA328_0 >= READ && LA328_0 <= READONLY)||(LA328_0 >= REFERENCE && LA328_0 <= REGISTER)||LA328_0==REMOVE||LA328_0==RESOURCESTRING||LA328_0==STATIC||(LA328_0 >= STORED && LA328_0 <= STRING)||LA328_0==THREADVAR||LA328_0==TRUE||LA328_0==TYPE||LA328_0==TkIdentifier||LA328_0==UNSAFE||(LA328_0 >= VAR && LA328_0 <= VIRTUAL)||(LA328_0 >= WRITE && LA328_0 <= WRITEONLY)||LA328_0==198) ) { + alt328=1; + } + + switch (alt328) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:287:70: classItem + { + pushFollow(FOLLOW_classItem_in_synpred120_Delphi6213); + classItem(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop328; + } + } + + match(input,END,FOLLOW_END_in_synpred120_Delphi6217); if (state.failed) return; + + } + + } + // $ANTLR end synpred120_Delphi + + // $ANTLR start synpred122_Delphi + public final void synpred122_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:55: ( classParent ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:288:55: classParent + { + pushFollow(FOLLOW_classParent_in_synpred122_Delphi6276); + classParent(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred122_Delphi + + // $ANTLR start synpred125_Delphi + public final void synpred125_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:295:32: ( visibility ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:295:32: visibility + { + pushFollow(FOLLOW_visibility_in_synpred125_Delphi6513); + visibility(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred125_Delphi + + // $ANTLR start synpred126_Delphi + public final void synpred126_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:296:32: ( classMethod ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:296:32: classMethod + { + pushFollow(FOLLOW_classMethod_in_synpred126_Delphi6546); + classMethod(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred126_Delphi + + // $ANTLR start synpred127_Delphi + public final void synpred127_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:297:32: ( classField ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:297:32: classField + { + pushFollow(FOLLOW_classField_in_synpred127_Delphi6579); + classField(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred127_Delphi + + // $ANTLR start synpred128_Delphi + public final void synpred128_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:32: ( classProperty ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:298:32: classProperty + { + pushFollow(FOLLOW_classProperty_in_synpred128_Delphi6612); + classProperty(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred128_Delphi + + // $ANTLR start synpred135_Delphi + public final void synpred135_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:306:32: ( classMethod ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:306:32: classMethod + { + pushFollow(FOLLOW_classMethod_in_synpred135_Delphi6882); + classMethod(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred135_Delphi + + // $ANTLR start synpred136_Delphi + public final void synpred136_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:307:32: ( classProperty ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:307:32: classProperty + { + pushFollow(FOLLOW_classProperty_in_synpred136_Delphi6915); + classProperty(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred136_Delphi + + // $ANTLR start synpred143_Delphi + public final void synpred143_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:32: ( interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:32: interfaceKey ( classParent )? ( interfaceGuid )? ( interfaceItem )* 'end' + { + pushFollow(FOLLOW_interfaceKey_in_synpred143_Delphi7067); + interfaceKey(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:45: ( classParent )? + int alt329=2; + int LA329_0 = input.LA(1); + if ( (LA329_0==LPAREN) ) { + alt329=1; + } + switch (alt329) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:46: classParent + { + pushFollow(FOLLOW_classParent_in_synpred143_Delphi7070); + classParent(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:60: ( interfaceGuid )? + int alt330=2; + int LA330_0 = input.LA(1); + if ( (LA330_0==LBRACK) ) { + int LA330_1 = input.LA(2); + if ( (LA330_1==QuotedString) ) { + alt330=1; + } + } + switch (alt330) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:61: interfaceGuid + { + pushFollow(FOLLOW_interfaceGuid_in_synpred143_Delphi7075); + interfaceGuid(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:77: ( interfaceItem )* + loop331: + while (true) { + int alt331=2; + int LA331_0 = input.LA(1); + if ( (LA331_0==CLASS||LA331_0==CONSTRUCTOR||LA331_0==DESTRUCTOR||LA331_0==FUNCTION||LA331_0==LBRACK||LA331_0==OPERATOR||LA331_0==PROCEDURE||LA331_0==PROPERTY) ) { + alt331=1; + } + + switch (alt331) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:312:78: interfaceItem + { + pushFollow(FOLLOW_interfaceItem_in_synpred143_Delphi7080); + interfaceItem(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop331; + } + } + + match(input,END,FOLLOW_END_in_synpred143_Delphi7084); if (state.failed) return; + + } + + } + // $ANTLR end synpred143_Delphi + + // $ANTLR start synpred144_Delphi + public final void synpred144_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:314:46: ( classParent ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:314:46: classParent + { + pushFollow(FOLLOW_classParent_in_synpred144_Delphi7178); + classParent(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred144_Delphi + + // $ANTLR start synpred146_Delphi + public final void synpred146_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:322:32: ( classMethod ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:322:32: classMethod + { + pushFollow(FOLLOW_classMethod_in_synpred146_Delphi7421); + classMethod(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred146_Delphi + + // $ANTLR start synpred147_Delphi + public final void synpred147_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:323:33: ( 'class' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:323:33: 'class' + { + match(input,CLASS,FOLLOW_CLASS_in_synpred147_Delphi7455); if (state.failed) return; + + } + + } + // $ANTLR end synpred147_Delphi + + // $ANTLR start synpred150_Delphi + public final void synpred150_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:32: ( visibility ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:327:32: visibility + { + pushFollow(FOLLOW_visibility_in_synpred150_Delphi7595); + visibility(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred150_Delphi + + // $ANTLR start synpred151_Delphi + public final void synpred151_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:328:32: ( classMethod ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:328:32: classMethod + { + pushFollow(FOLLOW_classMethod_in_synpred151_Delphi7628); + classMethod(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred151_Delphi + + // $ANTLR start synpred152_Delphi + public final void synpred152_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:32: ( simpleRecord ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:331:32: simpleRecord + { + pushFollow(FOLLOW_simpleRecord_in_synpred152_Delphi7716); + simpleRecord(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred152_Delphi + + // $ANTLR start synpred153_Delphi + public final void synpred153_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:42: ( recordField ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:334:42: recordField + { + pushFollow(FOLLOW_recordField_in_synpred153_Delphi7805); + recordField(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred153_Delphi + + // $ANTLR start synpred155_Delphi + public final void synpred155_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:42: ( recordField ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:336:42: recordField + { + pushFollow(FOLLOW_recordField_in_synpred155_Delphi7883); + recordField(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred155_Delphi + + // $ANTLR start synpred157_Delphi + public final void synpred157_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:338:32: ( visibility ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:338:32: visibility + { + pushFollow(FOLLOW_visibility_in_synpred157_Delphi7965); + visibility(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred157_Delphi + + // $ANTLR start synpred158_Delphi + public final void synpred158_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:32: ( classMethod ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:339:32: classMethod + { + pushFollow(FOLLOW_classMethod_in_synpred158_Delphi8003); + classMethod(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred158_Delphi + + // $ANTLR start synpred159_Delphi + public final void synpred159_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:340:32: ( classProperty ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:340:32: classProperty + { + pushFollow(FOLLOW_classProperty_in_synpred159_Delphi8036); + classProperty(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred159_Delphi + + // $ANTLR start synpred162_Delphi + public final void synpred162_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:343:32: ( recordField ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:343:32: recordField + { + pushFollow(FOLLOW_recordField_in_synpred162_Delphi8135); + recordField(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred162_Delphi + + // $ANTLR start synpred177_Delphi + public final void synpred177_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:32: ( classMethod ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:360:32: classMethod + { + pushFollow(FOLLOW_classMethod_in_synpred177_Delphi8706); + classMethod(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred177_Delphi + + // $ANTLR start synpred178_Delphi + public final void synpred178_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred178_Delphi8794); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred178_Delphi + + // $ANTLR start synpred183_Delphi + public final void synpred183_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:32: ( ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:32: ( customAttribute )? ( 'class' )? methodKey ident ( genericDefinition )? ( formalParameterSection )? ';' ( methodDirective )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:32: ( customAttribute )? + int alt332=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt332=1; + } + break; + case CLASS: + { + int LA332_2 = input.LA(2); + if ( (synpred178_Delphi()) ) { + alt332=1; + } + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case PROCEDURE: + { + int LA332_3 = input.LA(2); + if ( (synpred178_Delphi()) ) { + alt332=1; + } + } + break; + } + switch (alt332) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred183_Delphi8794); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:51: ( 'class' )? + int alt333=2; + int LA333_0 = input.LA(1); + if ( (LA333_0==CLASS) ) { + alt333=1; + } + switch (alt333) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:52: 'class' + { + match(input,CLASS,FOLLOW_CLASS_in_synpred183_Delphi8799); if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_methodKey_in_synpred183_Delphi8803); + methodKey(); + state._fsp--; + if (state.failed) return; + + pushFollow(FOLLOW_ident_in_synpred183_Delphi8805); + ident(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:78: ( genericDefinition )? + int alt334=2; + int LA334_0 = input.LA(1); + if ( (LA334_0==LT) ) { + alt334=1; + } + switch (alt334) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:79: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_synpred183_Delphi8808); + genericDefinition(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:99: ( formalParameterSection )? + int alt335=2; + int LA335_0 = input.LA(1); + if ( (LA335_0==LPAREN) ) { + alt335=1; + } + switch (alt335) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:100: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_synpred183_Delphi8813); + formalParameterSection(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + match(input,SEMI,FOLLOW_SEMI_in_synpred183_Delphi8817); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:129: ( methodDirective )* + loop336: + while (true) { + int alt336=2; + int LA336_0 = input.LA(1); + if ( (LA336_0==ABSTRACT||LA336_0==ASSEMBLER||LA336_0==CDECL||LA336_0==DEPRECATED||LA336_0==DISPID||LA336_0==DYNAMIC||(LA336_0 >= EXPERIMENTAL && LA336_0 <= EXPORT)||LA336_0==EXTERNAL||LA336_0==FAR||LA336_0==FINAL||LA336_0==INLINE||(LA336_0 >= LIBRARY && LA336_0 <= LOCAL)||LA336_0==MESSAGE||LA336_0==NEAR||(LA336_0 >= OVERLOAD && LA336_0 <= OVERRIDE)||(LA336_0 >= PASCAL && LA336_0 <= PLATFORM)||(LA336_0 >= REGISTER && LA336_0 <= REINTRODUCE)||LA336_0==SAFECALL||(LA336_0 >= STATIC && LA336_0 <= STDCALL)||LA336_0==VARARGS||LA336_0==VIRTUAL) ) { + alt336=1; + } + + switch (alt336) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:363:130: methodDirective + { + pushFollow(FOLLOW_methodDirective_in_synpred183_Delphi8820); + methodDirective(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop336; + } + } + + } + + } + // $ANTLR end synpred183_Delphi + + // $ANTLR start synpred184_Delphi + public final void synpred184_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred184_Delphi8928); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred184_Delphi + + // $ANTLR start synpred188_Delphi + public final void synpred188_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:131: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:131: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred188_Delphi8954); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred188_Delphi + + // $ANTLR start synpred190_Delphi + public final void synpred190_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:32: ( ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:32: ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:32: ( customAttribute )? + int alt337=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt337=1; + } + break; + case CLASS: + { + int LA337_2 = input.LA(2); + if ( (synpred184_Delphi()) ) { + alt337=1; + } + } + break; + case FUNCTION: + { + int LA337_3 = input.LA(2); + if ( (synpred184_Delphi()) ) { + alt337=1; + } + } + break; + } + switch (alt337) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred190_Delphi8928); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:51: ( 'class' )? + int alt338=2; + int LA338_0 = input.LA(1); + if ( (LA338_0==CLASS) ) { + alt338=1; + } + switch (alt338) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:52: 'class' + { + match(input,CLASS,FOLLOW_CLASS_in_synpred190_Delphi8933); if (state.failed) return; + + } + break; + + } + + match(input,FUNCTION,FOLLOW_FUNCTION_in_synpred190_Delphi8937); if (state.failed) return; + + pushFollow(FOLLOW_ident_in_synpred190_Delphi8939); + ident(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:79: ( genericDefinition )? + int alt339=2; + int LA339_0 = input.LA(1); + if ( (LA339_0==LT) ) { + alt339=1; + } + switch (alt339) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:80: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_synpred190_Delphi8942); + genericDefinition(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:100: ( formalParameterSection )? + int alt340=2; + int LA340_0 = input.LA(1); + if ( (LA340_0==LPAREN) ) { + alt340=1; + } + switch (alt340) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:101: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_synpred190_Delphi8947); + formalParameterSection(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + match(input,COLON,FOLLOW_COLON_in_synpred190_Delphi8951); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:130: ( customAttribute )? + int alt341=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA341_1 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case PACKED: + { + int LA341_2 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case ARRAY: + { + int LA341_3 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case SET: + { + int LA341_4 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case FILE: + { + int LA341_5 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case CLASS: + { + int LA341_6 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case DISPINTERFACE: + case INTERFACE: + { + int LA341_7 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case OBJECT: + { + int LA341_8 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case RECORD: + { + int LA341_9 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case POINTER2: + { + int LA341_10 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case POINTER: + { + int LA341_11 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case STRING: + { + int LA341_12 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case TYPE: + { + int LA341_13 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case ANSISTRING: + { + int LA341_14 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case FUNCTION: + { + int LA341_15 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case PROCEDURE: + { + int LA341_16 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case REFERENCE: + { + int LA341_17 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case VARIANT: + { + int LA341_18 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case TkIdentifier: + { + int LA341_19 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case 198: + { + int LA341_20 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case TRUE: + { + int LA341_21 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case LPAREN: + { + int LA341_22 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case AT2: + { + int LA341_23 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case 199: + { + int LA341_24 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case NOT: + { + int LA341_25 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case PLUS: + { + int LA341_26 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case MINUS: + { + int LA341_27 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case TkRealNum: + { + int LA341_28 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case TkHexNum: + case TkIntNum: + { + int LA341_29 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case FALSE: + { + int LA341_30 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case IN: + { + int LA341_31 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case NIL: + { + int LA341_32 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case 210: + { + int LA341_33 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case ControlChar: + { + int LA341_34 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case QuotedString: + { + int LA341_35 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case 203: + { + int LA341_36 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case INHERITED: + { + int LA341_37 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case 209: + { + int LA341_38 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case DOT: + { + int LA341_39 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case LT: + { + int LA341_40 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA341_41 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case ADD: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OPERATOR: + case OUT: + case READ: + case READONLY: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case UNSAFE: + case VARARGS: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA341_42 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case EQUAL: + { + int LA341_43 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case GE: + case GT: + case IS: + case LE: + case NOT_EQUAL: + { + int LA341_44 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case DOTDOT: + { + int LA341_45 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + case SEMI: + { + int LA341_46 = input.LA(2); + if ( (synpred188_Delphi()) ) { + alt341=1; + } + } + break; + } + switch (alt341) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:131: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred190_Delphi8954); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_synpred190_Delphi8958); + typeDecl(); + state._fsp--; + if (state.failed) return; + + match(input,SEMI,FOLLOW_SEMI_in_synpred190_Delphi8960); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:162: ( methodDirective )* + loop342: + while (true) { + int alt342=2; + int LA342_0 = input.LA(1); + if ( (LA342_0==ABSTRACT||LA342_0==ASSEMBLER||LA342_0==CDECL||LA342_0==DEPRECATED||LA342_0==DISPID||LA342_0==DYNAMIC||(LA342_0 >= EXPERIMENTAL && LA342_0 <= EXPORT)||LA342_0==EXTERNAL||LA342_0==FAR||LA342_0==FINAL||LA342_0==INLINE||(LA342_0 >= LIBRARY && LA342_0 <= LOCAL)||LA342_0==MESSAGE||LA342_0==NEAR||(LA342_0 >= OVERLOAD && LA342_0 <= OVERRIDE)||(LA342_0 >= PASCAL && LA342_0 <= PLATFORM)||(LA342_0 >= REGISTER && LA342_0 <= REINTRODUCE)||LA342_0==SAFECALL||(LA342_0 >= STATIC && LA342_0 <= STDCALL)||LA342_0==VARARGS||LA342_0==VIRTUAL) ) { + alt342=1; + } + + switch (alt342) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:365:163: methodDirective + { + pushFollow(FOLLOW_methodDirective_in_synpred190_Delphi8963); + methodDirective(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop342; + } + } + + } + + } + // $ANTLR end synpred190_Delphi + + // $ANTLR start synpred191_Delphi + public final void synpred191_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred191_Delphi9080); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred191_Delphi + + // $ANTLR start synpred195_Delphi + public final void synpred195_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:131: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:131: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred195_Delphi9106); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred195_Delphi + + // $ANTLR start synpred197_Delphi + public final void synpred197_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:32: ( ( customAttribute )? ( 'class' )? 'operator' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:32: ( customAttribute )? ( 'class' )? 'operator' ident ( genericDefinition )? ( formalParameterSection )? ':' ( customAttribute )? typeDecl ';' ( methodDirective )* + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:32: ( customAttribute )? + int alt343=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt343=1; + } + break; + case CLASS: + { + int LA343_2 = input.LA(2); + if ( (synpred191_Delphi()) ) { + alt343=1; + } + } + break; + case OPERATOR: + { + int LA343_3 = input.LA(2); + if ( (synpred191_Delphi()) ) { + alt343=1; + } + } + break; + } + switch (alt343) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred197_Delphi9080); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:51: ( 'class' )? + int alt344=2; + int LA344_0 = input.LA(1); + if ( (LA344_0==CLASS) ) { + alt344=1; + } + switch (alt344) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:52: 'class' + { + match(input,CLASS,FOLLOW_CLASS_in_synpred197_Delphi9085); if (state.failed) return; + + } + break; + + } + + match(input,OPERATOR,FOLLOW_OPERATOR_in_synpred197_Delphi9089); if (state.failed) return; + + pushFollow(FOLLOW_ident_in_synpred197_Delphi9091); + ident(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:79: ( genericDefinition )? + int alt345=2; + int LA345_0 = input.LA(1); + if ( (LA345_0==LT) ) { + alt345=1; + } + switch (alt345) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:80: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_synpred197_Delphi9094); + genericDefinition(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:100: ( formalParameterSection )? + int alt346=2; + int LA346_0 = input.LA(1); + if ( (LA346_0==LPAREN) ) { + alt346=1; + } + switch (alt346) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:101: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_synpred197_Delphi9099); + formalParameterSection(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + match(input,COLON,FOLLOW_COLON_in_synpred197_Delphi9103); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:130: ( customAttribute )? + int alt347=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA347_1 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case PACKED: + { + int LA347_2 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case ARRAY: + { + int LA347_3 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case SET: + { + int LA347_4 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case FILE: + { + int LA347_5 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case CLASS: + { + int LA347_6 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case DISPINTERFACE: + case INTERFACE: + { + int LA347_7 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case OBJECT: + { + int LA347_8 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case RECORD: + { + int LA347_9 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case POINTER2: + { + int LA347_10 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case POINTER: + { + int LA347_11 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case STRING: + { + int LA347_12 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case TYPE: + { + int LA347_13 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case ANSISTRING: + { + int LA347_14 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case FUNCTION: + { + int LA347_15 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case PROCEDURE: + { + int LA347_16 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case REFERENCE: + { + int LA347_17 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case VARIANT: + { + int LA347_18 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case TkIdentifier: + { + int LA347_19 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case 198: + { + int LA347_20 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case TRUE: + { + int LA347_21 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case LPAREN: + { + int LA347_22 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case AT2: + { + int LA347_23 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case 199: + { + int LA347_24 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case NOT: + { + int LA347_25 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case PLUS: + { + int LA347_26 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case MINUS: + { + int LA347_27 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case TkRealNum: + { + int LA347_28 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case TkHexNum: + case TkIntNum: + { + int LA347_29 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case FALSE: + { + int LA347_30 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case IN: + { + int LA347_31 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case NIL: + { + int LA347_32 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case 210: + { + int LA347_33 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case ControlChar: + { + int LA347_34 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case QuotedString: + { + int LA347_35 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case 203: + { + int LA347_36 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case INHERITED: + { + int LA347_37 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case 209: + { + int LA347_38 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case DOT: + { + int LA347_39 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case LT: + { + int LA347_40 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA347_41 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case ADD: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OPERATOR: + case OUT: + case READ: + case READONLY: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case UNSAFE: + case VARARGS: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA347_42 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case EQUAL: + { + int LA347_43 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case GE: + case GT: + case IS: + case LE: + case NOT_EQUAL: + { + int LA347_44 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case DOTDOT: + { + int LA347_45 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + case SEMI: + { + int LA347_46 = input.LA(2); + if ( (synpred195_Delphi()) ) { + alt347=1; + } + } + break; + } + switch (alt347) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:131: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred197_Delphi9106); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_synpred197_Delphi9110); + typeDecl(); + state._fsp--; + if (state.failed) return; + + match(input,SEMI,FOLLOW_SEMI_in_synpred197_Delphi9112); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:162: ( methodDirective )* + loop348: + while (true) { + int alt348=2; + int LA348_0 = input.LA(1); + if ( (LA348_0==ABSTRACT||LA348_0==ASSEMBLER||LA348_0==CDECL||LA348_0==DEPRECATED||LA348_0==DISPID||LA348_0==DYNAMIC||(LA348_0 >= EXPERIMENTAL && LA348_0 <= EXPORT)||LA348_0==EXTERNAL||LA348_0==FAR||LA348_0==FINAL||LA348_0==INLINE||(LA348_0 >= LIBRARY && LA348_0 <= LOCAL)||LA348_0==MESSAGE||LA348_0==NEAR||(LA348_0 >= OVERLOAD && LA348_0 <= OVERRIDE)||(LA348_0 >= PASCAL && LA348_0 <= PLATFORM)||(LA348_0 >= REGISTER && LA348_0 <= REINTRODUCE)||LA348_0==SAFECALL||(LA348_0 >= STATIC && LA348_0 <= STDCALL)||LA348_0==VARARGS||LA348_0==VIRTUAL) ) { + alt348=1; + } + + switch (alt348) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:367:163: methodDirective + { + pushFollow(FOLLOW_methodDirective_in_synpred197_Delphi9115); + methodDirective(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop348; + } + } + + } + + } + // $ANTLR end synpred197_Delphi + + // $ANTLR start synpred198_Delphi + public final void synpred198_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred198_Delphi9229); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred198_Delphi + + // $ANTLR start synpred201_Delphi + public final void synpred201_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:32: ( ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? '.' ident '=' ident ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:32: ( customAttribute )? ( 'class' )? 'function' ident ( genericDefinition )? '.' ident '=' ident ';' + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:32: ( customAttribute )? + int alt349=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt349=1; + } + break; + case CLASS: + { + int LA349_2 = input.LA(2); + if ( (synpred198_Delphi()) ) { + alt349=1; + } + } + break; + case FUNCTION: + { + int LA349_3 = input.LA(2); + if ( (synpred198_Delphi()) ) { + alt349=1; + } + } + break; + } + switch (alt349) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred201_Delphi9229); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:51: ( 'class' )? + int alt350=2; + int LA350_0 = input.LA(1); + if ( (LA350_0==CLASS) ) { + alt350=1; + } + switch (alt350) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:52: 'class' + { + match(input,CLASS,FOLLOW_CLASS_in_synpred201_Delphi9234); if (state.failed) return; + + } + break; + + } + + match(input,FUNCTION,FOLLOW_FUNCTION_in_synpred201_Delphi9238); if (state.failed) return; + + pushFollow(FOLLOW_ident_in_synpred201_Delphi9240); + ident(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:79: ( genericDefinition )? + int alt351=2; + int LA351_0 = input.LA(1); + if ( (LA351_0==LT) ) { + alt351=1; + } + switch (alt351) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:369:80: genericDefinition + { + pushFollow(FOLLOW_genericDefinition_in_synpred201_Delphi9243); + genericDefinition(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + match(input,DOT,FOLLOW_DOT_in_synpred201_Delphi9247); if (state.failed) return; + + pushFollow(FOLLOW_ident_in_synpred201_Delphi9249); + ident(); + state._fsp--; + if (state.failed) return; + + match(input,EQUAL,FOLLOW_EQUAL_in_synpred201_Delphi9251); if (state.failed) return; + + pushFollow(FOLLOW_ident_in_synpred201_Delphi9253); + ident(); + state._fsp--; + if (state.failed) return; + + match(input,SEMI,FOLLOW_SEMI_in_synpred201_Delphi9255); if (state.failed) return; + + } + + } + // $ANTLR end synpred201_Delphi + + // $ANTLR start synpred202_Delphi + public final void synpred202_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:370:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred202_Delphi9289); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred202_Delphi + + // $ANTLR start synpred205_Delphi + public final void synpred205_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:372:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred205_Delphi9371); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred205_Delphi + + // $ANTLR start synpred207_Delphi + public final void synpred207_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:375:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred207_Delphi9491); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred207_Delphi + + // $ANTLR start synpred214_Delphi + public final void synpred214_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:52: ( ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:382:52: ';' + { + match(input,SEMI,FOLLOW_SEMI_in_synpred214_Delphi9751); if (state.failed) return; + + } + + } + // $ANTLR end synpred214_Delphi + + // $ANTLR start synpred218_Delphi + public final void synpred218_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:387:32: ( 'default' expression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:387:32: 'default' expression + { + match(input,DEFAULT,FOLLOW_DEFAULT_in_synpred218_Delphi9902); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred218_Delphi9904); + expression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred218_Delphi + + // $ANTLR start synpred219_Delphi + public final void synpred219_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:388:32: ( 'default' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:388:32: 'default' + { + match(input,DEFAULT,FOLLOW_DEFAULT_in_synpred219_Delphi9937); if (state.failed) return; + + } + + } + // $ANTLR end synpred219_Delphi + + // $ANTLR start synpred222_Delphi + public final void synpred222_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:393:32: ( 'default' expression ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:393:32: 'default' expression ';' + { + match(input,DEFAULT,FOLLOW_DEFAULT_in_synpred222_Delphi10102); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred222_Delphi10104); + expression(); + state._fsp--; + if (state.failed) return; + + match(input,SEMI,FOLLOW_SEMI_in_synpred222_Delphi10106); if (state.failed) return; + + } + + } + // $ANTLR end synpred222_Delphi + + // $ANTLR start synpred223_Delphi + public final void synpred223_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:394:32: ( 'default' ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:394:32: 'default' ';' + { + match(input,DEFAULT,FOLLOW_DEFAULT_in_synpred223_Delphi10139); if (state.failed) return; + + match(input,SEMI,FOLLOW_SEMI_in_synpred223_Delphi10141); if (state.failed) return; + + } + + } + // $ANTLR end synpred223_Delphi + + // $ANTLR start synpred236_Delphi + public final void synpred236_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:81: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:416:81: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred236_Delphi10724); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred236_Delphi + + // $ANTLR start synpred241_Delphi + public final void synpred241_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:55: ( methodDirective ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:55: methodDirective + { + pushFollow(FOLLOW_methodDirective_in_synpred241_Delphi10842); + methodDirective(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred241_Delphi + + // $ANTLR start synpred242_Delphi + public final void synpred242_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:74: ( methodBody ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:419:74: methodBody + { + pushFollow(FOLLOW_methodBody_in_synpred242_Delphi10847); + methodBody(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred242_Delphi + + // $ANTLR start synpred243_Delphi + public final void synpred243_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred243_Delphi10907); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred243_Delphi + + // $ANTLR start synpred246_Delphi + public final void synpred246_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:32: ( ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:32: ( customAttribute )? ( 'class' )? methodKey methodName ( formalParameterSection )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:32: ( customAttribute )? + int alt358=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt358=1; + } + break; + case CLASS: + { + int LA358_2 = input.LA(2); + if ( (synpred243_Delphi()) ) { + alt358=1; + } + } + break; + case CONSTRUCTOR: + case DESTRUCTOR: + case PROCEDURE: + { + int LA358_3 = input.LA(2); + if ( (synpred243_Delphi()) ) { + alt358=1; + } + } + break; + } + switch (alt358) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred246_Delphi10907); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:51: ( 'class' )? + int alt359=2; + int LA359_0 = input.LA(1); + if ( (LA359_0==CLASS) ) { + alt359=1; + } + switch (alt359) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:52: 'class' + { + match(input,CLASS,FOLLOW_CLASS_in_synpred246_Delphi10912); if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_methodKey_in_synpred246_Delphi10917); + methodKey(); + state._fsp--; + if (state.failed) return; + + pushFollow(FOLLOW_methodName_in_synpred246_Delphi10919); + methodName(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:84: ( formalParameterSection )? + int alt360=2; + int LA360_0 = input.LA(1); + if ( (LA360_0==LPAREN) ) { + alt360=1; + } + switch (alt360) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:421:85: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_synpred246_Delphi10922); + formalParameterSection(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred246_Delphi + + // $ANTLR start synpred247_Delphi + public final void synpred247_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred247_Delphi11020); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred247_Delphi + + // $ANTLR start synpred250_Delphi + public final void synpred250_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:116: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:116: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred250_Delphi11042); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred250_Delphi + + // $ANTLR start synpred252_Delphi + public final void synpred252_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:32: ( ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:32: ( customAttribute )? ( 'class' )? 'function' methodName ( formalParameterSection )? ( ':' ( customAttribute )? typeDecl )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:32: ( customAttribute )? + int alt362=2; + switch ( input.LA(1) ) { + case LBRACK: + { + alt362=1; + } + break; + case CLASS: + { + int LA362_2 = input.LA(2); + if ( (synpred247_Delphi()) ) { + alt362=1; + } + } + break; + case FUNCTION: + { + int LA362_3 = input.LA(2); + if ( (synpred247_Delphi()) ) { + alt362=1; + } + } + break; + } + switch (alt362) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred252_Delphi11020); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:51: ( 'class' )? + int alt363=2; + int LA363_0 = input.LA(1); + if ( (LA363_0==CLASS) ) { + alt363=1; + } + switch (alt363) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:52: 'class' + { + match(input,CLASS,FOLLOW_CLASS_in_synpred252_Delphi11025); if (state.failed) return; + + } + break; + + } + + match(input,FUNCTION,FOLLOW_FUNCTION_in_synpred252_Delphi11029); if (state.failed) return; + + pushFollow(FOLLOW_methodName_in_synpred252_Delphi11031); + methodName(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:84: ( formalParameterSection )? + int alt364=2; + int LA364_0 = input.LA(1); + if ( (LA364_0==LPAREN) ) { + alt364=1; + } + switch (alt364) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:85: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_synpred252_Delphi11034); + formalParameterSection(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:110: ( ':' ( customAttribute )? typeDecl )? + int alt366=2; + int LA366_0 = input.LA(1); + if ( (LA366_0==COLON) ) { + alt366=1; + } + switch (alt366) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:111: ':' ( customAttribute )? typeDecl + { + match(input,COLON,FOLLOW_COLON_in_synpred252_Delphi11039); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:115: ( customAttribute )? + int alt365=2; + switch ( input.LA(1) ) { + case LBRACK: + { + int LA365_1 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case PACKED: + { + int LA365_2 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case ARRAY: + { + int LA365_3 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case SET: + { + int LA365_4 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case FILE: + { + int LA365_5 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case CLASS: + { + int LA365_6 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case DISPINTERFACE: + case INTERFACE: + { + int LA365_7 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case OBJECT: + { + int LA365_8 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case RECORD: + { + int LA365_9 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case POINTER2: + { + int LA365_10 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case POINTER: + { + int LA365_11 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case STRING: + { + int LA365_12 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case TYPE: + { + int LA365_13 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case ANSISTRING: + { + int LA365_14 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case FUNCTION: + { + int LA365_15 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case PROCEDURE: + { + int LA365_16 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case REFERENCE: + { + int LA365_17 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case VARIANT: + { + int LA365_18 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case TkIdentifier: + { + int LA365_19 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case 198: + { + int LA365_20 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case TRUE: + { + int LA365_21 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case LPAREN: + { + int LA365_22 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case AT2: + { + int LA365_23 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case 199: + { + int LA365_24 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case NOT: + { + int LA365_25 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case PLUS: + { + int LA365_26 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case MINUS: + { + int LA365_27 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case TkRealNum: + { + int LA365_28 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case TkHexNum: + case TkIntNum: + { + int LA365_29 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case FALSE: + { + int LA365_30 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case IN: + { + int LA365_31 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case NIL: + { + int LA365_32 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case 210: + { + int LA365_33 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case ControlChar: + { + int LA365_34 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case QuotedString: + { + int LA365_35 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case 203: + { + int LA365_36 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case INHERITED: + { + int LA365_37 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case 209: + { + int LA365_38 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case DOT: + { + int LA365_39 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case LT: + { + int LA365_40 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case AND: + case AS: + case DIV: + case MOD: + case OR: + case SHL: + case SHR: + case SLASH: + case STAR: + case XOR: + case 200: + case 201: + case 202: + case 204: + case 205: + case 206: + case 207: + case 208: + { + int LA365_41 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case ADD: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FINAL: + case HELPER: + case IMPLEMENTS: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OPERATOR: + case OUT: + case READ: + case READONLY: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case UNSAFE: + case VARARGS: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA365_42 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case EQUAL: + { + int LA365_43 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case GE: + case GT: + case IS: + case LE: + case NOT_EQUAL: + { + int LA365_44 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case DOTDOT: + { + int LA365_45 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + case EOF: + { + int LA365_46 = input.LA(2); + if ( (synpred250_Delphi()) ) { + alt365=1; + } + } + break; + } + switch (alt365) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:423:116: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred252_Delphi11042); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_typeDecl_in_synpred252_Delphi11046); + typeDecl(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred252_Delphi + + // $ANTLR start synpred253_Delphi + public final void synpred253_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred253_Delphi11155); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred253_Delphi + + // $ANTLR start synpred255_Delphi + public final void synpred255_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:113: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:425:113: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred255_Delphi11174); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred255_Delphi + + // $ANTLR start synpred262_Delphi + public final void synpred262_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:53: ( functionDirective ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:53: functionDirective + { + pushFollow(FOLLOW_functionDirective_in_synpred262_Delphi11506); + functionDirective(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred262_Delphi + + // $ANTLR start synpred263_Delphi + public final void synpred263_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:74: ( procBody ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:434:74: procBody + { + pushFollow(FOLLOW_procBody_in_synpred263_Delphi11511); + procBody(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred263_Delphi + + // $ANTLR start synpred264_Delphi + public final void synpred264_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred264_Delphi11577); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred264_Delphi + + // $ANTLR start synpred266_Delphi + public final void synpred266_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:32: ( ( customAttribute )? 'procedure' ident ( formalParameterSection )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:32: ( customAttribute )? 'procedure' ident ( formalParameterSection )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:32: ( customAttribute )? + int alt369=2; + int LA369_0 = input.LA(1); + if ( (LA369_0==LBRACK) ) { + alt369=1; + } + else if ( (LA369_0==PROCEDURE) ) { + int LA369_2 = input.LA(2); + if ( (synpred264_Delphi()) ) { + alt369=1; + } + } + switch (alt369) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred266_Delphi11577); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + match(input,PROCEDURE,FOLLOW_PROCEDURE_in_synpred266_Delphi11581); if (state.failed) return; + + pushFollow(FOLLOW_ident_in_synpred266_Delphi11583); + ident(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:69: ( formalParameterSection )? + int alt370=2; + int LA370_0 = input.LA(1); + if ( (LA370_0==LPAREN) ) { + alt370=1; + } + switch (alt370) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:436:70: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_synpred266_Delphi11586); + formalParameterSection(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred266_Delphi + + // $ANTLR start synpred267_Delphi + public final void synpred267_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:438:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:438:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred267_Delphi11686); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred267_Delphi + + // $ANTLR start synpred271_Delphi + public final void synpred271_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:33: ( customAttribute ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:445:33: customAttribute + { + pushFollow(FOLLOW_customAttribute_in_synpred271_Delphi11928); + customAttribute(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred271_Delphi + + // $ANTLR start synpred277_Delphi + public final void synpred277_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:454:47: ( functionDirective ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:454:47: functionDirective + { + pushFollow(FOLLOW_functionDirective_in_synpred277_Delphi12240); + functionDirective(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred277_Delphi + + // $ANTLR start synpred279_Delphi + public final void synpred279_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:44: ( 'name' expression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:44: 'name' expression + { + match(input,NAME,FOLLOW_NAME_in_synpred279_Delphi12281); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred279_Delphi12283); + expression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred279_Delphi + + // $ANTLR start synpred280_Delphi + public final void synpred280_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:64: ( 'index' expression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:64: 'index' expression + { + match(input,INDEX,FOLLOW_INDEX_in_synpred280_Delphi12287); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred280_Delphi12289); + expression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred280_Delphi + + // $ANTLR start synpred281_Delphi + public final void synpred281_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:86: ( functionDirective ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:455:86: functionDirective + { + pushFollow(FOLLOW_functionDirective_in_synpred281_Delphi12294); + functionDirective(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred281_Delphi + + // $ANTLR start synpred283_Delphi + public final void synpred283_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:463:33: ( customAttributeDecl ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:463:33: customAttributeDecl + { + pushFollow(FOLLOW_customAttributeDecl_in_synpred283_Delphi12432); + customAttributeDecl(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred283_Delphi + + // $ANTLR start synpred284_Delphi + public final void synpred284_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:63: ( expressionList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:465:63: expressionList + { + pushFollow(FOLLOW_expressionList_in_synpred284_Delphi12488); + expressionList(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred284_Delphi + + // $ANTLR start synpred287_Delphi + public final void synpred287_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:472:32: ( anonymousExpression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:472:32: anonymousExpression + { + pushFollow(FOLLOW_anonymousExpression_in_synpred287_Delphi12631); + anonymousExpression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred287_Delphi + + // $ANTLR start synpred288_Delphi + public final void synpred288_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:50: ( relOp simpleExpression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:50: relOp simpleExpression + { + pushFollow(FOLLOW_relOp_in_synpred288_Delphi12675); + relOp(); + state._fsp--; + if (state.failed) return; + + pushFollow(FOLLOW_simpleExpression_in_synpred288_Delphi12677); + simpleExpression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred288_Delphi + + // $ANTLR start synpred289_Delphi + public final void synpred289_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:76: ( '=' expression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:473:76: '=' expression + { + match(input,EQUAL,FOLLOW_EQUAL_in_synpred289_Delphi12682); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred289_Delphi12684); + expression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred289_Delphi + + // $ANTLR start synpred290_Delphi + public final void synpred290_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:45: ( formalParameterSection ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:475:45: formalParameterSection + { + pushFollow(FOLLOW_formalParameterSection_in_synpred290_Delphi12738); + formalParameterSection(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred290_Delphi + + // $ANTLR start synpred293_Delphi + public final void synpred293_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:40: ( operator factor ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:478:40: operator factor + { + pushFollow(FOLLOW_operator_in_synpred293_Delphi12838); + operator(); + state._fsp--; + if (state.failed) return; + + pushFollow(FOLLOW_factor_in_synpred293_Delphi12840); + factor(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred293_Delphi + + // $ANTLR start synpred294_Delphi + public final void synpred294_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:480:32: ( '@' factor ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:480:32: '@' factor + { + match(input,AT2,FOLLOW_AT2_in_synpred294_Delphi12901); if (state.failed) return; + + pushFollow(FOLLOW_factor_in_synpred294_Delphi12903); + factor(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred294_Delphi + + // $ANTLR start synpred295_Delphi + public final void synpred295_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:32: ( '@@' factor ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:481:32: '@@' factor + { + match(input,199,FOLLOW_199_in_synpred295_Delphi12936); if (state.failed) return; + + pushFollow(FOLLOW_factor_in_synpred295_Delphi12938); + factor(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred295_Delphi + + // $ANTLR start synpred296_Delphi + public final void synpred296_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:482:32: ( 'not' factor ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:482:32: 'not' factor + { + match(input,NOT,FOLLOW_NOT_in_synpred296_Delphi12978); if (state.failed) return; + + pushFollow(FOLLOW_factor_in_synpred296_Delphi12980); + factor(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred296_Delphi + + // $ANTLR start synpred297_Delphi + public final void synpred297_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:483:32: ( '+' factor ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:483:32: '+' factor + { + match(input,PLUS,FOLLOW_PLUS_in_synpred297_Delphi13013); if (state.failed) return; + + pushFollow(FOLLOW_factor_in_synpred297_Delphi13015); + factor(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred297_Delphi + + // $ANTLR start synpred298_Delphi + public final void synpred298_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:484:32: ( '-' factor ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:484:32: '-' factor + { + match(input,MINUS,FOLLOW_MINUS_in_synpred298_Delphi13048); if (state.failed) return; + + pushFollow(FOLLOW_factor_in_synpred298_Delphi13050); + factor(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred298_Delphi + + // $ANTLR start synpred299_Delphi + public final void synpred299_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:485:32: ( '^' ident ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:485:32: '^' ident + { + match(input,POINTER2,FOLLOW_POINTER2_in_synpred299_Delphi13083); if (state.failed) return; + + pushFollow(FOLLOW_ident_in_synpred299_Delphi13085); + ident(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred299_Delphi + + // $ANTLR start synpred300_Delphi + public final void synpred300_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:486:32: ( intRealNum ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:486:32: intRealNum + { + pushFollow(FOLLOW_intRealNum_in_synpred300_Delphi13129); + intRealNum(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred300_Delphi + + // $ANTLR start synpred301_Delphi + public final void synpred301_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:32: ( 'true' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:487:32: 'true' + { + match(input,TRUE,FOLLOW_TRUE_in_synpred301_Delphi13162); if (state.failed) return; + + } + + } + // $ANTLR end synpred301_Delphi + + // $ANTLR start synpred302_Delphi + public final void synpred302_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:32: ( 'false' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:488:32: 'false' + { + match(input,FALSE,FOLLOW_FALSE_in_synpred302_Delphi13195); if (state.failed) return; + + } + + } + // $ANTLR end synpred302_Delphi + + // $ANTLR start synpred303_Delphi + public final void synpred303_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:489:32: ( 'nil' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:489:32: 'nil' + { + match(input,NIL,FOLLOW_NIL_in_synpred303_Delphi13228); if (state.failed) return; + + } + + } + // $ANTLR end synpred303_Delphi + + // $ANTLR start synpred304_Delphi + public final void synpred304_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:32: ( 'nil^' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:490:32: 'nil^' + { + match(input,210,FOLLOW_210_in_synpred304_Delphi13261); if (state.failed) return; + + } + + } + // $ANTLR end synpred304_Delphi + + // $ANTLR start synpred305_Delphi + public final void synpred305_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:491:32: ( '(' expression ')' designator ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:491:32: '(' expression ')' designator + { + match(input,LPAREN,FOLLOW_LPAREN_in_synpred305_Delphi13339); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred305_Delphi13341); + expression(); + state._fsp--; + if (state.failed) return; + + match(input,RPAREN,FOLLOW_RPAREN_in_synpred305_Delphi13343); if (state.failed) return; + + pushFollow(FOLLOW_designator_in_synpred305_Delphi13345); + designator(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred305_Delphi + + // $ANTLR start synpred306_Delphi + public final void synpred306_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:52: ( '^' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:52: '^' + { + match(input,POINTER2,FOLLOW_POINTER2_in_synpred306_Delphi13385); if (state.failed) return; + + } + + } + // $ANTLR end synpred306_Delphi + + // $ANTLR start synpred307_Delphi + public final void synpred307_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:59: ( '.' expression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:59: '.' expression + { + match(input,DOT,FOLLOW_DOT_in_synpred307_Delphi13390); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred307_Delphi13392); + expression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred307_Delphi + + // $ANTLR start synpred308_Delphi + public final void synpred308_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:32: ( '(' expression ')' ( '^' )? ( '.' expression )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:32: '(' expression ')' ( '^' )? ( '.' expression )? + { + match(input,LPAREN,FOLLOW_LPAREN_in_synpred308_Delphi13378); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred308_Delphi13380); + expression(); + state._fsp--; + if (state.failed) return; + + match(input,RPAREN,FOLLOW_RPAREN_in_synpred308_Delphi13382); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:51: ( '^' )? + int alt376=2; + int LA376_0 = input.LA(1); + if ( (LA376_0==POINTER2) ) { + alt376=1; + } + switch (alt376) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:52: '^' + { + match(input,POINTER2,FOLLOW_POINTER2_in_synpred308_Delphi13385); if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:58: ( '.' expression )? + int alt377=2; + int LA377_0 = input.LA(1); + if ( (LA377_0==DOT) ) { + alt377=1; + } + switch (alt377) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:492:59: '.' expression + { + match(input,DOT,FOLLOW_DOT_in_synpred308_Delphi13390); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred308_Delphi13392); + expression(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred308_Delphi + + // $ANTLR start synpred309_Delphi + public final void synpred309_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:46: ( '.' simpleExpression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:46: '.' simpleExpression + { + match(input,DOT,FOLLOW_DOT_in_synpred309_Delphi13438); if (state.failed) return; + + pushFollow(FOLLOW_simpleExpression_in_synpred309_Delphi13440); + simpleExpression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred309_Delphi + + // $ANTLR start synpred310_Delphi + public final void synpred310_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:32: ( stringFactor ( '.' simpleExpression )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:32: stringFactor ( '.' simpleExpression )? + { + pushFollow(FOLLOW_stringFactor_in_synpred310_Delphi13435); + stringFactor(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:45: ( '.' simpleExpression )? + int alt378=2; + int LA378_0 = input.LA(1); + if ( (LA378_0==DOT) ) { + alt378=1; + } + switch (alt378) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:493:46: '.' simpleExpression + { + match(input,DOT,FOLLOW_DOT_in_synpred310_Delphi13438); if (state.failed) return; + + pushFollow(FOLLOW_simpleExpression_in_synpred310_Delphi13440); + simpleExpression(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred310_Delphi + + // $ANTLR start synpred311_Delphi + public final void synpred311_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:494:32: ( setSection ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:494:32: setSection + { + pushFollow(FOLLOW_setSection_in_synpred311_Delphi13475); + setSection(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred311_Delphi + + // $ANTLR start synpred312_Delphi + public final void synpred312_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:495:32: ( designator ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:495:32: designator + { + pushFollow(FOLLOW_designator_in_synpred312_Delphi13508); + designator(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred312_Delphi + + // $ANTLR start synpred313_Delphi + public final void synpred313_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:49: ( QuotedString ( controlString ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:49: QuotedString ( controlString ) + { + match(input,QuotedString,FOLLOW_QuotedString_in_synpred313_Delphi13605); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:62: ( controlString ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:63: controlString + { + pushFollow(FOLLOW_controlString_in_synpred313_Delphi13608); + controlString(); + state._fsp--; + if (state.failed) return; + + } + + } + + } + // $ANTLR end synpred313_Delphi + + // $ANTLR start synpred314_Delphi + public final void synpred314_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:81: ( QuotedString ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:498:81: QuotedString + { + match(input,QuotedString,FOLLOW_QuotedString_in_synpred314_Delphi13614); if (state.failed) return; + + } + + } + // $ANTLR end synpred314_Delphi + + // $ANTLR start synpred316_Delphi + public final void synpred316_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:46: ( ( controlString ) QuotedString ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:46: ( controlString ) QuotedString + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:46: ( controlString ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:47: controlString + { + pushFollow(FOLLOW_controlString_in_synpred316_Delphi13653); + controlString(); + state._fsp--; + if (state.failed) return; + + } + + match(input,QuotedString,FOLLOW_QuotedString_in_synpred316_Delphi13656); if (state.failed) return; + + } + + } + // $ANTLR end synpred316_Delphi + + // $ANTLR start synpred317_Delphi + public final void synpred317_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:78: ( controlString ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:499:78: controlString + { + pushFollow(FOLLOW_controlString_in_synpred317_Delphi13661); + controlString(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred317_Delphi + + // $ANTLR start synpred318_Delphi + public final void synpred318_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:45: ( ControlChar ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:501:45: ControlChar + { + match(input,ControlChar,FOLLOW_ControlChar_in_synpred318_Delphi13718); if (state.failed) return; + + } + + } + // $ANTLR end synpred318_Delphi + + // $ANTLR start synpred321_Delphi + public final void synpred321_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:37: ( expression ( ( ',' | '..' ) expression )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:37: expression ( ( ',' | '..' ) expression )* + { + pushFollow(FOLLOW_expression_in_synpred321_Delphi13778); + expression(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:48: ( ( ',' | '..' ) expression )* + loop381: + while (true) { + int alt381=2; + int LA381_0 = input.LA(1); + if ( (LA381_0==COMMA||LA381_0==DOTDOT) ) { + alt381=1; + } + + switch (alt381) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:503:49: ( ',' | '..' ) expression + { + if ( input.LA(1)==COMMA||input.LA(1)==DOTDOT ) { + input.consume(); + state.errorRecovery=false; + state.failed=false; + } + else { + if (state.backtracking>0) {state.failed=true; return;} + MismatchedSetException mse = new MismatchedSetException(null,input); + throw mse; + } + pushFollow(FOLLOW_expression_in_synpred321_Delphi13789); + expression(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop381; + } + } + + } + + } + // $ANTLR end synpred321_Delphi + + // $ANTLR start synpred322_Delphi + public final void synpred322_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:33: ( 'Inherited' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:33: 'Inherited' + { + match(input,203,FOLLOW_203_in_synpred322_Delphi13852); if (state.failed) return; + + } + + } + // $ANTLR end synpred322_Delphi + + // $ANTLR start synpred323_Delphi + public final void synpred323_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:48: ( 'inherited' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:48: 'inherited' + { + match(input,INHERITED,FOLLOW_INHERITED_in_synpred323_Delphi13857); if (state.failed) return; + + } + + } + // $ANTLR end synpred323_Delphi + + // $ANTLR start synpred324_Delphi + public final void synpred324_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:65: ( qualifiedIdent ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:65: qualifiedIdent + { + pushFollow(FOLLOW_qualifiedIdent_in_synpred324_Delphi13864); + qualifiedIdent(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred324_Delphi + + // $ANTLR start synpred325_Delphi + public final void synpred325_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:64: ( ( qualifiedIdent | typeId ) ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:64: ( qualifiedIdent | typeId ) + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:64: ( qualifiedIdent | typeId ) + int alt382=2; + switch ( input.LA(1) ) { + case TkIdentifier: + { + int LA382_1 = input.LA(2); + if ( (synpred324_Delphi()) ) { + alt382=1; + } + else if ( (true) ) { + alt382=2; + } + + } + break; + case 198: + { + int LA382_2 = input.LA(2); + if ( (LA382_2==TkIdentifier) ) { + int LA382_6 = input.LA(3); + if ( (synpred324_Delphi()) ) { + alt382=1; + } + else if ( (true) ) { + alt382=2; + } + + } + else if ( ((LA382_2 >= ABSOLUTE && LA382_2 <= ASSEMBLY)||LA382_2==AT||LA382_2==AUTOMATED||(LA382_2 >= BEGIN && LA382_2 <= CLASS)||(LA382_2 >= CONST && LA382_2 <= CONTINUE)||LA382_2==DEFAULT||(LA382_2 >= DEPRECATED && LA382_2 <= DO)||(LA382_2 >= DOWNTO && LA382_2 <= DYNAMIC)||(LA382_2 >= ELSE && LA382_2 <= END)||(LA382_2 >= EXCEPT && LA382_2 <= FUNCTION)||LA382_2==GOTO||LA382_2==HELPER||(LA382_2 >= IF && LA382_2 <= LABEL)||(LA382_2 >= LIBRARY && LA382_2 <= LOCAL)||LA382_2==MESSAGE||(LA382_2 >= MOD && LA382_2 <= NOT)||(LA382_2 >= OBJECT && LA382_2 <= PLATFORM)||LA382_2==POINTER||(LA382_2 >= PRIVATE && LA382_2 <= PUBLISHED)||LA382_2==RAISE||(LA382_2 >= READ && LA382_2 <= RESOURCESTRING)||(LA382_2 >= SAFECALL && LA382_2 <= SEALED)||(LA382_2 >= SET && LA382_2 <= SHR)||(LA382_2 >= STATIC && LA382_2 <= TYPE)||(LA382_2 >= UNIT && LA382_2 <= USES)||(LA382_2 >= VAR && LA382_2 <= WRITEONLY)||LA382_2==XOR) ) { + int LA382_7 = input.LA(3); + if ( (synpred324_Delphi()) ) { + alt382=1; + } + else if ( (true) ) { + alt382=2; + } + + } + + else { + if (state.backtracking>0) {state.failed=true; return;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 382, 2, input); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + case ADD: + case ANSISTRING: + case AT: + case BREAK: + case CONTAINS: + case CONTINUE: + case DEFAULT: + case DISPID: + case DQ: + case DW: + case EXIT: + case EXPORT: + case FALSE: + case FINAL: + case HELPER: + case IMPLEMENTS: + case IN: + case INDEX: + case LOCAL: + case MESSAGE: + case NAME: + case OBJECT: + case OPERATOR: + case OUT: + case POINTER: + case READ: + case READONLY: + case REFERENCE: + case REGISTER: + case REMOVE: + case STATIC: + case STORED: + case STRICT: + case STRING: + case TRUE: + case UNSAFE: + case VARARGS: + case VARIANT: + case VIRTUAL: + case WRITE: + case WRITEONLY: + { + int LA382_3 = input.LA(2); + if ( (synpred324_Delphi()) ) { + alt382=1; + } + else if ( (true) ) { + alt382=2; + } + + } + break; + default: + if (state.backtracking>0) {state.failed=true; return;} + NoViableAltException nvae = + new NoViableAltException("", 382, 0, input); + throw nvae; + } + switch (alt382) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:65: qualifiedIdent + { + pushFollow(FOLLOW_qualifiedIdent_in_synpred325_Delphi13864); + qualifiedIdent(); + state._fsp--; + if (state.failed) return; + + } + break; + case 2 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:82: typeId + { + pushFollow(FOLLOW_typeId_in_synpred325_Delphi13868); + typeId(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred325_Delphi + + // $ANTLR start synpred326_Delphi + public final void synpred326_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:94: ( designatorItem ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:506:94: designatorItem + { + pushFollow(FOLLOW_designatorItem_in_synpred326_Delphi13875); + designatorItem(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred326_Delphi + + // $ANTLR start synpred337_Delphi + public final void synpred337_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:37: ( expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:37: expression ( colonConstruct )? ( ',' expression ( colonConstruct )? )* + { + pushFollow(FOLLOW_expression_in_synpred337_Delphi14142); + expression(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:48: ( colonConstruct )? + int alt385=2; + int LA385_0 = input.LA(1); + if ( (LA385_0==COLON) ) { + alt385=1; + } + switch (alt385) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:49: colonConstruct + { + pushFollow(FOLLOW_colonConstruct_in_synpred337_Delphi14145); + colonConstruct(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:66: ( ',' expression ( colonConstruct )? )* + loop387: + while (true) { + int alt387=2; + int LA387_0 = input.LA(1); + if ( (LA387_0==COMMA) ) { + alt387=1; + } + + switch (alt387) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:67: ',' expression ( colonConstruct )? + { + match(input,COMMA,FOLLOW_COMMA_in_synpred337_Delphi14150); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred337_Delphi14152); + expression(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:82: ( colonConstruct )? + int alt386=2; + int LA386_0 = input.LA(1); + if ( (LA386_0==COLON) ) { + alt386=1; + } + switch (alt386) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:513:83: colonConstruct + { + pushFollow(FOLLOW_colonConstruct_in_synpred337_Delphi14155); + colonConstruct(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + break; + + default : + break loop387; + } + } + + } + + } + // $ANTLR end synpred337_Delphi + + // $ANTLR start synpred376_Delphi + public final void synpred376_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:564:32: ( label ':' statement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:564:32: label ':' statement + { + pushFollow(FOLLOW_label_in_synpred376_Delphi15673); + label(); + state._fsp--; + if (state.failed) return; + + match(input,COLON,FOLLOW_COLON_in_synpred376_Delphi15675); if (state.failed) return; + + pushFollow(FOLLOW_statement_in_synpred376_Delphi15677); + statement(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred376_Delphi + + // $ANTLR start synpred377_Delphi + public final void synpred377_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:567:66: ( 'else' statement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:567:66: 'else' statement + { + match(input,ELSE,FOLLOW_ELSE_in_synpred377_Delphi15773); if (state.failed) return; + + pushFollow(FOLLOW_statement_in_synpred377_Delphi15775); + statement(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred377_Delphi + + // $ANTLR start synpred384_Delphi + public final void synpred384_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:42: ( statementList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:575:42: statementList + { + pushFollow(FOLLOW_statementList_in_synpred384_Delphi16042); + statementList(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred384_Delphi + + // $ANTLR start synpred386_Delphi + public final void synpred386_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:579:32: ( 'for' ( 'var' )? designator ':=' expression 'to' expression 'do' statement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:579:32: 'for' ( 'var' )? designator ':=' expression 'to' expression 'do' statement + { + match(input,FOR,FOLLOW_FOR_in_synpred386_Delphi16158); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:579:38: ( 'var' )? + int alt389=2; + int LA389_0 = input.LA(1); + if ( (LA389_0==VAR) ) { + alt389=1; + } + switch (alt389) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:579:39: 'var' + { + match(input,VAR,FOLLOW_VAR_in_synpred386_Delphi16161); if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_designator_in_synpred386_Delphi16165); + designator(); + state._fsp--; + if (state.failed) return; + + match(input,ASSIGN,FOLLOW_ASSIGN_in_synpred386_Delphi16167); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred386_Delphi16169); + expression(); + state._fsp--; + if (state.failed) return; + + match(input,TO,FOLLOW_TO_in_synpred386_Delphi16171); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred386_Delphi16173); + expression(); + state._fsp--; + if (state.failed) return; + + match(input,DO,FOLLOW_DO_in_synpred386_Delphi16175); if (state.failed) return; + + pushFollow(FOLLOW_statement_in_synpred386_Delphi16177); + statement(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred386_Delphi + + // $ANTLR start synpred388_Delphi + public final void synpred388_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:580:32: ( 'for' ( 'var' )? designator ':=' expression 'downto' expression 'do' statement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:580:32: 'for' ( 'var' )? designator ':=' expression 'downto' expression 'do' statement + { + match(input,FOR,FOLLOW_FOR_in_synpred388_Delphi16210); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:580:38: ( 'var' )? + int alt390=2; + int LA390_0 = input.LA(1); + if ( (LA390_0==VAR) ) { + alt390=1; + } + switch (alt390) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:580:39: 'var' + { + match(input,VAR,FOLLOW_VAR_in_synpred388_Delphi16213); if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_designator_in_synpred388_Delphi16217); + designator(); + state._fsp--; + if (state.failed) return; + + match(input,ASSIGN,FOLLOW_ASSIGN_in_synpred388_Delphi16219); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred388_Delphi16221); + expression(); + state._fsp--; + if (state.failed) return; + + match(input,DOWNTO,FOLLOW_DOWNTO_in_synpred388_Delphi16223); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred388_Delphi16225); + expression(); + state._fsp--; + if (state.failed) return; + + match(input,DO,FOLLOW_DO_in_synpred388_Delphi16227); if (state.failed) return; + + pushFollow(FOLLOW_statement_in_synpred388_Delphi16229); + statement(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred388_Delphi + + // $ANTLR start synpred392_Delphi + public final void synpred392_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:589:41: ( statementList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:589:41: statementList + { + pushFollow(FOLLOW_statementList_in_synpred392_Delphi16510); + statementList(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred392_Delphi + + // $ANTLR start synpred393_Delphi + public final void synpred393_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:33: ( statement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:33: statement + { + pushFollow(FOLLOW_statement_in_synpred393_Delphi16580); + statement(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred393_Delphi + + // $ANTLR start synpred394_Delphi + public final void synpred394_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:51: ( statement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:51: statement + { + pushFollow(FOLLOW_statement_in_synpred394_Delphi16588); + statement(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred394_Delphi + + // $ANTLR start synpred395_Delphi + public final void synpred395_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:46: ( ';' ( statement )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:46: ';' ( statement )? + { + match(input,SEMI,FOLLOW_SEMI_in_synpred395_Delphi16585); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:50: ( statement )? + int alt391=2; + int LA391_0 = input.LA(1); + if ( (LA391_0==ADD||LA391_0==ANSISTRING||LA391_0==ASM||(LA391_0 >= ASSIGN && LA391_0 <= AT2)||(LA391_0 >= BEGIN && LA391_0 <= CASE)||(LA391_0 >= CONTAINS && LA391_0 <= CONTINUE)||LA391_0==DEFAULT||LA391_0==DISPID||LA391_0==DOT||(LA391_0 >= DQ && LA391_0 <= DW)||LA391_0==EXIT||LA391_0==EXPORT||LA391_0==FALSE||LA391_0==FINAL||LA391_0==FOR||LA391_0==GOTO||LA391_0==HELPER||LA391_0==IF||(LA391_0 >= IMPLEMENTS && LA391_0 <= INHERITED)||LA391_0==LBRACK||(LA391_0 >= LOCAL && LA391_0 <= MESSAGE)||LA391_0==NAME||LA391_0==OBJECT||LA391_0==OPERATOR||LA391_0==OUT||(LA391_0 >= POINTER && LA391_0 <= POINTER2)||LA391_0==RAISE||(LA391_0 >= READ && LA391_0 <= READONLY)||(LA391_0 >= REFERENCE && LA391_0 <= REGISTER)||(LA391_0 >= REMOVE && LA391_0 <= REPEAT)||LA391_0==STATIC||(LA391_0 >= STORED && LA391_0 <= STRING)||(LA391_0 >= TRUE && LA391_0 <= TRY)||(LA391_0 >= TkHexNum && LA391_0 <= TkIntNum)||LA391_0==UNSAFE||(LA391_0 >= VAR && LA391_0 <= WRITEONLY)||LA391_0==198||LA391_0==203||LA391_0==209) ) { + alt391=1; + } + else if ( (LA391_0==EOF) ) { + int LA391_2 = input.LA(2); + if ( (synpred394_Delphi()) ) { + alt391=1; + } + } + switch (alt391) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:591:51: statement + { + pushFollow(FOLLOW_statement_in_synpred395_Delphi16588); + statement(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred395_Delphi + + // $ANTLR start synpred396_Delphi + public final void synpred396_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:593:32: ( designator ':=' expression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:593:32: designator ':=' expression + { + pushFollow(FOLLOW_designator_in_synpred396_Delphi16642); + designator(); + state._fsp--; + if (state.failed) return; + + match(input,ASSIGN,FOLLOW_ASSIGN_in_synpred396_Delphi16644); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred396_Delphi16646); + expression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred396_Delphi + + // $ANTLR start synpred397_Delphi + public final void synpred397_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:32: ( designator ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:594:32: designator + { + pushFollow(FOLLOW_designator_in_synpred397_Delphi16679); + designator(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred397_Delphi + + // $ANTLR start synpred398_Delphi + public final void synpred398_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:595:32: ( gotoStatement ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:595:32: gotoStatement + { + pushFollow(FOLLOW_gotoStatement_in_synpred398_Delphi16713); + gotoStatement(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred398_Delphi + + // $ANTLR start synpred400_Delphi + public final void synpred400_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:599:40: ( '(' expression ')' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:599:40: '(' expression ')' + { + match(input,LPAREN,FOLLOW_LPAREN_in_synpred400_Delphi16836); if (state.failed) return; + + pushFollow(FOLLOW_expression_in_synpred400_Delphi16838); + expression(); + state._fsp--; + if (state.failed) return; + + match(input,RPAREN,FOLLOW_RPAREN_in_synpred400_Delphi16840); if (state.failed) return; + + } + + } + // $ANTLR end synpred400_Delphi + + // $ANTLR start synpred404_Delphi + public final void synpred404_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:606:32: ( '(' recordConstExpression ( ';' recordConstExpression )* ')' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:606:32: '(' recordConstExpression ( ';' recordConstExpression )* ')' + { + match(input,LPAREN,FOLLOW_LPAREN_in_synpred404_Delphi16961); if (state.failed) return; + + pushFollow(FOLLOW_recordConstExpression_in_synpred404_Delphi16963); + recordConstExpression(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:606:58: ( ';' recordConstExpression )* + loop393: + while (true) { + int alt393=2; + int LA393_0 = input.LA(1); + if ( (LA393_0==SEMI) ) { + alt393=1; + } + + switch (alt393) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:606:59: ';' recordConstExpression + { + match(input,SEMI,FOLLOW_SEMI_in_synpred404_Delphi16966); if (state.failed) return; + + pushFollow(FOLLOW_recordConstExpression_in_synpred404_Delphi16968); + recordConstExpression(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop393; + } + } + + match(input,RPAREN,FOLLOW_RPAREN_in_synpred404_Delphi16972); if (state.failed) return; + + } + + } + // $ANTLR end synpred404_Delphi + + // $ANTLR start synpred406_Delphi + public final void synpred406_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:80: ( constExpression ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:80: constExpression + { + pushFollow(FOLLOW_constExpression_in_synpred406_Delphi17020); + constExpression(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred406_Delphi + + // $ANTLR start synpred407_Delphi + public final void synpred407_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:32: ( '(' constExpression ( ',' constExpression )* ')' ( constExpression )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:32: '(' constExpression ( ',' constExpression )* ')' ( constExpression )? + { + match(input,LPAREN,FOLLOW_LPAREN_in_synpred407_Delphi17006); if (state.failed) return; + + pushFollow(FOLLOW_constExpression_in_synpred407_Delphi17008); + constExpression(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:52: ( ',' constExpression )* + loop394: + while (true) { + int alt394=2; + int LA394_0 = input.LA(1); + if ( (LA394_0==COMMA) ) { + alt394=1; + } + + switch (alt394) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:53: ',' constExpression + { + match(input,COMMA,FOLLOW_COMMA_in_synpred407_Delphi17011); if (state.failed) return; + + pushFollow(FOLLOW_constExpression_in_synpred407_Delphi17013); + constExpression(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop394; + } + } + + match(input,RPAREN,FOLLOW_RPAREN_in_synpred407_Delphi17017); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:79: ( constExpression )? + int alt395=2; + int LA395_0 = input.LA(1); + if ( ((LA395_0 >= ADD && LA395_0 <= ANSISTRING)||LA395_0==AS||(LA395_0 >= AT && LA395_0 <= AT2)||LA395_0==BREAK||(LA395_0 >= CONTAINS && LA395_0 <= DEFAULT)||LA395_0==DISPID||LA395_0==DIV||LA395_0==DOT||(LA395_0 >= DQ && LA395_0 <= DW)||LA395_0==EQUAL||LA395_0==EXIT||LA395_0==EXPORT||LA395_0==FALSE||LA395_0==FINAL||(LA395_0 >= FUNCTION && LA395_0 <= GE)||(LA395_0 >= GT && LA395_0 <= HELPER)||(LA395_0 >= IMPLEMENTS && LA395_0 <= INHERITED)||LA395_0==IS||LA395_0==LBRACK||LA395_0==LE||(LA395_0 >= LOCAL && LA395_0 <= NAME)||LA395_0==NIL||(LA395_0 >= NOT && LA395_0 <= OBJECT)||(LA395_0 >= OPERATOR && LA395_0 <= OUT)||(LA395_0 >= PLUS && LA395_0 <= POINTER2)||LA395_0==PROCEDURE||LA395_0==QuotedString||(LA395_0 >= READ && LA395_0 <= READONLY)||(LA395_0 >= REFERENCE && LA395_0 <= REGISTER)||LA395_0==REMOVE||(LA395_0 >= SHL && LA395_0 <= STATIC)||(LA395_0 >= STORED && LA395_0 <= STRING)||LA395_0==TRUE||(LA395_0 >= TkHexNum && LA395_0 <= TkIntNum)||LA395_0==TkRealNum||LA395_0==UNSAFE||(LA395_0 >= VARARGS && LA395_0 <= VIRTUAL)||(LA395_0 >= WRITE && LA395_0 <= WRITEONLY)||(LA395_0 >= XOR && LA395_0 <= 210)) ) { + alt395=1; + } + else if ( (LA395_0==EOF) ) { + int LA395_2 = input.LA(2); + if ( (synpred406_Delphi()) ) { + alt395=1; + } + } + switch (alt395) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:607:80: constExpression + { + pushFollow(FOLLOW_constExpression_in_synpred407_Delphi17020); + constExpression(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred407_Delphi + + // $ANTLR start synpred409_Delphi + public final void synpred409_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:39: ( statementList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:39: statementList + { + pushFollow(FOLLOW_statementList_in_synpred409_Delphi17168); + statementList(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred409_Delphi + + // $ANTLR start synpred410_Delphi + public final void synpred410_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:32: ( 'try' ( statementList )? 'except' handlerList 'end' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:32: 'try' ( statementList )? 'except' handlerList 'end' + { + match(input,TRY,FOLLOW_TRY_in_synpred410_Delphi17165); if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:38: ( statementList )? + int alt396=2; + int LA396_0 = input.LA(1); + if ( (LA396_0==ADD||LA396_0==ANSISTRING||LA396_0==ASM||(LA396_0 >= ASSIGN && LA396_0 <= AT2)||(LA396_0 >= BEGIN && LA396_0 <= CASE)||(LA396_0 >= CONTAINS && LA396_0 <= CONTINUE)||LA396_0==DEFAULT||LA396_0==DISPID||LA396_0==DOT||(LA396_0 >= DQ && LA396_0 <= DW)||LA396_0==EXIT||LA396_0==EXPORT||LA396_0==FALSE||LA396_0==FINAL||LA396_0==FOR||LA396_0==GOTO||LA396_0==HELPER||LA396_0==IF||(LA396_0 >= IMPLEMENTS && LA396_0 <= INHERITED)||LA396_0==LBRACK||(LA396_0 >= LOCAL && LA396_0 <= MESSAGE)||LA396_0==NAME||LA396_0==OBJECT||LA396_0==OPERATOR||LA396_0==OUT||(LA396_0 >= POINTER && LA396_0 <= POINTER2)||LA396_0==RAISE||(LA396_0 >= READ && LA396_0 <= READONLY)||(LA396_0 >= REFERENCE && LA396_0 <= REGISTER)||(LA396_0 >= REMOVE && LA396_0 <= REPEAT)||LA396_0==SEMI||LA396_0==STATIC||(LA396_0 >= STORED && LA396_0 <= STRING)||(LA396_0 >= TRUE && LA396_0 <= TRY)||(LA396_0 >= TkHexNum && LA396_0 <= TkIntNum)||LA396_0==UNSAFE||(LA396_0 >= VAR && LA396_0 <= WRITEONLY)||LA396_0==198||LA396_0==203||LA396_0==209) ) { + alt396=1; + } + else if ( (LA396_0==EXCEPT) ) { + int LA396_2 = input.LA(2); + if ( (synpred409_Delphi()) ) { + alt396=1; + } + } + switch (alt396) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:615:39: statementList + { + pushFollow(FOLLOW_statementList_in_synpred410_Delphi17168); + statementList(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + match(input,EXCEPT,FOLLOW_EXCEPT_in_synpred410_Delphi17172); if (state.failed) return; + + pushFollow(FOLLOW_handlerList_in_synpred410_Delphi17174); + handlerList(); + state._fsp--; + if (state.failed) return; + + match(input,END,FOLLOW_END_in_synpred410_Delphi17176); if (state.failed) return; + + } + + } + // $ANTLR end synpred410_Delphi + + // $ANTLR start synpred411_Delphi + public final void synpred411_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:39: ( statementList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:39: statementList + { + pushFollow(FOLLOW_statementList_in_synpred411_Delphi17212); + statementList(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred411_Delphi + + // $ANTLR start synpred412_Delphi + public final void synpred412_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:66: ( statementList ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:616:66: statementList + { + pushFollow(FOLLOW_statementList_in_synpred412_Delphi17219); + statementList(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred412_Delphi + + // $ANTLR start synpred415_Delphi + public final void synpred415_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:32: ( ( handler )* ( 'else' statementList )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:32: ( handler )* ( 'else' statementList )? + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:32: ( handler )* + loop397: + while (true) { + int alt397=2; + int LA397_0 = input.LA(1); + if ( (LA397_0==ON) ) { + alt397=1; + } + + switch (alt397) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:33: handler + { + pushFollow(FOLLOW_handler_in_synpred415_Delphi17278); + handler(); + state._fsp--; + if (state.failed) return; + + } + break; + + default : + break loop397; + } + } + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:43: ( 'else' statementList )? + int alt398=2; + int LA398_0 = input.LA(1); + if ( (LA398_0==ELSE) ) { + alt398=1; + } + switch (alt398) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:618:44: 'else' statementList + { + match(input,ELSE,FOLLOW_ELSE_in_synpred415_Delphi17283); if (state.failed) return; + + pushFollow(FOLLOW_statementList_in_synpred415_Delphi17285); + statementList(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred415_Delphi + + // $ANTLR start synpred418_Delphi + public final void synpred418_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:32: ( statement ( ';' )? ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:32: statement ( ';' )? + { + pushFollow(FOLLOW_statement_in_synpred418_Delphi17495); + statement(); + state._fsp--; + if (state.failed) return; + + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:42: ( ';' )? + int alt399=2; + int LA399_0 = input.LA(1); + if ( (LA399_0==SEMI) ) { + alt399=1; + } + switch (alt399) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:625:43: ';' + { + match(input,SEMI,FOLLOW_SEMI_in_synpred418_Delphi17498); if (state.failed) return; + + } + break; + + } + + } + + } + // $ANTLR end synpred418_Delphi + + // $ANTLR start synpred419_Delphi + public final void synpred419_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:41: ( designator ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:41: designator + { + pushFollow(FOLLOW_designator_in_synpred419_Delphi17587); + designator(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred419_Delphi + + // $ANTLR start synpred420_Delphi + public final void synpred420_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:55: ( AT designator ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:628:55: AT designator + { + match(input,AT,FOLLOW_AT_in_synpred420_Delphi17592); if (state.failed) return; + + pushFollow(FOLLOW_designator_in_synpred420_Delphi17594); + designator(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred420_Delphi + + // $ANTLR start synpred434_Delphi + public final void synpred434_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:651:32: ( callConvention ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:651:32: callConvention + { + pushFollow(FOLLOW_callConvention_in_synpred434_Delphi18250); + callConvention(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred434_Delphi + + // $ANTLR start synpred438_Delphi + public final void synpred438_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:654:32: ( ( callConventionNoSemi )? externalDirective ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:654:32: ( callConventionNoSemi )? externalDirective + { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:654:32: ( callConventionNoSemi )? + int alt400=2; + int LA400_0 = input.LA(1); + if ( (LA400_0==CDECL||LA400_0==EXPORT||LA400_0==PASCAL||LA400_0==REGISTER||LA400_0==SAFECALL||LA400_0==STDCALL) ) { + alt400=1; + } + switch (alt400) { + case 1 : + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:654:33: callConventionNoSemi + { + pushFollow(FOLLOW_callConventionNoSemi_in_synpred438_Delphi18373); + callConventionNoSemi(); + state._fsp--; + if (state.failed) return; + + } + break; + + } + + pushFollow(FOLLOW_externalDirective_in_synpred438_Delphi18377); + externalDirective(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred438_Delphi + + // $ANTLR start synpred439_Delphi + public final void synpred439_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:655:32: ( externalDirective ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:655:32: externalDirective + { + pushFollow(FOLLOW_externalDirective_in_synpred439_Delphi18420); + externalDirective(); + state._fsp--; + if (state.failed) return; + + } + + } + // $ANTLR end synpred439_Delphi + + // $ANTLR start synpred440_Delphi + public final void synpred440_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:658:47: ( ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:658:47: ';' + { + match(input,SEMI,FOLLOW_SEMI_in_synpred440_Delphi18518); if (state.failed) return; + + } + + } + // $ANTLR end synpred440_Delphi + + // $ANTLR start synpred441_Delphi + public final void synpred441_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:660:44: ( ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:660:44: ';' + { + match(input,SEMI,FOLLOW_SEMI_in_synpred441_Delphi18571); if (state.failed) return; + + } + + } + // $ANTLR end synpred441_Delphi + + // $ANTLR start synpred465_Delphi + public final void synpred465_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:698:32: ( 'external' ';' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:698:32: 'external' ';' + { + match(input,EXTERNAL,FOLLOW_EXTERNAL_in_synpred465_Delphi19776); if (state.failed) return; + + match(input,SEMI,FOLLOW_SEMI_in_synpred465_Delphi19778); if (state.failed) return; + + } + + } + // $ANTLR end synpred465_Delphi + + // $ANTLR start synpred653_Delphi + public final void synpred653_Delphi_fragment() throws RecognitionException { + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:750:34: ( ident '.' ) + // D:\\Projects\\SonarDelphi-master\\src\\main\\antlr3\\org\\sonar\\plugins\\delphi\\antlr\\Delphi.g:750:34: ident '.' + { + pushFollow(FOLLOW_ident_in_synpred653_Delphi21991); + ident(); + state._fsp--; + if (state.failed) return; + + match(input,DOT,FOLLOW_DOT_in_synpred653_Delphi21993); if (state.failed) return; + + } + + } + // $ANTLR end synpred653_Delphi + + // Delegated rules + + public final boolean synpred31_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred31_Delphi_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 synpred35_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred35_Delphi_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 synpred30_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred30_Delphi_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 synpred71_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred71_Delphi_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 synpred392_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred392_Delphi_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 synpred70_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred70_Delphi_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 synpred393_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred393_Delphi_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 synpred394_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred394_Delphi_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 synpred314_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred314_Delphi_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 synpred262_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred262_Delphi_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 synpred299_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred299_Delphi_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 synpred297_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred297_Delphi_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 synpred310_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred310_Delphi_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 synpred317_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred317_Delphi_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 synpred318_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred318_Delphi_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 synpred296_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred296_Delphi_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 synpred298_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred298_Delphi_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 synpred312_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred312_Delphi_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 synpred316_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred316_Delphi_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 synpred311_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred311_Delphi_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 synpred313_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred313_Delphi_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 synpred125_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred125_Delphi_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 synpred267_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred267_Delphi_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 synpred293_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred293_Delphi_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 synpred295_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred295_Delphi_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 synpred406_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred406_Delphi_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 synpred440_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred440_Delphi_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 synpred127_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred127_Delphi_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 synpred415_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred415_Delphi_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 synpred162_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred162_Delphi_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 synpred419_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred419_Delphi_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 synpred263_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred263_Delphi_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 synpred398_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred398_Delphi_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 synpred66_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred66_Delphi_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 synpred396_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred396_Delphi_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 synpred218_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred218_Delphi_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 synpred252_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred252_Delphi_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 synpred400_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred400_Delphi_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 synpred39_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred39_Delphi_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 synpred68_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred68_Delphi_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 synpred411_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred411_Delphi_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 synpred64_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred64_Delphi_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 synpred37_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred37_Delphi_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 synpred223_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred223_Delphi_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 synpred404_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred404_Delphi_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 synpred198_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred198_Delphi_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 synpred24_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred24_Delphi_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 synpred197_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred197_Delphi_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 synpred214_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred214_Delphi_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 synpred62_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred62_Delphi_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 synpred157_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred157_Delphi_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 synpred84_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred84_Delphi_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 synpred306_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred306_Delphi_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 synpred305_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred305_Delphi_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 synpred324_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred324_Delphi_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 synpred158_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred158_Delphi_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 synpred323_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred323_Delphi_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 synpred309_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred309_Delphi_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 synpred153_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred153_Delphi_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 synpred301_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred301_Delphi_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 synpred135_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred135_Delphi_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 synpred136_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred136_Delphi_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 synpred302_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred302_Delphi_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 synpred288_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred288_Delphi_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 synpred289_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred289_Delphi_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 synpred150_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred150_Delphi_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 synpred277_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred277_Delphi_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 synpred407_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred407_Delphi_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 synpred418_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred418_Delphi_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 synpred98_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred98_Delphi_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 synpred128_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred128_Delphi_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 synpred120_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred120_Delphi_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 synpred87_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred87_Delphi_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 synpred266_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred266_Delphi_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 synpred255_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred255_Delphi_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 synpred113_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred113_Delphi_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 synpred183_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred183_Delphi_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 synpred219_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred219_Delphi_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 synpred190_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred190_Delphi_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 synpred397_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred397_Delphi_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 synpred69_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred69_Delphi_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 synpred65_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred65_Delphi_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 synpred410_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred410_Delphi_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 synpred386_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred386_Delphi_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 synpred54_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred54_Delphi_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 synpred47_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred47_Delphi_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 synpred222_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred222_Delphi_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 synpred202_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred202_Delphi_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 synpred337_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred337_Delphi_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 synpred188_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred188_Delphi_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 synpred205_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred205_Delphi_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 synpred207_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred207_Delphi_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 synpred201_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred201_Delphi_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 synpred653_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred653_Delphi_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 synpred465_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred465_Delphi_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 synpred91_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred91_Delphi_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 synpred93_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred93_Delphi_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 synpred95_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred95_Delphi_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 synpred281_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred281_Delphi_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 synpred143_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred143_Delphi_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 synpred147_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred147_Delphi_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 synpred283_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred283_Delphi_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 synpred280_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred280_Delphi_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 synpred144_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred144_Delphi_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 synpred146_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred146_Delphi_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 synpred284_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred284_Delphi_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 synpred116_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred116_Delphi_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 synpred97_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred97_Delphi_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 synpred300_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred300_Delphi_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 synpred151_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred151_Delphi_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 synpred247_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred247_Delphi_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 synpred88_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred88_Delphi_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 synpred420_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred420_Delphi_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 synpred112_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred112_Delphi_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 synpred191_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred191_Delphi_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 synpred236_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred236_Delphi_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 synpred184_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred184_Delphi_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 synpred241_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred241_Delphi_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 synpred243_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred243_Delphi_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 synpred376_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred376_Delphi_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 synpred53_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred53_Delphi_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 synpred55_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred55_Delphi_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 synpred195_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred195_Delphi_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 synpred44_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred44_Delphi_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 synpred41_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred41_Delphi_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 synpred177_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred177_Delphi_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 synpred178_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred178_Delphi_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 synpred81_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred81_Delphi_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 synpred23_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred23_Delphi_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 synpred250_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred250_Delphi_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 synpred322_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred322_Delphi_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 synpred82_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred82_Delphi_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 synpred304_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred304_Delphi_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 synpred159_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred159_Delphi_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 synpred271_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred271_Delphi_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 synpred155_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred155_Delphi_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 synpred321_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred321_Delphi_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 synpred439_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred439_Delphi_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 synpred325_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred325_Delphi_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 synpred326_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred326_Delphi_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 synpred308_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred308_Delphi_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 synpred290_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred290_Delphi_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 synpred303_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred303_Delphi_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 synpred307_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred307_Delphi_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 synpred287_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred287_Delphi_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 synpred441_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred441_Delphi_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 synpred409_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred409_Delphi_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 synpred434_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred434_Delphi_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 synpred89_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred89_Delphi_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 synpred294_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred294_Delphi_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 synpred122_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred122_Delphi_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 synpred126_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred126_Delphi_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 synpred152_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred152_Delphi_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 synpred279_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred279_Delphi_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 synpred96_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred96_Delphi_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 synpred412_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred412_Delphi_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 synpred438_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred438_Delphi_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 synpred264_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred264_Delphi_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 synpred253_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred253_Delphi_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 synpred111_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred111_Delphi_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 synpred49_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred49_Delphi_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 synpred395_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred395_Delphi_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 synpred242_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred242_Delphi_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 synpred246_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred246_Delphi_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 synpred63_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred63_Delphi_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 synpred388_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred388_Delphi_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 synpred384_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred384_Delphi_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 synpred45_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred45_Delphi_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 synpred377_Delphi() { + state.backtracking++; + int start = input.mark(); + try { + synpred377_Delphi_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 DFA26 dfa26 = new DFA26(this); + protected DFA30 dfa30 = new DFA30(this); + protected DFA33 dfa33 = new DFA33(this); + protected DFA50 dfa50 = new DFA50(this); + protected DFA57 dfa57 = new DFA57(this); + protected DFA61 dfa61 = new DFA61(this); + protected DFA69 dfa69 = new DFA69(this); + protected DFA70 dfa70 = new DFA70(this); + protected DFA72 dfa72 = new DFA72(this); + protected DFA89 dfa89 = new DFA89(this); + protected DFA101 dfa101 = new DFA101(this); + protected DFA109 dfa109 = new DFA109(this); + protected DFA111 dfa111 = new DFA111(this); + protected DFA175 dfa175 = new DFA175(this); + protected DFA193 dfa193 = new DFA193(this); + protected DFA206 dfa206 = new DFA206(this); + protected DFA217 dfa217 = new DFA217(this); + protected DFA224 dfa224 = new DFA224(this); + protected DFA227 dfa227 = new DFA227(this); + protected DFA237 dfa237 = new DFA237(this); + protected DFA271 dfa271 = new DFA271(this); + protected DFA270 dfa270 = new DFA270(this); + static final String DFA26_eotS = + "\152\uffff"; + static final String DFA26_eofS = + "\1\1\151\uffff"; + static final String DFA26_minS = + "\1\4\7\uffff\1\0\22\uffff\2\0\7\uffff\3\0\3\uffff\1\0\12\uffff\1\0\3\uffff"+ + "\7\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\5\uffff\1\0\1\uffff"+ + "\1\0\1\uffff\1\0\10\uffff\1\0\5\uffff\1\0\4\uffff"; + static final String DFA26_maxS = + "\1\u00d2\7\uffff\1\0\22\uffff\2\0\7\uffff\3\0\3\uffff\1\0\12\uffff\1\0"+ + "\3\uffff\7\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\5\uffff\1"+ + "\0\1\uffff\1\0\1\uffff\1\0\10\uffff\1\0\5\uffff\1\0\4\uffff"; + static final String DFA26_acceptS = + "\1\uffff\1\2\147\uffff\1\1"; + static final String DFA26_specialS = + "\10\uffff\1\0\22\uffff\1\1\1\2\7\uffff\1\3\1\4\1\5\3\uffff\1\6\12\uffff"+ + "\1\7\3\uffff\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\uffff\1\17\5\uffff\1"+ + "\20\2\uffff\1\21\1\uffff\1\22\5\uffff\1\23\1\uffff\1\24\1\uffff\1\25\10"+ + "\uffff\1\26\5\uffff\1\27\4\uffff}>"; + static final String[] DFA26_transitionS = { + "\1\1\1\uffff\1\145\1\1\1\145\1\uffff\3\1\1\uffff\1\1\1\145\2\1\1\uffff"+ + "\1\1\1\145\5\1\1\uffff\2\1\2\145\1\1\1\76\3\1\1\74\1\uffff\5\1\2\145"+ + "\3\uffff\4\1\1\145\1\1\1\107\2\1\1\34\1\1\1\uffff\1\145\2\1\2\uffff\2"+ + "\1\1\uffff\1\1\1\145\3\uffff\1\1\1\77\1\46\1\124\3\1\1\uffff\2\1\1\10"+ + "\2\uffff\2\1\1\112\2\1\1\145\2\1\1\52\5\1\1\145\2\1\1\137\1\1\1\145\1"+ + "\1\3\uffff\3\1\1\145\3\1\1\uffff\5\1\1\uffff\1\1\2\uffff\1\65\1\72\1"+ + "\uffff\1\145\1\101\1\uffff\1\145\2\uffff\4\1\1\uffff\1\1\1\uffff\4\1"+ + "\1\145\1\1\1\75\1\126\1\145\3\1\1\33\1\uffff\1\1\15\uffff\1\1\1\44\1"+ + "\1\3\uffff\1\1\6\uffff\1\122\1\1\2\uffff\1\1\1\114\2\145\2\uffff\1\71"+ + "\1\73\1\uffff\1\1\1\45\14\1", + "", + "", + "", + "", + "", + "", + "", + "\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", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "" + }; + + static final short[] DFA26_eot = DFA.unpackEncodedString(DFA26_eotS); + static final short[] DFA26_eof = DFA.unpackEncodedString(DFA26_eofS); + static final char[] DFA26_min = DFA.unpackEncodedStringToUnsignedChars(DFA26_minS); + static final char[] DFA26_max = DFA.unpackEncodedStringToUnsignedChars(DFA26_maxS); + static final short[] DFA26_accept = DFA.unpackEncodedString(DFA26_acceptS); + static final short[] DFA26_special = DFA.unpackEncodedString(DFA26_specialS); + static final short[][] DFA26_transition; + + static { + int numStates = DFA26_transitionS.length; + DFA26_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA26_27 = input.LA(1); + + int index26_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_27); + if ( s>=0 ) return s; + break; + + case 2 : + int LA26_28 = input.LA(1); + + int index26_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_28); + if ( s>=0 ) return s; + break; + + case 3 : + int LA26_36 = input.LA(1); + + int index26_36 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_36); + if ( s>=0 ) return s; + break; + + case 4 : + int LA26_37 = input.LA(1); + + int index26_37 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_37); + if ( s>=0 ) return s; + break; + + case 5 : + int LA26_38 = input.LA(1); + + int index26_38 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_38); + if ( s>=0 ) return s; + break; + + case 6 : + int LA26_42 = input.LA(1); + + int index26_42 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_42); + if ( s>=0 ) return s; + break; + + case 7 : + int LA26_53 = input.LA(1); + + int index26_53 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_53); + if ( s>=0 ) return s; + break; + + case 8 : + int LA26_57 = input.LA(1); + + int index26_57 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_57); + if ( s>=0 ) return s; + break; + + case 9 : + int LA26_58 = input.LA(1); + + int index26_58 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_58); + if ( s>=0 ) return s; + break; + + case 10 : + int LA26_59 = input.LA(1); + + int index26_59 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_59); + if ( s>=0 ) return s; + break; + + case 11 : + int LA26_60 = input.LA(1); + + int index26_60 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_60); + if ( s>=0 ) return s; + break; + + case 12 : + int LA26_61 = input.LA(1); + + int index26_61 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_61); + if ( s>=0 ) return s; + break; + + case 13 : + int LA26_62 = input.LA(1); + + int index26_62 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_62); + if ( s>=0 ) return s; + break; + + case 14 : + int LA26_63 = input.LA(1); + + int index26_63 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_63); + if ( s>=0 ) return s; + break; + + case 15 : + int LA26_65 = input.LA(1); + + int index26_65 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_65); + if ( s>=0 ) return s; + break; + + case 16 : + int LA26_71 = input.LA(1); + + int index26_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_71); + if ( s>=0 ) return s; + break; + + case 17 : + int LA26_74 = input.LA(1); + + int index26_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_74); + if ( s>=0 ) return s; + break; + + case 18 : + int LA26_76 = input.LA(1); + + int index26_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_76); + if ( s>=0 ) return s; + break; + + case 19 : + int LA26_82 = input.LA(1); + + int index26_82 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_82); + if ( s>=0 ) return s; + break; + + case 20 : + int LA26_84 = input.LA(1); + + int index26_84 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_84); + if ( s>=0 ) return s; + break; + + case 21 : + int LA26_86 = input.LA(1); + + int index26_86 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_86); + if ( s>=0 ) return s; + break; + + case 22 : + int LA26_95 = input.LA(1); + + int index26_95 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_95); + if ( s>=0 ) return s; + break; + + case 23 : + int LA26_101 = input.LA(1); + + int index26_101 = input.index(); + input.rewind(); + s = -1; + if ( (synpred39_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index26_101); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 26, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA30_eotS = + "\152\uffff"; + static final String DFA30_eofS = + "\1\1\151\uffff"; + static final String DFA30_minS = + "\1\4\7\uffff\1\0\22\uffff\2\0\7\uffff\3\0\3\uffff\1\0\12\uffff\1\0\3\uffff"+ + "\7\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\5\uffff\1\0\1\uffff"+ + "\1\0\1\uffff\1\0\10\uffff\1\0\5\uffff\1\0\4\uffff"; + static final String DFA30_maxS = + "\1\u00d2\7\uffff\1\0\22\uffff\2\0\7\uffff\3\0\3\uffff\1\0\12\uffff\1\0"+ + "\3\uffff\7\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\5\uffff\1"+ + "\0\1\uffff\1\0\1\uffff\1\0\10\uffff\1\0\5\uffff\1\0\4\uffff"; + static final String DFA30_acceptS = + "\1\uffff\1\2\147\uffff\1\1"; + static final String DFA30_specialS = + "\10\uffff\1\0\22\uffff\1\1\1\2\7\uffff\1\3\1\4\1\5\3\uffff\1\6\12\uffff"+ + "\1\7\3\uffff\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\uffff\1\17\5\uffff\1"+ + "\20\2\uffff\1\21\1\uffff\1\22\5\uffff\1\23\1\uffff\1\24\1\uffff\1\25\10"+ + "\uffff\1\26\5\uffff\1\27\4\uffff}>"; + static final String[] DFA30_transitionS = { + "\1\1\1\uffff\1\145\1\1\1\145\1\uffff\3\1\1\uffff\1\1\1\145\2\1\1\uffff"+ + "\1\1\1\145\5\1\1\uffff\2\1\2\145\1\1\1\76\3\1\1\74\1\uffff\5\1\2\145"+ + "\3\uffff\4\1\1\145\1\1\1\107\2\1\1\34\1\1\1\uffff\1\145\2\1\2\uffff\2"+ + "\1\1\uffff\1\1\1\145\3\uffff\1\1\1\77\1\46\1\124\3\1\1\uffff\2\1\1\10"+ + "\2\uffff\2\1\1\112\2\1\1\145\2\1\1\52\5\1\1\145\2\1\1\137\1\1\1\145\1"+ + "\1\3\uffff\3\1\1\145\3\1\1\uffff\5\1\1\uffff\1\1\2\uffff\1\65\1\72\1"+ + "\uffff\1\145\1\101\1\uffff\1\145\2\uffff\4\1\1\uffff\1\1\1\uffff\4\1"+ + "\1\145\1\1\1\75\1\126\1\145\3\1\1\33\1\uffff\1\1\15\uffff\1\1\1\44\1"+ + "\1\3\uffff\1\1\6\uffff\1\122\1\1\2\uffff\1\1\1\114\2\145\2\uffff\1\71"+ + "\1\73\1\uffff\1\1\1\45\14\1", + "", + "", + "", + "", + "", + "", + "", + "\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", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "" + }; + + static final short[] DFA30_eot = DFA.unpackEncodedString(DFA30_eotS); + static final short[] DFA30_eof = DFA.unpackEncodedString(DFA30_eofS); + static final char[] DFA30_min = DFA.unpackEncodedStringToUnsignedChars(DFA30_minS); + static final char[] DFA30_max = DFA.unpackEncodedStringToUnsignedChars(DFA30_maxS); + static final short[] DFA30_accept = DFA.unpackEncodedString(DFA30_acceptS); + static final short[] DFA30_special = DFA.unpackEncodedString(DFA30_specialS); + static final short[][] DFA30_transition; + + static { + int numStates = DFA30_transitionS.length; + DFA30_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA30_27 = input.LA(1); + + int index30_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_27); + if ( s>=0 ) return s; + break; + + case 2 : + int LA30_28 = input.LA(1); + + int index30_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_28); + if ( s>=0 ) return s; + break; + + case 3 : + int LA30_36 = input.LA(1); + + int index30_36 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_36); + if ( s>=0 ) return s; + break; + + case 4 : + int LA30_37 = input.LA(1); + + int index30_37 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_37); + if ( s>=0 ) return s; + break; + + case 5 : + int LA30_38 = input.LA(1); + + int index30_38 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_38); + if ( s>=0 ) return s; + break; + + case 6 : + int LA30_42 = input.LA(1); + + int index30_42 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_42); + if ( s>=0 ) return s; + break; + + case 7 : + int LA30_53 = input.LA(1); + + int index30_53 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_53); + if ( s>=0 ) return s; + break; + + case 8 : + int LA30_57 = input.LA(1); + + int index30_57 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_57); + if ( s>=0 ) return s; + break; + + case 9 : + int LA30_58 = input.LA(1); + + int index30_58 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_58); + if ( s>=0 ) return s; + break; + + case 10 : + int LA30_59 = input.LA(1); + + int index30_59 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_59); + if ( s>=0 ) return s; + break; + + case 11 : + int LA30_60 = input.LA(1); + + int index30_60 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_60); + if ( s>=0 ) return s; + break; + + case 12 : + int LA30_61 = input.LA(1); + + int index30_61 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_61); + if ( s>=0 ) return s; + break; + + case 13 : + int LA30_62 = input.LA(1); + + int index30_62 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_62); + if ( s>=0 ) return s; + break; + + case 14 : + int LA30_63 = input.LA(1); + + int index30_63 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_63); + if ( s>=0 ) return s; + break; + + case 15 : + int LA30_65 = input.LA(1); + + int index30_65 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_65); + if ( s>=0 ) return s; + break; + + case 16 : + int LA30_71 = input.LA(1); + + int index30_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_71); + if ( s>=0 ) return s; + break; + + case 17 : + int LA30_74 = input.LA(1); + + int index30_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_74); + if ( s>=0 ) return s; + break; + + case 18 : + int LA30_76 = input.LA(1); + + int index30_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_76); + if ( s>=0 ) return s; + break; + + case 19 : + int LA30_82 = input.LA(1); + + int index30_82 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_82); + if ( s>=0 ) return s; + break; + + case 20 : + int LA30_84 = input.LA(1); + + int index30_84 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_84); + if ( s>=0 ) return s; + break; + + case 21 : + int LA30_86 = input.LA(1); + + int index30_86 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_86); + if ( s>=0 ) return s; + break; + + case 22 : + int LA30_95 = input.LA(1); + + int index30_95 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_95); + if ( s>=0 ) return s; + break; + + case 23 : + int LA30_101 = input.LA(1); + + int index30_101 = input.index(); + input.rewind(); + s = -1; + if ( (synpred44_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index30_101); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 30, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA33_eotS = + "\152\uffff"; + static final String DFA33_eofS = + "\1\1\151\uffff"; + static final String DFA33_minS = + "\1\4\7\uffff\1\0\22\uffff\2\0\7\uffff\3\0\3\uffff\1\0\12\uffff\1\0\3\uffff"+ + "\7\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\5\uffff\1\0\1\uffff"+ + "\1\0\1\uffff\1\0\10\uffff\1\0\5\uffff\1\0\4\uffff"; + static final String DFA33_maxS = + "\1\u00d2\7\uffff\1\0\22\uffff\2\0\7\uffff\3\0\3\uffff\1\0\12\uffff\1\0"+ + "\3\uffff\7\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\5\uffff\1"+ + "\0\1\uffff\1\0\1\uffff\1\0\10\uffff\1\0\5\uffff\1\0\4\uffff"; + static final String DFA33_acceptS = + "\1\uffff\1\2\147\uffff\1\1"; + static final String DFA33_specialS = + "\10\uffff\1\0\22\uffff\1\1\1\2\7\uffff\1\3\1\4\1\5\3\uffff\1\6\12\uffff"+ + "\1\7\3\uffff\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\uffff\1\17\5\uffff\1"+ + "\20\2\uffff\1\21\1\uffff\1\22\5\uffff\1\23\1\uffff\1\24\1\uffff\1\25\10"+ + "\uffff\1\26\5\uffff\1\27\4\uffff}>"; + static final String[] DFA33_transitionS = { + "\1\1\1\uffff\1\145\1\1\1\145\1\uffff\3\1\1\uffff\1\1\1\145\2\1\1\uffff"+ + "\1\1\1\145\5\1\1\uffff\2\1\2\145\1\1\1\76\3\1\1\74\1\uffff\5\1\2\145"+ + "\3\uffff\4\1\1\145\1\1\1\107\2\1\1\34\1\1\1\uffff\1\145\2\1\2\uffff\2"+ + "\1\1\uffff\1\1\1\145\3\uffff\1\1\1\77\1\46\1\124\3\1\1\uffff\2\1\1\10"+ + "\2\uffff\2\1\1\112\2\1\1\145\2\1\1\52\5\1\1\145\2\1\1\137\1\1\1\145\1"+ + "\1\3\uffff\3\1\1\145\3\1\1\uffff\5\1\1\uffff\1\1\2\uffff\1\65\1\72\1"+ + "\uffff\1\145\1\101\1\uffff\1\145\2\uffff\4\1\1\uffff\1\1\1\uffff\4\1"+ + "\1\145\1\1\1\75\1\126\1\145\3\1\1\33\1\uffff\1\1\15\uffff\1\1\1\44\1"+ + "\1\3\uffff\1\1\6\uffff\1\122\1\1\2\uffff\1\1\1\114\2\145\2\uffff\1\71"+ + "\1\73\1\uffff\1\1\1\45\14\1", + "", + "", + "", + "", + "", + "", + "", + "\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", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "" + }; + + static final short[] DFA33_eot = DFA.unpackEncodedString(DFA33_eotS); + static final short[] DFA33_eof = DFA.unpackEncodedString(DFA33_eofS); + static final char[] DFA33_min = DFA.unpackEncodedStringToUnsignedChars(DFA33_minS); + static final char[] DFA33_max = DFA.unpackEncodedStringToUnsignedChars(DFA33_maxS); + static final short[] DFA33_accept = DFA.unpackEncodedString(DFA33_acceptS); + static final short[] DFA33_special = DFA.unpackEncodedString(DFA33_specialS); + static final short[][] DFA33_transition; + + static { + int numStates = DFA33_transitionS.length; + DFA33_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA33_27 = input.LA(1); + + int index33_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_27); + if ( s>=0 ) return s; + break; + + case 2 : + int LA33_28 = input.LA(1); + + int index33_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_28); + if ( s>=0 ) return s; + break; + + case 3 : + int LA33_36 = input.LA(1); + + int index33_36 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_36); + if ( s>=0 ) return s; + break; + + case 4 : + int LA33_37 = input.LA(1); + + int index33_37 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_37); + if ( s>=0 ) return s; + break; + + case 5 : + int LA33_38 = input.LA(1); + + int index33_38 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_38); + if ( s>=0 ) return s; + break; + + case 6 : + int LA33_42 = input.LA(1); + + int index33_42 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_42); + if ( s>=0 ) return s; + break; + + case 7 : + int LA33_53 = input.LA(1); + + int index33_53 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_53); + if ( s>=0 ) return s; + break; + + case 8 : + int LA33_57 = input.LA(1); + + int index33_57 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_57); + if ( s>=0 ) return s; + break; + + case 9 : + int LA33_58 = input.LA(1); + + int index33_58 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_58); + if ( s>=0 ) return s; + break; + + case 10 : + int LA33_59 = input.LA(1); + + int index33_59 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_59); + if ( s>=0 ) return s; + break; + + case 11 : + int LA33_60 = input.LA(1); + + int index33_60 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_60); + if ( s>=0 ) return s; + break; + + case 12 : + int LA33_61 = input.LA(1); + + int index33_61 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_61); + if ( s>=0 ) return s; + break; + + case 13 : + int LA33_62 = input.LA(1); + + int index33_62 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_62); + if ( s>=0 ) return s; + break; + + case 14 : + int LA33_63 = input.LA(1); + + int index33_63 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_63); + if ( s>=0 ) return s; + break; + + case 15 : + int LA33_65 = input.LA(1); + + int index33_65 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_65); + if ( s>=0 ) return s; + break; + + case 16 : + int LA33_71 = input.LA(1); + + int index33_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_71); + if ( s>=0 ) return s; + break; + + case 17 : + int LA33_74 = input.LA(1); + + int index33_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_74); + if ( s>=0 ) return s; + break; + + case 18 : + int LA33_76 = input.LA(1); + + int index33_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_76); + if ( s>=0 ) return s; + break; + + case 19 : + int LA33_82 = input.LA(1); + + int index33_82 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_82); + if ( s>=0 ) return s; + break; + + case 20 : + int LA33_84 = input.LA(1); + + int index33_84 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_84); + if ( s>=0 ) return s; + break; + + case 21 : + int LA33_86 = input.LA(1); + + int index33_86 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_86); + if ( s>=0 ) return s; + break; + + case 22 : + int LA33_95 = input.LA(1); + + int index33_95 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_95); + if ( s>=0 ) return s; + break; + + case 23 : + int LA33_101 = input.LA(1); + + int index33_101 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index33_101); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 33, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA50_eotS = + "\172\uffff"; + static final String DFA50_eofS = + "\1\25\171\uffff"; + static final String DFA50_minS = + "\1\4\4\uffff\1\0\1\uffff\1\0\1\uffff\14\0\10\uffff\2\0\13\uffff\1\0\25"+ + "\uffff\1\0\2\uffff\1\0\6\uffff\1\0\12\uffff\1\0\1\uffff\7\0\1\uffff\1"+ + "\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\1\uffff\1\0\2\uffff\1\0\12\uffff"; + static final String DFA50_maxS = + "\1\u00d2\4\uffff\1\0\1\uffff\1\0\1\uffff\14\0\10\uffff\2\0\13\uffff\1"+ + "\0\25\uffff\1\0\2\uffff\1\0\6\uffff\1\0\12\uffff\1\0\1\uffff\7\0\1\uffff"+ + "\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\1\uffff\1\0\2\uffff\1\0\12\uffff"; + static final String DFA50_acceptS = + "\1\uffff\1\1\23\uffff\1\7\137\uffff\1\6\1\2\1\3\1\4\1\5"; + static final String DFA50_specialS = + "\5\uffff\1\0\1\uffff\1\1\1\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+ + "\1\13\1\14\1\15\10\uffff\1\16\1\17\13\uffff\1\20\25\uffff\1\21\2\uffff"+ + "\1\22\6\uffff\1\23\12\uffff\1\24\1\uffff\1\25\1\26\1\27\1\30\1\31\1\32"+ + "\1\33\1\uffff\1\34\5\uffff\1\35\2\uffff\1\36\1\uffff\1\37\1\uffff\1\40"+ + "\2\uffff\1\41\12\uffff}>"; + static final String[] DFA50_transitionS = { + "\1\25\1\uffff\1\157\1\25\1\15\1\1\3\25\1\uffff\1\25\1\157\2\25\1\uffff"+ + "\1\25\1\157\2\25\1\5\2\25\1\uffff\2\25\2\157\1\25\1\134\3\25\1\132\1"+ + "\1\5\25\2\157\3\uffff\4\25\1\157\1\25\1\145\2\25\1\35\1\25\1\1\1\157"+ + "\2\25\2\uffff\1\16\1\25\1\uffff\1\25\1\157\3\uffff\1\25\1\135\1\36\1"+ + "\154\3\25\1\1\3\25\2\uffff\2\25\1\137\2\25\1\157\2\25\1\112\5\25\1\7"+ + "\2\25\1\103\1\25\1\157\1\25\2\uffff\1\1\3\25\1\12\1\11\1\25\1\17\1\uffff"+ + "\5\25\1\uffff\1\25\2\uffff\1\125\1\130\1\1\1\20\1\52\1\uffff\1\157\2"+ + "\uffff\4\25\1\uffff\1\25\1\1\4\25\1\157\1\25\1\133\1\100\1\13\3\25\1"+ + "\24\1\uffff\1\14\15\uffff\1\25\1\22\1\25\3\uffff\1\25\6\uffff\1\152\1"+ + "\25\2\uffff\1\25\1\150\1\21\1\157\2\uffff\1\127\1\131\1\uffff\1\25\1"+ + "\23\14\25", + "", + "", + "", + "", + "\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", + "\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[] DFA50_eot = DFA.unpackEncodedString(DFA50_eotS); + static final short[] DFA50_eof = DFA.unpackEncodedString(DFA50_eofS); + static final char[] DFA50_min = DFA.unpackEncodedStringToUnsignedChars(DFA50_minS); + static final char[] DFA50_max = DFA.unpackEncodedStringToUnsignedChars(DFA50_maxS); + static final short[] DFA50_accept = DFA.unpackEncodedString(DFA50_acceptS); + static final short[] DFA50_special = DFA.unpackEncodedString(DFA50_specialS); + static final short[][] DFA50_transition; + + static { + int numStates = DFA50_transitionS.length; + DFA50_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA50_7 = input.LA(1); + + int index50_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred62_Delphi()) ) {s = 1;} + else if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_7); + if ( s>=0 ) return s; + break; + + case 2 : + int LA50_9 = input.LA(1); + + int index50_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred63_Delphi()) ) {s = 118;} + else if ( (true) ) {s = 21;} + + input.seek(index50_9); + if ( s>=0 ) return s; + break; + + case 3 : + int LA50_10 = input.LA(1); + + int index50_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred63_Delphi()) ) {s = 118;} + else if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_10); + if ( s>=0 ) return s; + break; + + case 4 : + int LA50_11 = input.LA(1); + + int index50_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred64_Delphi()) ) {s = 119;} + else if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_11); + if ( s>=0 ) return s; + break; + + case 5 : + int LA50_12 = input.LA(1); + + int index50_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred64_Delphi()) ) {s = 119;} + else if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_12); + if ( s>=0 ) return s; + break; + + case 6 : + int LA50_13 = input.LA(1); + + int index50_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred64_Delphi()) ) {s = 119;} + else if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_13); + if ( s>=0 ) return s; + break; + + case 7 : + int LA50_14 = input.LA(1); + + int index50_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred65_Delphi()) ) {s = 120;} + else if ( (true) ) {s = 21;} + + input.seek(index50_14); + if ( s>=0 ) return s; + break; + + case 8 : + int LA50_15 = input.LA(1); + + int index50_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred65_Delphi()) ) {s = 120;} + else if ( (true) ) {s = 21;} + + input.seek(index50_15); + if ( s>=0 ) return s; + break; + + case 9 : + int LA50_16 = input.LA(1); + + int index50_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred65_Delphi()) ) {s = 120;} + else if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_16); + if ( s>=0 ) return s; + break; + + case 10 : + int LA50_17 = input.LA(1); + + int index50_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred66_Delphi()) ) {s = 121;} + else if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_17); + if ( s>=0 ) return s; + break; + + case 11 : + int LA50_18 = input.LA(1); + + int index50_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_18); + if ( s>=0 ) return s; + break; + + case 12 : + int LA50_19 = input.LA(1); + + int index50_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_19); + if ( s>=0 ) return s; + break; + + case 13 : + int LA50_20 = input.LA(1); + + int index50_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_20); + if ( s>=0 ) return s; + break; + + case 14 : + int LA50_29 = input.LA(1); + + int index50_29 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_29); + if ( s>=0 ) return s; + break; + + case 15 : + int LA50_30 = input.LA(1); + + int index50_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_30); + if ( s>=0 ) return s; + break; + + case 16 : + int LA50_42 = input.LA(1); + + int index50_42 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_42); + if ( s>=0 ) return s; + break; + + case 17 : + int LA50_64 = input.LA(1); + + int index50_64 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_64); + if ( s>=0 ) return s; + break; + + case 18 : + int LA50_67 = input.LA(1); + + int index50_67 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_67); + if ( s>=0 ) return s; + break; + + case 19 : + int LA50_74 = input.LA(1); + + int index50_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_74); + if ( s>=0 ) return s; + break; + + case 20 : + int LA50_85 = input.LA(1); + + int index50_85 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_85); + if ( s>=0 ) return s; + break; + + case 21 : + int LA50_87 = input.LA(1); + + int index50_87 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_87); + if ( s>=0 ) return s; + break; + + case 22 : + int LA50_88 = input.LA(1); + + int index50_88 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_88); + if ( s>=0 ) return s; + break; + + case 23 : + int LA50_89 = input.LA(1); + + int index50_89 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_89); + if ( s>=0 ) return s; + break; + + case 24 : + int LA50_90 = input.LA(1); + + int index50_90 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_90); + if ( s>=0 ) return s; + break; + + case 25 : + int LA50_91 = input.LA(1); + + int index50_91 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_91); + if ( s>=0 ) return s; + break; + + case 26 : + int LA50_92 = input.LA(1); + + int index50_92 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_92); + if ( s>=0 ) return s; + break; + + case 27 : + int LA50_93 = input.LA(1); + + int index50_93 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_93); + if ( s>=0 ) return s; + break; + + case 28 : + int LA50_95 = input.LA(1); + + int index50_95 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_95); + if ( s>=0 ) return s; + break; + + case 29 : + int LA50_101 = input.LA(1); + + int index50_101 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_101); + if ( s>=0 ) return s; + break; + + case 30 : + int LA50_104 = input.LA(1); + + int index50_104 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_104); + if ( s>=0 ) return s; + break; + + case 31 : + int LA50_106 = input.LA(1); + + int index50_106 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_106); + if ( s>=0 ) return s; + break; + + case 32 : + int LA50_108 = input.LA(1); + + int index50_108 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_108); + if ( s>=0 ) return s; + break; + + case 33 : + int LA50_111 = input.LA(1); + + int index50_111 = input.index(); + input.rewind(); + s = -1; + if ( (synpred71_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 21;} + + input.seek(index50_111); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 50, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA57_eotS = + "\27\uffff"; + static final String DFA57_eofS = + "\1\uffff\1\11\1\uffff\1\11\1\uffff\3\11\2\uffff\2\11\1\uffff\1\11\1\uffff"+ + "\2\11\1\uffff\5\11"; + static final String DFA57_minS = + "\1\6\1\7\1\4\1\7\1\uffff\1\7\1\6\1\7\1\6\1\uffff\2\7\1\6\1\7\1\4\2\7\1"+ + "\4\5\7"; + static final String DFA57_maxS = + "\1\u00d2\1\u00d1\1\u00c5\1\u00d1\1\uffff\1\u00d1\1\u00d2\1\u00d1\1\u00c6"+ + "\1\uffff\2\u00d1\1\u00c6\1\u00d1\1\u00c5\2\u00d1\1\u00c5\5\u00d1"; + static final String DFA57_acceptS = + "\4\uffff\1\2\4\uffff\1\1\15\uffff"; + static final String DFA57_specialS = + "\27\uffff}>"; + static final String[] DFA57_transitionS = { + "\1\7\1\4\1\7\1\uffff\1\4\4\uffff\1\7\1\4\3\uffff\1\7\10\uffff\2\7\1\4"+ + "\1\7\3\uffff\1\7\1\uffff\1\4\1\uffff\2\4\1\uffff\2\7\5\uffff\1\4\1\uffff"+ + "\1\7\1\uffff\1\7\2\uffff\1\5\2\uffff\1\7\4\uffff\2\4\1\uffff\1\4\1\7"+ + "\4\uffff\1\7\1\6\1\7\1\4\3\uffff\1\4\1\uffff\1\4\2\uffff\1\4\1\uffff"+ + "\1\7\2\4\1\7\2\4\1\7\1\uffff\1\4\1\uffff\2\4\1\7\2\uffff\1\7\1\4\1\7"+ + "\6\uffff\1\4\1\7\1\4\1\uffff\1\4\5\uffff\1\4\4\uffff\2\7\1\uffff\2\7"+ + "\1\uffff\1\7\11\uffff\4\4\1\7\1\uffff\3\7\3\uffff\1\3\17\uffff\1\4\1"+ + "\1\1\4\3\uffff\1\4\6\uffff\1\7\4\uffff\3\7\2\uffff\2\7\1\uffff\1\4\1"+ + "\2\14\4", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\12\13\1\uffff\1\13\1\uffff\1\13\1\uffff\5\13\3\uffff\4\13\1\uffff\1"+ + "\13\1\uffff\6\13\2\uffff\4\13\2\uffff\2\13\1\uffff\17\13\1\uffff\1\13"+ + "\1\uffff\1\13\2\uffff\13\13\4\uffff\2\13\2\uffff\1\13\1\uffff\6\13\1"+ + "\uffff\14\13\1\uffff\1\13\1\uffff\7\13\1\uffff\1\13\3\uffff\13\13\1\uffff"+ + "\2\13\1\uffff\3\13\2\uffff\13\13\16\uffff\1\12\12\uffff\4\13\1\uffff"+ + "\10\13\1\uffff\1\13", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\3\4\1\uffff\1\4\4\uffff\2\4\3\uffff\1\4\4\uffff\1\11\3\uffff\4\4\3"+ + "\uffff\1\4\1\uffff\1\4\1\uffff\1\14\1\4\1\uffff\2\4\5\uffff\1\4\1\uffff"+ + "\1\4\1\uffff\1\4\2\uffff\1\4\2\uffff\1\4\5\uffff\1\4\1\uffff\2\4\4\uffff"+ + "\4\4\3\uffff\1\4\1\uffff\1\4\2\uffff\1\4\1\uffff\7\4\1\uffff\1\4\1\uffff"+ + "\3\4\2\uffff\3\4\6\uffff\3\4\7\uffff\1\4\1\uffff\1\11\2\uffff\2\4\1\uffff"+ + "\2\4\1\uffff\1\4\11\uffff\5\4\1\uffff\3\4\3\uffff\1\4\17\uffff\3\4\3"+ + "\uffff\1\4\6\uffff\1\4\4\uffff\3\4\2\uffff\2\4\1\uffff\16\4", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\1\17\1\uffff\1\17\6\uffff\1\17\4\uffff\1\17\10\uffff\2\17\1\uffff\1"+ + "\17\3\uffff\1\17\6\uffff\2\17\7\uffff\1\17\1\uffff\1\17\2\uffff\1\17"+ + "\2\uffff\1\17\10\uffff\1\17\4\uffff\3\17\13\uffff\1\17\2\uffff\1\17\2"+ + "\uffff\1\17\5\uffff\1\17\2\uffff\1\17\1\uffff\1\17\7\uffff\1\17\15\uffff"+ + "\2\17\1\uffff\2\17\1\uffff\1\17\15\uffff\1\17\1\uffff\3\17\3\uffff\1"+ + "\17\20\uffff\1\15\13\uffff\1\17\4\uffff\3\17\2\uffff\2\17\2\uffff\1\16", + "", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\1\22\1\uffff\1\22\6\uffff\1\22\4\uffff\1\22\10\uffff\2\22\1\uffff\1"+ + "\22\3\uffff\1\22\6\uffff\2\22\7\uffff\1\22\1\uffff\1\22\2\uffff\1\22"+ + "\2\uffff\1\22\10\uffff\1\22\4\uffff\3\22\13\uffff\1\22\2\uffff\1\22\2"+ + "\uffff\1\22\5\uffff\1\22\2\uffff\1\22\1\uffff\1\22\7\uffff\1\22\15\uffff"+ + "\2\22\1\uffff\2\22\1\uffff\1\22\15\uffff\1\22\1\uffff\3\22\3\uffff\1"+ + "\22\20\uffff\1\20\13\uffff\1\22\4\uffff\3\22\2\uffff\2\22\2\uffff\1\21", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\12\24\1\uffff\1\24\1\uffff\1\24\1\uffff\5\24\3\uffff\4\24\1\uffff\1"+ + "\24\1\uffff\6\24\2\uffff\4\24\2\uffff\2\24\1\uffff\17\24\1\uffff\1\24"+ + "\1\uffff\1\24\2\uffff\13\24\4\uffff\2\24\2\uffff\1\24\1\uffff\6\24\1"+ + "\uffff\14\24\1\uffff\1\24\1\uffff\7\24\1\uffff\1\24\3\uffff\13\24\1\uffff"+ + "\2\24\1\uffff\3\24\2\uffff\13\24\16\uffff\1\23\12\uffff\4\24\1\uffff"+ + "\10\24\1\uffff\1\24", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\14"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\12\26\1\uffff\1\26\1\uffff\1\26\1\uffff\5\26\3\uffff\4\26\1\uffff\1"+ + "\26\1\uffff\6\26\2\uffff\4\26\2\uffff\2\26\1\uffff\17\26\1\uffff\1\26"+ + "\1\uffff\1\26\2\uffff\13\26\4\uffff\2\26\2\uffff\1\26\1\uffff\6\26\1"+ + "\uffff\14\26\1\uffff\1\26\1\uffff\7\26\1\uffff\1\26\3\uffff\13\26\1\uffff"+ + "\2\26\1\uffff\3\26\2\uffff\13\26\16\uffff\1\25\12\uffff\4\26\1\uffff"+ + "\10\26\1\uffff\1\26", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\14"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\10"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\14"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4", + "\1\4\2\uffff\1\4\5\uffff\1\4\10\uffff\1\11\14\uffff\1\4\1\uffff\1\14"+ + "\1\4\10\uffff\1\4\17\uffff\1\4\1\uffff\1\4\6\uffff\1\4\5\uffff\1\4\1"+ + "\uffff\1\4\2\uffff\1\4\2\uffff\2\4\1\uffff\2\4\5\uffff\1\4\4\uffff\1"+ + "\4\7\uffff\1\4\1\uffff\1\4\11\uffff\1\11\22\uffff\4\4\62\uffff\1\4\2"+ + "\uffff\3\4\1\uffff\6\4" + }; + + static final short[] DFA57_eot = DFA.unpackEncodedString(DFA57_eotS); + static final short[] DFA57_eof = DFA.unpackEncodedString(DFA57_eofS); + static final char[] DFA57_min = DFA.unpackEncodedStringToUnsignedChars(DFA57_minS); + static final char[] DFA57_max = DFA.unpackEncodedStringToUnsignedChars(DFA57_maxS); + static final short[] DFA57_accept = DFA.unpackEncodedString(DFA57_acceptS); + static final short[] DFA57_special = DFA.unpackEncodedString(DFA57_specialS); + static final short[][] DFA57_transition; + + static { + int numStates = DFA57_transitionS.length; + DFA57_transition = new short[numStates][]; + for (int i=0; i"; + static final String[] DFA61_transitionS = { + "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\7\2\1\uffff\12\2\1\uffff"+ + "\7\2\3\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\2\2\3\uffff\7\2\1\uffff"+ + "\2\2\1\1\2\uffff\25\2\3\uffff\7\2\1\uffff\5\2\1\uffff\1\2\2\uffff\2\2"+ + "\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff\15\2\1\uffff"+ + "\1\2\15\uffff\3\2\3\uffff\1\2\6\uffff\2\2\2\uffff\4\2\2\uffff\2\2\1\uffff"+ + "\16\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA61_eot = DFA.unpackEncodedString(DFA61_eotS); + static final short[] DFA61_eof = DFA.unpackEncodedString(DFA61_eofS); + static final char[] DFA61_min = DFA.unpackEncodedStringToUnsignedChars(DFA61_minS); + static final char[] DFA61_max = DFA.unpackEncodedStringToUnsignedChars(DFA61_maxS); + static final short[] DFA61_accept = DFA.unpackEncodedString(DFA61_acceptS); + static final short[] DFA61_special = DFA.unpackEncodedString(DFA61_specialS); + static final short[][] DFA61_transition; + + static { + int numStates = DFA61_transitionS.length; + DFA61_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 61, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA69_eotS = + "\167\uffff"; + static final String DFA69_eofS = + "\1\71\166\uffff"; + static final String DFA69_minS = + "\1\4\164\0\2\uffff"; + static final String DFA69_maxS = + "\1\u00d2\164\0\2\uffff"; + static final String DFA69_acceptS = + "\165\uffff\1\1\1\2"; + static final String DFA69_specialS = + "\1\uffff\1\0\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\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\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\63\1\64\1\65\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\104"+ + "\1\105\1\106\1\107\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\126\1\127\1\130\1\131\1\132\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\151\1\152\1\153\1\154\1\155\1\156\1\157\1\160\1\161\1\162\1\163\2\uffff}>"; + static final String[] DFA69_transitionS = { + "\1\66\1\uffff\1\157\1\51\1\16\1\3\1\51\1\124\1\142\1\uffff\1\67\1\157"+ + "\1\27\1\110\1\uffff\1\123\1\157\1\116\1\61\1\6\1\74\1\73\1\uffff\1\114"+ + "\1\111\2\157\1\42\1\134\1\164\1\62\1\111\1\132\1\7\1\51\1\161\1\47\1"+ + "\55\1\163\2\157\3\uffff\1\70\1\72\1\53\1\77\1\157\1\63\1\145\1\122\1"+ + "\153\1\36\1\147\1\5\1\157\1\75\1\100\2\uffff\1\17\1\102\1\uffff\1\54"+ + "\1\157\3\uffff\1\156\1\135\1\37\1\154\1\45\1\155\1\141\1\7\1\102\1\121"+ + "\1\1\2\uffff\1\102\1\65\1\137\1\26\1\50\1\157\1\33\1\51\1\112\1\151\1"+ + "\40\1\136\1\31\1\102\1\10\1\56\1\101\1\103\1\51\1\157\1\140\2\uffff\1"+ + "\2\1\143\1\64\1\32\1\13\1\12\1\105\1\20\1\uffff\1\113\1\104\1\106\1\107"+ + "\1\43\1\uffff\1\120\2\uffff\1\125\1\130\1\11\1\21\1\52\1\uffff\1\157"+ + "\2\uffff\1\126\1\114\1\117\1\144\1\uffff\1\57\1\4\4\51\1\157\1\146\1"+ + "\133\1\60\1\14\1\160\1\115\1\162\1\25\1\uffff\1\15\15\uffff\1\35\1\23"+ + "\1\35\3\uffff\1\34\6\uffff\1\152\1\76\2\uffff\1\115\1\150\1\22\1\157"+ + "\2\uffff\1\127\1\131\1\uffff\1\51\1\24\1\30\3\51\1\44\5\51\1\46\1\41", + "\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", + "\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", + "\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", + "\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", + "\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", + "\1\uffff", + "", + "" + }; + + static final short[] DFA69_eot = DFA.unpackEncodedString(DFA69_eotS); + static final short[] DFA69_eof = DFA.unpackEncodedString(DFA69_eofS); + static final char[] DFA69_min = DFA.unpackEncodedStringToUnsignedChars(DFA69_minS); + static final char[] DFA69_max = DFA.unpackEncodedStringToUnsignedChars(DFA69_maxS); + static final short[] DFA69_accept = DFA.unpackEncodedString(DFA69_acceptS); + static final short[] DFA69_special = DFA.unpackEncodedString(DFA69_specialS); + static final short[][] DFA69_transition; + + static { + int numStates = DFA69_transitionS.length; + DFA69_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA69_2 = input.LA(1); + + int index69_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_2); + if ( s>=0 ) return s; + break; + + case 2 : + int LA69_3 = input.LA(1); + + int index69_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_3); + if ( s>=0 ) return s; + break; + + case 3 : + int LA69_4 = input.LA(1); + + int index69_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_4); + if ( s>=0 ) return s; + break; + + case 4 : + int LA69_5 = input.LA(1); + + int index69_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_5); + if ( s>=0 ) return s; + break; + + case 5 : + int LA69_6 = input.LA(1); + + int index69_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_6); + if ( s>=0 ) return s; + break; + + case 6 : + int LA69_7 = input.LA(1); + + int index69_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_7); + if ( s>=0 ) return s; + break; + + case 7 : + int LA69_8 = input.LA(1); + + int index69_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_8); + if ( s>=0 ) return s; + break; + + case 8 : + int LA69_9 = input.LA(1); + + int index69_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_9); + if ( s>=0 ) return s; + break; + + case 9 : + int LA69_10 = input.LA(1); + + int index69_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_10); + if ( s>=0 ) return s; + break; + + case 10 : + int LA69_11 = input.LA(1); + + int index69_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_11); + if ( s>=0 ) return s; + break; + + case 11 : + int LA69_12 = input.LA(1); + + int index69_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_12); + if ( s>=0 ) return s; + break; + + case 12 : + int LA69_13 = input.LA(1); + + int index69_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_13); + if ( s>=0 ) return s; + break; + + case 13 : + int LA69_14 = input.LA(1); + + int index69_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_14); + if ( s>=0 ) return s; + break; + + case 14 : + int LA69_15 = input.LA(1); + + int index69_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_15); + if ( s>=0 ) return s; + break; + + case 15 : + int LA69_16 = input.LA(1); + + int index69_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_16); + if ( s>=0 ) return s; + break; + + case 16 : + int LA69_17 = input.LA(1); + + int index69_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_17); + if ( s>=0 ) return s; + break; + + case 17 : + int LA69_18 = input.LA(1); + + int index69_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_18); + if ( s>=0 ) return s; + break; + + case 18 : + int LA69_19 = input.LA(1); + + int index69_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_19); + if ( s>=0 ) return s; + break; + + case 19 : + int LA69_20 = input.LA(1); + + int index69_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_20); + if ( s>=0 ) return s; + break; + + case 20 : + int LA69_21 = input.LA(1); + + int index69_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_21); + if ( s>=0 ) return s; + break; + + case 21 : + int LA69_22 = input.LA(1); + + int index69_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_22); + if ( s>=0 ) return s; + break; + + case 22 : + int LA69_23 = input.LA(1); + + int index69_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_23); + if ( s>=0 ) return s; + break; + + case 23 : + int LA69_24 = input.LA(1); + + int index69_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_24); + if ( s>=0 ) return s; + break; + + case 24 : + int LA69_25 = input.LA(1); + + int index69_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_25); + if ( s>=0 ) return s; + break; + + case 25 : + int LA69_26 = input.LA(1); + + int index69_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_26); + if ( s>=0 ) return s; + break; + + case 26 : + int LA69_27 = input.LA(1); + + int index69_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_27); + if ( s>=0 ) return s; + break; + + case 27 : + int LA69_28 = input.LA(1); + + int index69_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_28); + if ( s>=0 ) return s; + break; + + case 28 : + int LA69_29 = input.LA(1); + + int index69_29 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_29); + if ( s>=0 ) return s; + break; + + case 29 : + int LA69_30 = input.LA(1); + + int index69_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_30); + if ( s>=0 ) return s; + break; + + case 30 : + int LA69_31 = input.LA(1); + + int index69_31 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_31); + if ( s>=0 ) return s; + break; + + case 31 : + int LA69_32 = input.LA(1); + + int index69_32 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_32); + if ( s>=0 ) return s; + break; + + case 32 : + int LA69_33 = input.LA(1); + + int index69_33 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_33); + if ( s>=0 ) return s; + break; + + case 33 : + int LA69_34 = input.LA(1); + + int index69_34 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_34); + if ( s>=0 ) return s; + break; + + case 34 : + int LA69_35 = input.LA(1); + + int index69_35 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_35); + if ( s>=0 ) return s; + break; + + case 35 : + int LA69_36 = input.LA(1); + + int index69_36 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_36); + if ( s>=0 ) return s; + break; + + case 36 : + int LA69_37 = input.LA(1); + + int index69_37 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_37); + if ( s>=0 ) return s; + break; + + case 37 : + int LA69_38 = input.LA(1); + + int index69_38 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_38); + if ( s>=0 ) return s; + break; + + case 38 : + int LA69_39 = input.LA(1); + + int index69_39 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_39); + if ( s>=0 ) return s; + break; + + case 39 : + int LA69_40 = input.LA(1); + + int index69_40 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_40); + if ( s>=0 ) return s; + break; + + case 40 : + int LA69_41 = input.LA(1); + + int index69_41 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_41); + if ( s>=0 ) return s; + break; + + case 41 : + int LA69_42 = input.LA(1); + + int index69_42 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_42); + if ( s>=0 ) return s; + break; + + case 42 : + int LA69_43 = input.LA(1); + + int index69_43 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_43); + if ( s>=0 ) return s; + break; + + case 43 : + int LA69_44 = input.LA(1); + + int index69_44 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_44); + if ( s>=0 ) return s; + break; + + case 44 : + int LA69_45 = input.LA(1); + + int index69_45 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_45); + if ( s>=0 ) return s; + break; + + case 45 : + int LA69_46 = input.LA(1); + + int index69_46 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_46); + if ( s>=0 ) return s; + break; + + case 46 : + int LA69_47 = input.LA(1); + + int index69_47 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_47); + if ( s>=0 ) return s; + break; + + case 47 : + int LA69_48 = input.LA(1); + + int index69_48 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_48); + if ( s>=0 ) return s; + break; + + case 48 : + int LA69_49 = input.LA(1); + + int index69_49 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_49); + if ( s>=0 ) return s; + break; + + case 49 : + int LA69_50 = input.LA(1); + + int index69_50 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_50); + if ( s>=0 ) return s; + break; + + case 50 : + int LA69_51 = input.LA(1); + + int index69_51 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_51); + if ( s>=0 ) return s; + break; + + case 51 : + int LA69_52 = input.LA(1); + + int index69_52 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_52); + if ( s>=0 ) return s; + break; + + case 52 : + int LA69_53 = input.LA(1); + + int index69_53 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_53); + if ( s>=0 ) return s; + break; + + case 53 : + int LA69_54 = input.LA(1); + + int index69_54 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_54); + if ( s>=0 ) return s; + break; + + case 54 : + int LA69_55 = input.LA(1); + + int index69_55 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_55); + if ( s>=0 ) return s; + break; + + case 55 : + int LA69_56 = input.LA(1); + + int index69_56 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_56); + if ( s>=0 ) return s; + break; + + case 56 : + int LA69_57 = input.LA(1); + + int index69_57 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_57); + if ( s>=0 ) return s; + break; + + case 57 : + int LA69_58 = input.LA(1); + + int index69_58 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_58); + if ( s>=0 ) return s; + break; + + case 58 : + int LA69_59 = input.LA(1); + + int index69_59 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_59); + if ( s>=0 ) return s; + break; + + case 59 : + int LA69_60 = input.LA(1); + + int index69_60 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_60); + if ( s>=0 ) return s; + break; + + case 60 : + int LA69_61 = input.LA(1); + + int index69_61 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_61); + if ( s>=0 ) return s; + break; + + case 61 : + int LA69_62 = input.LA(1); + + int index69_62 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_62); + if ( s>=0 ) return s; + break; + + case 62 : + int LA69_63 = input.LA(1); + + int index69_63 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_63); + if ( s>=0 ) return s; + break; + + case 63 : + int LA69_64 = input.LA(1); + + int index69_64 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_64); + if ( s>=0 ) return s; + break; + + case 64 : + int LA69_65 = input.LA(1); + + int index69_65 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_65); + if ( s>=0 ) return s; + break; + + case 65 : + int LA69_66 = input.LA(1); + + int index69_66 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_66); + if ( s>=0 ) return s; + break; + + case 66 : + int LA69_67 = input.LA(1); + + int index69_67 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_67); + if ( s>=0 ) return s; + break; + + case 67 : + int LA69_68 = input.LA(1); + + int index69_68 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_68); + if ( s>=0 ) return s; + break; + + case 68 : + int LA69_69 = input.LA(1); + + int index69_69 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_69); + if ( s>=0 ) return s; + break; + + case 69 : + int LA69_70 = input.LA(1); + + int index69_70 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_70); + if ( s>=0 ) return s; + break; + + case 70 : + int LA69_71 = input.LA(1); + + int index69_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_71); + if ( s>=0 ) return s; + break; + + case 71 : + int LA69_72 = input.LA(1); + + int index69_72 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_72); + if ( s>=0 ) return s; + break; + + case 72 : + int LA69_73 = input.LA(1); + + int index69_73 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_73); + if ( s>=0 ) return s; + break; + + case 73 : + int LA69_74 = input.LA(1); + + int index69_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_74); + if ( s>=0 ) return s; + break; + + case 74 : + int LA69_75 = input.LA(1); + + int index69_75 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_75); + if ( s>=0 ) return s; + break; + + case 75 : + int LA69_76 = input.LA(1); + + int index69_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_76); + if ( s>=0 ) return s; + break; + + case 76 : + int LA69_77 = input.LA(1); + + int index69_77 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_77); + if ( s>=0 ) return s; + break; + + case 77 : + int LA69_78 = input.LA(1); + + int index69_78 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_78); + if ( s>=0 ) return s; + break; + + case 78 : + int LA69_79 = input.LA(1); + + int index69_79 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_79); + if ( s>=0 ) return s; + break; + + case 79 : + int LA69_80 = input.LA(1); + + int index69_80 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_80); + if ( s>=0 ) return s; + break; + + case 80 : + int LA69_81 = input.LA(1); + + int index69_81 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_81); + if ( s>=0 ) return s; + break; + + case 81 : + int LA69_82 = input.LA(1); + + int index69_82 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_82); + if ( s>=0 ) return s; + break; + + case 82 : + int LA69_83 = input.LA(1); + + int index69_83 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_83); + if ( s>=0 ) return s; + break; + + case 83 : + int LA69_84 = input.LA(1); + + int index69_84 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_84); + if ( s>=0 ) return s; + break; + + case 84 : + int LA69_85 = input.LA(1); + + int index69_85 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_85); + if ( s>=0 ) return s; + break; + + case 85 : + int LA69_86 = input.LA(1); + + int index69_86 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_86); + if ( s>=0 ) return s; + break; + + case 86 : + int LA69_87 = input.LA(1); + + int index69_87 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_87); + if ( s>=0 ) return s; + break; + + case 87 : + int LA69_88 = input.LA(1); + + int index69_88 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_88); + if ( s>=0 ) return s; + break; + + case 88 : + int LA69_89 = input.LA(1); + + int index69_89 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_89); + if ( s>=0 ) return s; + break; + + case 89 : + int LA69_90 = input.LA(1); + + int index69_90 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_90); + if ( s>=0 ) return s; + break; + + case 90 : + int LA69_91 = input.LA(1); + + int index69_91 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_91); + if ( s>=0 ) return s; + break; + + case 91 : + int LA69_92 = input.LA(1); + + int index69_92 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_92); + if ( s>=0 ) return s; + break; + + case 92 : + int LA69_93 = input.LA(1); + + int index69_93 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_93); + if ( s>=0 ) return s; + break; + + case 93 : + int LA69_94 = input.LA(1); + + int index69_94 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_94); + if ( s>=0 ) return s; + break; + + case 94 : + int LA69_95 = input.LA(1); + + int index69_95 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_95); + if ( s>=0 ) return s; + break; + + case 95 : + int LA69_96 = input.LA(1); + + int index69_96 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_96); + if ( s>=0 ) return s; + break; + + case 96 : + int LA69_97 = input.LA(1); + + int index69_97 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_97); + if ( s>=0 ) return s; + break; + + case 97 : + int LA69_98 = input.LA(1); + + int index69_98 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_98); + if ( s>=0 ) return s; + break; + + case 98 : + int LA69_99 = input.LA(1); + + int index69_99 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_99); + if ( s>=0 ) return s; + break; + + case 99 : + int LA69_100 = input.LA(1); + + int index69_100 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_100); + if ( s>=0 ) return s; + break; + + case 100 : + int LA69_101 = input.LA(1); + + int index69_101 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_101); + if ( s>=0 ) return s; + break; + + case 101 : + int LA69_102 = input.LA(1); + + int index69_102 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_102); + if ( s>=0 ) return s; + break; + + case 102 : + int LA69_103 = input.LA(1); + + int index69_103 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_103); + if ( s>=0 ) return s; + break; + + case 103 : + int LA69_104 = input.LA(1); + + int index69_104 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_104); + if ( s>=0 ) return s; + break; + + case 104 : + int LA69_105 = input.LA(1); + + int index69_105 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_105); + if ( s>=0 ) return s; + break; + + case 105 : + int LA69_106 = input.LA(1); + + int index69_106 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_106); + if ( s>=0 ) return s; + break; + + case 106 : + int LA69_107 = input.LA(1); + + int index69_107 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_107); + if ( s>=0 ) return s; + break; + + case 107 : + int LA69_108 = input.LA(1); + + int index69_108 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_108); + if ( s>=0 ) return s; + break; + + case 108 : + int LA69_109 = input.LA(1); + + int index69_109 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_109); + if ( s>=0 ) return s; + break; + + case 109 : + int LA69_110 = input.LA(1); + + int index69_110 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_110); + if ( s>=0 ) return s; + break; + + case 110 : + int LA69_111 = input.LA(1); + + int index69_111 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_111); + if ( s>=0 ) return s; + break; + + case 111 : + int LA69_112 = input.LA(1); + + int index69_112 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_112); + if ( s>=0 ) return s; + break; + + case 112 : + int LA69_113 = input.LA(1); + + int index69_113 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_113); + if ( s>=0 ) return s; + break; + + case 113 : + int LA69_114 = input.LA(1); + + int index69_114 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_114); + if ( s>=0 ) return s; + break; + + case 114 : + int LA69_115 = input.LA(1); + + int index69_115 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_115); + if ( s>=0 ) return s; + break; + + case 115 : + int LA69_116 = input.LA(1); + + int index69_116 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_Delphi()) ) {s = 117;} + else if ( (true) ) {s = 118;} + + input.seek(index69_116); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 69, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA70_eotS = + "\152\uffff"; + static final String DFA70_eofS = + "\1\2\151\uffff"; + static final String DFA70_minS = + "\1\4\1\0\150\uffff"; + static final String DFA70_maxS = + "\1\u00d2\1\0\150\uffff"; + static final String DFA70_acceptS = + "\2\uffff\1\2\146\uffff\1\1"; + static final String DFA70_specialS = + "\1\uffff\1\0\150\uffff}>"; + static final String[] DFA70_transitionS = { + "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\7\2\1\uffff\12\2\1\uffff"+ + "\7\2\3\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\2\2\3\uffff\7\2\1\uffff"+ + "\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff\1\2\2\uffff"+ + "\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff\15\2\1\uffff"+ + "\1\2\15\uffff\3\2\3\uffff\1\2\6\uffff\2\2\2\uffff\4\2\2\uffff\2\2\1\uffff"+ + "\16\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA70_eot = DFA.unpackEncodedString(DFA70_eotS); + static final short[] DFA70_eof = DFA.unpackEncodedString(DFA70_eofS); + static final char[] DFA70_min = DFA.unpackEncodedStringToUnsignedChars(DFA70_minS); + static final char[] DFA70_max = DFA.unpackEncodedStringToUnsignedChars(DFA70_maxS); + static final short[] DFA70_accept = DFA.unpackEncodedString(DFA70_acceptS); + static final short[] DFA70_special = DFA.unpackEncodedString(DFA70_specialS); + static final short[][] DFA70_transition; + + static { + int numStates = DFA70_transitionS.length; + DFA70_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 70, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA72_eotS = + "\153\uffff"; + static final String DFA72_eofS = + "\1\5\152\uffff"; + static final String DFA72_minS = + "\1\4\4\0\12\uffff\2\0\13\uffff\1\0\25\uffff\1\0\2\uffff\1\0\7\uffff\1"+ + "\0\13\uffff\1\0\1\uffff\7\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff"+ + "\1\0\1\uffff\1\0\2\uffff\1\0\7\uffff"; + static final String DFA72_maxS = + "\1\u00d2\4\0\12\uffff\2\0\13\uffff\1\0\25\uffff\1\0\2\uffff\1\0\7\uffff"+ + "\1\0\13\uffff\1\0\1\uffff\7\0\1\uffff\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff"+ + "\1\0\1\uffff\1\0\2\uffff\1\0\7\uffff"; + static final String DFA72_acceptS = + "\5\uffff\1\2\143\uffff\1\1\1\3"; + static final String DFA72_specialS = + "\1\uffff\1\0\1\1\1\2\1\3\12\uffff\1\4\1\5\13\uffff\1\6\25\uffff\1\7\2"+ + "\uffff\1\10\7\uffff\1\11\13\uffff\1\12\1\uffff\1\13\1\14\1\15\1\16\1\17"+ + "\1\20\1\21\1\uffff\1\22\5\uffff\1\23\2\uffff\1\24\1\uffff\1\25\1\uffff"+ + "\1\26\2\uffff\1\27\7\uffff}>"; + static final String[] DFA72_transitionS = { + "\1\5\1\uffff\1\143\1\5\1\143\1\uffff\3\5\1\uffff\1\5\1\143\2\5\1\uffff"+ + "\1\5\1\143\5\5\1\uffff\2\5\2\143\1\5\1\120\3\5\1\116\1\uffff\5\5\2\143"+ + "\3\uffff\4\5\1\143\1\5\1\131\2\5\1\17\1\5\1\uffff\1\143\2\5\2\uffff\2"+ + "\5\1\uffff\1\5\1\143\3\uffff\1\5\1\121\1\20\1\140\3\5\1\uffff\3\5\2\uffff"+ + "\2\5\1\123\1\4\1\5\1\143\2\5\1\75\5\5\1\143\2\5\1\65\1\5\1\143\1\5\3"+ + "\uffff\3\5\1\143\3\5\1\uffff\5\5\1\uffff\1\5\2\uffff\1\111\1\114\1\uffff"+ + "\1\143\1\34\1\uffff\1\143\2\uffff\4\5\1\uffff\1\5\1\uffff\4\5\1\143\1"+ + "\5\1\117\1\62\1\143\3\5\1\3\1\uffff\1\5\15\uffff\1\5\1\1\1\5\3\uffff"+ + "\1\5\6\uffff\1\136\1\5\2\uffff\1\5\1\134\2\143\2\uffff\1\113\1\115\1"+ + "\uffff\1\5\1\2\14\5", + "\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", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA72_eot = DFA.unpackEncodedString(DFA72_eotS); + static final short[] DFA72_eof = DFA.unpackEncodedString(DFA72_eofS); + static final char[] DFA72_min = DFA.unpackEncodedStringToUnsignedChars(DFA72_minS); + static final char[] DFA72_max = DFA.unpackEncodedStringToUnsignedChars(DFA72_maxS); + static final short[] DFA72_accept = DFA.unpackEncodedString(DFA72_acceptS); + static final short[] DFA72_special = DFA.unpackEncodedString(DFA72_specialS); + static final short[][] DFA72_transition; + + static { + int numStates = DFA72_transitionS.length; + DFA72_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA72_2 = input.LA(1); + + int index72_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_2); + if ( s>=0 ) return s; + break; + + case 2 : + int LA72_3 = input.LA(1); + + int index72_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_3); + if ( s>=0 ) return s; + break; + + case 3 : + int LA72_4 = input.LA(1); + + int index72_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred97_Delphi()) ) {s = 5;} + else if ( (true) ) {s = 106;} + + input.seek(index72_4); + if ( s>=0 ) return s; + break; + + case 4 : + int LA72_15 = input.LA(1); + + int index72_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_15); + if ( s>=0 ) return s; + break; + + case 5 : + int LA72_16 = input.LA(1); + + int index72_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_16); + if ( s>=0 ) return s; + break; + + case 6 : + int LA72_28 = input.LA(1); + + int index72_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_28); + if ( s>=0 ) return s; + break; + + case 7 : + int LA72_50 = input.LA(1); + + int index72_50 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_50); + if ( s>=0 ) return s; + break; + + case 8 : + int LA72_53 = input.LA(1); + + int index72_53 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_53); + if ( s>=0 ) return s; + break; + + case 9 : + int LA72_61 = input.LA(1); + + int index72_61 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_61); + if ( s>=0 ) return s; + break; + + case 10 : + int LA72_73 = input.LA(1); + + int index72_73 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_73); + if ( s>=0 ) return s; + break; + + case 11 : + int LA72_75 = input.LA(1); + + int index72_75 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_75); + if ( s>=0 ) return s; + break; + + case 12 : + int LA72_76 = input.LA(1); + + int index72_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_76); + if ( s>=0 ) return s; + break; + + case 13 : + int LA72_77 = input.LA(1); + + int index72_77 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_77); + if ( s>=0 ) return s; + break; + + case 14 : + int LA72_78 = input.LA(1); + + int index72_78 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_78); + if ( s>=0 ) return s; + break; + + case 15 : + int LA72_79 = input.LA(1); + + int index72_79 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_79); + if ( s>=0 ) return s; + break; + + case 16 : + int LA72_80 = input.LA(1); + + int index72_80 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_80); + if ( s>=0 ) return s; + break; + + case 17 : + int LA72_81 = input.LA(1); + + int index72_81 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_81); + if ( s>=0 ) return s; + break; + + case 18 : + int LA72_83 = input.LA(1); + + int index72_83 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_83); + if ( s>=0 ) return s; + break; + + case 19 : + int LA72_89 = input.LA(1); + + int index72_89 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_89); + if ( s>=0 ) return s; + break; + + case 20 : + int LA72_92 = input.LA(1); + + int index72_92 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_92); + if ( s>=0 ) return s; + break; + + case 21 : + int LA72_94 = input.LA(1); + + int index72_94 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_94); + if ( s>=0 ) return s; + break; + + case 22 : + int LA72_96 = input.LA(1); + + int index72_96 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_96); + if ( s>=0 ) return s; + break; + + case 23 : + int LA72_99 = input.LA(1); + + int index72_99 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_Delphi()) ) {s = 105;} + else if ( (synpred97_Delphi()) ) {s = 5;} + + input.seek(index72_99); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 72, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA89_eotS = + "\152\uffff"; + static final String DFA89_eofS = + "\1\2\151\uffff"; + static final String DFA89_minS = + "\1\4\1\0\150\uffff"; + static final String DFA89_maxS = + "\1\u00d2\1\0\150\uffff"; + static final String DFA89_acceptS = + "\2\uffff\1\2\146\uffff\1\1"; + static final String DFA89_specialS = + "\1\uffff\1\0\150\uffff}>"; + static final String[] DFA89_transitionS = { + "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\7\2\1\uffff\12\2\1\uffff"+ + "\7\2\3\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\2\2\3\uffff\7\2\1\uffff"+ + "\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff\1\2\2\uffff"+ + "\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff\15\2\1\uffff"+ + "\1\2\15\uffff\3\2\3\uffff\1\2\6\uffff\2\2\2\uffff\4\2\2\uffff\2\2\1\uffff"+ + "\16\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA89_eot = DFA.unpackEncodedString(DFA89_eotS); + static final short[] DFA89_eof = DFA.unpackEncodedString(DFA89_eofS); + static final char[] DFA89_min = DFA.unpackEncodedStringToUnsignedChars(DFA89_minS); + static final char[] DFA89_max = DFA.unpackEncodedStringToUnsignedChars(DFA89_maxS); + static final short[] DFA89_accept = DFA.unpackEncodedString(DFA89_acceptS); + static final short[] DFA89_special = DFA.unpackEncodedString(DFA89_specialS); + static final short[][] DFA89_transition; + + static { + int numStates = DFA89_transitionS.length; + DFA89_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 89, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA101_eotS = + "\152\uffff"; + static final String DFA101_eofS = + "\1\2\151\uffff"; + static final String DFA101_minS = + "\1\4\1\0\150\uffff"; + static final String DFA101_maxS = + "\1\u00d2\1\0\150\uffff"; + static final String DFA101_acceptS = + "\2\uffff\1\2\146\uffff\1\1"; + static final String DFA101_specialS = + "\1\uffff\1\0\150\uffff}>"; + static final String[] DFA101_transitionS = { + "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\7\2\1\uffff\12\2\1\uffff"+ + "\7\2\3\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\2\2\3\uffff\7\2\1\uffff"+ + "\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff\1\2\2\uffff"+ + "\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff\15\2\1\uffff"+ + "\1\2\15\uffff\3\2\3\uffff\1\2\6\uffff\2\2\2\uffff\4\2\2\uffff\2\2\1\uffff"+ + "\16\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA101_eot = DFA.unpackEncodedString(DFA101_eotS); + static final short[] DFA101_eof = DFA.unpackEncodedString(DFA101_eofS); + static final char[] DFA101_min = DFA.unpackEncodedStringToUnsignedChars(DFA101_minS); + static final char[] DFA101_max = DFA.unpackEncodedStringToUnsignedChars(DFA101_maxS); + static final short[] DFA101_accept = DFA.unpackEncodedString(DFA101_acceptS); + static final short[] DFA101_special = DFA.unpackEncodedString(DFA101_specialS); + static final short[][] DFA101_transition; + + static { + int numStates = DFA101_transitionS.length; + DFA101_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 101, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA109_eotS = + "\32\uffff"; + static final String DFA109_eofS = + "\32\uffff"; + static final String DFA109_minS = + "\1\6\1\30\1\uffff\1\6\1\30\1\4\1\30\1\6\3\0\2\30\1\0\1\30\1\4\1\30\1\uffff"+ + "\3\0\2\30\3\0"; + static final String DFA109_maxS = + "\1\u00c6\1\167\1\uffff\1\u00c6\1\31\1\u00c5\1\31\1\u00c6\3\0\2\31\1\0"+ + "\1\31\1\u00c5\1\31\1\uffff\3\0\2\31\3\0"; + static final String DFA109_acceptS = + "\2\uffff\1\2\16\uffff\1\1\10\uffff"; + static final String DFA109_specialS = + "\10\uffff\1\1\1\2\1\3\2\uffff\1\4\4\uffff\1\0\1\5\1\6\2\uffff\1\7\1\10"+ + "\1\11}>"; + static final String[] DFA109_transitionS = { + "\1\6\1\uffff\1\6\6\uffff\1\6\1\uffff\1\2\2\uffff\1\6\2\uffff\1\2\3\uffff"+ + "\2\2\2\6\1\uffff\1\6\2\uffff\1\2\1\6\6\uffff\2\6\4\uffff\1\2\2\uffff"+ + "\1\6\1\uffff\1\6\2\uffff\1\6\2\uffff\1\6\4\uffff\1\2\3\uffff\1\6\4\uffff"+ + "\3\6\6\uffff\1\2\4\uffff\1\6\2\uffff\1\6\2\uffff\1\6\5\uffff\1\6\2\uffff"+ + "\1\3\1\uffff\1\6\7\uffff\1\6\1\uffff\2\2\1\uffff\4\2\5\uffff\2\6\1\uffff"+ + "\2\6\1\uffff\1\6\3\uffff\1\2\11\uffff\1\6\1\uffff\1\6\1\1\1\6\1\uffff"+ + "\1\2\1\uffff\1\6\1\uffff\1\2\16\uffff\1\4\13\uffff\1\6\3\uffff\1\2\3"+ + "\6\2\uffff\2\6\2\uffff\1\5", + "\1\10\1\7\131\uffff\1\2\3\uffff\1\2", + "", + "\1\2\1\uffff\1\2\6\uffff\1\2\4\uffff\1\2\3\uffff\1\11\1\7\3\uffff\2"+ + "\2\1\uffff\1\2\3\uffff\1\2\6\uffff\2\2\7\uffff\1\2\1\uffff\1\2\2\uffff"+ + "\1\2\2\uffff\1\2\10\uffff\1\2\4\uffff\3\2\13\uffff\1\2\2\uffff\1\2\2"+ + "\uffff\1\2\5\uffff\1\2\2\uffff\1\2\1\uffff\1\2\7\uffff\1\2\15\uffff\2"+ + "\2\1\uffff\2\2\1\uffff\1\2\15\uffff\1\2\1\uffff\3\2\3\uffff\1\2\20\uffff"+ + "\1\2\13\uffff\1\2\4\uffff\3\2\2\uffff\2\2\2\uffff\1\2", + "\1\12\1\7", + "\12\14\1\uffff\1\14\1\uffff\1\14\1\uffff\5\14\3\uffff\4\14\1\uffff\1"+ + "\14\1\uffff\6\14\2\uffff\4\14\2\uffff\2\14\1\uffff\17\14\1\uffff\1\14"+ + "\1\uffff\1\14\2\uffff\13\14\4\uffff\2\14\2\uffff\1\14\1\uffff\6\14\1"+ + "\uffff\14\14\1\uffff\1\14\1\uffff\7\14\1\uffff\1\14\3\uffff\13\14\1\uffff"+ + "\2\14\1\uffff\3\14\2\uffff\13\14\16\uffff\1\13\12\uffff\4\14\1\uffff"+ + "\10\14\1\uffff\1\14", + "\1\15\1\7", + "\1\20\1\uffff\1\20\6\uffff\1\20\4\uffff\1\20\10\uffff\2\20\1\uffff\1"+ + "\20\3\uffff\1\20\6\uffff\2\20\7\uffff\1\20\1\uffff\1\20\2\uffff\1\20"+ + "\2\uffff\1\20\10\uffff\1\20\4\uffff\3\20\13\uffff\1\20\2\uffff\1\20\2"+ + "\uffff\1\20\5\uffff\1\20\2\uffff\1\20\1\uffff\1\20\7\uffff\1\20\15\uffff"+ + "\2\20\1\uffff\2\20\1\uffff\1\20\15\uffff\1\20\1\uffff\3\20\3\uffff\1"+ + "\20\20\uffff\1\16\13\uffff\1\20\4\uffff\3\20\2\uffff\2\20\2\uffff\1\17", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\22\1\7", + "\1\23\1\7", + "\1\uffff", + "\1\24\1\7", + "\12\26\1\uffff\1\26\1\uffff\1\26\1\uffff\5\26\3\uffff\4\26\1\uffff\1"+ + "\26\1\uffff\6\26\2\uffff\4\26\2\uffff\2\26\1\uffff\17\26\1\uffff\1\26"+ + "\1\uffff\1\26\2\uffff\13\26\4\uffff\2\26\2\uffff\1\26\1\uffff\6\26\1"+ + "\uffff\14\26\1\uffff\1\26\1\uffff\7\26\1\uffff\1\26\3\uffff\13\26\1\uffff"+ + "\2\26\1\uffff\3\26\2\uffff\13\26\16\uffff\1\25\12\uffff\4\26\1\uffff"+ + "\10\26\1\uffff\1\26", + "\1\27\1\7", + "", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\30\1\7", + "\1\31\1\7", + "\1\uffff", + "\1\uffff", + "\1\uffff" + }; + + static final short[] DFA109_eot = DFA.unpackEncodedString(DFA109_eotS); + static final short[] DFA109_eof = DFA.unpackEncodedString(DFA109_eofS); + static final char[] DFA109_min = DFA.unpackEncodedStringToUnsignedChars(DFA109_minS); + static final char[] DFA109_max = DFA.unpackEncodedStringToUnsignedChars(DFA109_maxS); + static final short[] DFA109_accept = DFA.unpackEncodedString(DFA109_acceptS); + static final short[] DFA109_special = DFA.unpackEncodedString(DFA109_specialS); + static final short[][] DFA109_transition; + + static { + int numStates = DFA109_transitionS.length; + DFA109_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA109_8 = input.LA(1); + + int index109_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred153_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index109_8); + if ( s>=0 ) return s; + break; + + case 2 : + int LA109_9 = input.LA(1); + + int index109_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred153_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index109_9); + if ( s>=0 ) return s; + break; + + case 3 : + int LA109_10 = input.LA(1); + + int index109_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred153_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index109_10); + if ( s>=0 ) return s; + break; + + case 4 : + int LA109_13 = input.LA(1); + + int index109_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred153_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index109_13); + if ( s>=0 ) return s; + break; + + case 5 : + int LA109_19 = input.LA(1); + + int index109_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred153_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index109_19); + if ( s>=0 ) return s; + break; + + case 6 : + int LA109_20 = input.LA(1); + + int index109_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred153_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index109_20); + if ( s>=0 ) return s; + break; + + case 7 : + int LA109_23 = input.LA(1); + + int index109_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred153_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index109_23); + if ( s>=0 ) return s; + break; + + case 8 : + int LA109_24 = input.LA(1); + + int index109_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred153_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index109_24); + if ( s>=0 ) return s; + break; + + case 9 : + int LA109_25 = input.LA(1); + + int index109_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred153_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index109_25); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 109, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA111_eotS = + "\32\uffff"; + static final String DFA111_eofS = + "\32\uffff"; + static final String DFA111_minS = + "\1\6\1\30\1\uffff\1\6\1\30\1\4\1\30\1\6\3\0\2\30\1\0\1\30\1\4\1\30\1\uffff"+ + "\3\0\2\30\3\0"; + static final String DFA111_maxS = + "\1\u00c6\1\167\1\uffff\1\u00c6\1\31\1\u00c5\1\31\1\u00c6\3\0\2\31\1\0"+ + "\1\31\1\u00c5\1\31\1\uffff\3\0\2\31\3\0"; + static final String DFA111_acceptS = + "\2\uffff\1\2\16\uffff\1\1\10\uffff"; + static final String DFA111_specialS = + "\10\uffff\1\1\1\0\1\2\2\uffff\1\3\4\uffff\1\4\1\5\1\6\2\uffff\1\11\1\10"+ + "\1\7}>"; + static final String[] DFA111_transitionS = { + "\1\6\1\uffff\1\6\6\uffff\1\6\1\uffff\1\2\2\uffff\1\6\1\2\1\uffff\1\2"+ + "\3\uffff\2\2\2\6\1\uffff\1\6\2\uffff\1\2\1\6\6\uffff\2\6\7\uffff\1\6"+ + "\1\uffff\1\6\2\uffff\1\6\2\uffff\1\6\4\uffff\1\2\3\uffff\1\6\4\uffff"+ + "\3\6\6\uffff\1\2\4\uffff\1\6\2\uffff\1\6\2\uffff\1\6\5\uffff\1\6\2\uffff"+ + "\1\3\1\uffff\1\6\7\uffff\1\6\1\uffff\2\2\1\uffff\4\2\5\uffff\2\6\1\uffff"+ + "\2\6\1\uffff\1\6\3\uffff\1\2\11\uffff\1\6\1\uffff\1\6\1\1\1\6\1\uffff"+ + "\1\2\1\uffff\1\6\1\uffff\1\2\16\uffff\1\4\13\uffff\1\6\3\uffff\1\2\3"+ + "\6\2\uffff\2\6\2\uffff\1\5", + "\1\10\1\7\131\uffff\1\2\3\uffff\1\2", + "", + "\1\2\1\uffff\1\2\6\uffff\1\2\4\uffff\1\2\3\uffff\1\11\1\7\3\uffff\2"+ + "\2\1\uffff\1\2\3\uffff\1\2\6\uffff\2\2\7\uffff\1\2\1\uffff\1\2\2\uffff"+ + "\1\2\2\uffff\1\2\10\uffff\1\2\4\uffff\3\2\13\uffff\1\2\2\uffff\1\2\2"+ + "\uffff\1\2\5\uffff\1\2\2\uffff\1\2\1\uffff\1\2\7\uffff\1\2\15\uffff\2"+ + "\2\1\uffff\2\2\1\uffff\1\2\15\uffff\1\2\1\uffff\3\2\3\uffff\1\2\20\uffff"+ + "\1\2\13\uffff\1\2\4\uffff\3\2\2\uffff\2\2\2\uffff\1\2", + "\1\12\1\7", + "\12\14\1\uffff\1\14\1\uffff\1\14\1\uffff\5\14\3\uffff\4\14\1\uffff\1"+ + "\14\1\uffff\6\14\2\uffff\4\14\2\uffff\2\14\1\uffff\17\14\1\uffff\1\14"+ + "\1\uffff\1\14\2\uffff\13\14\4\uffff\2\14\2\uffff\1\14\1\uffff\6\14\1"+ + "\uffff\14\14\1\uffff\1\14\1\uffff\7\14\1\uffff\1\14\3\uffff\13\14\1\uffff"+ + "\2\14\1\uffff\3\14\2\uffff\13\14\16\uffff\1\13\12\uffff\4\14\1\uffff"+ + "\10\14\1\uffff\1\14", + "\1\15\1\7", + "\1\20\1\uffff\1\20\6\uffff\1\20\4\uffff\1\20\10\uffff\2\20\1\uffff\1"+ + "\20\3\uffff\1\20\6\uffff\2\20\7\uffff\1\20\1\uffff\1\20\2\uffff\1\20"+ + "\2\uffff\1\20\10\uffff\1\20\4\uffff\3\20\13\uffff\1\20\2\uffff\1\20\2"+ + "\uffff\1\20\5\uffff\1\20\2\uffff\1\20\1\uffff\1\20\7\uffff\1\20\15\uffff"+ + "\2\20\1\uffff\2\20\1\uffff\1\20\15\uffff\1\20\1\uffff\3\20\3\uffff\1"+ + "\20\20\uffff\1\16\13\uffff\1\20\4\uffff\3\20\2\uffff\2\20\2\uffff\1\17", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\22\1\7", + "\1\23\1\7", + "\1\uffff", + "\1\24\1\7", + "\12\26\1\uffff\1\26\1\uffff\1\26\1\uffff\5\26\3\uffff\4\26\1\uffff\1"+ + "\26\1\uffff\6\26\2\uffff\4\26\2\uffff\2\26\1\uffff\17\26\1\uffff\1\26"+ + "\1\uffff\1\26\2\uffff\13\26\4\uffff\2\26\2\uffff\1\26\1\uffff\6\26\1"+ + "\uffff\14\26\1\uffff\1\26\1\uffff\7\26\1\uffff\1\26\3\uffff\13\26\1\uffff"+ + "\2\26\1\uffff\3\26\2\uffff\13\26\16\uffff\1\25\12\uffff\4\26\1\uffff"+ + "\10\26\1\uffff\1\26", + "\1\27\1\7", + "", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\30\1\7", + "\1\31\1\7", + "\1\uffff", + "\1\uffff", + "\1\uffff" + }; + + static final short[] DFA111_eot = DFA.unpackEncodedString(DFA111_eotS); + static final short[] DFA111_eof = DFA.unpackEncodedString(DFA111_eofS); + static final char[] DFA111_min = DFA.unpackEncodedStringToUnsignedChars(DFA111_minS); + static final char[] DFA111_max = DFA.unpackEncodedStringToUnsignedChars(DFA111_maxS); + static final short[] DFA111_accept = DFA.unpackEncodedString(DFA111_acceptS); + static final short[] DFA111_special = DFA.unpackEncodedString(DFA111_specialS); + static final short[][] DFA111_transition; + + static { + int numStates = DFA111_transitionS.length; + DFA111_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA111_8 = input.LA(1); + + int index111_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred155_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index111_8); + if ( s>=0 ) return s; + break; + + case 2 : + int LA111_10 = input.LA(1); + + int index111_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred155_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index111_10); + if ( s>=0 ) return s; + break; + + case 3 : + int LA111_13 = input.LA(1); + + int index111_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred155_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index111_13); + if ( s>=0 ) return s; + break; + + case 4 : + int LA111_18 = input.LA(1); + + int index111_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred155_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index111_18); + if ( s>=0 ) return s; + break; + + case 5 : + int LA111_19 = input.LA(1); + + int index111_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred155_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index111_19); + if ( s>=0 ) return s; + break; + + case 6 : + int LA111_20 = input.LA(1); + + int index111_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred155_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index111_20); + if ( s>=0 ) return s; + break; + + case 7 : + int LA111_25 = input.LA(1); + + int index111_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred155_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index111_25); + if ( s>=0 ) return s; + break; + + case 8 : + int LA111_24 = input.LA(1); + + int index111_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred155_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index111_24); + if ( s>=0 ) return s; + break; + + case 9 : + int LA111_23 = input.LA(1); + + int index111_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred155_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 2;} + + input.seek(index111_23); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 111, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA175_eotS = + "\161\uffff"; + static final String DFA175_eofS = + "\1\1\160\uffff"; + static final String DFA175_minS = + "\1\4\73\uffff\1\0\4\uffff\21\0\1\uffff\1\0\21\uffff\1\0\4\uffff\2\0\2"+ + "\uffff\1\0\2\uffff"; + static final String DFA175_maxS = + "\1\u00d2\73\uffff\1\0\4\uffff\21\0\1\uffff\1\0\21\uffff\1\0\4\uffff\2"+ + "\0\2\uffff\1\0\2\uffff"; + static final String DFA175_acceptS = + "\1\uffff\1\2\147\uffff\1\1\7\uffff"; + static final String DFA175_specialS = + "\74\uffff\1\0\4\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\1\15\1\16\1\17\1\20\1\21\1\uffff\1\22\21\uffff\1\23\4\uffff\1\24"+ + "\1\25\2\uffff\1\26\2\uffff}>"; + static final String[] DFA175_transitionS = { + "\1\1\1\151\3\1\1\uffff\2\1\1\104\1\uffff\4\1\1\uffff\3\1\1\105\3\1\1"+ + "\uffff\7\1\1\116\1\1\1\74\1\uffff\7\1\1\151\2\uffff\5\1\1\117\1\107\1"+ + "\1\1\123\1\1\1\113\1\uffff\1\156\2\1\2\uffff\2\1\1\uffff\2\1\3\uffff"+ + "\6\1\1\103\1\uffff\3\1\2\uffff\1\1\1\121\1\112\2\1\1\145\3\1\1\115\12"+ + "\1\1\102\1\151\2\uffff\1\106\1\120\5\1\1\uffff\5\1\1\uffff\1\1\2\uffff"+ + "\2\1\1\uffff\1\1\1\101\1\151\1\1\2\uffff\3\1\1\110\1\uffff\1\1\1\uffff"+ + "\4\1\1\152\1\111\7\1\1\uffff\1\1\15\uffff\3\1\3\uffff\1\1\6\uffff\2\1"+ + "\2\uffff\1\1\1\114\1\1\1\153\2\uffff\2\1\1\uffff\16\1", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\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[] DFA175_eot = DFA.unpackEncodedString(DFA175_eotS); + static final short[] DFA175_eof = DFA.unpackEncodedString(DFA175_eofS); + static final char[] DFA175_min = DFA.unpackEncodedStringToUnsignedChars(DFA175_minS); + static final char[] DFA175_max = DFA.unpackEncodedStringToUnsignedChars(DFA175_maxS); + static final short[] DFA175_accept = DFA.unpackEncodedString(DFA175_acceptS); + static final short[] DFA175_special = DFA.unpackEncodedString(DFA175_specialS); + static final short[][] DFA175_transition; + + static { + int numStates = DFA175_transitionS.length; + DFA175_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA175_65 = input.LA(1); + + int index175_65 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_65); + if ( s>=0 ) return s; + break; + + case 2 : + int LA175_66 = input.LA(1); + + int index175_66 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_66); + if ( s>=0 ) return s; + break; + + case 3 : + int LA175_67 = input.LA(1); + + int index175_67 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_67); + if ( s>=0 ) return s; + break; + + case 4 : + int LA175_68 = input.LA(1); + + int index175_68 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_68); + if ( s>=0 ) return s; + break; + + case 5 : + int LA175_69 = input.LA(1); + + int index175_69 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_69); + if ( s>=0 ) return s; + break; + + case 6 : + int LA175_70 = input.LA(1); + + int index175_70 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_70); + if ( s>=0 ) return s; + break; + + case 7 : + int LA175_71 = input.LA(1); + + int index175_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_71); + if ( s>=0 ) return s; + break; + + case 8 : + int LA175_72 = input.LA(1); + + int index175_72 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_72); + if ( s>=0 ) return s; + break; + + case 9 : + int LA175_73 = input.LA(1); + + int index175_73 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_73); + if ( s>=0 ) return s; + break; + + case 10 : + int LA175_74 = input.LA(1); + + int index175_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_74); + if ( s>=0 ) return s; + break; + + case 11 : + int LA175_75 = input.LA(1); + + int index175_75 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_75); + if ( s>=0 ) return s; + break; + + case 12 : + int LA175_76 = input.LA(1); + + int index175_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_76); + if ( s>=0 ) return s; + break; + + case 13 : + int LA175_77 = input.LA(1); + + int index175_77 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_77); + if ( s>=0 ) return s; + break; + + case 14 : + int LA175_78 = input.LA(1); + + int index175_78 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_78); + if ( s>=0 ) return s; + break; + + case 15 : + int LA175_79 = input.LA(1); + + int index175_79 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_79); + if ( s>=0 ) return s; + break; + + case 16 : + int LA175_80 = input.LA(1); + + int index175_80 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_80); + if ( s>=0 ) return s; + break; + + case 17 : + int LA175_81 = input.LA(1); + + int index175_81 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_81); + if ( s>=0 ) return s; + break; + + case 18 : + int LA175_83 = input.LA(1); + + int index175_83 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_83); + if ( s>=0 ) return s; + break; + + case 19 : + int LA175_101 = input.LA(1); + + int index175_101 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_101); + if ( s>=0 ) return s; + break; + + case 20 : + int LA175_106 = input.LA(1); + + int index175_106 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_106); + if ( s>=0 ) return s; + break; + + case 21 : + int LA175_107 = input.LA(1); + + int index175_107 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_107); + if ( s>=0 ) return s; + break; + + case 22 : + int LA175_110 = input.LA(1); + + int index175_110 = input.index(); + input.rewind(); + s = -1; + if ( (synpred241_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index175_110); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 175, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA193_eotS = + "\153\uffff"; + static final String DFA193_eofS = + "\1\1\152\uffff"; + static final String DFA193_minS = + "\1\4\1\uffff\1\0\100\uffff\22\0\26\uffff"; + static final String DFA193_maxS = + "\1\u00d2\1\uffff\1\0\100\uffff\22\0\26\uffff"; + static final String DFA193_acceptS = + "\1\uffff\1\2\150\uffff\1\1"; + static final String DFA193_specialS = + "\2\uffff\1\0\100\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\1\15\1\16\1\17\1\20\1\21\1\22\26\uffff}>"; + static final String[] DFA193_transitionS = { + "\1\1\1\uffff\3\1\1\uffff\2\1\1\106\1\uffff\4\1\1\uffff\3\1\1\107\3\1"+ + "\1\uffff\7\1\1\120\2\1\1\uffff\7\1\3\uffff\5\1\1\121\1\111\1\1\1\2\1"+ + "\1\1\115\1\uffff\3\1\1\uffff\3\1\1\uffff\2\1\3\uffff\6\1\1\105\1\uffff"+ + "\3\1\2\uffff\1\1\1\123\1\114\6\1\1\117\12\1\1\104\3\uffff\1\110\1\122"+ + "\5\1\1\uffff\5\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\1\103\1\uffff\1"+ + "\1\2\uffff\3\1\1\112\1\uffff\1\1\1\uffff\5\1\1\113\7\1\1\uffff\1\1\15"+ + "\uffff\3\1\3\uffff\1\1\6\uffff\1\124\1\1\2\uffff\1\1\1\116\2\1\2\uffff"+ + "\2\1\1\uffff\16\1", + "", + "\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[] DFA193_eot = DFA.unpackEncodedString(DFA193_eotS); + static final short[] DFA193_eof = DFA.unpackEncodedString(DFA193_eofS); + static final char[] DFA193_min = DFA.unpackEncodedStringToUnsignedChars(DFA193_minS); + static final char[] DFA193_max = DFA.unpackEncodedStringToUnsignedChars(DFA193_maxS); + static final short[] DFA193_accept = DFA.unpackEncodedString(DFA193_acceptS); + static final short[] DFA193_special = DFA.unpackEncodedString(DFA193_specialS); + static final short[][] DFA193_transition; + + static { + int numStates = DFA193_transitionS.length; + DFA193_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA193_67 = input.LA(1); + + int index193_67 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_67); + if ( s>=0 ) return s; + break; + + case 2 : + int LA193_68 = input.LA(1); + + int index193_68 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_68); + if ( s>=0 ) return s; + break; + + case 3 : + int LA193_69 = input.LA(1); + + int index193_69 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_69); + if ( s>=0 ) return s; + break; + + case 4 : + int LA193_70 = input.LA(1); + + int index193_70 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_70); + if ( s>=0 ) return s; + break; + + case 5 : + int LA193_71 = input.LA(1); + + int index193_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_71); + if ( s>=0 ) return s; + break; + + case 6 : + int LA193_72 = input.LA(1); + + int index193_72 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_72); + if ( s>=0 ) return s; + break; + + case 7 : + int LA193_73 = input.LA(1); + + int index193_73 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_73); + if ( s>=0 ) return s; + break; + + case 8 : + int LA193_74 = input.LA(1); + + int index193_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_74); + if ( s>=0 ) return s; + break; + + case 9 : + int LA193_75 = input.LA(1); + + int index193_75 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_75); + if ( s>=0 ) return s; + break; + + case 10 : + int LA193_76 = input.LA(1); + + int index193_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_76); + if ( s>=0 ) return s; + break; + + case 11 : + int LA193_77 = input.LA(1); + + int index193_77 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_77); + if ( s>=0 ) return s; + break; + + case 12 : + int LA193_78 = input.LA(1); + + int index193_78 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_78); + if ( s>=0 ) return s; + break; + + case 13 : + int LA193_79 = input.LA(1); + + int index193_79 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_79); + if ( s>=0 ) return s; + break; + + case 14 : + int LA193_80 = input.LA(1); + + int index193_80 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_80); + if ( s>=0 ) return s; + break; + + case 15 : + int LA193_81 = input.LA(1); + + int index193_81 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_81); + if ( s>=0 ) return s; + break; + + case 16 : + int LA193_82 = input.LA(1); + + int index193_82 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_82); + if ( s>=0 ) return s; + break; + + case 17 : + int LA193_83 = input.LA(1); + + int index193_83 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_83); + if ( s>=0 ) return s; + break; + + case 18 : + int LA193_84 = input.LA(1); + + int index193_84 = input.index(); + input.rewind(); + s = -1; + if ( (synpred262_Delphi()) ) {s = 106;} + else if ( (true) ) {s = 1;} + + input.seek(index193_84); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 193, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA206_eotS = + "\152\uffff"; + static final String DFA206_eofS = + "\1\1\151\uffff"; + static final String DFA206_minS = + "\1\4\100\uffff\23\0\26\uffff"; + static final String DFA206_maxS = + "\1\u00d2\100\uffff\23\0\26\uffff"; + static final String DFA206_acceptS = + "\1\uffff\1\2\147\uffff\1\1"; + static final String DFA206_specialS = + "\101\uffff\1\0\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\1\17\1\20\1\21\1\22\26\uffff}>"; + static final String[] DFA206_transitionS = { + "\1\1\1\uffff\3\1\1\uffff\2\1\1\104\1\uffff\4\1\1\uffff\3\1\1\105\3\1"+ + "\1\uffff\7\1\1\116\2\1\1\uffff\7\1\3\uffff\5\1\1\117\1\107\1\1\1\123"+ + "\1\1\1\113\1\uffff\3\1\2\uffff\2\1\1\uffff\2\1\3\uffff\6\1\1\103\1\uffff"+ + "\3\1\2\uffff\1\1\1\121\1\112\6\1\1\115\12\1\1\102\3\uffff\1\106\1\120"+ + "\5\1\1\uffff\5\1\1\uffff\1\1\2\uffff\2\1\1\uffff\1\1\1\101\1\uffff\1"+ + "\1\2\uffff\3\1\1\110\1\uffff\1\1\1\uffff\5\1\1\111\7\1\1\uffff\1\1\15"+ + "\uffff\3\1\3\uffff\1\1\6\uffff\1\122\1\1\2\uffff\1\1\1\114\2\1\2\uffff"+ + "\2\1\1\uffff\16\1", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\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[] DFA206_eot = DFA.unpackEncodedString(DFA206_eotS); + static final short[] DFA206_eof = DFA.unpackEncodedString(DFA206_eofS); + static final char[] DFA206_min = DFA.unpackEncodedStringToUnsignedChars(DFA206_minS); + static final char[] DFA206_max = DFA.unpackEncodedStringToUnsignedChars(DFA206_maxS); + static final short[] DFA206_accept = DFA.unpackEncodedString(DFA206_acceptS); + static final short[] DFA206_special = DFA.unpackEncodedString(DFA206_specialS); + static final short[][] DFA206_transition; + + static { + int numStates = DFA206_transitionS.length; + DFA206_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA206_66 = input.LA(1); + + int index206_66 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_66); + if ( s>=0 ) return s; + break; + + case 2 : + int LA206_67 = input.LA(1); + + int index206_67 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_67); + if ( s>=0 ) return s; + break; + + case 3 : + int LA206_68 = input.LA(1); + + int index206_68 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_68); + if ( s>=0 ) return s; + break; + + case 4 : + int LA206_69 = input.LA(1); + + int index206_69 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_69); + if ( s>=0 ) return s; + break; + + case 5 : + int LA206_70 = input.LA(1); + + int index206_70 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_70); + if ( s>=0 ) return s; + break; + + case 6 : + int LA206_71 = input.LA(1); + + int index206_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_71); + if ( s>=0 ) return s; + break; + + case 7 : + int LA206_72 = input.LA(1); + + int index206_72 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_72); + if ( s>=0 ) return s; + break; + + case 8 : + int LA206_73 = input.LA(1); + + int index206_73 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_73); + if ( s>=0 ) return s; + break; + + case 9 : + int LA206_74 = input.LA(1); + + int index206_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_74); + if ( s>=0 ) return s; + break; + + case 10 : + int LA206_75 = input.LA(1); + + int index206_75 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_75); + if ( s>=0 ) return s; + break; + + case 11 : + int LA206_76 = input.LA(1); + + int index206_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_76); + if ( s>=0 ) return s; + break; + + case 12 : + int LA206_77 = input.LA(1); + + int index206_77 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_77); + if ( s>=0 ) return s; + break; + + case 13 : + int LA206_78 = input.LA(1); + + int index206_78 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_78); + if ( s>=0 ) return s; + break; + + case 14 : + int LA206_79 = input.LA(1); + + int index206_79 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_79); + if ( s>=0 ) return s; + break; + + case 15 : + int LA206_80 = input.LA(1); + + int index206_80 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_80); + if ( s>=0 ) return s; + break; + + case 16 : + int LA206_81 = input.LA(1); + + int index206_81 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_81); + if ( s>=0 ) return s; + break; + + case 17 : + int LA206_82 = input.LA(1); + + int index206_82 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_82); + if ( s>=0 ) return s; + break; + + case 18 : + int LA206_83 = input.LA(1); + + int index206_83 = input.index(); + input.rewind(); + s = -1; + if ( (synpred277_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 1;} + + input.seek(index206_83); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 206, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA217_eotS = + "\152\uffff"; + static final String DFA217_eofS = + "\1\2\151\uffff"; + static final String DFA217_minS = + "\1\4\1\0\150\uffff"; + static final String DFA217_maxS = + "\1\u00d2\1\0\150\uffff"; + static final String DFA217_acceptS = + "\2\uffff\1\2\146\uffff\1\1"; + static final String DFA217_specialS = + "\1\uffff\1\0\150\uffff}>"; + static final String[] DFA217_transitionS = { + "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\7\2\1\uffff\12\2\1\uffff"+ + "\7\2\3\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\2\2\3\uffff\7\2\1\uffff"+ + "\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff\1\2\2\uffff"+ + "\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff\15\2\1\uffff"+ + "\1\2\15\uffff\3\2\3\uffff\1\2\6\uffff\2\2\2\uffff\4\2\2\uffff\2\2\1\uffff"+ + "\16\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA217_eot = DFA.unpackEncodedString(DFA217_eotS); + static final short[] DFA217_eof = DFA.unpackEncodedString(DFA217_eofS); + static final char[] DFA217_min = DFA.unpackEncodedStringToUnsignedChars(DFA217_minS); + static final char[] DFA217_max = DFA.unpackEncodedStringToUnsignedChars(DFA217_maxS); + static final short[] DFA217_accept = DFA.unpackEncodedString(DFA217_acceptS); + static final short[] DFA217_special = DFA.unpackEncodedString(DFA217_specialS); + static final short[][] DFA217_transition; + + static { + int numStates = DFA217_transitionS.length; + DFA217_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 217, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA224_eotS = + "\171\uffff"; + static final String DFA224_eofS = + "\1\21\170\uffff"; + static final String DFA224_minS = + "\1\4\20\0\2\uffff\3\0\4\uffff\1\0\20\uffff\1\0\3\uffff\7\0\1\uffff\1\0"+ + "\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\5\uffff\1\0\1\uffff\1\0\13\uffff"+ + "\1\0\10\uffff\1\0\5\uffff\1\0\23\uffff"; + static final String DFA224_maxS = + "\1\u00d2\20\0\2\uffff\3\0\4\uffff\1\0\20\uffff\1\0\3\uffff\7\0\1\uffff"+ + "\1\0\5\uffff\1\0\2\uffff\1\0\1\uffff\1\0\5\uffff\1\0\1\uffff\1\0\13\uffff"+ + "\1\0\10\uffff\1\0\5\uffff\1\0\23\uffff"; + static final String DFA224_acceptS = + "\21\uffff\1\20\127\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\21\1\11\1"+ + "\12\1\13\1\14\1\15\1\16\1\17"; + static final String DFA224_specialS = + "\1\uffff\1\0\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\1\17\2\uffff\1\20\1\21\1\22\4\uffff\1\23\20\uffff\1\24\3\uffff\1"+ + "\25\1\26\1\27\1\30\1\31\1\32\1\33\1\uffff\1\34\5\uffff\1\35\2\uffff\1"+ + "\36\1\uffff\1\37\5\uffff\1\40\1\uffff\1\41\13\uffff\1\42\10\uffff\1\43"+ + "\5\uffff\1\44\23\uffff}>"; + static final String[] DFA224_transitionS = { + "\1\21\1\uffff\1\145\1\21\1\145\1\uffff\3\21\1\uffff\1\21\1\145\1\1\1"+ + "\21\1\uffff\1\21\1\145\5\21\1\uffff\2\21\2\145\1\16\1\64\3\21\1\62\1"+ + "\uffff\5\21\2\145\3\uffff\4\21\1\145\1\21\1\75\2\21\1\12\1\21\1\uffff"+ + "\1\145\2\21\2\uffff\2\21\1\uffff\1\21\1\145\3\uffff\1\21\1\65\1\25\1"+ + "\112\3\21\1\uffff\2\21\1\20\2\uffff\2\21\1\100\1\15\1\21\1\145\1\5\1"+ + "\21\1\32\1\21\1\13\1\21\1\3\1\21\1\145\2\21\1\137\1\21\1\145\1\21\3\uffff"+ + "\2\21\1\4\1\145\1\6\2\21\1\uffff\4\21\1\17\1\uffff\1\21\2\uffff\1\53"+ + "\1\60\1\uffff\1\145\1\67\1\uffff\1\145\2\uffff\4\21\1\uffff\1\21\1\uffff"+ + "\4\21\1\145\1\21\1\63\1\126\1\145\3\21\1\11\1\uffff\1\21\15\uffff\1\10"+ + "\1\23\1\10\3\uffff\1\7\6\uffff\1\110\1\21\2\uffff\1\21\1\102\2\145\2"+ + "\uffff\1\57\1\61\1\uffff\1\21\1\24\1\2\12\21\1\14", + "\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", + "\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[] DFA224_eot = DFA.unpackEncodedString(DFA224_eotS); + static final short[] DFA224_eof = DFA.unpackEncodedString(DFA224_eofS); + static final char[] DFA224_min = DFA.unpackEncodedStringToUnsignedChars(DFA224_minS); + static final char[] DFA224_max = DFA.unpackEncodedStringToUnsignedChars(DFA224_maxS); + static final short[] DFA224_accept = DFA.unpackEncodedString(DFA224_acceptS); + static final short[] DFA224_special = DFA.unpackEncodedString(DFA224_specialS); + static final short[][] DFA224_transition; + + static { + int numStates = DFA224_transitionS.length; + DFA224_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA224_2 = input.LA(1); + + int index224_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred295_Delphi()) ) {s = 106;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_2); + if ( s>=0 ) return s; + break; + + case 2 : + int LA224_3 = input.LA(1); + + int index224_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred296_Delphi()) ) {s = 107;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_3); + if ( s>=0 ) return s; + break; + + case 3 : + int LA224_4 = input.LA(1); + + int index224_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred297_Delphi()) ) {s = 108;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_4); + if ( s>=0 ) return s; + break; + + case 4 : + int LA224_5 = input.LA(1); + + int index224_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred298_Delphi()) ) {s = 109;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_5); + if ( s>=0 ) return s; + break; + + case 5 : + int LA224_6 = input.LA(1); + + int index224_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred299_Delphi()) ) {s = 110;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_6); + if ( s>=0 ) return s; + break; + + case 6 : + int LA224_7 = input.LA(1); + + int index224_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred300_Delphi()) ) {s = 111;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_7); + if ( s>=0 ) return s; + break; + + case 7 : + int LA224_8 = input.LA(1); + + int index224_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred300_Delphi()) ) {s = 111;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_8); + if ( s>=0 ) return s; + break; + + case 8 : + int LA224_9 = input.LA(1); + + int index224_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred301_Delphi()) ) {s = 112;} + else if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_9); + if ( s>=0 ) return s; + break; + + case 9 : + int LA224_10 = input.LA(1); + + int index224_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred302_Delphi()) ) {s = 114;} + else if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_10); + if ( s>=0 ) return s; + break; + + case 10 : + int LA224_11 = input.LA(1); + + int index224_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred303_Delphi()) ) {s = 115;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_11); + if ( s>=0 ) return s; + break; + + case 11 : + int LA224_12 = input.LA(1); + + int index224_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred304_Delphi()) ) {s = 116;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_12); + if ( s>=0 ) return s; + break; + + case 12 : + int LA224_13 = input.LA(1); + + int index224_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred305_Delphi()) ) {s = 117;} + else if ( (synpred308_Delphi()) ) {s = 118;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_13); + if ( s>=0 ) return s; + break; + + case 13 : + int LA224_14 = input.LA(1); + + int index224_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred310_Delphi()) ) {s = 119;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_14); + if ( s>=0 ) return s; + break; + + case 14 : + int LA224_15 = input.LA(1); + + int index224_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred310_Delphi()) ) {s = 119;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_15); + if ( s>=0 ) return s; + break; + + case 15 : + int LA224_16 = input.LA(1); + + int index224_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred311_Delphi()) ) {s = 120;} + else if ( (synpred312_Delphi()) ) {s = 17;} + + input.seek(index224_16); + if ( s>=0 ) return s; + break; + + case 16 : + int LA224_19 = input.LA(1); + + int index224_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_19); + if ( s>=0 ) return s; + break; + + case 17 : + int LA224_20 = input.LA(1); + + int index224_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_20); + if ( s>=0 ) return s; + break; + + case 18 : + int LA224_21 = input.LA(1); + + int index224_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_21); + if ( s>=0 ) return s; + break; + + case 19 : + int LA224_26 = input.LA(1); + + int index224_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_26); + if ( s>=0 ) return s; + break; + + case 20 : + int LA224_43 = input.LA(1); + + int index224_43 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_43); + if ( s>=0 ) return s; + break; + + case 21 : + int LA224_47 = input.LA(1); + + int index224_47 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_47); + if ( s>=0 ) return s; + break; + + case 22 : + int LA224_48 = input.LA(1); + + int index224_48 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_48); + if ( s>=0 ) return s; + break; + + case 23 : + int LA224_49 = input.LA(1); + + int index224_49 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_49); + if ( s>=0 ) return s; + break; + + case 24 : + int LA224_50 = input.LA(1); + + int index224_50 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_50); + if ( s>=0 ) return s; + break; + + case 25 : + int LA224_51 = input.LA(1); + + int index224_51 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_51); + if ( s>=0 ) return s; + break; + + case 26 : + int LA224_52 = input.LA(1); + + int index224_52 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_52); + if ( s>=0 ) return s; + break; + + case 27 : + int LA224_53 = input.LA(1); + + int index224_53 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_53); + if ( s>=0 ) return s; + break; + + case 28 : + int LA224_55 = input.LA(1); + + int index224_55 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_55); + if ( s>=0 ) return s; + break; + + case 29 : + int LA224_61 = input.LA(1); + + int index224_61 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_61); + if ( s>=0 ) return s; + break; + + case 30 : + int LA224_64 = input.LA(1); + + int index224_64 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_64); + if ( s>=0 ) return s; + break; + + case 31 : + int LA224_66 = input.LA(1); + + int index224_66 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_66); + if ( s>=0 ) return s; + break; + + case 32 : + int LA224_72 = input.LA(1); + + int index224_72 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_72); + if ( s>=0 ) return s; + break; + + case 33 : + int LA224_74 = input.LA(1); + + int index224_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_74); + if ( s>=0 ) return s; + break; + + case 34 : + int LA224_86 = input.LA(1); + + int index224_86 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_86); + if ( s>=0 ) return s; + break; + + case 35 : + int LA224_95 = input.LA(1); + + int index224_95 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_95); + if ( s>=0 ) return s; + break; + + case 36 : + int LA224_101 = input.LA(1); + + int index224_101 = input.index(); + input.rewind(); + s = -1; + if ( (synpred312_Delphi()) ) {s = 17;} + else if ( (true) ) {s = 113;} + + input.seek(index224_101); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 224, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA227_eotS = + "\7\uffff"; + static final String DFA227_eofS = + "\2\2\1\uffff\1\2\3\uffff"; + static final String DFA227_minS = + "\2\4\1\uffff\1\4\2\0\1\uffff"; + static final String DFA227_maxS = + "\2\u00d2\1\uffff\1\u00d2\2\0\1\uffff"; + static final String DFA227_acceptS = + "\2\uffff\1\2\3\uffff\1\1"; + static final String DFA227_specialS = + "\4\uffff\1\0\1\1\1\uffff}>"; + static final String[] DFA227_transitionS = { + "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\7\2\1\uffff\4\2\1\1"+ + "\5\2\1\uffff\7\2\3\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\2\2\3\uffff"+ + "\7\2\1\uffff\3\2\2\uffff\25\2\3\uffff\7\2\1\uffff\5\2\1\uffff\1\2\2\uffff"+ + "\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff\15\2\1\uffff"+ + "\1\2\15\uffff\3\2\3\uffff\1\2\6\uffff\2\2\2\uffff\4\2\2\uffff\2\2\1\uffff"+ + "\16\2", + "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\7\2\1\uffff\4\2\1\3"+ + "\5\2\1\uffff\7\2\3\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\2\2\3\uffff"+ + "\7\2\1\uffff\3\2\2\uffff\25\2\3\uffff\7\2\1\uffff\4\2\1\4\1\uffff\1\2"+ + "\2\uffff\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff"+ + "\15\2\1\uffff\1\2\15\uffff\3\2\3\uffff\1\2\6\uffff\2\2\2\uffff\4\2\2"+ + "\uffff\2\2\1\uffff\16\2", + "", + "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\7\2\1\uffff\4\2\1\3"+ + "\5\2\1\uffff\7\2\3\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\2\2\3\uffff"+ + "\7\2\1\uffff\3\2\2\uffff\25\2\3\uffff\7\2\1\uffff\4\2\1\5\1\uffff\1\2"+ + "\2\uffff\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff"+ + "\15\2\1\uffff\1\2\15\uffff\3\2\3\uffff\1\2\6\uffff\2\2\2\uffff\4\2\2"+ + "\uffff\2\2\1\uffff\16\2", + "\1\uffff", + "\1\uffff", + "" + }; + + static final short[] DFA227_eot = DFA.unpackEncodedString(DFA227_eotS); + static final short[] DFA227_eof = DFA.unpackEncodedString(DFA227_eofS); + static final char[] DFA227_min = DFA.unpackEncodedStringToUnsignedChars(DFA227_minS); + static final char[] DFA227_max = DFA.unpackEncodedStringToUnsignedChars(DFA227_maxS); + static final short[] DFA227_accept = DFA.unpackEncodedString(DFA227_acceptS); + static final short[] DFA227_special = DFA.unpackEncodedString(DFA227_specialS); + static final short[][] DFA227_transition; + + static { + int numStates = DFA227_transitionS.length; + DFA227_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA227_5 = input.LA(1); + + int index227_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred316_Delphi()) ) {s = 6;} + else if ( (true) ) {s = 2;} + + input.seek(index227_5); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 227, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA237_eotS = + "\154\uffff"; + static final String DFA237_eofS = + "\1\1\153\uffff"; + static final String DFA237_minS = + "\1\4\11\uffff\1\0\4\uffff\1\0\6\uffff\1\0\2\uffff\1\0\4\uffff\1\0\1\uffff"+ + "\2\0\112\uffff"; + static final String DFA237_maxS = + "\1\u00d2\11\uffff\1\0\4\uffff\1\0\6\uffff\1\0\2\uffff\1\0\4\uffff\1\0"+ + "\1\uffff\2\0\112\uffff"; + static final String DFA237_acceptS = + "\1\uffff\1\2\151\uffff\1\1"; + static final String DFA237_specialS = + "\12\uffff\1\0\4\uffff\1\1\6\uffff\1\2\2\uffff\1\3\4\uffff\1\4\1\uffff"+ + "\1\5\1\6\112\uffff}>"; + static final String[] DFA237_transitionS = { + "\1\1\1\uffff\3\1\1\uffff\3\1\1\uffff\2\1\1\12\1\1\1\uffff\7\1\1\uffff"+ + "\12\1\1\uffff\2\1\1\41\4\1\3\uffff\13\1\1\uffff\3\1\2\uffff\2\1\1\uffff"+ + "\2\1\3\uffff\7\1\1\uffff\2\1\1\31\2\uffff\3\1\1\26\1\36\20\1\3\uffff"+ + "\4\1\1\17\2\1\1\uffff\5\1\1\uffff\1\1\2\uffff\2\1\1\uffff\2\1\1\uffff"+ + "\1\1\2\uffff\4\1\1\uffff\1\1\1\uffff\15\1\1\uffff\1\1\15\uffff\3\1\3"+ + "\uffff\1\1\6\uffff\2\1\2\uffff\4\1\2\uffff\2\1\1\uffff\14\1\1\40\1\1", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "\1\uffff", + "", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA237_eot = DFA.unpackEncodedString(DFA237_eotS); + static final short[] DFA237_eof = DFA.unpackEncodedString(DFA237_eofS); + static final char[] DFA237_min = DFA.unpackEncodedStringToUnsignedChars(DFA237_minS); + static final char[] DFA237_max = DFA.unpackEncodedStringToUnsignedChars(DFA237_maxS); + static final short[] DFA237_accept = DFA.unpackEncodedString(DFA237_acceptS); + static final short[] DFA237_special = DFA.unpackEncodedString(DFA237_specialS); + static final short[][] DFA237_transition; + + static { + int numStates = DFA237_transitionS.length; + DFA237_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA237_15 = input.LA(1); + + int index237_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred326_Delphi()) ) {s = 107;} + else if ( (true) ) {s = 1;} + + input.seek(index237_15); + if ( s>=0 ) return s; + break; + + case 2 : + int LA237_22 = input.LA(1); + + int index237_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred326_Delphi()) ) {s = 107;} + else if ( (true) ) {s = 1;} + + input.seek(index237_22); + if ( s>=0 ) return s; + break; + + case 3 : + int LA237_25 = input.LA(1); + + int index237_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred326_Delphi()) ) {s = 107;} + else if ( (true) ) {s = 1;} + + input.seek(index237_25); + if ( s>=0 ) return s; + break; + + case 4 : + int LA237_30 = input.LA(1); + + int index237_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred326_Delphi()) ) {s = 107;} + else if ( (true) ) {s = 1;} + + input.seek(index237_30); + if ( s>=0 ) return s; + break; + + case 5 : + int LA237_32 = input.LA(1); + + int index237_32 = input.index(); + input.rewind(); + s = -1; + if ( (synpred326_Delphi()) ) {s = 107;} + else if ( (true) ) {s = 1;} + + input.seek(index237_32); + if ( s>=0 ) return s; + break; + + case 6 : + int LA237_33 = input.LA(1); + + int index237_33 = input.index(); + input.rewind(); + s = -1; + if ( (synpred326_Delphi()) ) {s = 107;} + else if ( (true) ) {s = 1;} + + input.seek(index237_33); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 237, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA271_eotS = + "\153\uffff"; + static final String DFA271_eofS = + "\1\2\152\uffff"; + static final String DFA271_minS = + "\1\4\1\0\151\uffff"; + static final String DFA271_maxS = + "\1\u00d2\1\0\151\uffff"; + static final String DFA271_acceptS = + "\2\uffff\1\3\146\uffff\1\1\1\2"; + static final String DFA271_specialS = + "\1\uffff\1\0\151\uffff}>"; + static final String[] DFA271_transitionS = { + "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\4\2\1\uffff\7\2\1\uffff\12\2\1\uffff"+ + "\7\2\3\uffff\13\2\1\uffff\3\2\2\uffff\2\2\1\uffff\2\2\3\uffff\7\2\1\uffff"+ + "\3\2\2\uffff\3\2\1\1\21\2\3\uffff\7\2\1\uffff\5\2\1\uffff\1\2\2\uffff"+ + "\2\2\1\uffff\2\2\1\uffff\1\2\2\uffff\4\2\1\uffff\1\2\1\uffff\15\2\1\uffff"+ + "\1\2\15\uffff\3\2\3\uffff\1\2\6\uffff\2\2\2\uffff\4\2\2\uffff\2\2\1\uffff"+ + "\16\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] DFA271_eot = DFA.unpackEncodedString(DFA271_eotS); + static final short[] DFA271_eof = DFA.unpackEncodedString(DFA271_eofS); + static final char[] DFA271_min = DFA.unpackEncodedStringToUnsignedChars(DFA271_minS); + static final char[] DFA271_max = DFA.unpackEncodedStringToUnsignedChars(DFA271_maxS); + static final short[] DFA271_accept = DFA.unpackEncodedString(DFA271_acceptS); + static final short[] DFA271_special = DFA.unpackEncodedString(DFA271_specialS); + static final short[][] DFA271_transition; + + static { + int numStates = DFA271_transitionS.length; + DFA271_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 271, _s, input); + error(nvae); + throw nvae; + } + } + + static final String DFA270_eotS = + "\153\uffff"; + static final String DFA270_eofS = + "\1\44\152\uffff"; + static final String DFA270_minS = + "\1\4\150\0\2\uffff"; + static final String DFA270_maxS = + "\1\u00d2\150\0\2\uffff"; + static final String DFA270_acceptS = + "\151\uffff\1\1\1\2"; + static final String DFA270_specialS = + "\1\uffff\1\0\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\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\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\63\1\64\1\65\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\104"+ + "\1\105\1\106\1\107\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\126\1\127\1\130\1\131\1\132\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\2\uffff}>"; + static final String[] DFA270_transitionS = { + "\1\46\1\uffff\1\143\1\33\1\143\1\uffff\1\33\1\110\1\126\1\uffff\1\47"+ + "\1\143\1\4\1\72\1\uffff\1\107\1\143\1\102\1\63\1\73\1\53\1\52\1\uffff"+ + "\1\77\1\74\2\143\1\20\1\120\1\150\1\37\1\74\1\116\1\uffff\1\33\1\145"+ + "\1\31\1\45\1\147\2\143\3\uffff\1\50\1\51\1\35\1\56\1\143\1\40\1\131\1"+ + "\106\1\137\1\15\1\133\1\uffff\1\143\1\54\1\57\2\uffff\1\3\1\64\1\uffff"+ + "\1\36\1\143\3\uffff\1\142\1\121\1\27\1\140\1\24\1\141\1\125\1\uffff\1"+ + "\64\1\105\1\22\2\uffff\1\64\1\42\1\123\1\1\1\32\1\143\1\10\1\33\1\75"+ + "\1\135\1\16\1\122\1\6\1\64\1\143\1\61\1\60\1\65\1\33\1\143\1\124\3\uffff"+ + "\1\127\1\41\1\7\1\143\1\11\1\67\1\2\1\uffff\1\76\1\66\1\70\1\71\1\21"+ + "\1\uffff\1\104\2\uffff\1\111\1\114\1\uffff\1\143\1\34\1\uffff\1\143\2"+ + "\uffff\1\112\1\77\1\103\1\130\1\uffff\1\43\1\uffff\4\33\1\143\1\132\1"+ + "\117\1\62\1\143\1\144\1\101\1\146\1\14\1\uffff\1\100\15\uffff\1\13\1"+ + "\25\1\13\3\uffff\1\12\6\uffff\1\136\1\55\2\uffff\1\101\1\134\2\143\2"+ + "\uffff\1\113\1\115\1\uffff\1\33\1\26\1\5\3\33\1\23\5\33\1\30\1\17", + "\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", + "\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", + "\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", + "\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", + "\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[] DFA270_eot = DFA.unpackEncodedString(DFA270_eotS); + static final short[] DFA270_eof = DFA.unpackEncodedString(DFA270_eofS); + static final char[] DFA270_min = DFA.unpackEncodedStringToUnsignedChars(DFA270_minS); + static final char[] DFA270_max = DFA.unpackEncodedStringToUnsignedChars(DFA270_maxS); + static final short[] DFA270_accept = DFA.unpackEncodedString(DFA270_acceptS); + static final short[] DFA270_special = DFA.unpackEncodedString(DFA270_specialS); + static final short[][] DFA270_transition; + + static { + int numStates = DFA270_transitionS.length; + DFA270_transition = new short[numStates][]; + for (int i=0; i=0 ) return s; + break; + + case 1 : + int LA270_2 = input.LA(1); + + int index270_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_2); + if ( s>=0 ) return s; + break; + + case 2 : + int LA270_3 = input.LA(1); + + int index270_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_3); + if ( s>=0 ) return s; + break; + + case 3 : + int LA270_4 = input.LA(1); + + int index270_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_4); + if ( s>=0 ) return s; + break; + + case 4 : + int LA270_5 = input.LA(1); + + int index270_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_5); + if ( s>=0 ) return s; + break; + + case 5 : + int LA270_6 = input.LA(1); + + int index270_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_6); + if ( s>=0 ) return s; + break; + + case 6 : + int LA270_7 = input.LA(1); + + int index270_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_7); + if ( s>=0 ) return s; + break; + + case 7 : + int LA270_8 = input.LA(1); + + int index270_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_8); + if ( s>=0 ) return s; + break; + + case 8 : + int LA270_9 = input.LA(1); + + int index270_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_9); + if ( s>=0 ) return s; + break; + + case 9 : + int LA270_10 = input.LA(1); + + int index270_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_10); + if ( s>=0 ) return s; + break; + + case 10 : + int LA270_11 = input.LA(1); + + int index270_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_11); + if ( s>=0 ) return s; + break; + + case 11 : + int LA270_12 = input.LA(1); + + int index270_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_12); + if ( s>=0 ) return s; + break; + + case 12 : + int LA270_13 = input.LA(1); + + int index270_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_13); + if ( s>=0 ) return s; + break; + + case 13 : + int LA270_14 = input.LA(1); + + int index270_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_14); + if ( s>=0 ) return s; + break; + + case 14 : + int LA270_15 = input.LA(1); + + int index270_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_15); + if ( s>=0 ) return s; + break; + + case 15 : + int LA270_16 = input.LA(1); + + int index270_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_16); + if ( s>=0 ) return s; + break; + + case 16 : + int LA270_17 = input.LA(1); + + int index270_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_17); + if ( s>=0 ) return s; + break; + + case 17 : + int LA270_18 = input.LA(1); + + int index270_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_18); + if ( s>=0 ) return s; + break; + + case 18 : + int LA270_19 = input.LA(1); + + int index270_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_19); + if ( s>=0 ) return s; + break; + + case 19 : + int LA270_20 = input.LA(1); + + int index270_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_20); + if ( s>=0 ) return s; + break; + + case 20 : + int LA270_21 = input.LA(1); + + int index270_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_21); + if ( s>=0 ) return s; + break; + + case 21 : + int LA270_22 = input.LA(1); + + int index270_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_22); + if ( s>=0 ) return s; + break; + + case 22 : + int LA270_23 = input.LA(1); + + int index270_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_23); + if ( s>=0 ) return s; + break; + + case 23 : + int LA270_24 = input.LA(1); + + int index270_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_24); + if ( s>=0 ) return s; + break; + + case 24 : + int LA270_25 = input.LA(1); + + int index270_25 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_25); + if ( s>=0 ) return s; + break; + + case 25 : + int LA270_26 = input.LA(1); + + int index270_26 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_26); + if ( s>=0 ) return s; + break; + + case 26 : + int LA270_27 = input.LA(1); + + int index270_27 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_27); + if ( s>=0 ) return s; + break; + + case 27 : + int LA270_28 = input.LA(1); + + int index270_28 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_28); + if ( s>=0 ) return s; + break; + + case 28 : + int LA270_29 = input.LA(1); + + int index270_29 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_29); + if ( s>=0 ) return s; + break; + + case 29 : + int LA270_30 = input.LA(1); + + int index270_30 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_30); + if ( s>=0 ) return s; + break; + + case 30 : + int LA270_31 = input.LA(1); + + int index270_31 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_31); + if ( s>=0 ) return s; + break; + + case 31 : + int LA270_32 = input.LA(1); + + int index270_32 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_32); + if ( s>=0 ) return s; + break; + + case 32 : + int LA270_33 = input.LA(1); + + int index270_33 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_33); + if ( s>=0 ) return s; + break; + + case 33 : + int LA270_34 = input.LA(1); + + int index270_34 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_34); + if ( s>=0 ) return s; + break; + + case 34 : + int LA270_35 = input.LA(1); + + int index270_35 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_35); + if ( s>=0 ) return s; + break; + + case 35 : + int LA270_36 = input.LA(1); + + int index270_36 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_36); + if ( s>=0 ) return s; + break; + + case 36 : + int LA270_37 = input.LA(1); + + int index270_37 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_37); + if ( s>=0 ) return s; + break; + + case 37 : + int LA270_38 = input.LA(1); + + int index270_38 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_38); + if ( s>=0 ) return s; + break; + + case 38 : + int LA270_39 = input.LA(1); + + int index270_39 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_39); + if ( s>=0 ) return s; + break; + + case 39 : + int LA270_40 = input.LA(1); + + int index270_40 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_40); + if ( s>=0 ) return s; + break; + + case 40 : + int LA270_41 = input.LA(1); + + int index270_41 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_41); + if ( s>=0 ) return s; + break; + + case 41 : + int LA270_42 = input.LA(1); + + int index270_42 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_42); + if ( s>=0 ) return s; + break; + + case 42 : + int LA270_43 = input.LA(1); + + int index270_43 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_43); + if ( s>=0 ) return s; + break; + + case 43 : + int LA270_44 = input.LA(1); + + int index270_44 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_44); + if ( s>=0 ) return s; + break; + + case 44 : + int LA270_45 = input.LA(1); + + int index270_45 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_45); + if ( s>=0 ) return s; + break; + + case 45 : + int LA270_46 = input.LA(1); + + int index270_46 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_46); + if ( s>=0 ) return s; + break; + + case 46 : + int LA270_47 = input.LA(1); + + int index270_47 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_47); + if ( s>=0 ) return s; + break; + + case 47 : + int LA270_48 = input.LA(1); + + int index270_48 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_48); + if ( s>=0 ) return s; + break; + + case 48 : + int LA270_49 = input.LA(1); + + int index270_49 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_49); + if ( s>=0 ) return s; + break; + + case 49 : + int LA270_50 = input.LA(1); + + int index270_50 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_50); + if ( s>=0 ) return s; + break; + + case 50 : + int LA270_51 = input.LA(1); + + int index270_51 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_51); + if ( s>=0 ) return s; + break; + + case 51 : + int LA270_52 = input.LA(1); + + int index270_52 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_52); + if ( s>=0 ) return s; + break; + + case 52 : + int LA270_53 = input.LA(1); + + int index270_53 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_53); + if ( s>=0 ) return s; + break; + + case 53 : + int LA270_54 = input.LA(1); + + int index270_54 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_54); + if ( s>=0 ) return s; + break; + + case 54 : + int LA270_55 = input.LA(1); + + int index270_55 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_55); + if ( s>=0 ) return s; + break; + + case 55 : + int LA270_56 = input.LA(1); + + int index270_56 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_56); + if ( s>=0 ) return s; + break; + + case 56 : + int LA270_57 = input.LA(1); + + int index270_57 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_57); + if ( s>=0 ) return s; + break; + + case 57 : + int LA270_58 = input.LA(1); + + int index270_58 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_58); + if ( s>=0 ) return s; + break; + + case 58 : + int LA270_59 = input.LA(1); + + int index270_59 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_59); + if ( s>=0 ) return s; + break; + + case 59 : + int LA270_60 = input.LA(1); + + int index270_60 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_60); + if ( s>=0 ) return s; + break; + + case 60 : + int LA270_61 = input.LA(1); + + int index270_61 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_61); + if ( s>=0 ) return s; + break; + + case 61 : + int LA270_62 = input.LA(1); + + int index270_62 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_62); + if ( s>=0 ) return s; + break; + + case 62 : + int LA270_63 = input.LA(1); + + int index270_63 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_63); + if ( s>=0 ) return s; + break; + + case 63 : + int LA270_64 = input.LA(1); + + int index270_64 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_64); + if ( s>=0 ) return s; + break; + + case 64 : + int LA270_65 = input.LA(1); + + int index270_65 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_65); + if ( s>=0 ) return s; + break; + + case 65 : + int LA270_66 = input.LA(1); + + int index270_66 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_66); + if ( s>=0 ) return s; + break; + + case 66 : + int LA270_67 = input.LA(1); + + int index270_67 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_67); + if ( s>=0 ) return s; + break; + + case 67 : + int LA270_68 = input.LA(1); + + int index270_68 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_68); + if ( s>=0 ) return s; + break; + + case 68 : + int LA270_69 = input.LA(1); + + int index270_69 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_69); + if ( s>=0 ) return s; + break; + + case 69 : + int LA270_70 = input.LA(1); + + int index270_70 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_70); + if ( s>=0 ) return s; + break; + + case 70 : + int LA270_71 = input.LA(1); + + int index270_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_71); + if ( s>=0 ) return s; + break; + + case 71 : + int LA270_72 = input.LA(1); + + int index270_72 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_72); + if ( s>=0 ) return s; + break; + + case 72 : + int LA270_73 = input.LA(1); + + int index270_73 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_73); + if ( s>=0 ) return s; + break; + + case 73 : + int LA270_74 = input.LA(1); + + int index270_74 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_74); + if ( s>=0 ) return s; + break; + + case 74 : + int LA270_75 = input.LA(1); + + int index270_75 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_75); + if ( s>=0 ) return s; + break; + + case 75 : + int LA270_76 = input.LA(1); + + int index270_76 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_76); + if ( s>=0 ) return s; + break; + + case 76 : + int LA270_77 = input.LA(1); + + int index270_77 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_77); + if ( s>=0 ) return s; + break; + + case 77 : + int LA270_78 = input.LA(1); + + int index270_78 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_78); + if ( s>=0 ) return s; + break; + + case 78 : + int LA270_79 = input.LA(1); + + int index270_79 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_79); + if ( s>=0 ) return s; + break; + + case 79 : + int LA270_80 = input.LA(1); + + int index270_80 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_80); + if ( s>=0 ) return s; + break; + + case 80 : + int LA270_81 = input.LA(1); + + int index270_81 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_81); + if ( s>=0 ) return s; + break; + + case 81 : + int LA270_82 = input.LA(1); + + int index270_82 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_82); + if ( s>=0 ) return s; + break; + + case 82 : + int LA270_83 = input.LA(1); + + int index270_83 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_83); + if ( s>=0 ) return s; + break; + + case 83 : + int LA270_84 = input.LA(1); + + int index270_84 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_84); + if ( s>=0 ) return s; + break; + + case 84 : + int LA270_85 = input.LA(1); + + int index270_85 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_85); + if ( s>=0 ) return s; + break; + + case 85 : + int LA270_86 = input.LA(1); + + int index270_86 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_86); + if ( s>=0 ) return s; + break; + + case 86 : + int LA270_87 = input.LA(1); + + int index270_87 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_87); + if ( s>=0 ) return s; + break; + + case 87 : + int LA270_88 = input.LA(1); + + int index270_88 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_88); + if ( s>=0 ) return s; + break; + + case 88 : + int LA270_89 = input.LA(1); + + int index270_89 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_89); + if ( s>=0 ) return s; + break; + + case 89 : + int LA270_90 = input.LA(1); + + int index270_90 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_90); + if ( s>=0 ) return s; + break; + + case 90 : + int LA270_91 = input.LA(1); + + int index270_91 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_91); + if ( s>=0 ) return s; + break; + + case 91 : + int LA270_92 = input.LA(1); + + int index270_92 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_92); + if ( s>=0 ) return s; + break; + + case 92 : + int LA270_93 = input.LA(1); + + int index270_93 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_93); + if ( s>=0 ) return s; + break; + + case 93 : + int LA270_94 = input.LA(1); + + int index270_94 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_94); + if ( s>=0 ) return s; + break; + + case 94 : + int LA270_95 = input.LA(1); + + int index270_95 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_95); + if ( s>=0 ) return s; + break; + + case 95 : + int LA270_96 = input.LA(1); + + int index270_96 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_96); + if ( s>=0 ) return s; + break; + + case 96 : + int LA270_97 = input.LA(1); + + int index270_97 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_97); + if ( s>=0 ) return s; + break; + + case 97 : + int LA270_98 = input.LA(1); + + int index270_98 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_98); + if ( s>=0 ) return s; + break; + + case 98 : + int LA270_99 = input.LA(1); + + int index270_99 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_99); + if ( s>=0 ) return s; + break; + + case 99 : + int LA270_100 = input.LA(1); + + int index270_100 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_100); + if ( s>=0 ) return s; + break; + + case 100 : + int LA270_101 = input.LA(1); + + int index270_101 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_101); + if ( s>=0 ) return s; + break; + + case 101 : + int LA270_102 = input.LA(1); + + int index270_102 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_102); + if ( s>=0 ) return s; + break; + + case 102 : + int LA270_103 = input.LA(1); + + int index270_103 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_103); + if ( s>=0 ) return s; + break; + + case 103 : + int LA270_104 = input.LA(1); + + int index270_104 = input.index(); + input.rewind(); + s = -1; + if ( (synpred406_Delphi()) ) {s = 105;} + else if ( (true) ) {s = 106;} + + input.seek(index270_104); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 270, _s, input); + error(nvae); + throw nvae; + } + } + + public static final BitSet FOLLOW_program_in_file93 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_library_in_file97 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_unit_in_file101 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_packageE_in_file105 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_programHead_in_program168 = new BitSet(new long[]{0x0080010818880800L,0x00100000000C0002L,0x1400000022000200L}); + public static final BitSet FOLLOW_usesFileClause_in_program173 = new BitSet(new long[]{0x0080010818880800L,0x00100000000C0002L,0x1000000022000200L}); + public static final BitSet FOLLOW_block_in_program177 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_DOT_in_program179 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PROGRAM_in_programHead233 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceName_in_programHead235 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_programParmSeq_in_programHead238 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_programHead242 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_programParmSeq293 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8042DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_programParmSeq296 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_COMMA_in_programParmSeq299 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_programParmSeq301 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_programParmSeq308 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_libraryHead_in_library366 = new BitSet(new long[]{0x0080010818880800L,0x00100000000C0002L,0x1400000022000200L}); + public static final BitSet FOLLOW_usesFileClause_in_library369 = new BitSet(new long[]{0x0080010818880800L,0x00100000000C0002L,0x1000000022000200L}); + public static final BitSet FOLLOW_block_in_library373 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_DOT_in_library375 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LIBRARY_in_libraryHead429 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceName_in_libraryHead431 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_hintingDirective_in_libraryHead434 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_libraryHead438 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_packageHead_in_packageE503 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_requiresClause_in_packageE505 = new BitSet(new long[]{0x0002000020000000L}); + public static final BitSet FOLLOW_containsClause_in_packageE508 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_END_in_packageE512 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_DOT_in_packageE514 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PACKAGE_in_packageHead568 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceName_in_packageHead570 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_packageHead572 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_unitHead_in_unit633 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_unitInterface_in_unit635 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_unitImplementation_in_unit637 = new BitSet(new long[]{0x0002000000080000L,0x0000000000004000L}); + public static final BitSet FOLLOW_unitBlock_in_unit639 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_DOT_in_unit641 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_UNIT_in_unitHead698 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceName_in_unitHead700 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_hintingDirective_in_unitHead703 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_unitHead707 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_INTERFACE_in_unitInterface772 = new BitSet(new long[]{0x0080000818800002L,0x0010000000080002L,0x1400000022000200L}); + public static final BitSet FOLLOW_usesClause_in_unitInterface775 = new BitSet(new long[]{0x0080000818800002L,0x0010000000080002L,0x1000000022000200L}); + public static final BitSet FOLLOW_interfaceDecl_in_unitInterface780 = new BitSet(new long[]{0x0080000818800002L,0x0010000000080002L,0x1000000022000200L}); + public static final BitSet FOLLOW_IMPLEMENTATION_in_unitImplementation845 = new BitSet(new long[]{0x0080000818800002L,0x00100000000C0002L,0x1400000022000200L}); + public static final BitSet FOLLOW_usesClause_in_unitImplementation848 = new BitSet(new long[]{0x0080000818800002L,0x00100000000C0002L,0x1000000022000200L}); + public static final BitSet FOLLOW_declSection_in_unitImplementation853 = new BitSet(new long[]{0x0080000818800002L,0x00100000000C0002L,0x1000000022000200L}); + public static final BitSet FOLLOW_unitInitialization_in_unitBlock927 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_END_in_unitBlock929 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_compoundStatement_in_unitBlock962 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_END_in_unitBlock995 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_INITIALIZATION_in_unitInitialization1042 = new BitSet(new long[]{0xB25019116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_unitInitialization1044 = new BitSet(new long[]{0x2000000000000002L}); + public static final BitSet FOLLOW_unitFinalization_in_unitInitialization1047 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FINALIZATION_in_unitFinalization1098 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_unitFinalization1100 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CONTAINS_in_containsClause1154 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceFileNameList_in_containsClause1156 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_REQUIRES_in_requiresClause1207 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceNameList_in_requiresClause1209 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_USES_in_usesClause1264 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceNameList_in_usesClause1266 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_USES_in_usesFileClause1325 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceFileNameList_in_usesFileClause1327 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_namespaceFileName_in_namespaceFileNameList1379 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_COMMA_in_namespaceFileNameList1382 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceFileName_in_namespaceFileNameList1384 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_namespaceFileNameList1388 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_namespaceName_in_namespaceFileName1445 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L}); + public static final BitSet FOLLOW_IN_in_namespaceFileName1448 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L}); + public static final BitSet FOLLOW_QuotedString_in_namespaceFileName1450 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_namespaceName_in_namespaceNameList1511 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_COMMA_in_namespaceNameList1514 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_namespaceName_in_namespaceNameList1516 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_namespaceNameList1520 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_declSection_in_block1593 = new BitSet(new long[]{0x0080000818880802L,0x00100000000C0002L,0x1000000022000200L}); + public static final BitSet FOLLOW_blockBody_in_block1598 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_compoundStatement_in_blockBody1656 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_assemblerStatement_in_blockBody1689 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_labelDeclSection_in_declSection1743 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constSection_in_declSection1776 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeSection_in_declSection1809 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_varSection_in_declSection1842 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_methodDecl_in_declSection1875 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procDecl_in_declSection1908 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_exportsSection_in_declSection1941 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constSection_in_interfaceDecl1993 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeSection_in_interfaceDecl2026 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_varSection_in_interfaceDecl2059 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_exportedProcHeading_in_interfaceDecl2092 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_exportsSection_in_interfaceDecl2125 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procDecl_in_interfaceDecl2158 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_methodDecl_in_interfaceDecl2191 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LABEL_in_labelDeclSection2240 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100380008E8002DL,0x000000000000000CL}); + public static final BitSet FOLLOW_label_in_labelDeclSection2242 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_COMMA_in_labelDeclSection2245 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100380008E8002DL,0x000000000000000CL}); + public static final BitSet FOLLOW_label_in_labelDeclSection2247 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_labelDeclSection2251 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constKey_in_constSection2304 = new BitSet(new long[]{0x1250181160108142L,0x8002029049081C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_constDeclaration_in_constSection2307 = new BitSet(new long[]{0x1250181160108142L,0x8002029049081C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_customAttribute_in_constDeclaration2462 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_constDeclaration2466 = new BitSet(new long[]{0x0004000001000000L}); + public static final BitSet FOLLOW_COLON_in_constDeclaration2469 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_constDeclaration2471 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_EQUAL_in_constDeclaration2475 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_constDeclaration2477 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_hintingDirective_in_constDeclaration2480 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_constDeclaration2484 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TYPE_in_typeSection2551 = new BitSet(new long[]{0x1250181160108140L,0x8002029049081C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_typeDeclaration_in_typeSection2553 = new BitSet(new long[]{0x1250181160108142L,0x8002029049081C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_typeDeclaration_in_typeSection2556 = new BitSet(new long[]{0x1250181160108142L,0x8002029049081C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_customAttribute_in_typeDeclaration2622 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericTypeIdent_in_typeDeclaration2626 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_EQUAL_in_typeDeclaration2628 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_typeDeclaration2630 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_hintingDirective_in_typeDeclaration2633 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_typeDeclaration2637 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_varKey_in_varSection2714 = new BitSet(new long[]{0x1250181160108140L,0x8002029049081C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_varDeclaration_in_varSection2716 = new BitSet(new long[]{0x1250181160108142L,0x8002029049081C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_varDeclaration_in_varSection2719 = new BitSet(new long[]{0x1250181160108142L,0x8002029049081C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_customAttribute_in_varDeclaration2879 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_identListFlat_in_varDeclaration2883 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_varDeclaration2885 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_varDeclaration2887 = new BitSet(new long[]{0x0024000400000010L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_varValueSpec_in_varDeclaration2890 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_hintingDirective_in_varDeclaration2895 = new BitSet(new long[]{0x0020000400000000L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_varDeclaration2899 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_VAR_in_inlineVarDeclaration2963 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_inlineVarDeclaration2965 = new BitSet(new long[]{0x0000000001004000L}); + public static final BitSet FOLLOW_COLON_in_inlineVarDeclaration2968 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_inlineVarDeclaration2970 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_ASSIGN_in_inlineVarDeclaration2974 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_inlineVarDeclaration2976 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_VAR_in_inlineVarDeclaration3009 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_inlineVarDeclaration3011 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_inlineVarDeclaration3013 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_inlineVarDeclaration3015 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ABSOLUTE_in_varValueSpec3070 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_qualifiedIdent_in_varValueSpec3072 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ABSOLUTE_in_varValueSpec3105 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_varValueSpec3107 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EQUAL_in_varValueSpec3140 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_varValueSpec3142 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EXPORTS_in_exportsSection3193 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_exportsSection3195 = new BitSet(new long[]{0x0000000002000000L,0x0000000042001000L,0x0000000000002100L}); + public static final BitSet FOLLOW_exportItem_in_exportsSection3197 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_COMMA_in_exportsSection3200 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_exportsSection3202 = new BitSet(new long[]{0x0000000002000000L,0x0000000042001000L,0x0000000000002100L}); + public static final BitSet FOLLOW_exportItem_in_exportsSection3204 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_exportsSection3208 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_exportItem3264 = new BitSet(new long[]{0x1250181168108140L,0x8002029049081C20L,0xF100100008E8042DL,0x000000000000004CL}); + public static final BitSet FOLLOW_formalParameterList_in_exportItem3267 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_exportItem3271 = new BitSet(new long[]{0x0000000000000002L,0x0000000040001000L,0x0000000000000100L}); + public static final BitSet FOLLOW_INDEX_in_exportItem3276 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_exportItem3278 = new BitSet(new long[]{0x0000000000000002L,0x0000000040000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_NAME_in_exportItem3283 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_exportItem3285 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_RESIDENT_in_exportItem3290 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_strucType_in_typeDecl3352 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_pointerType_in_typeDecl3385 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_stringType_in_typeDecl3418 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procedureType_in_typeDecl3451 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_variantType_in_typeDecl3484 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TYPE_in_typeDecl3518 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_typeId_in_typeDecl3522 = new BitSet(new long[]{0x0000010000000002L,0x0000000006000000L}); + public static final BitSet FOLLOW_genericPostfix_in_typeDecl3525 = new BitSet(new long[]{0x0000010000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_DOT_in_typeDecl3530 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_typeDecl3532 = new BitSet(new long[]{0x0000010000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_paranthesePostfix_in_typeDecl3537 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_simpleType_in_typeDecl3572 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PACKED_in_strucType3658 = new BitSet(new long[]{0x0800002000800200L,0x0000001000010000L,0x0000000000004002L}); + public static final BitSet FOLLOW_strucTypePart_in_strucType3662 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_arrayType_in_strucTypePart3718 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_setType_in_strucTypePart3751 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_fileType_in_strucTypePart3784 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classDecl_in_strucTypePart3817 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ARRAY_in_arrayType3875 = new BitSet(new long[]{0x0000000000000000L,0x0000002000080000L}); + public static final BitSet FOLLOW_LBRACK_in_arrayType3878 = new BitSet(new long[]{0x12501911E2118140L,0x941702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_arrayIndex_in_arrayType3881 = new BitSet(new long[]{0x0000000002000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_COMMA_in_arrayType3886 = new BitSet(new long[]{0x12501911E2118140L,0x941702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_arrayIndex_in_arrayType3889 = new BitSet(new long[]{0x0000000002000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_arrayType3895 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_OF_in_arrayType3899 = new BitSet(new long[]{0x1A501931E8918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_arraySubType_in_arrayType3901 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeId_in_arrayIndex4027 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expression_in_arrayIndex4060 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_DOTDOT_in_arrayIndex4062 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_arrayIndex4064 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CONST_in_arraySubType4118 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeDecl_in_arraySubType4151 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SET_in_setType4209 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_OF_in_setType4211 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_setType4213 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FILE_in_fileType4287 = new BitSet(new long[]{0x0000000000000002L,0x0000002000000000L}); + public static final BitSet FOLLOW_OF_in_fileType4290 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_fileType4292 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_POINTER2_in_pointerType4348 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_pointerType4350 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_POINTER_in_pointerType4383 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_STRING_in_stringType4438 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_LBRACK_in_stringType4441 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_stringType4443 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_stringType4445 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TYPE_in_stringType4485 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_ANSISTRING_in_stringType4489 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_codePageNumber_in_stringType4492 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_codePageNumber4545 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000280000000000L}); + public static final BitSet FOLLOW_intNum_in_codePageNumber4547 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_codePageNumber4549 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_methodType_in_procedureType4601 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_simpleProcedureType_in_procedureType4634 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procedureReference_in_procedureType4667 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procedureTypeHeading_in_methodType4722 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_OF_in_methodType4724 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L}); + public static final BitSet FOLLOW_OBJECT_in_methodType4726 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procedureTypeHeading_in_simpleProcedureType4772 = new BitSet(new long[]{0x0040000000400002L,0x0000400000000000L,0x0000000000102808L}); + public static final BitSet FOLLOW_SEMI_in_simpleProcedureType4777 = new BitSet(new long[]{0x0040000000400000L,0x0000400000000000L,0x0000000000100808L}); + public static final BitSet FOLLOW_callConventionNoSemi_in_simpleProcedureType4781 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_REFERENCE_in_procedureReference4830 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_TO_in_procedureReference4832 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000002L}); + public static final BitSet FOLLOW_procedureTypeHeading_in_procedureReference4834 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FUNCTION_in_procedureTypeHeading4879 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_procedureTypeHeading4882 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_procedureTypeHeading4886 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_customAttribute_in_procedureTypeHeading4889 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_procedureTypeHeading4893 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PROCEDURE_in_procedureTypeHeading4941 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_procedureTypeHeading4944 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_VARIANT_in_variantType5000 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ident_in_simpleType5056 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_subRangeType_in_simpleType5089 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_enumType_in_simpleType5122 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constExpression_in_subRangeType5175 = new BitSet(new long[]{0x0000020000000002L}); + public static final BitSet FOLLOW_DOTDOT_in_subRangeType5178 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_subRangeType5180 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_enumType5239 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_enumType5241 = new BitSet(new long[]{0x0004000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_EQUAL_in_enumType5244 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_enumType5246 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_COMMA_in_enumType5251 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_enumType5253 = new BitSet(new long[]{0x0004000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_EQUAL_in_enumType5256 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_enumType5258 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_enumType5265 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_qualifiedIdent_in_typeId5324 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_qualifiedIdent_in_genericTypeIdent5376 = new BitSet(new long[]{0x0000000000000002L,0x0000000004000000L}); + public static final BitSet FOLLOW_genericDefinition_in_genericTypeIdent5379 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LT_in_genericDefinition5436 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_innerGeneric_in_genericDefinition5438 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_genericDefinition5441 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_innerGeneric_in_genericDefinition5443 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L,0x0000000000002000L}); + public static final BitSet FOLLOW_GT_in_genericDefinition5447 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_genericTypeIdent_in_innerGeneric5500 = new BitSet(new long[]{0x0000000003000002L}); + public static final BitSet FOLLOW_COMMA_in_innerGeneric5503 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericTypeIdent_in_innerGeneric5505 = new BitSet(new long[]{0x0000000003000002L}); + public static final BitSet FOLLOW_COLON_in_innerGeneric5510 = new BitSet(new long[]{0x1250181170908140L,0x8002029049001C20L,0xE100100008E8002FL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericConstraint_in_innerGeneric5512 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_COMMA_in_innerGeneric5515 = new BitSet(new long[]{0x1250181170908140L,0x8002029049001C20L,0xE100100008E8002FL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericConstraint_in_innerGeneric5517 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_genericTypeIdent_in_genericConstraint5569 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RECORD_in_genericConstraint5602 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_genericConstraint5635 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CONSTRUCTOR_in_genericConstraint5668 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LT_in_genericPostfix5719 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_genericPostfix5721 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_COMMA_in_genericPostfix5724 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_genericPostfix5726 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_GT_in_genericPostfix5730 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_paranthesePostfix5778 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0002280000000000L}); + public static final BitSet FOLLOW_intRealNum_in_paranthesePostfix5780 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_paranthesePostfix5782 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classTypeTypeDecl_in_classDecl5842 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classHelperDecl_in_classDecl5875 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classTypeDecl_in_classDecl5916 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_interfaceTypeDecl_in_classDecl5957 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_objectDecl_in_classDecl5998 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_recordDecl_in_classDecl6039 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_recordHelperDecl_in_classDecl6080 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_classTypeTypeDecl6136 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_OF_in_classTypeTypeDecl6138 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_typeId_in_classTypeTypeDecl6140 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_classTypeDecl6200 = new BitSet(new long[]{0x1252181978928160L,0x83DA02904B081C22L,0xF10010002AE8122DL,0x000000000000004CL}); + public static final BitSet FOLLOW_classState_in_classTypeDecl6203 = new BitSet(new long[]{0x1252181978928140L,0x83DA02904B081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_classParent_in_classTypeDecl6208 = new BitSet(new long[]{0x1252181978928140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_classItem_in_classTypeDecl6213 = new BitSet(new long[]{0x1252181978928140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_END_in_classTypeDecl6217 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_classTypeDecl6268 = new BitSet(new long[]{0x0000000000000022L,0x0000000002000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_classState_in_classTypeDecl6271 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_classParent_in_classTypeDecl6276 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_classParent6434 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericTypeIdent_in_classParent6436 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_COMMA_in_classParent6439 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericTypeIdent_in_classParent6441 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_classParent6445 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_visibility_in_classItem6513 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_classItem6546 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classField_in_classItem6579 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classProperty_in_classItem6612 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constSection_in_classItem6645 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeSection_in_classItem6678 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_classItem6712 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x1000000002000000L}); + public static final BitSet FOLLOW_varSection_in_classItem6716 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_classHelperDecl6766 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_HELPER_in_classHelperDecl6768 = new BitSet(new long[]{0x8000000000000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_classParent_in_classHelperDecl6771 = new BitSet(new long[]{0x8000000000000000L}); + public static final BitSet FOLLOW_FOR_in_classHelperDecl6775 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_typeId_in_classHelperDecl6777 = new BitSet(new long[]{0x0002000818820000L,0x03D8008000080002L,0x1000000022400200L}); + public static final BitSet FOLLOW_classHelperItem_in_classHelperDecl6780 = new BitSet(new long[]{0x0002000818820000L,0x03D8008000080002L,0x1000000022400200L}); + public static final BitSet FOLLOW_END_in_classHelperDecl6784 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_visibility_in_classHelperItem6849 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_classHelperItem6882 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classProperty_in_classHelperItem6915 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constSection_in_classHelperItem6948 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeSection_in_classHelperItem6981 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_classHelperItem7015 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x1000000002000000L}); + public static final BitSet FOLLOW_varSection_in_classHelperItem7019 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_interfaceKey_in_interfaceTypeDecl7067 = new BitSet(new long[]{0x0002000810800000L,0x0050008002080002L}); + public static final BitSet FOLLOW_classParent_in_interfaceTypeDecl7070 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); + public static final BitSet FOLLOW_interfaceGuid_in_interfaceTypeDecl7075 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); + public static final BitSet FOLLOW_interfaceItem_in_interfaceTypeDecl7080 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); + public static final BitSet FOLLOW_END_in_interfaceTypeDecl7084 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_interfaceKey_in_interfaceTypeDecl7175 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_classParent_in_interfaceTypeDecl7178 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LBRACK_in_interfaceGuid7361 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L}); + public static final BitSet FOLLOW_QuotedString_in_interfaceGuid7363 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_interfaceGuid7365 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_interfaceItem7421 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_interfaceItem7455 = new BitSet(new long[]{0x0000000000800000L,0x0040000000080000L}); + public static final BitSet FOLLOW_classProperty_in_interfaceItem7459 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_OBJECT_in_objectDecl7514 = new BitSet(new long[]{0x1252181970928140L,0x839A02904B081C22L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_classParent_in_objectDecl7517 = new BitSet(new long[]{0x1252181970928140L,0x839A029049081C22L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_objectItem_in_objectDecl7522 = new BitSet(new long[]{0x1252181970928140L,0x839A029049081C22L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_END_in_objectDecl7526 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_visibility_in_objectItem7595 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_objectItem7628 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classField_in_objectItem7661 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_simpleRecord_in_recordDecl7716 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_variantRecord_in_recordDecl7749 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RECORD_in_simpleRecord7802 = new BitSet(new long[]{0x1252181978928140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordField_in_simpleRecord7805 = new BitSet(new long[]{0x1252181978928140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordItem_in_simpleRecord7810 = new BitSet(new long[]{0x1252181978928140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_END_in_simpleRecord7814 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RECORD_in_variantRecord7880 = new BitSet(new long[]{0x1250181978B28140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordField_in_variantRecord7883 = new BitSet(new long[]{0x1250181978B28140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordItem_in_variantRecord7888 = new BitSet(new long[]{0x1250181978B28140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordVariantSection_in_variantRecord7892 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_END_in_variantRecord7894 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_visibility_in_recordItem7965 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_recordItem8003 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classProperty_in_recordItem8036 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constSection_in_recordItem8069 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeSection_in_recordItem8102 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_recordField_in_recordItem8135 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_recordItem8169 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x1000000002000000L}); + public static final BitSet FOLLOW_varSection_in_recordItem8173 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_identList_in_recordField8227 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_recordField8229 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_recordField8231 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_hintingDirective_in_recordField8234 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_recordField8239 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_identList_in_recordVariantField8329 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_recordVariantField8331 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_recordVariantField8333 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_hintingDirective_in_recordVariantField8336 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_recordVariantField8341 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CASE_in_recordVariantSection8428 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_ident_in_recordVariantSection8431 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_recordVariantSection8433 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_recordVariantSection8437 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_OF_in_recordVariantSection8439 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8202DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_recordVariant_in_recordVariantSection8442 = new BitSet(new long[]{0x12501911E0118142L,0x841702955F083C22L,0xE102380008E8202DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_SEMI_in_recordVariantSection8446 = new BitSet(new long[]{0x12501911E0118142L,0x841702955F083C22L,0xE102380008E8202DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_recordVariant_in_recordVariantSection8450 = new BitSet(new long[]{0x12501911E0118142L,0x841702955F083C22L,0xE102380008E8202DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_SEMI_in_recordVariantSection8454 = new BitSet(new long[]{0x12501911E0118142L,0x841702955F083C22L,0xE102380008E8202DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_recordVariant8508 = new BitSet(new long[]{0x0000000003000000L}); + public static final BitSet FOLLOW_COMMA_in_recordVariant8511 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_recordVariant8513 = new BitSet(new long[]{0x0000000003000000L}); + public static final BitSet FOLLOW_COLON_in_recordVariant8517 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_LPAREN_in_recordVariant8519 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8042DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordVariantField_in_recordVariant8522 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8042DL,0x000000000000004CL}); + public static final BitSet FOLLOW_RPAREN_in_recordVariant8526 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RECORD_in_recordHelperDecl8578 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_HELPER_in_recordHelperDecl8580 = new BitSet(new long[]{0x8000000000000000L}); + public static final BitSet FOLLOW_FOR_in_recordHelperDecl8582 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_typeId_in_recordHelperDecl8584 = new BitSet(new long[]{0x0002000818820000L,0x03D8008000080002L,0x0000000000400200L}); + public static final BitSet FOLLOW_recordHelperItem_in_recordHelperDecl8587 = new BitSet(new long[]{0x0002000818820000L,0x03D8008000080002L,0x0000000000400200L}); + public static final BitSet FOLLOW_END_in_recordHelperDecl8591 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_visibility_in_recordHelperItem8640 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constSection_in_recordHelperItem8673 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_recordHelperItem8706 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classProperty_in_recordHelperItem8739 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_classMethod8794 = new BitSet(new long[]{0x0000000810800000L,0x0010000000000000L}); + public static final BitSet FOLLOW_CLASS_in_classMethod8799 = new BitSet(new long[]{0x0000000810000000L,0x0010000000000000L}); + public static final BitSet FOLLOW_methodKey_in_classMethod8803 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classMethod8805 = new BitSet(new long[]{0x0000000000000000L,0x0000000006000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_genericDefinition_in_classMethod8808 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_formalParameterSection_in_classMethod8813 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classMethod8817 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_methodDirective_in_classMethod8820 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_customAttribute_in_classMethod8928 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_classMethod8933 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_FUNCTION_in_classMethod8937 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classMethod8939 = new BitSet(new long[]{0x0000000001000000L,0x0000000006000000L}); + public static final BitSet FOLLOW_genericDefinition_in_classMethod8942 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_classMethod8947 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_classMethod8951 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_customAttribute_in_classMethod8954 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_classMethod8958 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classMethod8960 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_methodDirective_in_classMethod8963 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_customAttribute_in_classMethod9080 = new BitSet(new long[]{0x0000000000800000L,0x0000008000000000L}); + public static final BitSet FOLLOW_CLASS_in_classMethod9085 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); + public static final BitSet FOLLOW_OPERATOR_in_classMethod9089 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classMethod9091 = new BitSet(new long[]{0x0000000001000000L,0x0000000006000000L}); + public static final BitSet FOLLOW_genericDefinition_in_classMethod9094 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_classMethod9099 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_classMethod9103 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_customAttribute_in_classMethod9106 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_classMethod9110 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classMethod9112 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_methodDirective_in_classMethod9115 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_customAttribute_in_classMethod9229 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_classMethod9234 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_FUNCTION_in_classMethod9238 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classMethod9240 = new BitSet(new long[]{0x0000010000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_genericDefinition_in_classMethod9243 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_DOT_in_classMethod9247 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classMethod9249 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_EQUAL_in_classMethod9251 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classMethod9253 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classMethod9255 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_classMethod9289 = new BitSet(new long[]{0x0000000000800000L,0x0010000000000000L}); + public static final BitSet FOLLOW_CLASS_in_classMethod9294 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L}); + public static final BitSet FOLLOW_PROCEDURE_in_classMethod9298 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classMethod9300 = new BitSet(new long[]{0x0000010000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_genericDefinition_in_classMethod9303 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_DOT_in_classMethod9307 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classMethod9309 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_EQUAL_in_classMethod9311 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classMethod9313 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classMethod9315 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_classField9371 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_identList_in_classField9375 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_classField9377 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_classField9379 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classField9381 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L}); + public static final BitSet FOLLOW_hintingDirective_in_classField9384 = new BitSet(new long[]{0x0020000400000002L,0x0000800000800000L}); + public static final BitSet FOLLOW_customAttribute_in_classProperty9491 = new BitSet(new long[]{0x0000000000800000L,0x0040000000000000L}); + public static final BitSet FOLLOW_CLASS_in_classProperty9496 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L}); + public static final BitSet FOLLOW_PROPERTY_in_classProperty9500 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_classProperty9502 = new BitSet(new long[]{0x0000001101000000L,0x8000000200081400L,0x0000000000202001L,0x000000000000000CL}); + public static final BitSet FOLLOW_classPropertyArray_in_classProperty9505 = new BitSet(new long[]{0x0000001101000000L,0x8000000200001400L,0x0000000000202001L,0x000000000000000CL}); + public static final BitSet FOLLOW_COLON_in_classProperty9510 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericTypeIdent_in_classProperty9512 = new BitSet(new long[]{0x0000001100000000L,0x8000000200001400L,0x0000000000202001L,0x000000000000000CL}); + public static final BitSet FOLLOW_classPropertyIndex_in_classProperty9517 = new BitSet(new long[]{0x0000001100000000L,0x8000000200000400L,0x0000000000202001L,0x000000000000000CL}); + public static final BitSet FOLLOW_classPropertySpecifier_in_classProperty9522 = new BitSet(new long[]{0x0000001100000000L,0x8000000200000400L,0x0000000000202001L,0x000000000000000CL}); + public static final BitSet FOLLOW_SEMI_in_classProperty9526 = new BitSet(new long[]{0x0000000100000002L,0x0000000200000000L,0x0000000000200000L}); + public static final BitSet FOLLOW_classPropertyEndSpecifier_in_classProperty9529 = new BitSet(new long[]{0x0000000100000002L,0x0000000200000000L,0x0000000000200000L}); + public static final BitSet FOLLOW_LBRACK_in_classPropertyArray9695 = new BitSet(new long[]{0x1250181168108140L,0x8002029049081C20L,0xF100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_formalParameterList_in_classPropertyArray9697 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_classPropertyArray9699 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_INDEX_in_classPropertyIndex9746 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_classPropertyIndex9748 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classPropertyIndex9751 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classPropertyReadWrite_in_classPropertySpecifier9798 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classPropertyDispInterface_in_classPropertySpecifier9834 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_STORED_in_classPropertySpecifier9867 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_classPropertySpecifier9869 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DEFAULT_in_classPropertySpecifier9902 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_classPropertySpecifier9904 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DEFAULT_in_classPropertySpecifier9937 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NODEFAULT_in_classPropertySpecifier9986 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_IMPLEMENTS_in_classPropertySpecifier10019 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericTypeIdent_in_classPropertySpecifier10021 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_STORED_in_classPropertyEndSpecifier10061 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_classPropertyEndSpecifier10063 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classPropertyEndSpecifier10065 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DEFAULT_in_classPropertyEndSpecifier10102 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_classPropertyEndSpecifier10104 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classPropertyEndSpecifier10106 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DEFAULT_in_classPropertyEndSpecifier10139 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classPropertyEndSpecifier10141 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NODEFAULT_in_classPropertyEndSpecifier10174 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classPropertyEndSpecifier10176 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_READ_in_classPropertyReadWrite10220 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_qualifiedIdent_in_classPropertyReadWrite10222 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_LBRACK_in_classPropertyReadWrite10225 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_classPropertyReadWrite10227 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_classPropertyReadWrite10229 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_WRITE_in_classPropertyReadWrite10303 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_qualifiedIdent_in_classPropertyReadWrite10305 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_LBRACK_in_classPropertyReadWrite10308 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_classPropertyReadWrite10310 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_classPropertyReadWrite10312 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_READONLY_in_classPropertyDispInterface10391 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classPropertyDispInterface10393 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_WRITEONLY_in_classPropertyDispInterface10426 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_classPropertyDispInterface10428 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_dispIDDirective_in_classPropertyDispInterface10461 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_STRICT_in_visibility10517 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L}); + public static final BitSet FOLLOW_PROTECTED_in_visibility10521 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_STRICT_in_visibility10555 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L}); + public static final BitSet FOLLOW_PRIVATE_in_visibility10559 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PUBLIC_in_visibility10592 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PUBLISHED_in_visibility10625 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_AUTOMATED_in_visibility10658 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PROCEDURE_in_exportedProcHeading10712 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_exportedProcHeading10714 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_exportedProcHeading10717 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_exportedProcHeading10721 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_customAttribute_in_exportedProcHeading10724 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_exportedProcHeading10728 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_exportedProcHeading10730 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x2100000000100808L}); + public static final BitSet FOLLOW_functionDirective_in_exportedProcHeading10733 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x2100000000100808L}); + public static final BitSet FOLLOW_FUNCTION_in_exportedProcHeading10768 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_exportedProcHeading10770 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_formalParameterSection_in_exportedProcHeading10773 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_exportedProcHeading10777 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x2100000000100808L}); + public static final BitSet FOLLOW_functionDirective_in_exportedProcHeading10780 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x2100000000100808L}); + public static final BitSet FOLLOW_methodDeclHeading_in_methodDecl10837 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_methodDecl10839 = new BitSet(new long[]{0x15E0201C18C81822L,0x0010CC00898C8002L,0xB000000022182A18L}); + public static final BitSet FOLLOW_methodDirective_in_methodDecl10842 = new BitSet(new long[]{0x15E0201C18C81822L,0x0010CC00898C8002L,0xB000000022182A18L}); + public static final BitSet FOLLOW_methodBody_in_methodDecl10847 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading10907 = new BitSet(new long[]{0x0000000810800000L,0x0010000000000000L}); + public static final BitSet FOLLOW_CLASS_in_methodDeclHeading10912 = new BitSet(new long[]{0x0000000810000000L,0x0010000000000000L}); + public static final BitSet FOLLOW_methodKey_in_methodDeclHeading10917 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_methodName_in_methodDeclHeading10919 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_methodDeclHeading10922 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading11020 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_methodDeclHeading11025 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_FUNCTION_in_methodDeclHeading11029 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_methodName_in_methodDeclHeading11031 = new BitSet(new long[]{0x0000000001000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_methodDeclHeading11034 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_COLON_in_methodDeclHeading11039 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading11042 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_methodDeclHeading11046 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading11155 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_CLASS_in_methodDeclHeading11159 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); + public static final BitSet FOLLOW_OPERATOR_in_methodDeclHeading11161 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_methodName_in_methodDeclHeading11163 = new BitSet(new long[]{0x0000000001000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_methodDeclHeading11166 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_COLON_in_methodDeclHeading11171 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_customAttribute_in_methodDeclHeading11174 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_methodDeclHeading11178 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ident_in_methodName11427 = new BitSet(new long[]{0x0000010000000002L,0x0000000004000000L}); + public static final BitSet FOLLOW_genericDefinition_in_methodName11430 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_DOT_in_methodName11435 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_methodName11437 = new BitSet(new long[]{0x0000010000000002L,0x0000000004000000L}); + public static final BitSet FOLLOW_genericDefinition_in_methodName11440 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_procDeclHeading_in_procDecl11501 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_procDecl11503 = new BitSet(new long[]{0x05E0000C18C81802L,0x0010C400818C8003L,0x3100000022102A08L}); + public static final BitSet FOLLOW_functionDirective_in_procDecl11506 = new BitSet(new long[]{0x05E0000C18C81802L,0x0010C400818C8003L,0x3100000022102A08L}); + public static final BitSet FOLLOW_procBody_in_procDecl11511 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_procDeclHeading11577 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L}); + public static final BitSet FOLLOW_PROCEDURE_in_procDeclHeading11581 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_procDeclHeading11583 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_procDeclHeading11586 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_procDeclHeading11686 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_FUNCTION_in_procDeclHeading11690 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_procDeclHeading11692 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_procDeclHeading11695 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_procDeclHeading11699 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_procDeclHeading11701 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_formalParameterSection11801 = new BitSet(new long[]{0x1250181168108140L,0x8002029049081C20L,0xF100100008E8042DL,0x000000000000004CL}); + public static final BitSet FOLLOW_formalParameterList_in_formalParameterSection11804 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_formalParameterSection11808 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_formalParameter_in_formalParameterList11861 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_formalParameterList11864 = new BitSet(new long[]{0x1250181168108140L,0x8002029049081C20L,0xF100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_formalParameter_in_formalParameterList11866 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_customAttribute_in_formalParameter11928 = new BitSet(new long[]{0x1250181168108140L,0x8002029049001C20L,0xF100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_parmType_in_formalParameter11933 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_identListFlat_in_formalParameter11937 = new BitSet(new long[]{0x0004000001000002L}); + public static final BitSet FOLLOW_COLON_in_formalParameter11940 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_formalParameter11942 = new BitSet(new long[]{0x0004000000000002L}); + public static final BitSet FOLLOW_EQUAL_in_formalParameter11947 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_formalParameter11949 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_block_in_methodBody12172 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_methodBody12174 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FORWARD_in_procBody12235 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_procBody12237 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x2100000000100808L}); + public static final BitSet FOLLOW_functionDirective_in_procBody12240 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x2100000000100808L}); + public static final BitSet FOLLOW_EXTERNAL_in_procBody12278 = new BitSet(new long[]{0x0560000400401002L,0x0000C400C1809000L,0x2100000000100808L}); + public static final BitSet FOLLOW_NAME_in_procBody12281 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_procBody12283 = new BitSet(new long[]{0x0560000400401002L,0x0000C400C1809000L,0x2100000000100808L}); + public static final BitSet FOLLOW_INDEX_in_procBody12287 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_procBody12289 = new BitSet(new long[]{0x0560000400401002L,0x0000C400C1809000L,0x2100000000100808L}); + public static final BitSet FOLLOW_functionDirective_in_procBody12294 = new BitSet(new long[]{0x0560000400401002L,0x0000C40081808000L,0x2100000000100808L}); + public static final BitSet FOLLOW_block_in_procBody12330 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_procBody12332 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttributeList_in_customAttribute12385 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttributeDecl_in_customAttributeList12432 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_LBRACK_in_customAttributeDecl12480 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_customAttributeIdent_in_customAttributeDecl12482 = new BitSet(new long[]{0x0000000000000000L,0x1000000002000000L}); + public static final BitSet FOLLOW_LPAREN_in_customAttributeDecl12485 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8042DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expressionList_in_customAttributeDecl12488 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_customAttributeDecl12492 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_customAttributeDecl12496 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_qualifiedIdent_in_customAttributeIdent12566 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_COLON_in_customAttributeIdent12569 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_qualifiedIdent_in_customAttributeIdent12571 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_anonymousExpression_in_expression12631 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_simpleExpression_in_expression12672 = new BitSet(new long[]{0x0004000000000002L,0x0000000804420814L}); + public static final BitSet FOLLOW_relOp_in_expression12675 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_simpleExpression_in_expression12677 = new BitSet(new long[]{0x0004000000000002L}); + public static final BitSet FOLLOW_EQUAL_in_expression12682 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_expression12684 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PROCEDURE_in_anonymousExpression12735 = new BitSet(new long[]{0x0080000818880800L,0x00100000020C0002L,0x1000000022000200L}); + public static final BitSet FOLLOW_formalParameterSection_in_anonymousExpression12738 = new BitSet(new long[]{0x0080000818880800L,0x00100000000C0002L,0x1000000022000200L}); + public static final BitSet FOLLOW_block_in_anonymousExpression12742 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FUNCTION_in_anonymousExpression12775 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_anonymousExpression12778 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_anonymousExpression12782 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_anonymousExpression12784 = new BitSet(new long[]{0x0080000818880800L,0x00100000000C0002L,0x1000000022000200L}); + public static final BitSet FOLLOW_block_in_anonymousExpression12786 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_factor_in_simpleExpression12835 = new BitSet(new long[]{0x0000004000000482L,0x0001010030000000L,0x0000000000078000L,0x000000000001F720L}); + public static final BitSet FOLLOW_operator_in_simpleExpression12838 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_simpleExpression12840 = new BitSet(new long[]{0x0000004000000482L,0x0001010030000000L,0x0000000000078000L,0x000000000001F720L}); + public static final BitSet FOLLOW_AT2_in_factor12901 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_factor12903 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_199_in_factor12936 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_factor12938 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NOT_in_factor12978 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_factor12980 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PLUS_in_factor13013 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_factor13015 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_MINUS_in_factor13048 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_factor13050 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_POINTER2_in_factor13083 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_factor13085 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_intRealNum_in_factor13129 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TRUE_in_factor13162 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FALSE_in_factor13195 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NIL_in_factor13228 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_210_in_factor13261 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_factor13339 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_factor13341 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_factor13343 = new BitSet(new long[]{0x1250191160118140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_factor13345 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_factor13378 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_factor13380 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_factor13382 = new BitSet(new long[]{0x0000010000000002L,0x0004000000000000L}); + public static final BitSet FOLLOW_POINTER2_in_factor13385 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_DOT_in_factor13390 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_factor13392 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_stringFactor_in_factor13435 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_DOT_in_factor13438 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_simpleExpression_in_factor13440 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_setSection_in_factor13475 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_designator_in_factor13508 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeId_in_factor13541 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_LPAREN_in_factor13543 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_factor13545 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_factor13547 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_controlString_in_stringFactor13601 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L}); + public static final BitSet FOLLOW_QuotedString_in_stringFactor13605 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_controlString_in_stringFactor13608 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L}); + public static final BitSet FOLLOW_QuotedString_in_stringFactor13614 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_QuotedString_in_stringFactor13649 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_controlString_in_stringFactor13653 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L}); + public static final BitSet FOLLOW_QuotedString_in_stringFactor13656 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_controlString_in_stringFactor13661 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ControlChar_in_controlString13715 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_ControlChar_in_controlString13718 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_LBRACK_in_setSection13775 = new BitSet(new long[]{0x12501911E0118140L,0x941702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_setSection13778 = new BitSet(new long[]{0x0000020002000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_set_in_setSection13781 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_setSection13789 = new BitSet(new long[]{0x0000020002000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_setSection13795 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_203_in_designator13852 = new BitSet(new long[]{0x1250191160118142L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002004CL}); + public static final BitSet FOLLOW_INHERITED_in_designator13857 = new BitSet(new long[]{0x1250191160118142L,0x800602904F081C20L,0xE100100008E8002DL,0x000000000002004CL}); + public static final BitSet FOLLOW_qualifiedIdent_in_designator13864 = new BitSet(new long[]{0x0000010000010002L,0x0004000006080000L,0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_typeId_in_designator13868 = new BitSet(new long[]{0x0000010000010002L,0x0004000006080000L,0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_designatorItem_in_designator13875 = new BitSet(new long[]{0x0000010000010002L,0x0004000006080000L,0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_POINTER2_in_designatorItem13928 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_209_in_designatorItem13961 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_designatorItem13994 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_designatorItem14002 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LT_in_designatorItem14050 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericTypeIdent_in_designatorItem14052 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_COMMA_in_designatorItem14055 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_genericTypeIdent_in_designatorItem14057 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_GT_in_designatorItem14061 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LBRACK_in_designatorItem14102 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expressionList_in_designatorItem14104 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_designatorItem14106 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_designatorItem14139 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8042DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_designatorItem14142 = new BitSet(new long[]{0x0000000003000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_colonConstruct_in_designatorItem14145 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_COMMA_in_designatorItem14150 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_designatorItem14152 = new BitSet(new long[]{0x0000000003000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_colonConstruct_in_designatorItem14155 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_designatorItem14163 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expression_in_expressionList14240 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_COMMA_in_expressionList14243 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_expressionList14245 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_COLON_in_colonConstruct14298 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_colonConstruct14300 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_COLON_in_colonConstruct14303 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_colonConstruct14305 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ifStatement_in_statement15343 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_caseStatement_in_statement15376 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_repeatStatement_in_statement15409 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_whileStatement_in_statement15442 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_forStatement_in_statement15475 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_withStatement_in_statement15508 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_tryStatement_in_statement15541 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_raiseStatement_in_statement15574 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_assemblerStatement_in_statement15607 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_compoundStatement_in_statement15640 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_label_in_statement15673 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_statement15675 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_statement15677 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_simpleStatement_in_statement15710 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_IF_in_ifStatement15764 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_ifStatement15766 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000001000000L}); + public static final BitSet FOLLOW_THEN_in_ifStatement15768 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_ifStatement15770 = new BitSet(new long[]{0x0001000000000002L}); + public static final BitSet FOLLOW_ELSE_in_ifStatement15773 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_ifStatement15775 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CASE_in_caseStatement15829 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_caseStatement15831 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_OF_in_caseStatement15833 = new BitSet(new long[]{0x12531911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_caseItem_in_caseStatement15836 = new BitSet(new long[]{0x12531911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_ELSE_in_caseStatement15841 = new BitSet(new long[]{0x925219116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_caseStatement15843 = new BitSet(new long[]{0x0002000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_caseStatement15846 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_END_in_caseStatement15852 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_caseLabel_in_caseItem15909 = new BitSet(new long[]{0x0000000003000000L}); + public static final BitSet FOLLOW_COMMA_in_caseItem15912 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_caseLabel_in_caseItem15914 = new BitSet(new long[]{0x0000000003000000L}); + public static final BitSet FOLLOW_COLON_in_caseItem15918 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_caseItem15920 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_caseItem15923 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expression_in_caseLabel15982 = new BitSet(new long[]{0x0000020000000002L}); + public static final BitSet FOLLOW_DOTDOT_in_caseLabel15985 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_caseLabel15987 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_REPEAT_in_repeatStatement16039 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF300380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_repeatStatement16042 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0200000000000000L}); + public static final BitSet FOLLOW_UNTIL_in_repeatStatement16046 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_repeatStatement16048 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_WHILE_in_whileStatement16099 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_whileStatement16101 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_DO_in_whileStatement16103 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_whileStatement16105 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FOR_in_forStatement16158 = new BitSet(new long[]{0x125019116011C140L,0x800602904F083C20L,0xF100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_VAR_in_forStatement16161 = new BitSet(new long[]{0x125019116011C140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_forStatement16165 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_ASSIGN_in_forStatement16167 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_forStatement16169 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_TO_in_forStatement16171 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_forStatement16173 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_DO_in_forStatement16175 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_forStatement16177 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FOR_in_forStatement16210 = new BitSet(new long[]{0x125019116011C140L,0x800602904F083C20L,0xF100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_VAR_in_forStatement16213 = new BitSet(new long[]{0x125019116011C140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_forStatement16217 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_ASSIGN_in_forStatement16219 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_forStatement16221 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_DOWNTO_in_forStatement16223 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_forStatement16225 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_DO_in_forStatement16227 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_forStatement16229 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FOR_in_forStatement16262 = new BitSet(new long[]{0x1250191160118140L,0x800602904F083C20L,0xF100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_VAR_in_forStatement16265 = new BitSet(new long[]{0x1250191160118140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_forStatement16269 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_IN_in_forStatement16271 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_forStatement16273 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_DO_in_forStatement16275 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_forStatement16277 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_WITH_in_withStatement16329 = new BitSet(new long[]{0x1250191160118540L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_withItemList_in_withStatement16331 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_DO_in_withStatement16333 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_withStatement16335 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_withItem_in_withItemList16388 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_COMMA_in_withItemList16391 = new BitSet(new long[]{0x1250191160118540L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_withItem_in_withItemList16393 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_designator_in_withItem16452 = new BitSet(new long[]{0x0000000000000402L}); + public static final BitSet FOLLOW_AS_in_withItem16455 = new BitSet(new long[]{0x1250191160118140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_withItem16457 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_BEGIN_in_compoundStatement16507 = new BitSet(new long[]{0x925219116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_compoundStatement16510 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_END_in_compoundStatement16514 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statement_in_statementList16580 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_statementList16585 = new BitSet(new long[]{0x925019116039C942L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_statementList16588 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_designator_in_simpleStatement16642 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_ASSIGN_in_simpleStatement16644 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_simpleStatement16646 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_designator_in_simpleStatement16679 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_gotoStatement_in_simpleStatement16713 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_inlineVarDeclaration_in_simpleStatement16746 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_GOTO_in_gotoStatement16798 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100380008E8002DL,0x000000000000000CL}); + public static final BitSet FOLLOW_label_in_gotoStatement16800 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EXIT_in_gotoStatement16833 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_LPAREN_in_gotoStatement16836 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_gotoStatement16838 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_gotoStatement16840 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_BREAK_in_gotoStatement16875 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CONTINUE_in_gotoStatement16908 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_constExpression16961 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordConstExpression_in_constExpression16963 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002400L}); + public static final BitSet FOLLOW_SEMI_in_constExpression16966 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordConstExpression_in_constExpression16968 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002400L}); + public static final BitSet FOLLOW_RPAREN_in_constExpression16972 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_constExpression17006 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_constExpression17008 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_COMMA_in_constExpression17011 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_constExpression17013 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_constExpression17017 = new BitSet(new long[]{0x12501911E0118142L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_constExpression17020 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expression_in_constExpression17056 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ident_in_recordConstExpression17100 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_recordConstExpression17102 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_recordConstExpression17104 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_recordConstExpression17107 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TRY_in_tryStatement17165 = new BitSet(new long[]{0x925819116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_tryStatement17168 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_EXCEPT_in_tryStatement17172 = new BitSet(new long[]{0x925319116039C940L,0x880602D04F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_handlerList_in_tryStatement17174 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_END_in_tryStatement17176 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TRY_in_tryStatement17209 = new BitSet(new long[]{0xD25019116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_tryStatement17212 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_FINALLY_in_tryStatement17216 = new BitSet(new long[]{0x925219116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_tryStatement17219 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_END_in_tryStatement17223 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_handler_in_handlerList17278 = new BitSet(new long[]{0x0001000000000002L,0x0000004000000000L}); + public static final BitSet FOLLOW_ELSE_in_handlerList17283 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_handlerList17285 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statementList_in_handlerList17320 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ON_in_handler17378 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_handlerIdent_in_handler17381 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_typeId_in_handler17385 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_DO_in_handler17387 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_handlerStatement_in_handler17389 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ident_in_handlerIdent17444 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_handlerIdent17446 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statement_in_handlerStatement17495 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_handlerStatement17498 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SEMI_in_handlerStatement17533 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RAISE_in_raiseStatement17584 = new BitSet(new long[]{0x1250191160118140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_raiseStatement17587 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_AT_in_raiseStatement17592 = new BitSet(new long[]{0x1250191160118140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_raiseStatement17594 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ASM_in_assemblerStatement17647 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0xFFFFFFFFFFFFFFFFL,0x000000000007FFFFL}); + public static final BitSet FOLLOW_END_in_assemblerStatement17655 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_reintroduceDirective_in_methodDirective17728 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_overloadDirective_in_methodDirective17770 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_bindingDirective_in_methodDirective17815 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_abstractDirective_in_methodDirective17861 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_inlineDirective_in_methodDirective17906 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_callConvention_in_methodDirective17953 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_hintingDirective_in_methodDirective18001 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_methodDirective18003 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_oldCallConventionDirective_in_methodDirective18045 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_dispIDDirective_in_methodDirective18081 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_externalDirective_in_methodDirective18114 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_overloadDirective_in_functionDirective18162 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_inlineDirective_in_functionDirective18205 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_callConvention_in_functionDirective18250 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_oldCallConventionDirective_in_functionDirective18296 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_hintingDirective_in_functionDirective18330 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_functionDirective18332 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_callConventionNoSemi_in_functionDirective18373 = new BitSet(new long[]{0x0100000000000000L,0x0000000000000000L,0x2000000000000000L}); + public static final BitSet FOLLOW_externalDirective_in_functionDirective18377 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_externalDirective_in_functionDirective18420 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_UNSAFE_in_functionDirective18453 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_functionDirective18455 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_REINTRODUCE_in_reintroduceDirective18515 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_reintroduceDirective18518 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_OVERLOAD_in_overloadDirective18568 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_overloadDirective18571 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_MESSAGE_in_bindingDirective18626 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_bindingDirective18628 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_bindingDirective18630 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_STATIC_in_bindingDirective18663 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_bindingDirective18665 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DYNAMIC_in_bindingDirective18698 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_bindingDirective18700 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_OVERRIDE_in_bindingDirective18733 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_bindingDirective18735 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_VIRTUAL_in_bindingDirective18768 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_bindingDirective18770 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ABSTRACT_in_abstractDirective18818 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_abstractDirective18820 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FINAL_in_abstractDirective18853 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_abstractDirective18855 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_INLINE_in_inlineDirective18905 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_inlineDirective18907 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ASSEMBLER_in_inlineDirective18940 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_inlineDirective18942 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CDECL_in_callConvention18994 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_callConvention18996 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PASCAL_in_callConvention19033 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_callConvention19035 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_REGISTER_in_callConvention19071 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_callConvention19073 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SAFECALL_in_callConvention19107 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_callConvention19109 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_STDCALL_in_callConvention19143 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_callConvention19145 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EXPORT_in_callConvention19180 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_callConvention19182 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FAR_in_oldCallConventionDirective19448 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_oldCallConventionDirective19450 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LOCAL_in_oldCallConventionDirective19489 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_oldCallConventionDirective19491 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NEAR_in_oldCallConventionDirective19528 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_oldCallConventionDirective19530 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DEPRECATED_in_hintingDirective19584 = new BitSet(new long[]{0x0000000080000002L,0x0400000000000000L}); + public static final BitSet FOLLOW_stringFactor_in_hintingDirective19587 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EXPERIMENTAL_in_hintingDirective19622 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PLATFORM_in_hintingDirective19657 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LIBRARY_in_hintingDirective19690 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_VARARGS_in_externalDirective19738 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_externalDirective19740 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EXTERNAL_in_externalDirective19776 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_externalDirective19778 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EXTERNAL_in_externalDirective19811 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_externalDirective19813 = new BitSet(new long[]{0x0000000200000000L,0x0000000040001000L,0x0000000000002000L}); + public static final BitSet FOLLOW_externalSpecifier_in_externalDirective19816 = new BitSet(new long[]{0x0000000200000000L,0x0000000040001000L,0x0000000000002000L}); + public static final BitSet FOLLOW_DELAYED_in_externalDirective19821 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_externalDirective19825 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NAME_in_externalSpecifier19874 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_externalSpecifier19876 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_INDEX_in_externalSpecifier19909 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_externalSpecifier19911 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DISPID_in_dispIDDirective19964 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_dispIDDirective19966 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_dispIDDirective19968 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TkIdentifier_in_ident20031 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_198_in_ident20064 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000100000000000L}); + public static final BitSet FOLLOW_TkIdentifier_in_ident20066 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_198_in_ident20103 = new BitSet(new long[]{0xFFFB3CFD78FABFF0L,0x8BFAFFF7E987FF2BL,0xF78000003FF9DBFFL,0x000000000000002FL}); + public static final BitSet FOLLOW_keywordsAsIdentifier_in_ident20105 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_usedKeywordsAsNames_in_ident20142 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ident_in_identList21451 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_COMMA_in_identList21454 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_identList21456 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_ident_in_identListFlat21521 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_COMMA_in_identListFlat21524 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_identListFlat21526 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_TkIdentifier_in_label21600 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TkIntNum_in_label21633 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TkHexNum_in_label21666 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_usedKeywordsAsNames_in_label21699 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TkRealNum_in_intRealNum21754 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_intNum_in_intRealNum21787 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ident_in_namespaceName21931 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_DOT_in_namespaceName21934 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_namespaceName21936 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_ident_in_qualifiedIdent21991 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_DOT_in_qualifiedIdent21993 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_qualifiedIdent21998 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_declSection_in_synpred23_Delphi1593 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_blockBody_in_synpred24_Delphi1598 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_methodDecl_in_synpred30_Delphi1875 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procDecl_in_synpred31_Delphi1908 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_exportedProcHeading_in_synpred35_Delphi2092 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procDecl_in_synpred37_Delphi2158 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constDeclaration_in_synpred39_Delphi2307 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred41_Delphi2462 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeDeclaration_in_synpred44_Delphi2556 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred45_Delphi2622 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_varDeclaration_in_synpred47_Delphi2719 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred49_Delphi2879 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_VAR_in_synpred53_Delphi2963 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_synpred53_Delphi2965 = new BitSet(new long[]{0x0000000001004000L}); + public static final BitSet FOLLOW_COLON_in_synpred53_Delphi2968 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_synpred53_Delphi2970 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_ASSIGN_in_synpred53_Delphi2974 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred53_Delphi2976 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ABSOLUTE_in_synpred54_Delphi3070 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_qualifiedIdent_in_synpred54_Delphi3072 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ABSOLUTE_in_synpred55_Delphi3105 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_synpred55_Delphi3107 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_strucType_in_synpred62_Delphi3352 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_pointerType_in_synpred63_Delphi3385 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_stringType_in_synpred64_Delphi3418 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procedureType_in_synpred65_Delphi3451 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_variantType_in_synpred66_Delphi3484 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_genericPostfix_in_synpred68_Delphi3525 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DOT_in_synpred69_Delphi3530 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_synpred69_Delphi3532 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_paranthesePostfix_in_synpred70_Delphi3537 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TYPE_in_synpred71_Delphi3518 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_typeId_in_synpred71_Delphi3522 = new BitSet(new long[]{0x0000010000000002L,0x0000000006000000L}); + public static final BitSet FOLLOW_genericPostfix_in_synpred71_Delphi3525 = new BitSet(new long[]{0x0000010000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_DOT_in_synpred71_Delphi3530 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_synpred71_Delphi3532 = new BitSet(new long[]{0x0000010000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_paranthesePostfix_in_synpred71_Delphi3537 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CONST_in_synpred81_Delphi4118 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_OF_in_synpred82_Delphi4290 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_synpred82_Delphi4292 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LBRACK_in_synpred84_Delphi4441 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred84_Delphi4443 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_RBRACK_in_synpred84_Delphi4445 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_codePageNumber_in_synpred87_Delphi4492 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_methodType_in_synpred88_Delphi4601 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_simpleProcedureType_in_synpred89_Delphi4634 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SEMI_in_synpred91_Delphi4777 = new BitSet(new long[]{0x0040000000400000L,0x0000400000000000L,0x0000000000100808L}); + public static final BitSet FOLLOW_callConventionNoSemi_in_synpred91_Delphi4781 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred93_Delphi4889 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_formalParameterSection_in_synpred95_Delphi4944 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ident_in_synpred96_Delphi5056 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_subRangeType_in_synpred97_Delphi5089 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DOTDOT_in_synpred98_Delphi5178 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_synpred98_Delphi5180 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classTypeTypeDecl_in_synpred111_Delphi5842 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classHelperDecl_in_synpred112_Delphi5875 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classTypeDecl_in_synpred113_Delphi5916 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_recordDecl_in_synpred116_Delphi6039 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_synpred120_Delphi6200 = new BitSet(new long[]{0x1252181978928160L,0x83DA02904B081C22L,0xF10010002AE8122DL,0x000000000000004CL}); + public static final BitSet FOLLOW_classState_in_synpred120_Delphi6203 = new BitSet(new long[]{0x1252181978928140L,0x83DA02904B081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_classParent_in_synpred120_Delphi6208 = new BitSet(new long[]{0x1252181978928140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_classItem_in_synpred120_Delphi6213 = new BitSet(new long[]{0x1252181978928140L,0x83DA029049081C22L,0xF10010002AE8022DL,0x000000000000004CL}); + public static final BitSet FOLLOW_END_in_synpred120_Delphi6217 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classParent_in_synpred122_Delphi6276 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_visibility_in_synpred125_Delphi6513 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_synpred126_Delphi6546 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classField_in_synpred127_Delphi6579 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classProperty_in_synpred128_Delphi6612 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_synpred135_Delphi6882 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classProperty_in_synpred136_Delphi6915 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_interfaceKey_in_synpred143_Delphi7067 = new BitSet(new long[]{0x0002000810800000L,0x0050008002080002L}); + public static final BitSet FOLLOW_classParent_in_synpred143_Delphi7070 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); + public static final BitSet FOLLOW_interfaceGuid_in_synpred143_Delphi7075 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); + public static final BitSet FOLLOW_interfaceItem_in_synpred143_Delphi7080 = new BitSet(new long[]{0x0002000810800000L,0x0050008000080002L}); + public static final BitSet FOLLOW_END_in_synpred143_Delphi7084 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classParent_in_synpred144_Delphi7178 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_synpred146_Delphi7421 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_synpred147_Delphi7455 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_visibility_in_synpred150_Delphi7595 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_synpred151_Delphi7628 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_simpleRecord_in_synpred152_Delphi7716 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_recordField_in_synpred153_Delphi7805 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_recordField_in_synpred155_Delphi7883 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_visibility_in_synpred157_Delphi7965 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_synpred158_Delphi8003 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classProperty_in_synpred159_Delphi8036 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_recordField_in_synpred162_Delphi8135 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_classMethod_in_synpred177_Delphi8706 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred178_Delphi8794 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred183_Delphi8794 = new BitSet(new long[]{0x0000000810800000L,0x0010000000000000L}); + public static final BitSet FOLLOW_CLASS_in_synpred183_Delphi8799 = new BitSet(new long[]{0x0000000810000000L,0x0010000000000000L}); + public static final BitSet FOLLOW_methodKey_in_synpred183_Delphi8803 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_synpred183_Delphi8805 = new BitSet(new long[]{0x0000000000000000L,0x0000000006000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_genericDefinition_in_synpred183_Delphi8808 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_formalParameterSection_in_synpred183_Delphi8813 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_synpred183_Delphi8817 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_methodDirective_in_synpred183_Delphi8820 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_customAttribute_in_synpred184_Delphi8928 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred188_Delphi8954 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred190_Delphi8928 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_synpred190_Delphi8933 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_FUNCTION_in_synpred190_Delphi8937 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_synpred190_Delphi8939 = new BitSet(new long[]{0x0000000001000000L,0x0000000006000000L}); + public static final BitSet FOLLOW_genericDefinition_in_synpred190_Delphi8942 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_synpred190_Delphi8947 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_synpred190_Delphi8951 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_customAttribute_in_synpred190_Delphi8954 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_synpred190_Delphi8958 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_synpred190_Delphi8960 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_methodDirective_in_synpred190_Delphi8963 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_customAttribute_in_synpred191_Delphi9080 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred195_Delphi9106 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred197_Delphi9080 = new BitSet(new long[]{0x0000000000800000L,0x0000008000000000L}); + public static final BitSet FOLLOW_CLASS_in_synpred197_Delphi9085 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); + public static final BitSet FOLLOW_OPERATOR_in_synpred197_Delphi9089 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_synpred197_Delphi9091 = new BitSet(new long[]{0x0000000001000000L,0x0000000006000000L}); + public static final BitSet FOLLOW_genericDefinition_in_synpred197_Delphi9094 = new BitSet(new long[]{0x0000000001000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_synpred197_Delphi9099 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_synpred197_Delphi9103 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_customAttribute_in_synpred197_Delphi9106 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_synpred197_Delphi9110 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_synpred197_Delphi9112 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_methodDirective_in_synpred197_Delphi9115 = new BitSet(new long[]{0x1560201400401022L,0x0000CC0089808000L,0xA000000000180818L}); + public static final BitSet FOLLOW_customAttribute_in_synpred198_Delphi9229 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred201_Delphi9229 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_synpred201_Delphi9234 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_FUNCTION_in_synpred201_Delphi9238 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_synpred201_Delphi9240 = new BitSet(new long[]{0x0000010000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_genericDefinition_in_synpred201_Delphi9243 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_DOT_in_synpred201_Delphi9247 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_synpred201_Delphi9249 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_EQUAL_in_synpred201_Delphi9251 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_synpred201_Delphi9253 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_synpred201_Delphi9255 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred202_Delphi9289 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred205_Delphi9371 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred207_Delphi9491 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SEMI_in_synpred214_Delphi9751 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DEFAULT_in_synpred218_Delphi9902 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred218_Delphi9904 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DEFAULT_in_synpred219_Delphi9937 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DEFAULT_in_synpred222_Delphi10102 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred222_Delphi10104 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_synpred222_Delphi10106 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DEFAULT_in_synpred223_Delphi10139 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_synpred223_Delphi10141 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred236_Delphi10724 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_methodDirective_in_synpred241_Delphi10842 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_methodBody_in_synpred242_Delphi10847 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred243_Delphi10907 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred246_Delphi10907 = new BitSet(new long[]{0x0000000810800000L,0x0010000000000000L}); + public static final BitSet FOLLOW_CLASS_in_synpred246_Delphi10912 = new BitSet(new long[]{0x0000000810000000L,0x0010000000000000L}); + public static final BitSet FOLLOW_methodKey_in_synpred246_Delphi10917 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_methodName_in_synpred246_Delphi10919 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_synpred246_Delphi10922 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred247_Delphi11020 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred250_Delphi11042 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred252_Delphi11020 = new BitSet(new long[]{0x0000000000800000L,0x0000000000000002L}); + public static final BitSet FOLLOW_CLASS_in_synpred252_Delphi11025 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_FUNCTION_in_synpred252_Delphi11029 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_methodName_in_synpred252_Delphi11031 = new BitSet(new long[]{0x0000000001000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_synpred252_Delphi11034 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_COLON_in_synpred252_Delphi11039 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_customAttribute_in_synpred252_Delphi11042 = new BitSet(new long[]{0x1A501931E0918340L,0x841722955F093C22L,0xE102380028E8402FL,0x00000000000608CCL}); + public static final BitSet FOLLOW_typeDecl_in_synpred252_Delphi11046 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred253_Delphi11155 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred255_Delphi11174 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_functionDirective_in_synpred262_Delphi11506 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_procBody_in_synpred263_Delphi11511 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred264_Delphi11577 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred266_Delphi11577 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L}); + public static final BitSet FOLLOW_PROCEDURE_in_synpred266_Delphi11581 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_synpred266_Delphi11583 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_formalParameterSection_in_synpred266_Delphi11586 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred267_Delphi11686 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttribute_in_synpred271_Delphi11928 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_functionDirective_in_synpred277_Delphi12240 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NAME_in_synpred279_Delphi12281 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred279_Delphi12283 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_INDEX_in_synpred280_Delphi12287 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred280_Delphi12289 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_functionDirective_in_synpred281_Delphi12294 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_customAttributeDecl_in_synpred283_Delphi12432 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expressionList_in_synpred284_Delphi12488 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_anonymousExpression_in_synpred287_Delphi12631 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_relOp_in_synpred288_Delphi12675 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_simpleExpression_in_synpred288_Delphi12677 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EQUAL_in_synpred289_Delphi12682 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred289_Delphi12684 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_formalParameterSection_in_synpred290_Delphi12738 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_operator_in_synpred293_Delphi12838 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_synpred293_Delphi12840 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_AT2_in_synpred294_Delphi12901 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_synpred294_Delphi12903 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_199_in_synpred295_Delphi12936 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_synpred295_Delphi12938 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NOT_in_synpred296_Delphi12978 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_synpred296_Delphi12980 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_PLUS_in_synpred297_Delphi13013 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_synpred297_Delphi13015 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_MINUS_in_synpred298_Delphi13048 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_factor_in_synpred298_Delphi13050 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_POINTER2_in_synpred299_Delphi13083 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_ident_in_synpred299_Delphi13085 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_intRealNum_in_synpred300_Delphi13129 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TRUE_in_synpred301_Delphi13162 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FALSE_in_synpred302_Delphi13195 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_NIL_in_synpred303_Delphi13228 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_210_in_synpred304_Delphi13261 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_synpred305_Delphi13339 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred305_Delphi13341 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_synpred305_Delphi13343 = new BitSet(new long[]{0x1250191160118140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_synpred305_Delphi13345 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_POINTER2_in_synpred306_Delphi13385 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DOT_in_synpred307_Delphi13390 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred307_Delphi13392 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_synpred308_Delphi13378 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred308_Delphi13380 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_synpred308_Delphi13382 = new BitSet(new long[]{0x0000010000000002L,0x0004000000000000L}); + public static final BitSet FOLLOW_POINTER2_in_synpred308_Delphi13385 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_DOT_in_synpred308_Delphi13390 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred308_Delphi13392 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_DOT_in_synpred309_Delphi13438 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_simpleExpression_in_synpred309_Delphi13440 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_stringFactor_in_synpred310_Delphi13435 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_DOT_in_synpred310_Delphi13438 = new BitSet(new long[]{0x12501911E0118140L,0x840702955F083C20L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_simpleExpression_in_synpred310_Delphi13440 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_setSection_in_synpred311_Delphi13475 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_designator_in_synpred312_Delphi13508 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_QuotedString_in_synpred313_Delphi13605 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_controlString_in_synpred313_Delphi13608 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_QuotedString_in_synpred314_Delphi13614 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_controlString_in_synpred316_Delphi13653 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L}); + public static final BitSet FOLLOW_QuotedString_in_synpred316_Delphi13656 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_controlString_in_synpred317_Delphi13661 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ControlChar_in_synpred318_Delphi13718 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expression_in_synpred321_Delphi13778 = new BitSet(new long[]{0x0000020002000002L}); + public static final BitSet FOLLOW_set_in_synpred321_Delphi13781 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred321_Delphi13789 = new BitSet(new long[]{0x0000020002000002L}); + public static final BitSet FOLLOW_203_in_synpred322_Delphi13852 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_INHERITED_in_synpred323_Delphi13857 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_qualifiedIdent_in_synpred324_Delphi13864 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_qualifiedIdent_in_synpred325_Delphi13864 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_typeId_in_synpred325_Delphi13868 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_designatorItem_in_synpred326_Delphi13875 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_expression_in_synpred337_Delphi14142 = new BitSet(new long[]{0x0000000003000002L}); + public static final BitSet FOLLOW_colonConstruct_in_synpred337_Delphi14145 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_COMMA_in_synpred337_Delphi14150 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred337_Delphi14152 = new BitSet(new long[]{0x0000000003000002L}); + public static final BitSet FOLLOW_colonConstruct_in_synpred337_Delphi14155 = new BitSet(new long[]{0x0000000002000002L}); + public static final BitSet FOLLOW_label_in_synpred376_Delphi15673 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_COLON_in_synpred376_Delphi15675 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_synpred376_Delphi15677 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ELSE_in_synpred377_Delphi15773 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_synpred377_Delphi15775 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statementList_in_synpred384_Delphi16042 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FOR_in_synpred386_Delphi16158 = new BitSet(new long[]{0x125019116011C140L,0x800602904F083C20L,0xF100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_VAR_in_synpred386_Delphi16161 = new BitSet(new long[]{0x125019116011C140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_synpred386_Delphi16165 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_ASSIGN_in_synpred386_Delphi16167 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred386_Delphi16169 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_TO_in_synpred386_Delphi16171 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred386_Delphi16173 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_DO_in_synpred386_Delphi16175 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_synpred386_Delphi16177 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_FOR_in_synpred388_Delphi16210 = new BitSet(new long[]{0x125019116011C140L,0x800602904F083C20L,0xF100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_VAR_in_synpred388_Delphi16213 = new BitSet(new long[]{0x125019116011C140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_synpred388_Delphi16217 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_ASSIGN_in_synpred388_Delphi16219 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred388_Delphi16221 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_DOWNTO_in_synpred388_Delphi16223 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred388_Delphi16225 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_DO_in_synpred388_Delphi16227 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_synpred388_Delphi16229 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statementList_in_synpred392_Delphi16510 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statement_in_synpred393_Delphi16580 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statement_in_synpred394_Delphi16588 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SEMI_in_synpred395_Delphi16585 = new BitSet(new long[]{0x925019116039C942L,0x880602904F083D28L,0xF100380018E8006DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statement_in_synpred395_Delphi16588 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_designator_in_synpred396_Delphi16642 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_ASSIGN_in_synpred396_Delphi16644 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred396_Delphi16646 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_designator_in_synpred397_Delphi16679 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_gotoStatement_in_synpred398_Delphi16713 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_synpred400_Delphi16836 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_expression_in_synpred400_Delphi16838 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_synpred400_Delphi16840 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_synpred404_Delphi16961 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordConstExpression_in_synpred404_Delphi16963 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002400L}); + public static final BitSet FOLLOW_SEMI_in_synpred404_Delphi16966 = new BitSet(new long[]{0x1250181160108140L,0x8002029049001C20L,0xE100100008E8002DL,0x000000000000004CL}); + public static final BitSet FOLLOW_recordConstExpression_in_synpred404_Delphi16968 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002400L}); + public static final BitSet FOLLOW_RPAREN_in_synpred404_Delphi16972 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_constExpression_in_synpred406_Delphi17020 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LPAREN_in_synpred407_Delphi17006 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_synpred407_Delphi17008 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_COMMA_in_synpred407_Delphi17011 = new BitSet(new long[]{0x12501911E0118140L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_synpred407_Delphi17013 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_RPAREN_in_synpred407_Delphi17017 = new BitSet(new long[]{0x12501911E0118142L,0x841702955F083C22L,0xE102380008E8002DL,0x00000000000608CCL}); + public static final BitSet FOLLOW_constExpression_in_synpred407_Delphi17020 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statementList_in_synpred409_Delphi17168 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_TRY_in_synpred410_Delphi17165 = new BitSet(new long[]{0x925819116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_synpred410_Delphi17168 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_EXCEPT_in_synpred410_Delphi17172 = new BitSet(new long[]{0x925319116039C940L,0x880602D04F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_handlerList_in_synpred410_Delphi17174 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_END_in_synpred410_Delphi17176 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statementList_in_synpred411_Delphi17212 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statementList_in_synpred412_Delphi17219 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_handler_in_synpred415_Delphi17278 = new BitSet(new long[]{0x0001000000000002L,0x0000004000000000L}); + public static final BitSet FOLLOW_ELSE_in_synpred415_Delphi17283 = new BitSet(new long[]{0x925019116039C940L,0x880602904F083D28L,0xF100380018E8206DL,0x000000000002084FL}); + public static final BitSet FOLLOW_statementList_in_synpred415_Delphi17285 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_statement_in_synpred418_Delphi17495 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_synpred418_Delphi17498 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_designator_in_synpred419_Delphi17587 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_AT_in_synpred420_Delphi17592 = new BitSet(new long[]{0x1250191160118140L,0x800602904F083C20L,0xE100100008E8002DL,0x000000000002084CL}); + public static final BitSet FOLLOW_designator_in_synpred420_Delphi17594 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_callConvention_in_synpred434_Delphi18250 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_callConventionNoSemi_in_synpred438_Delphi18373 = new BitSet(new long[]{0x0100000000000000L,0x0000000000000000L,0x2000000000000000L}); + public static final BitSet FOLLOW_externalDirective_in_synpred438_Delphi18377 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_externalDirective_in_synpred439_Delphi18420 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SEMI_in_synpred440_Delphi18518 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_SEMI_in_synpred441_Delphi18571 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_EXTERNAL_in_synpred465_Delphi19776 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_SEMI_in_synpred465_Delphi19778 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ident_in_synpred653_Delphi21991 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_DOT_in_synpred653_Delphi21993 = new BitSet(new long[]{0x0000000000000002L}); +} diff --git a/src/main/java/org/sonar/plugins/delphi/antlr/analyzer/impl/TypeAnalyzer.java b/src/main/java/org/sonar/plugins/delphi/antlr/analyzer/impl/TypeAnalyzer.java index a8004c5..93fa371 100644 --- a/src/main/java/org/sonar/plugins/delphi/antlr/analyzer/impl/TypeAnalyzer.java +++ b/src/main/java/org/sonar/plugins/delphi/antlr/analyzer/impl/TypeAnalyzer.java @@ -46,7 +46,7 @@ public boolean canAnalyze(CodeTree codeTree) { } int type = getGrandChild(currentNode).getType(); - return type == DelphiLexer.TkClass || type == DelphiLexer.TkRecord || type == DelphiLexer.TkInterface; + return type == DelphiLexer.TkClass || type == DelphiLexer.TkRecord || type == DelphiLexer.TkInterface || type == DelphiLexer.TkRecordHelper; } @Override diff --git a/src/main/java/org/sonar/plugins/delphi/antlr/analyzer/impl/TypePropertyAnalyzer.java b/src/main/java/org/sonar/plugins/delphi/antlr/analyzer/impl/TypePropertyAnalyzer.java index 6287bca..eaa48b1 100644 --- a/src/main/java/org/sonar/plugins/delphi/antlr/analyzer/impl/TypePropertyAnalyzer.java +++ b/src/main/java/org/sonar/plugins/delphi/antlr/analyzer/impl/TypePropertyAnalyzer.java @@ -40,16 +40,16 @@ public class TypePropertyAnalyzer extends CodeAnalyzer { @Override protected void doAnalyze(CodeTree codeTree, CodeAnalysisResults results) { - if (results.getActiveClass() == null) { - throw new IllegalStateException("Cannot parse class fields for no active class"); - } - String varType = getPropertyType((CommonTree) codeTree.getCurrentCodeNode().getNode()); if (varType == null) { return; } String varName = getPropertyName((CommonTree) codeTree.getCurrentCodeNode().getNode()); + if (results.getActiveClass() == null) { + throw new IllegalStateException("Cannot parse class fields for no active class: " + varName + ": "+ varType); + } + FunctionInterface read = getPropertyReadFunction((CommonTree) codeTree.getCurrentCodeNode().getNode()); FunctionInterface write = getPropertyWriteFunction((CommonTree) codeTree.getCurrentCodeNode().getNode()); diff --git a/src/main/java/org/sonar/plugins/delphi/codecoverage/delphicodecoveragetool/DelphiCodeCoverageToolParser.java b/src/main/java/org/sonar/plugins/delphi/codecoverage/delphicodecoveragetool/DelphiCodeCoverageToolParser.java index 4a84c9b..038ec78 100644 --- a/src/main/java/org/sonar/plugins/delphi/codecoverage/delphicodecoveragetool/DelphiCodeCoverageToolParser.java +++ b/src/main/java/org/sonar/plugins/delphi/codecoverage/delphicodecoveragetool/DelphiCodeCoverageToolParser.java @@ -91,7 +91,7 @@ private void parseFileNode (SensorContext sensorContext, Node srcFile){ newCoverage.save(); } catch (FileNotFoundException e) { - DelphiUtils.LOG.info("File not found in project %s",fileName); + DelphiUtils.LOG.info("File not found in project " + fileName); } } diff --git a/src/main/java/org/sonar/plugins/delphi/core/language/impl/DelphiUnit.java b/src/main/java/org/sonar/plugins/delphi/core/language/impl/DelphiUnit.java index f24f304..55599fa 100644 --- a/src/main/java/org/sonar/plugins/delphi/core/language/impl/DelphiUnit.java +++ b/src/main/java/org/sonar/plugins/delphi/core/language/impl/DelphiUnit.java @@ -67,7 +67,11 @@ public DelphiUnit(String unitName) { @Override public String getFileName() { - return file.getName(); + if (file != null) { + return file.getName(); + } else { + return ""; + } } /** diff --git a/src/main/java/org/sonar/plugins/delphi/metrics/ComplexityMetrics.java b/src/main/java/org/sonar/plugins/delphi/metrics/ComplexityMetrics.java index 1b0a70d..7df3972 100644 --- a/src/main/java/org/sonar/plugins/delphi/metrics/ComplexityMetrics.java +++ b/src/main/java/org/sonar/plugins/delphi/metrics/ComplexityMetrics.java @@ -24,6 +24,7 @@ import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.fs.InputFile; +import org.sonar.api.batch.fs.TextRange; import org.sonar.api.batch.rule.ActiveRule; import org.sonar.api.batch.rule.ActiveRules; import org.sonar.api.batch.sensor.issue.NewIssue; @@ -206,15 +207,22 @@ public boolean executeOnResource(InputFile resource) { private void addIssue(InputFile inputFile, FunctionInterface func) { if (func.getComplexity() > threshold) { NewIssue newIssue = context.newIssue(); - newIssue - .forRule(methodCyclomaticComplexityRule.ruleKey()) - .at(newIssue.newLocation() - .on(inputFile) - .at(inputFile.newRange(func.getBodyLine(), 1, - func.getBodyLine(), 2)) - .message(String.format("The Cyclomatic Complexity of this method \"%s\" is %d which is greater than %d authorized.", - func.getRealName(), func.getComplexity(), threshold))); - newIssue.save(); + TextRange textRange; + String message = String.format("The Cyclomatic Complexity of this method \"%s\" is %d which is greater than %d authorized.", + func.getRealName(), func.getComplexity(), threshold); + try { + textRange = inputFile.newRange(func.getBodyLine(), 0, + func.getBodyLine(), 1); + newIssue + .forRule(methodCyclomaticComplexityRule.ruleKey()) + .at(newIssue.newLocation() + .on(inputFile) + .at(textRange) + .message(message)); + newIssue.save(); + } catch (IllegalArgumentException e) { + DelphiUtils.LOG.debug("Cannot add issue: " + message + " (" + e.getMessage() + ")"); + } } } } diff --git a/src/main/java/org/sonar/plugins/delphi/metrics/DeadCodeMetrics.java b/src/main/java/org/sonar/plugins/delphi/metrics/DeadCodeMetrics.java index f63d99d..0624f42 100644 --- a/src/main/java/org/sonar/plugins/delphi/metrics/DeadCodeMetrics.java +++ b/src/main/java/org/sonar/plugins/delphi/metrics/DeadCodeMetrics.java @@ -26,6 +26,7 @@ import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.InputFile.Type; +import org.sonar.api.batch.fs.TextRange; import org.sonar.api.batch.rule.ActiveRule; import org.sonar.api.batch.rule.ActiveRules; import org.sonar.api.batch.sensor.issue.NewIssue; @@ -109,16 +110,25 @@ public void save(InputFile inputFile) { return; } - if (unusedUnits.contains(fileName.toLowerCase())) { + //Rule enabled and unit not used? + if ((unitRule != null) && unusedUnits.contains(fileName.toLowerCase())) { NewIssue newIssue = context.newIssue(); - newIssue - .forRule(unitRule.ruleKey()) - .at(newIssue.newLocation() - .on(inputFile) - .at(inputFile.newRange(unit.getLine(), 1, - unit.getLine(), 1)) - .message(unit.getName() + DEAD_UNIT_VIOLATION_MESSAGE)); - newIssue.save(); + TextRange textRange; + String message = unit.getName() + DEAD_UNIT_VIOLATION_MESSAGE; + try { + textRange = inputFile.newRange(unit.getLine(), 0, + unit.getLine(), 0); + + newIssue + .forRule(unitRule.ruleKey()) + .at(newIssue.newLocation() + .on(inputFile) + .at(textRange) + .message(message)); + newIssue.save(); + } catch(IllegalArgumentException e) { + DelphiUtils.LOG.debug("Cannot add issue: " + message + " (" + e.getMessage() + ")"); + } } for (FunctionInterface function : getUnitFunctions(unit)) { @@ -154,22 +164,36 @@ public void save(InputFile inputFile) { } } - if (unusedFunctions.contains(function)) { + //Rule enabled and function not used? + if ((functionRule != null) && unusedFunctions.contains(function)) { RuleKey rule = functionRule.ruleKey(); if (rule != null) { int line = function.getLine(); int column = function.getColumn(); - NewIssue newIssue = context.newIssue(); + String message = function.getRealName() + DEAD_FUNCTION_VIOLATION_MESSAGE; + TextRange textRange; + try + { + textRange = inputFile.newRange(line, column, + line, column + function.getShortName().length()); + } catch (IllegalArgumentException e) + { + try { + textRange = inputFile.newRange(line, 0, line, 0); + } catch(IllegalArgumentException ae) { + DelphiUtils.LOG.debug("Cannot add issue: " + message + "(" + ae.getMessage() + ")"); + return; + } + } newIssue .forRule(rule) .at(newIssue.newLocation() .on(inputFile) - .at(inputFile.newRange(line, column, - line, column + function.getShortName().length())) - .message(function.getRealName() + DEAD_FUNCTION_VIOLATION_MESSAGE)); + .at(textRange) + .message(message)); newIssue.save(); } } @@ -221,9 +245,14 @@ protected List findUnusedUnits(Set units) { Set usedUnits = new HashSet<>(); List result = new ArrayList<>(); for (UnitInterface unit : units) { - if (unit.getFileName().toLowerCase().endsWith(".pas")) { - result.add(unit.getName().toLowerCase()); - allUnits.add(unit); + String unitFilename = unit.getFileName(); + if (unitFilename != "") { + if (unitFilename.toLowerCase().endsWith(".pas")) { + result.add(unit.getName().toLowerCase()); + allUnits.add(unit); + } + } else { + DelphiUtils.LOG.warn("DeadCodeMetrics.findUnusedUnits: unit has no filename (" + unit.getName() + ")"); } for (String usedUnit : unit.getIncludes()) { diff --git a/src/main/java/org/sonar/plugins/delphi/pmd/DelphiLanguageModule.java b/src/main/java/org/sonar/plugins/delphi/pmd/DelphiLanguageModule.java index 012468c..6f84475 100644 --- a/src/main/java/org/sonar/plugins/delphi/pmd/DelphiLanguageModule.java +++ b/src/main/java/org/sonar/plugins/delphi/pmd/DelphiLanguageModule.java @@ -20,7 +20,6 @@ package org.sonar.plugins.delphi.pmd; import net.sourceforge.pmd.lang.BaseLanguageModule; -import org.sonar.plugins.delphi.pmd.DelphiRuleChainVisitor; public class DelphiLanguageModule extends BaseLanguageModule { diff --git a/src/main/java/org/sonar/plugins/delphi/pmd/DelphiPmdSensor.java b/src/main/java/org/sonar/plugins/delphi/pmd/DelphiPmdSensor.java index 88d6ceb..0c12ea0 100644 --- a/src/main/java/org/sonar/plugins/delphi/pmd/DelphiPmdSensor.java +++ b/src/main/java/org/sonar/plugins/delphi/pmd/DelphiPmdSensor.java @@ -31,12 +31,11 @@ import net.sourceforge.pmd.renderers.Renderer; import net.sourceforge.pmd.renderers.XMLRenderer; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.InputModule; +import org.sonar.api.batch.fs.TextRange; import org.sonar.api.batch.sensor.Sensor; import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.sensor.SensorDescriptor; import org.sonar.api.batch.sensor.issue.NewIssue; -import org.sonar.api.profiles.RulesProfile; import org.sonar.api.rule.RuleKey; import org.sonar.plugins.delphi.core.DelphiLanguage; import org.sonar.plugins.delphi.core.helpers.DelphiProjectHelper; @@ -66,23 +65,31 @@ public class DelphiPmdSensor implements Sensor { private final DelphiProjectHelper delphiProjectHelper; private final List errors = new ArrayList<>(); private final DelphiPmdProfileExporter profileExporter; - private final RulesProfile rulesProfile; /** * C-tor * * @param delphiProjectHelper delphiProjectHelper * @param context SensorContext - * @param rulesProfile rulesProfile used to export active rules * @param profileExporter used to export active rules + * + * This constructor is only used in unittests. */ - public DelphiPmdSensor(DelphiProjectHelper delphiProjectHelper, SensorContext context, RulesProfile rulesProfile, DelphiPmdProfileExporter profileExporter) { + public DelphiPmdSensor(DelphiProjectHelper delphiProjectHelper, SensorContext context, DelphiPmdProfileExporter profileExporter) { this.delphiProjectHelper = delphiProjectHelper; this.context = context; - this.rulesProfile = rulesProfile; this.profileExporter = profileExporter; } + /* + * This is the actual constructor used by SonarQube. Only types from org.sonar.api can be used as parameters (dependency injection). + */ + public DelphiPmdSensor(SensorContext context) { + this.delphiProjectHelper = new DelphiProjectHelper(context.config(), context.fileSystem()); + this.context = context; + this.profileExporter = new DelphiPmdProfileExporter(); + } + /** * Populate {@link SensorDescriptor} of this sensor. */ @@ -100,11 +107,22 @@ private void addIssue(String ruleKey, String fileName, Integer beginLine, Intege InputFile inputFile = delphiProjectHelper.getFile(fileName); NewIssue newIssue = context.newIssue(); + TextRange textRange; + try { + textRange = inputFile.newRange(beginLine, startColumn, endLine, startColumn +1); + } catch (IllegalArgumentException e) { + try { + textRange = inputFile.newRange(beginLine, 0, endLine, 0); + } catch(IllegalArgumentException ae) { + DelphiUtils.LOG.debug("Cannot add issue: " + message + "(" + ae.getMessage() + ")"); + return; + } + } newIssue .forRule(RuleKey.of(DelphiPmdConstants.REPOSITORY_KEY, ruleKey)) .at(newIssue.newLocation() .on(inputFile) - .at(inputFile.newRange(beginLine, startColumn, endLine, startColumn +1)) + .at(textRange) .message(message)) .gap(0.0); newIssue.save(); @@ -132,7 +150,6 @@ void parsePMDreport(File reportFile) String beginLine = violation.getAttributes().getNamedItem("beginline").getTextContent(); String endLine = violation.getAttributes().getNamedItem("endline").getTextContent(); String beginColumn = violation.getAttributes().getNamedItem("begincolumn").getTextContent(); - String endColumn = violation.getAttributes().getNamedItem("endcolumn").getTextContent(); String rule = violation.getAttributes().getNamedItem("rule").getTextContent(); String priority = violation.getAttributes().getNamedItem("priority").getTextContent(); String message = violation.getTextContent(); @@ -164,7 +181,7 @@ public void execute(SensorContext context) ClassLoader initialClassLoader = Thread.currentThread().getContextClassLoader(); try { Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); - reportFile = createPmdReport(context.module()); + reportFile = createPmdReport(); } finally { Thread.currentThread().setContextClassLoader(initialClassLoader); } @@ -174,7 +191,7 @@ public void execute(SensorContext context) private RuleSets createRuleSets() { RuleSets rulesets = new DelphiRuleSets(); - String rulesXml = profileExporter.exportProfileToString(rulesProfile); + String rulesXml = profileExporter.exportActiveRulesToString(context.activeRules()); File ruleSetFile = dumpXmlRuleSet(DelphiPmdConstants.REPOSITORY_KEY, rulesXml); RuleSetFactory ruleSetFactory = new RuleSetFactory(); try { @@ -200,7 +217,7 @@ private File dumpXmlRuleSet(String repositoryKey, String rulesXml) { } } - private File createPmdReport(InputModule module) { + private File createPmdReport() { try { DelphiPMD pmd = new DelphiPMD(); RuleContext ruleContext = new RuleContext(); diff --git a/src/main/java/org/sonar/plugins/delphi/pmd/DelphiRuleViolation.java b/src/main/java/org/sonar/plugins/delphi/pmd/DelphiRuleViolation.java index cfaf1d6..fe9f052 100644 --- a/src/main/java/org/sonar/plugins/delphi/pmd/DelphiRuleViolation.java +++ b/src/main/java/org/sonar/plugins/delphi/pmd/DelphiRuleViolation.java @@ -142,13 +142,17 @@ public DelphiRuleViolation(DelphiRule rule, RuleContext ctx, DelphiPMDNode node, if (methodNode != null) { StringBuilder name = new StringBuilder(); Tree nameNode = ((CommonTree) methodNode).getFirstChildWithType(DelphiLexer.TkFunctionName); - for (int i = 0; i < nameNode.getChildCount(); ++i) { - name.append(nameNode.getChild(i).getText()); - } - methodName = name.toString(); - if (nameNode.getChildCount() > 1) { - // class name from function name - className = nameNode.getChild(0).getText(); + if (nameNode != null) { + for (int i = 0; i < nameNode.getChildCount(); ++i) { + name.append(nameNode.getChild(i).getText()); + } + methodName = name.toString(); + if (nameNode.getChildCount() > 1) { + // class name from function name + className = nameNode.getChild(0).getText(); + } + } else { + methodName = ""; } } else { methodName = ""; diff --git a/src/main/java/org/sonar/plugins/delphi/pmd/profile/DelphiPmdProfileExporter.java b/src/main/java/org/sonar/plugins/delphi/pmd/profile/DelphiPmdProfileExporter.java index e23e440..a47a59d 100644 --- a/src/main/java/org/sonar/plugins/delphi/pmd/profile/DelphiPmdProfileExporter.java +++ b/src/main/java/org/sonar/plugins/delphi/pmd/profile/DelphiPmdProfileExporter.java @@ -24,13 +24,21 @@ import org.sonar.api.profiles.ProfileExporter; import org.sonar.api.profiles.RulesProfile; +import org.sonar.api.batch.rule.ActiveRules; +import org.sonar.api.rule.Severity; import org.sonar.plugins.delphi.core.DelphiLanguage; import org.sonar.plugins.delphi.pmd.DelphiPmdConstants; +import org.sonar.plugins.delphi.pmd.xml.DelphiRule; import org.sonar.plugins.delphi.pmd.xml.DelphiRulesUtils; +import org.sonar.plugins.delphi.pmd.xml.Property; +import org.sonar.plugins.delphi.pmd.xml.Ruleset; import java.io.IOException; import java.io.StringWriter; import java.io.Writer; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * exports Delphi rules profile into Sonar @@ -48,23 +56,56 @@ public DelphiPmdProfileExporter() { @Override public void exportProfile(RulesProfile profile, Writer writer) { + throw new IllegalArgumentException("Cannot export profile " + profile); + } + + public void exportActiveRules(ActiveRules activeRules, Writer writer) { try { - writer.write(DelphiRulesUtils.exportConfiguration(profile)); + writer.write(DelphiRulesUtils.buildXmlFromRuleset(buildRulesetFromActiveProfile(activeRules))); } catch (IOException e) { - throw new IllegalArgumentException("Fail to export profile " + profile, e); + throw new IllegalArgumentException("Fail to export activerules " + activeRules, e); } } - /** - * exports profile to string - * - * @param profile profile - * @return exported profile - */ - public String exportProfileToString(RulesProfile profile) { - StringWriter writer = new StringWriter(); - exportProfile(profile, writer); - return writer.toString(); + private static Ruleset buildRulesetFromActiveProfile(ActiveRules activeRules) { + Ruleset ruleset = new Ruleset(); + for (org.sonar.api.batch.rule.ActiveRule activeRule : activeRules.findByRepository(DelphiPmdConstants.REPOSITORY_KEY)) { + String key = activeRule.ruleKey().rule(); + + String priority = severityToLevel(activeRule.severity()).toString(); + List properties = new ArrayList<>(); + + DelphiRule delphiRule = new DelphiRule(activeRule.internalKey(), priority); + delphiRule.setName(key); + for (Map.Entry entry: activeRule.params().entrySet()) { + properties.add(new Property(entry.getKey(), entry.getValue())); + } + delphiRule.setProperties(properties); + delphiRule.setMessage(activeRule.ruleKey().rule()); + ruleset.addRule(delphiRule); + } + return ruleset; } + + private static Integer severityToLevel(String severity) { + switch (severity) { + case Severity.INFO: + return 1; + case Severity.MINOR: + return 2; + case Severity.MAJOR: + return 3; + case Severity.CRITICAL: + return 4; + case Severity.BLOCKER: + return 5; + default: + return 0; + } + } -} + public String exportActiveRulesToString(ActiveRules rules) { + StringWriter writer = new StringWriter(); + exportActiveRules(rules, writer); + return writer.toString(); + }} diff --git a/src/main/java/org/sonar/plugins/delphi/pmd/profile/DelphiPmdRuleDefinition.java b/src/main/java/org/sonar/plugins/delphi/pmd/profile/DelphiPmdRuleDefinition.java index 47de480..6f20628 100644 --- a/src/main/java/org/sonar/plugins/delphi/pmd/profile/DelphiPmdRuleDefinition.java +++ b/src/main/java/org/sonar/plugins/delphi/pmd/profile/DelphiPmdRuleDefinition.java @@ -23,7 +23,6 @@ package org.sonar.plugins.delphi.pmd.profile; import org.sonar.api.rules.RuleParam; -import org.sonar.api.server.debt.DebtRemediationFunction; import org.sonar.api.server.rule.RuleParamType; import org.sonar.api.server.rule.RulesDefinition; import org.sonar.plugins.delphi.core.DelphiLanguage; diff --git a/src/main/java/org/sonar/plugins/delphi/pmd/rules/DelphiRule.java b/src/main/java/org/sonar/plugins/delphi/pmd/rules/DelphiRule.java index e04d89c..32a0834 100644 --- a/src/main/java/org/sonar/plugins/delphi/pmd/rules/DelphiRule.java +++ b/src/main/java/org/sonar/plugins/delphi/pmd/rules/DelphiRule.java @@ -82,13 +82,6 @@ public Object visit(DelphiPMDNode node, Object data) { return null; }; - /** - * Visits all nodes in a file - */ - - /** - * @inheritdoc - */ @Override public void apply(List nodes, RuleContext ctx) { diff --git a/src/main/java/org/sonar/plugins/delphi/pmd/rules/FieldNameRule.java b/src/main/java/org/sonar/plugins/delphi/pmd/rules/FieldNameRule.java index 28eaa76..af2f491 100644 --- a/src/main/java/org/sonar/plugins/delphi/pmd/rules/FieldNameRule.java +++ b/src/main/java/org/sonar/plugins/delphi/pmd/rules/FieldNameRule.java @@ -34,13 +34,13 @@ protected void init() { public void visit(DelphiPMDNode node, RuleContext ctx) { if (node.getType() == DelphiLexer.TkClassField) { - if (!isPublished()) { + if (isPrivate() || isProtected()) { // Do not apply for public or pubnlished members, the "F" prefix is uncommon here. Issue #8 Tree variableIdentsNode = node.getChild(0); String name = variableIdentsNode.getChild(0).getText(); if (name.length() > 1) { char firstCharAfterPrefix = name.charAt(1); - - if (!name.startsWith("F") || firstCharAfterPrefix != Character.toUpperCase(firstCharAfterPrefix)) { + //if (!name.startsWith("F") || firstCharAfterPrefix != Character.toUpperCase(firstCharAfterPrefix)) { + if (!((name.startsWith("f") || name.startsWith("F")) && firstCharAfterPrefix == Character.toUpperCase(firstCharAfterPrefix))) { addViolation(ctx, node); } } else { diff --git a/src/main/java/org/sonar/plugins/delphi/pmd/xml/DelphiRulesUtils.java b/src/main/java/org/sonar/plugins/delphi/pmd/xml/DelphiRulesUtils.java index 2fc0f41..1575a68 100644 --- a/src/main/java/org/sonar/plugins/delphi/pmd/xml/DelphiRulesUtils.java +++ b/src/main/java/org/sonar/plugins/delphi/pmd/xml/DelphiRulesUtils.java @@ -68,7 +68,7 @@ private static Ruleset buildRuleSetFromXml(String configuration) { * @param tree Rule set tree * @return Rule sets */ - private static String buildXmlFromRuleset(Ruleset tree) { + public static String buildXmlFromRuleset(Ruleset tree) { XStream xstream = new XStream(); xstream.setClassLoader(DelphiRulesUtils.class.getClassLoader()); xstream.processAnnotations(Ruleset.class); diff --git a/src/main/java/org/sonar/plugins/delphi/project/DelphiProject.java b/src/main/java/org/sonar/plugins/delphi/project/DelphiProject.java index 5529b59..8928a0c 100644 --- a/src/main/java/org/sonar/plugins/delphi/project/DelphiProject.java +++ b/src/main/java/org/sonar/plugins/delphi/project/DelphiProject.java @@ -23,7 +23,6 @@ package org.sonar.plugins.delphi.project; import org.apache.commons.lang.StringUtils; -import org.sonar.api.batch.fs.InputFile; import org.sonar.plugins.delphi.utils.DelphiUtils; import org.xml.sax.SAXException; diff --git a/src/main/java/org/sonar/plugins/delphi/project/DelphiWorkgroupXmlParser.java b/src/main/java/org/sonar/plugins/delphi/project/DelphiWorkgroupXmlParser.java index f680e04..15a8e6b 100644 --- a/src/main/java/org/sonar/plugins/delphi/project/DelphiWorkgroupXmlParser.java +++ b/src/main/java/org/sonar/plugins/delphi/project/DelphiWorkgroupXmlParser.java @@ -24,7 +24,6 @@ import org.sonar.plugins.delphi.utils.DelphiUtils; import org.xml.sax.Attributes; -import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import javax.xml.parsers.SAXParser; diff --git a/src/main/java/org/sonar/plugins/delphi/surefire/DelphiSureFireParser.java b/src/main/java/org/sonar/plugins/delphi/surefire/DelphiSureFireParser.java index 5be8884..c8cfc6f 100644 --- a/src/main/java/org/sonar/plugins/delphi/surefire/DelphiSureFireParser.java +++ b/src/main/java/org/sonar/plugins/delphi/surefire/DelphiSureFireParser.java @@ -171,7 +171,6 @@ void parse(File reportFile, UnitTestIndex index) for (int f = 0; f < testsuites.getLength(); f++) { Element testSuite = (Element)testsuites.item(f); - String testSuiteName = testSuite.getAttributes().getNamedItem("name").getTextContent(); NodeList testCases = testSuite.getElementsByTagName("testcase"); for (int n = 0; n < testCases.getLength(); n++) { diff --git a/src/main/resources/org/sonar/plugins/delphi/pmd/default-delphi-profile.xml b/src/main/resources/org/sonar/plugins/delphi/pmd/default-delphi-profile.xml index e24f3c2..7caf4df 100644 --- a/src/main/resources/org/sonar/plugins/delphi/pmd/default-delphi-profile.xml +++ b/src/main/resources/org/sonar/plugins/delphi/pmd/default-delphi-profile.xml @@ -79,11 +79,11 @@ - 3 + 1 - 3 + 1 @@ -151,11 +151,11 @@ - 2 + 3 - 2 + 3 diff --git a/src/test/java/org/sonar/plugins/delphi/DelphiPluginTest.java b/src/test/java/org/sonar/plugins/delphi/DelphiPluginTest.java index d44ffa5..c8b278f 100644 --- a/src/test/java/org/sonar/plugins/delphi/DelphiPluginTest.java +++ b/src/test/java/org/sonar/plugins/delphi/DelphiPluginTest.java @@ -25,6 +25,7 @@ import org.junit.Before; import org.junit.Test; import org.sonar.api.Plugin; +import org.sonar.api.SonarEdition; import org.sonar.api.SonarQubeSide; import org.sonar.api.utils.Version; import org.sonar.api.internal.SonarRuntimeImpl; @@ -45,7 +46,7 @@ public void setUp() { @Test public void testExtensions() { - Plugin.Context context = new Plugin.Context(SonarRuntimeImpl.forSonarQube(Version.create(1, 0), SonarQubeSide.SCANNER)); + Plugin.Context context = new Plugin.Context(SonarRuntimeImpl.forSonarQube(Version.create(1, 0), SonarQubeSide.SCANNER, SonarEdition.COMMUNITY)); plugin.define(context); assertThat(context.getExtensions().size(), is(9)); } diff --git a/src/test/java/org/sonar/plugins/delphi/DelphiSensorTest.java b/src/test/java/org/sonar/plugins/delphi/DelphiSensorTest.java index 825c640..5b70b14 100644 --- a/src/test/java/org/sonar/plugins/delphi/DelphiSensorTest.java +++ b/src/test/java/org/sonar/plugins/delphi/DelphiSensorTest.java @@ -83,7 +83,6 @@ public void init() throws IOException { DefaultInputDir inputBaseDir = new DefaultInputDir(moduleKey, ""); inputBaseDir.setModuleBaseDir(baseDir.toPath()); - context.fileSystem().add(inputBaseDir); for (File source : baseDir.listFiles(DelphiUtils.getFileFilter())) { InputFile baseInputFile = TestInputFileBuilder.create(moduleKey, baseDir, source) @@ -110,19 +109,26 @@ public void init() throws IOException { context.fileSystem().add(inputFile); sourceFiles.add(sourceFile); } - DefaultInputDir inputDir = new DefaultInputDir(moduleKey, getRelativePath(baseDir,directory.getPath())); - inputDir.setModuleBaseDir(baseDir.toPath()); - context.fileSystem().add(inputDir); - // put all directories to list sourceDirs.add(directory); } delphiProject.setSourceFiles(sourceFiles); ActiveRulesBuilder rulesBuilder = new ActiveRulesBuilder(); - NewActiveRule rule = rulesBuilder.create(ComplexityMetrics.RULE_KEY_METHOD_CYCLOMATIC_COMPLEXITY); - rule.setParam("Threshold", "3").setLanguage(DelphiLanguage.KEY).activate(); - rulesBuilder.create(DeadCodeMetrics.RULE_KEY_UNUSED_FUNCTION).setLanguage(DelphiLanguage.KEY).activate(); + + NewActiveRule rule = new NewActiveRule.Builder() + .setRuleKey(ComplexityMetrics.RULE_KEY_METHOD_CYCLOMATIC_COMPLEXITY) + .setParam("Threshold", "3") + .setLanguage(DelphiLanguage.KEY) + .build(); + rulesBuilder.addRule(rule); + + rule = new NewActiveRule.Builder() + .setRuleKey(DeadCodeMetrics.RULE_KEY_UNUSED_FUNCTION) + .setLanguage(DelphiLanguage.KEY) + .build(); + rulesBuilder.addRule(rule); + activeRules = rulesBuilder.build(); sensor = new DelphiSensor(delphiProjectHelper, activeRules, context); diff --git a/src/test/java/org/sonar/plugins/delphi/antlr/GrammarTest.java b/src/test/java/org/sonar/plugins/delphi/antlr/GrammarTest.java index b305fc0..e499250 100644 --- a/src/test/java/org/sonar/plugins/delphi/antlr/GrammarTest.java +++ b/src/test/java/org/sonar/plugins/delphi/antlr/GrammarTest.java @@ -53,7 +53,6 @@ private void parseFile(String fileName, String encoding) throws IOException { } @Test - @Ignore public void test() throws Exception { parseFile("GrammarTest.pas"); } @@ -69,13 +68,16 @@ public void parseMultipleAttributes() throws Exception { } @Test - @Ignore public void parseNewGrammar() throws Exception { parseFile("GrammarTestNew.pas"); } @Test - @Ignore + public void parseGrammar2020() throws Exception { + parseFile("GrammarTest2020.pas"); + } + + @Test public void parseComplexArray() throws Exception { parseFile("ComplexArray.pas"); } @@ -132,7 +134,6 @@ public void parsePackageAsIdentifier() throws Exception { } @Test - @Ignore("https://github.com/fabriciocolombo/sonar-delphi/issues/39") public void parseInterfaceMethodResolutionClause() throws Exception { parseFile("InterfaceMethodResolutionClause.pas"); } diff --git a/src/test/java/org/sonar/plugins/delphi/metrics/ComplexityMetricsTest.java b/src/test/java/org/sonar/plugins/delphi/metrics/ComplexityMetricsTest.java index 09e3af6..71d051d 100644 --- a/src/test/java/org/sonar/plugins/delphi/metrics/ComplexityMetricsTest.java +++ b/src/test/java/org/sonar/plugins/delphi/metrics/ComplexityMetricsTest.java @@ -65,8 +65,12 @@ public void setup() { sensorContext = SensorContextTester.create(baseDir); ActiveRulesBuilder rulesBuilder = new ActiveRulesBuilder(); - NewActiveRule rule = rulesBuilder.create(ComplexityMetrics.RULE_KEY_METHOD_CYCLOMATIC_COMPLEXITY); - rule.setParam("Threshold", "3").setLanguage(DelphiLanguage.KEY).activate(); + NewActiveRule rule = new NewActiveRule.Builder() + .setRuleKey(ComplexityMetrics.RULE_KEY_METHOD_CYCLOMATIC_COMPLEXITY) + .setParam("Threshold", "3") + .setLanguage(DelphiLanguage.KEY) + .build(); + rulesBuilder.addRule(rule); activeRules = rulesBuilder.build(); } diff --git a/src/test/java/org/sonar/plugins/delphi/metrics/DeadCodeMetricsTest.java b/src/test/java/org/sonar/plugins/delphi/metrics/DeadCodeMetricsTest.java index ff27048..d7d9982 100644 --- a/src/test/java/org/sonar/plugins/delphi/metrics/DeadCodeMetricsTest.java +++ b/src/test/java/org/sonar/plugins/delphi/metrics/DeadCodeMetricsTest.java @@ -31,8 +31,8 @@ import org.mockito.stubbing.Answer; import org.sonar.api.batch.rule.ActiveRules; import org.sonar.api.batch.rule.internal.ActiveRulesBuilder; +import org.sonar.api.batch.rule.internal.NewActiveRule; import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.issue.Issuable; import org.sonar.api.issue.Issue; import org.sonar.plugins.delphi.DelphiTestUtils; import org.sonar.plugins.delphi.antlr.analyzer.ASTAnalyzer; @@ -73,7 +73,6 @@ public class DeadCodeMetricsTest { private List classes; private List functions; private SensorContextTester sensorContext; - private Issuable issuable; private final List issues = new ArrayList<>(); private ActiveRules activeRules; private File baseDir; @@ -123,8 +122,16 @@ public void init() { sensorContext = SensorContextTester.create(baseDir); ActiveRulesBuilder rulesBuilder = new ActiveRulesBuilder(); - rulesBuilder.create(DeadCodeMetrics.RULE_KEY_UNUSED_FUNCTION).setLanguage(DelphiLanguage.KEY).activate(); - rulesBuilder.create(DeadCodeMetrics.RULE_KEY_UNUSED_UNIT).setLanguage(DelphiLanguage.KEY).activate(); + NewActiveRule rule = new NewActiveRule.Builder() + .setRuleKey(DeadCodeMetrics.RULE_KEY_UNUSED_FUNCTION) + .setLanguage(DelphiLanguage.KEY) + .build(); + rulesBuilder.addRule(rule); + rule = new NewActiveRule.Builder() + .setRuleKey(DeadCodeMetrics.RULE_KEY_UNUSED_UNIT) + .setLanguage(DelphiLanguage.KEY) + .build(); + rulesBuilder.addRule(rule); activeRules = rulesBuilder.build(); metrics = new DeadCodeMetrics(activeRules, sensorContext); diff --git a/src/test/java/org/sonar/plugins/delphi/pmd/BasePmdRuleTest.java b/src/test/java/org/sonar/plugins/delphi/pmd/BasePmdRuleTest.java index 26ffceb..3be3ae3 100644 --- a/src/test/java/org/sonar/plugins/delphi/pmd/BasePmdRuleTest.java +++ b/src/test/java/org/sonar/plugins/delphi/pmd/BasePmdRuleTest.java @@ -28,8 +28,8 @@ import org.mockito.stubbing.Answer; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.internal.TestInputFileBuilder; +import org.sonar.api.batch.rule.ActiveRules; import org.sonar.api.batch.sensor.issue.Issue; -import org.sonar.api.profiles.RulesProfile; import org.sonar.plugins.delphi.DelphiTestUtils; import org.sonar.plugins.delphi.core.helpers.DelphiProjectHelper; import org.sonar.api.batch.sensor.internal.SensorContextTester; @@ -59,7 +59,7 @@ public abstract class BasePmdRuleTest { protected List issues = new LinkedList<>(); private File testFile; private DelphiPmdProfileExporter profileExporter; - private RulesProfile rulesProfile; + private ActiveRules activeRules; private File baseDir; public void execute(DelphiUnitBuilderTest builder) { @@ -112,8 +112,8 @@ public InputFile answer(InvocationOnMock invocation) { } }); - rulesProfile = mock(RulesProfile.class); profileExporter = mock(DelphiPmdProfileExporter.class); + activeRules = mock(ActiveRules.class); String fileName = getClass().getResource("/org/sonar/plugins/delphi/pmd/rules.xml").getPath(); File rulesFile = new File(fileName); @@ -123,10 +123,11 @@ public InputFile answer(InvocationOnMock invocation) { } catch (IOException e) { throw new RuntimeException(e); } + sensorContext.setActiveRules(activeRules); - when(profileExporter.exportProfileToString(rulesProfile)).thenReturn(rulesXmlContent); + when(profileExporter.exportActiveRulesToString(activeRules)).thenReturn(rulesXmlContent); - sensor = new DelphiPmdSensor(delphiProjectHelper, sensorContext, rulesProfile, profileExporter); + sensor = new DelphiPmdSensor(delphiProjectHelper, sensorContext, profileExporter); } @After diff --git a/src/test/java/org/sonar/plugins/delphi/pmd/DelphiPmdSensorTest.java b/src/test/java/org/sonar/plugins/delphi/pmd/DelphiPmdSensorTest.java index 77a760b..43fc655 100644 --- a/src/test/java/org/sonar/plugins/delphi/pmd/DelphiPmdSensorTest.java +++ b/src/test/java/org/sonar/plugins/delphi/pmd/DelphiPmdSensorTest.java @@ -28,12 +28,9 @@ import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultInputFile; -import org.sonar.api.batch.fs.internal.FileMetadata; -import org.sonar.api.batch.fs.internal.Metadata; import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.api.batch.sensor.issue.Issue; -import org.sonar.api.profiles.RulesProfile; +import org.sonar.api.batch.rule.ActiveRules; import org.sonar.plugins.delphi.DelphiTestUtils; import org.sonar.plugins.delphi.core.DelphiLanguage; import org.sonar.plugins.delphi.core.helpers.DelphiProjectHelper; @@ -44,7 +41,6 @@ import java.io.*; import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collections; @@ -64,7 +60,7 @@ public class DelphiPmdSensorTest { private SensorContextTester sensorContext; private DelphiProjectHelper delphiProjectHelper; private DelphiPmdProfileExporter profileExporter; - private RulesProfile rulesProfile; + private ActiveRules activeRules; private File baseDir; @Before @@ -98,9 +94,9 @@ public InputFile answer(InvocationOnMock invocation) { } }); - rulesProfile = mock(RulesProfile.class); profileExporter = mock(DelphiPmdProfileExporter.class); - + activeRules = mock(ActiveRules.class); + String fileName = getClass().getResource("/org/sonar/plugins/delphi/pmd/rules.xml").getPath(); File rulesFile = new File(fileName); String rulesXmlContent; @@ -109,10 +105,11 @@ public InputFile answer(InvocationOnMock invocation) { } catch (IOException e) { throw new RuntimeException(e); } + sensorContext.setActiveRules(activeRules); - when(profileExporter.exportProfileToString(rulesProfile)).thenReturn(rulesXmlContent); + when(profileExporter.exportActiveRulesToString(activeRules)).thenReturn(rulesXmlContent); - sensor = new DelphiPmdSensor(delphiProjectHelper, sensorContext, rulesProfile, profileExporter); + sensor = new DelphiPmdSensor(delphiProjectHelper, sensorContext, profileExporter); } @Test diff --git a/src/test/resources/org/sonar/plugins/delphi/grammar/Generics.pas b/src/test/resources/org/sonar/plugins/delphi/grammar/Generics.pas index e9c1306..2d194d5 100644 --- a/src/test/resources/org/sonar/plugins/delphi/grammar/Generics.pas +++ b/src/test/resources/org/sonar/plugins/delphi/grammar/Generics.pas @@ -24,6 +24,8 @@ initialization generic1 := TList.Create; // issue #25 expression with nested generics generic2 := TList>.Create; + + lCurrentColumnVisible := (generic1 as IList)[lIndex].Media[pMediaType].Visible; finalization FreeAndNil(generic2); diff --git a/src/test/resources/org/sonar/plugins/delphi/grammar/GrammarTest.pas b/src/test/resources/org/sonar/plugins/delphi/grammar/GrammarTest.pas index 87b44d5..57416b5 100644 --- a/src/test/resources/org/sonar/plugins/delphi/grammar/GrammarTest.pas +++ b/src/test/resources/org/sonar/plugins/delphi/grammar/GrammarTest.pas @@ -35,7 +35,7 @@ TMyClass = class end; myRecord = record - private //visibility not included in rules + private //visibility not included in rules function foo(x : byte = 7): boolean; function foo(x : char = 'argh'): boolean; overload; public @@ -45,11 +45,21 @@ myRecord = record property isFoo : Boolean read foo write foo; end; + TDateTimeHelper = record helper for TDateTime + private + function GetYear: integer; + public + property Year: integer read GetYear; + end; + + + // dll prototype for delphi tctstatusproc = procedure(); tctcalebextract = function() : integer; stdcall; tctsetinidir = function( dir : pansichar ) : short; stdcall; //callConvention was not included in rule tmaxpathchararray = array [0 .. max_path] of ansichar; + tmaxpathchararray2 = array [0 .. max_path - 1] of ansichar; {$ifndef XYZ} ERROR ERROR @@ -63,6 +73,8 @@ myRecord = record property Version : string read GetVersion write SetVersion stored False; //stored False consumed additional ';' token function getparam(paramname : string; default : variant) : variant; property modifierg : boolean index 4 read getmodifier write setmodifier; //; was expected after index + property Intf: IInterface read fIntf implements IInterface; // Test interface redirection + property List: IList read fList implements IList; // Test interface redirection with generic interface end; overloadClass = Class @@ -124,6 +136,8 @@ procedure assemblerTest(); //problem with <>.ident procedure tflightlockoutrecordset.getnexthistorytag(const databaserecord : genericrecord); +var + s: string; begin result := getnexthistorytagforfields(['fsdailyid'], databaserecord); @@ -142,8 +156,8 @@ procedure tflightlockoutrecordset.getnexthistorytag(const databas Result := False; {$ifend} {$endif} - - +// This does not currently worK + s := {$ifdef CPUx64} '64' {$else} '32' {$endif}; end; function myClass.writebytes(var ibytes; isize : dword) : boolean; //no type after var @@ -155,6 +169,8 @@ function myClass.writebytes(var ibytes; isize : dword) : boolean; //no type afte testStringWithComment := 'Blah //fooo!'; + if lPortableDeviceManager.GetDevices(PWideChar(nil^)) then // Pass nill as var paramter value + Exit; end; function myClass.foo(x : byte); //no return type @@ -178,6 +194,8 @@ function myClass.foo(x : byte); //no return type records := tdatabaseformrecordlist.create(); //<> problems + lCurrentColumnVisible := (generic1 as IList)[lIndex]; // problem with index prperty after using as operator + result := not comparemem(@old, @new, sizeof(new)); //new keyword unicodeString := 'âûÿâ³¢ ñïðîáó âûêë³êàöü â³ðòóàëüíû ìåòàä âûçâàëåíàãà àá''åêòà. Çàðàç áóäçå âûêë³êàíà ïàðóøýííå äîñòóïó äëÿ ïåðàïûíåííÿ áÿãó÷àé àïåðàöû³.'; @@ -187,7 +205,9 @@ function myClass.foo(x : byte); //no return type with databaserecord as tflightlockoutrecord do //as caused problems begin end; - + + OtherUnit.helper.TMyClass.MyFunction(); // problems with keyword "helper" + try if (tempstr[1] in ['0' .. '9', 'a' .. 'z'] = false) then diff --git a/src/test/resources/org/sonar/plugins/delphi/grammar/GrammarTest2020.pas b/src/test/resources/org/sonar/plugins/delphi/grammar/GrammarTest2020.pas new file mode 100644 index 0000000..80fafa3 --- /dev/null +++ b/src/test/resources/org/sonar/plugins/delphi/grammar/GrammarTest2020.pas @@ -0,0 +1,300 @@ +unit GrammarTest2020; + +interface + +uses + System.SysUtils, Windows; + +type + //Support array and const .. + MyArray = array[0..2] of Integer; + TConstNumbers = 0..5; + + //Support AnsiString() + TAnsiStringWindows1252 = type AnsiString(1252); + + TMyRefToProc = reference to procedure(AValue: Integer); + + //Support & + MyRecord = record + &type: TConstNumbers; + &implementation: Integer; + end; + + TMyClass = class(TObject) + type + TMyRefToProc = reference to procedure(AValue: T); + end; + + //Support method definitions for multiple inner classes + TSortOrder = class + strict private + type + TSortItem = class + strict private + type + TMyInner = class + constructor Create; + end; + private + Value: T; + constructor Create(AValue: T); + function GetValue: T; + end; + TRecordItem = record + class operator LogicalAnd(const left, right: TRecordItem): TRecordItem; + end; + public + type + TSortItem2 = class + type TMyType = TProc; + strict private + type + TMyInner = class + constructor Create; + end; + private + Value: T; + constructor Create(AValue: T); + function GetValue: T; + end; + end; + + //Support for type definition inside a generic class + TMyClass = class(TSortOrder) + private + //Support [unsafe] and [weak] attributes + [unsafe] procedure MyProc(AProcedure: TSortOrder.TSortItem2.TMyType); + [weak] procedure MyProcWeak(AProcedure: TSortOrder.TSortItem2.TMyType); + end; + + //Support generic class type in generic constraint + TMyGenericClassExt> = class + end; + + //Support multiple different constraints in generic class definition + TMyGenericClassExt2; C: class; D, E: TMyClass> = class + end; + + //Support for type in helper class + TMyHelper = class helper for TMyClass + type + MyType = Integer; + end; + + IMyInterface = interface(IInterface) + ['{D2FF7704-5F26-496E-84D4-891FF1836DE7}'] + function MyFunction: Integer; + procedure MyProcedure(AValue: Integer); + end; + + IMyGenericInterface = interface(IInterface) + function MyFunctionGeneric: T; + end; + + //Support method interface resolution + TMethodResolution = class(TInterfacedObject, IMyInterface, IMyGenericInterface) + private + function IMyInterface.MyFunction = MyFunctionHere; + procedure IMyInterface.MyProcedure = MyProcedureHere; + function IMyGenericInterface.MyFunctionGeneric = MyFunctionHereGeneric; + + procedure MyProcedureHere(AValue: Integer); + function MyFunctionHere: Integer; + function MyFunctionHereGeneric: T; + end; + +//Support for external '' +function ImageEnumerateCertificates(FileHandle: THandle; TypeFilter: WORD; + out CertificateCount: DWORD; Indicies: PDWORD; IndexCount: Integer): BOOL; stdcall; external 'Imagehlp.dll'; + +//Support for (1 * 2) + 3 +const + A = ((1 * 2) + 3); + A2 = ((1 * 2) + (3*4)); + A3 = (1 * 2) + 3; + A4 = 1 * 2 + 3; + +procedure MyProcedure; + +//Support [result: unsafe] attribute +[result: unsafe] function MyFunction: IMyInterface; + +const I: String = 'Warning'; +const PI: ^Integer = @I; +const PF: Pointer = @MyProcedure; +const WarningStr: PChar = 'Warning!'; + +//Support control characters in a string (^M, #13 and combination) +resourcestring + MY_RESOURCE = 'Hello'#13#10; + MY_RESOURCE3 = ^M'Hello'; + MY_RESOURCE4 = 'Hello'^M#13#10'foo'#13^M; + MY_RESOURCE5 = 'Hello'^M^M^M; + MY_RESOURCE6 = 'Hello'^M^M^M'bar'; + +//Support namespace.Value +procedure PublicProcedure(ABool: Boolean=System.False); + +implementation + +uses + System.Rtti, System.TypInfo; + +function MyFunction: IMyInterface; +begin + +end; + +procedure MyProcedure; +type + TBla = 0..5; +var + a: Boolean; + i: Integer; + d: Double; + c: String; +{ //TODO: fix that these keywords can be used as variable + absolute, abstract, add, ansistring, assembler, assembly: integer; + at , automated , break , cdecl , contains: integer; + continue , default , deprecated , dispid: integer; + dq , dw , dynamic , exit , experimental , export , external: integer; + far , final , forward , helper: integer; + implements , index: integer; + local , message , name , near , nodefault: integer; + on , operator , out , overload , override , package , pascal , platform: integer; + pointer , private , protected , public , published: integer; + read , readonly , reference , register , reintroduce , remove , requires: integer; + resident , safecall , sealed , static , stdcall , stored: integer; +} + strict , unsafe: integer; + varargs , variant , virtual , write , writeonly , false , true: integer; +begin + //Support realnumbers + d := 1.0e-10 + 2; + a := 3 >= 4; + + //Support for .ToUpper after string + c := 'Hello world'.ToUpper(); + i := Pos('EoCustomLinkResponseDateTime'.ToUpper, c.ToUpper); + try + + except + on E: Exception do i := i + 1; + end; +end; + +{ TSortOrder.TSortItem.TMyInner } + +constructor TSortOrder.TSortItem.TMyInner.Create; +var + A: TMyGenericClassExt>; +begin + //Support 'with' multiple arguments + with A as TMyGenericClassExt> do begin + + end; +end; + +{ TSortOrder.TSortItem } + +constructor TSortOrder.TSortItem.Create(AValue: T); +begin + +end; + +function TSortOrder.TSortItem.GetValue: T; +begin + +end; + +{ TSortOrder.TRecordItem } + +class operator TSortOrder.TRecordItem.LogicalAnd(const left, + right: TRecordItem): TRecordItem; +begin + +end; + +{ TSortOrder.TSortItem2.TMyInner } + +constructor TSortOrder.TSortItem2.TMyInner.Create; +begin + +end; + +{ TSortOrder.TSortItem2 } + +constructor TSortOrder.TSortItem2.Create(AValue: T); +begin + +end; + +function TSortOrder.TSortItem2.GetValue: T; +begin + +end; + +{ TMyClass } + +procedure TMyClass.MyProc( + AProcedure: TSortOrder.TSortItem2.TMyType); +begin + +end; + +procedure TMyClass.MyProcWeak( + AProcedure: TSortOrder.TSortItem2.TMyType); +begin + +end; + +{ TMethodResolution } + +function TMethodResolution.MyFunctionHere: Integer; +var + bool: Boolean; +begin +//Support namespace.Value + WriteLn('MyBoolean: ' + bool.ToString(True, TUseBoolStrs.True)); +end; + +function TMethodResolution.MyFunctionHereGeneric: T; +var + localPropInfo: PPropInfo; + localPropTypeName: String; + localPropTypeKind: TTypeKind; +begin +//Support double pointer (^^) reference + localPropTypeName := String(localPropInfo^.PropType^^.Name); + localPropTypeKind := localPropInfo^.PropType^^.Kind; +end; + +procedure TMethodResolution.MyProcedureHere(AValue: Integer); +begin + +end; + +procedure PublicProcedure(ABool: Boolean=System.False); +begin + +end; + +// Inline variable declaration with and without type + +procedure Test(); +begin + var i := GetTickCount64(); +end; + +procedure Test2(); +begin + var s: string; + var t: UInt64 := GetTickCount64(); + for var i := 0 to ControlCount - 1 do + Inc(t); + for var i := 0 downto ControlCount - 1 do + Inc(t); +end; + +end.